:root{--gray-0:#fff;--gray-25:#fafbfc;--gray-50:#f4f6f9;--gray-100:#edf0f4;--gray-200:#e2e6ec;--gray-300:#cdd3dc;--gray-400:#98a2b1;--gray-500:#677283;--gray-700:#374253;--gray-900:#121a26;--brand:#002c5f;--brand-700:#003a7a;--brand-500:#2f6bc4;--brand-200:#c9d8ee;--brand-100:#e5edf8;--brand-50:#f2f6fc;--warn:#9a5b00;--warn-500:#e0a020;--warn-200:#f2d9a6;--warn-50:#fff8eb;--danger:#c4372c;--danger-700:#a42c22;--danger-200:#f1c7c3;--danger-50:#fdf1f0;--c-business:var(--brand);--c-commute:var(--brand-500);--c-unconfirmed:var(--warn-500);--c-personal:var(--gray-300);--bg:var(--gray-50);--surface:var(--gray-0);--surface-muted:var(--gray-25);--border:var(--gray-200);--border-strong:var(--gray-300);--text:var(--gray-900);--text-2:var(--gray-700);--muted:var(--gray-500);--row-hover:#f7f9fc;--radius-xl:20px;--radius-lg:16px;--radius:12px;--radius-sm:8px;--shadow-sm:0 1px 2px #1018280d;--shadow:0 1px 2px #1018280a, 0 4px 16px #1018280f;--shadow-lg:0 20px 48px #001c3d38;--focus:0 0 0 3px #2f6bc452;--sidebar-w:248px;--topbar-h:60px;--tabbar-h:64px;--gutter:32px;color:var(--text);background:var(--bg);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;-webkit-text-size-adjust:100%;-moz-text-size-adjust:100%;text-size-adjust:100%;word-break:keep-all;overflow-wrap:break-word;font-family:Pretendard Variable,Pretendard,-apple-system,BlinkMacSystemFont,system-ui,Apple SD Gothic Neo,Malgun Gothic,Noto Sans KR,sans-serif;font-size:15px;line-height:1.55}*,:before,:after{box-sizing:border-box}body{background:var(--bg);min-height:100dvh;margin:0}h1,h2,h3{color:var(--gray-900);text-wrap:balance;margin:0}h1{letter-spacing:-.025em;font-size:1.6rem;font-weight:700;line-height:1.3}h2{letter-spacing:-.015em;font-size:1.05rem;font-weight:700;line-height:1.4}p,li,dd{text-wrap:pretty}p{margin:0}a{color:var(--brand-500);border-radius:4px;text-decoration:none}a:hover{color:var(--brand);text-underline-offset:3px;text-decoration:underline}:focus-visible{box-shadow:var(--focus);outline:none}strong{font-weight:700}.icon{flex-shrink:0;display:block}.sr-only{clip:rect(0 0 0 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.skip-link{position:absolute;left:-9999px}.skip-link:focus{z-index:100;background:var(--surface);border-radius:var(--radius-sm);box-shadow:var(--shadow);padding:8px 12px;top:8px;left:16px}.muted{color:var(--muted)}.small{font-size:.86em}.strong{font-weight:700}.required{color:var(--danger);font-size:.85em;font-weight:500}.splash{min-height:100vh;color:var(--muted);place-items:center;margin:0;display:grid}.layout{grid-template-columns:var(--sidebar-w) minmax(0, 1fr);min-height:100dvh;display:grid}.sidebar{background:var(--surface);border-right:1px solid var(--border);z-index:30;flex-direction:column;gap:28px;height:100dvh;padding:18px 14px 16px;display:flex;position:sticky;top:0}.sidebar__brand{color:inherit;border-radius:var(--radius-sm);align-items:center;gap:12px;padding:4px 8px;display:flex}.sidebar__brand:hover{color:inherit;text-decoration:none}.logo-mark{flex-shrink:0;display:block}.sidebar__brand-text{flex-direction:column;min-width:0;display:flex}.sidebar__logo{letter-spacing:-.02em;color:var(--brand);font-size:1.12rem;font-weight:800;line-height:1.2}.sidebar__tagline{color:var(--muted);font-size:.74rem}.sidenav ul{flex-direction:column;gap:2px;margin:0;padding:0;list-style:none;display:flex}.sidenav__link{border-radius:var(--radius-sm);min-height:42px;color:var(--text-2);align-items:center;gap:12px;padding:0 12px;font-weight:500;transition:background .15s,color .15s;display:flex;position:relative}.sidenav__link .icon{color:var(--gray-400);transition:color .15s}.sidenav__link:hover{background:var(--gray-50);color:var(--gray-900);text-decoration:none}.sidenav__link:hover .icon{color:var(--gray-700)}.sidenav__link--active,.sidenav__link--active:hover{background:var(--brand-50);color:var(--brand);font-weight:700}.sidenav__link--active .icon,.sidenav__link--active:hover .icon{color:var(--brand)}.sidenav__link--active:before{content:"";background:var(--brand);border-radius:0 3px 3px 0;width:3px;position:absolute;top:10px;bottom:10px;left:-14px}.sidenav__short{display:none}.sidebar__foot{border-radius:var(--radius);background:var(--gray-50);color:var(--muted);gap:10px;margin-top:auto;padding:14px;font-size:.78rem;line-height:1.55;display:flex}.sidebar__foot .icon{color:var(--brand-500);margin-top:1px}.layout__main{flex-direction:column;min-width:0;display:flex}.topbar{z-index:20;height:var(--topbar-h);padding:0 var(--gutter);-webkit-backdrop-filter:saturate(180%)blur(10px);backdrop-filter:saturate(180%)blur(10px);border-bottom:1px solid var(--border);background:#ffffffeb;justify-content:space-between;align-items:center;gap:16px;display:flex;position:sticky;top:0}.topbar__context{align-items:center;gap:8px;min-width:0;font-size:.92rem;display:flex}.topbar__logo{display:none}.topbar__org{color:var(--gray-900);white-space:nowrap;text-overflow:ellipsis;font-weight:700;overflow:hidden}.topbar__sep{color:var(--gray-300)}.topbar__page{color:var(--muted);white-space:nowrap}.topbar__user{flex-shrink:0;align-items:center;gap:10px;display:flex}.topbar__name{white-space:nowrap;font-size:.9rem;font-weight:600}.avatar{background:var(--brand);color:#fff;border-radius:50%;flex-shrink:0;place-items:center;width:32px;height:32px;font-size:.82rem;font-weight:700;display:inline-grid}.avatar--soft{background:var(--brand-100);width:28px;height:28px;color:var(--brand);font-size:.78rem}.content{width:100%;max-width:1360px;padding:32px var(--gutter) 56px;flex:1;margin:0 auto}.content:focus{outline:none}.content>section{flex-direction:column;gap:20px;min-width:0;display:flex}@media (width<=1199px){.sidenav__label{clip:rect(0 0 0 0);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}}@media (width>=768px) and (width<=1199px){:root{--sidebar-w:76px;--gutter:24px}.sidebar{align-items:center;padding:16px 10px}.sidebar__brand{padding:4px}.sidebar__brand-text,.sidebar__foot{display:none}.sidenav{width:100%}.sidenav__link{justify-content:center;min-height:48px;padding:0}.sidenav__link--active:before{left:-10px}}@media (width<=767px){:root{--gutter:16px;--topbar-h:56px}.layout{grid-template-columns:minmax(0,1fr)}.sidebar{height:auto;padding:6px 4px calc(6px + env(safe-area-inset-bottom));border-right:0;border-top:1px solid var(--border);-webkit-backdrop-filter:saturate(180%)blur(10px);backdrop-filter:saturate(180%)blur(10px);background:#fffffff5;flex-direction:row;gap:0;position:fixed;inset:auto 0 0}.sidebar__brand,.sidebar__foot{display:none}.sidenav{flex:1}.sidenav ul{grid-template-columns:repeat(6,minmax(0,1fr));gap:0;display:grid}.sidenav__link{letter-spacing:-.01em;flex-direction:column;justify-content:center;gap:3px;min-height:52px;padding:4px 0;font-size:.7rem;font-weight:600}.sidenav__link,.sidenav__link:hover,.sidenav__link--active,.sidenav__link--active:hover{background:0 0}.sidenav__link--active:before{border-radius:0 0 3px 3px;width:24px;height:3px;margin-left:-12px;top:-6px;bottom:auto;left:50%}.sidenav__short{white-space:nowrap;display:block}.topbar__logo{display:block}.topbar__name,.topbar__sep,.topbar__page{display:none}.topbar__logout{width:36px;padding:0}.topbar__logout-label{clip:rect(0 0 0 0);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.content{padding:20px var(--gutter) calc(var(--tabbar-h) + 32px + env(safe-area-inset-bottom))}.content>section{gap:16px}h1{font-size:1.35rem}}.page-header{flex-wrap:wrap;justify-content:space-between;align-items:flex-end;gap:16px 24px;margin-bottom:4px;display:flex}.page-header__text{flex:360px;min-width:0}.page-header__eyebrow{margin-bottom:10px}.page-header__desc{max-width:68ch;color:var(--muted);margin-top:6px;font-size:.94rem}.page-header__actions{flex-wrap:wrap;align-items:center;gap:12px 16px;display:flex}@media (width<=767px){.page-header{flex-direction:column;align-items:stretch;gap:14px}.page-header__text{flex-basis:auto}.page-header__actions{justify-content:space-between}.page-header__actions>.button{flex:auto}.page-header__actions>.field--inline{flex:100%}.page-header__actions>.field--inline input,.page-header__actions>.field--inline select{flex:1}}.back-link{color:var(--muted);align-items:center;gap:6px;padding:2px 4px 2px 0;font-size:.9rem;font-weight:600;display:inline-flex}.back-link:hover{color:var(--brand);text-decoration:none}.meta{color:var(--text-2);flex-wrap:wrap;gap:6px 18px;display:flex}.meta__item{white-space:nowrap;align-items:center;gap:6px;display:inline-flex}.meta__item .icon{color:var(--gray-400)}.card{background:var(--surface);border-radius:var(--radius-xl);min-width:0;padding:24px 28px}.card__head{align-items:center;gap:10px;margin-bottom:16px;display:flex}.card__icon{border-radius:var(--radius-sm);background:var(--brand-50);width:32px;height:32px;color:var(--brand);flex-shrink:0;place-items:center;display:inline-grid}.count{background:var(--gray-100);min-width:22px;height:22px;color:var(--text-2);border-radius:999px;place-items:center;padding:0 7px;font-size:.76rem;font-weight:700;display:inline-grid}.grid-2{grid-template-columns:repeat(2,minmax(0,1fr));gap:20px;display:grid}@media (width<=1023px){.grid-2{grid-template-columns:minmax(0,1fr)}}@media (width<=767px){.card{border-radius:var(--radius-lg);padding:20px 18px}.grid-2{gap:16px}}.empty,.not-found{text-align:center;background:var(--surface);border-radius:var(--radius-xl);flex-direction:column;align-items:center;gap:12px;padding:48px 24px;display:flex}.empty__icon{background:var(--gray-100);width:48px;height:48px;color:var(--gray-500);border-radius:50%;place-items:center;display:inline-grid}.empty__text{max-width:36ch;color:var(--muted)}.not-found{margin-top:24px}.not-found h1{font-size:1.3rem}.loading{color:var(--muted);align-items:center;gap:10px;padding:16px 0;display:flex}.spinner{border:2px solid var(--gray-200);border-top-color:var(--brand);border-radius:50%;width:16px;height:16px;animation:.7s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}@media (prefers-reduced-motion:reduce){.spinner{animation-duration:2s}*{transition-duration:0s!important}}.kpis{grid-template-columns:repeat(4,minmax(0,1fr));gap:20px;display:grid}.kpi{background:var(--surface);border-radius:var(--radius-xl);flex-direction:column;gap:14px;min-width:0;padding:24px;display:flex}.kpi__label{color:var(--muted);align-items:center;gap:12px;font-size:.95rem;font-weight:500;display:flex}.kpi__icon{background:var(--gray-100);width:44px;height:44px;color:var(--gray-500);border-radius:50%;flex-shrink:0;place-items:center;display:inline-grid}.kpi__icon--brand{background:var(--brand-100);color:var(--brand)}.kpi__icon--warn{background:var(--warn-50);color:var(--warn-500)}.kpi__value{letter-spacing:-.03em;color:var(--gray-900);font-variant-numeric:tabular-nums;white-space:nowrap;font-size:2.1rem;font-weight:700;line-height:1.1}.kpi__unit{letter-spacing:-.01em;margin-left:6px;font-size:1.35rem;font-weight:600}.kpi__sub{color:var(--muted);font-size:.9rem}.kpi__em{color:var(--gray-900);font-weight:700}.kpi__list{color:var(--muted);flex-direction:column;gap:4px;margin:0;padding:0;font-size:.9rem;list-style:none;display:flex}.kpi__link{color:var(--brand-500);align-self:flex-start;align-items:center;gap:2px;font-size:.92rem;font-weight:700;display:inline-flex}.kpi__link:hover{color:var(--brand);text-decoration:none}@media (width<=1199px){.kpis{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (width<=767px){.kpis{grid-template-columns:minmax(0,1fr);gap:12px}.kpi{border-radius:var(--radius-lg);gap:12px;padding:20px 18px}.kpi__value{font-size:1.8rem}}.distance{flex-direction:column;gap:12px;display:flex}.distance__bar{background:var(--gray-100);border-radius:999px;gap:2px;height:8px;display:flex;overflow:hidden}.distance__seg{min-width:2px}.distance__seg--commute{background:var(--c-commute)}.distance__seg--business{background:var(--c-business)}.distance__seg--unconfirmed{background:var(--c-unconfirmed)}.distance__seg--personal{background:var(--c-personal)}.distance__legend{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px 12px;margin:0;padding:0;font-size:.86rem;list-style:none;display:grid}.distance__legend li{flex-direction:column;gap:1px;min-width:0;display:flex}.distance__name{color:var(--muted);align-items:center;gap:6px;display:inline-flex}.distance__value{color:var(--gray-900);font-variant-numeric:tabular-nums;white-space:nowrap;padding-left:14px;font-weight:600}.table .distance{min-width:96px;margin-top:6px}.table .distance__bar{gap:1px;height:4px}.dot{border-radius:50%;flex-shrink:0;width:8px;height:8px;display:inline-block}.dot--commute{background:var(--c-commute)}.dot--business{background:var(--c-business)}.dot--unconfirmed{background:var(--c-unconfirmed)}.dot--personal{background:var(--c-personal)}.dot--ok{background:var(--brand-500);box-shadow:0 0 0 3px var(--brand-100)}.dot--off{background:var(--gray-300)}.sync{white-space:nowrap;font-variant-numeric:tabular-nums;align-items:center;gap:8px;display:inline-flex}.ratio{color:var(--gray-900);font-variant-numeric:tabular-nums;font-weight:700}.button{min-height:40px;font:inherit;border:1px solid var(--border-strong);border-radius:var(--radius-sm);background:var(--surface);color:var(--gray-900);cursor:pointer;white-space:nowrap;justify-content:center;align-items:center;gap:6px;padding:0 16px;font-size:.93rem;font-weight:600;line-height:1.2;text-decoration:none;transition:background .15s,border-color .15s,color .15s,box-shadow .15s;display:inline-flex}.button:hover:not(:disabled){background:var(--gray-50);border-color:var(--gray-400);color:var(--gray-900);text-decoration:none}.button:active:not(:disabled){transform:translateY(.5px)}.button:disabled{opacity:.5;cursor:not-allowed}.button .icon{margin-left:-2px}.button--primary{background:var(--brand);border-color:var(--brand);color:#fff;box-shadow:var(--shadow-sm)}.button--primary:hover:not(:disabled){background:var(--brand-700);border-color:var(--brand-700);color:#fff}.button--danger{background:var(--danger);border-color:var(--danger);color:#fff}.button--danger:hover:not(:disabled){background:var(--danger-700);border-color:var(--danger-700);color:#fff}.button--danger-outline .icon{color:var(--gray-400)}.button--danger-outline:hover:not(:disabled){background:var(--danger-50);border-color:var(--danger-200);color:var(--danger)}.button--danger-outline:hover:not(:disabled) .icon{color:var(--danger)}.button--ghost{color:var(--muted);background:0 0;border-color:#0000}.button--ghost:hover:not(:disabled){background:var(--gray-100);color:var(--gray-900);border-color:#0000}.button--small{gap:5px;min-height:32px;padding:0 11px;font-size:.84rem}.button--block{width:100%}.actions{flex-wrap:wrap;gap:6px;display:flex}.icon-link{white-space:nowrap;align-items:center;gap:2px;font-size:.88rem;font-weight:600;display:inline-flex}.icon-link:hover{text-decoration:none}.form{flex-direction:column;gap:18px;display:flex}.form__row{grid-template-columns:repeat(auto-fit,minmax(min(200px,100%),1fr));gap:16px;display:grid}.form__row--2{grid-template-columns:repeat(2,minmax(0,1fr))}.form__actions{justify-content:flex-end;gap:8px;padding-top:4px;display:flex}.form__help{color:var(--muted);font-size:.86rem}.field{flex-direction:column;gap:6px;min-width:0;display:flex}.field--full{grid-column:1/-1}.field>label{color:var(--text-2);font-size:.85rem;font-weight:600}.field__help{color:var(--muted);font-size:.8rem}.field--inline{flex-direction:row;align-items:center;gap:10px}.field--inline>label{white-space:nowrap}input,select,textarea{font:inherit;border:1px solid var(--border-strong);border-radius:var(--radius-sm);background:var(--surface);width:100%;min-width:0;min-height:40px;color:var(--gray-900);padding:8px 12px;font-size:.94rem;transition:border-color .15s,box-shadow .15s}.field--inline input,.field--inline select{width:auto}select{appearance:none;cursor:pointer;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 24 24' fill='none' stroke='%23677283' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M6 9.5l6 6 6-6'/%3E%3C/svg%3E");background-position:right 12px center;background-repeat:no-repeat;background-size:16px;padding-right:36px}textarea{resize:vertical;min-height:84px;line-height:1.5}input::placeholder,textarea::placeholder{color:var(--gray-400)}input:hover:not(:disabled),select:hover:not(:disabled),textarea:hover:not(:disabled){border-color:var(--gray-400)}input:focus-visible,select:focus-visible,textarea:focus-visible{border-color:var(--brand-500)}input[type=checkbox]{width:16px;height:16px;min-height:0;accent-color:var(--brand);cursor:pointer;margin:0;padding:0}input:disabled,select:disabled,textarea:disabled{background-color:var(--gray-50);color:var(--muted);cursor:not-allowed}input[aria-invalid=true]{border-color:var(--danger)}.checkbox{min-height:40px;color:var(--text-2);cursor:pointer;white-space:nowrap;align-items:center;gap:8px;font-size:.9rem;display:inline-flex}.code-input{letter-spacing:.45em;text-indent:.45em;text-align:center;font-variant-numeric:tabular-nums;color:var(--brand);min-height:64px;font-size:1.8rem;font-weight:700}.filters{background:var(--surface);border-radius:var(--radius-xl);grid-template-columns:repeat(2,minmax(150px,.9fr)) repeat(3,minmax(140px,1fr)) auto;align-items:end;gap:16px;padding:24px 28px;display:grid}.filters__actions .button{width:100%}.filters__hint{color:var(--muted);grid-column:1/-1;font-size:.8rem}@media (width<=1199px){.filters{grid-template-columns:repeat(3,minmax(0,1fr))}}@media (width<=767px){.filters{border-radius:var(--radius-lg);grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;padding:18px}}.quick-range{flex-wrap:wrap;align-items:center;gap:8px 12px;display:flex}.quick-range__label{color:var(--text-2);font-size:.85rem;font-weight:600}.alert{border-radius:var(--radius-sm);border:1px solid #0000;align-items:flex-start;gap:10px;padding:12px 14px;font-size:.92rem;display:flex}.alert__icon{margin-top:2px}.alert__body{flex-wrap:wrap;flex:1;justify-content:space-between;align-items:center;gap:8px 12px;min-width:0;display:flex}.alert__action{margin:-4px 0}.alert--error{background:var(--danger-50);border-color:var(--danger-200);color:var(--danger-700)}.alert--success,.alert--info{background:var(--brand-50);border-color:var(--brand-200);color:var(--brand)}.alert--info .alert__icon{color:var(--brand-500)}.alert--warning{background:var(--warn-50);border-color:var(--warn-200);color:var(--warn)}.table-wrap{background:var(--surface);border-radius:var(--radius-xl);-webkit-overflow-scrolling:touch;max-width:100%;padding:8px 28px 12px;position:relative;overflow-x:auto}.table-wrap--flush{border-radius:0;padding:0}.table-wrap__head{flex-wrap:wrap;justify-content:space-between;align-items:baseline;gap:4px 16px;padding:16px 0 10px;display:flex;position:sticky;left:0}.table-wrap__note{color:var(--muted);font-size:.8rem}.table{border-collapse:collapse;width:100%;font-size:.92rem}.table th,.table td{border-bottom:1px solid var(--gray-100);text-align:left;vertical-align:middle;white-space:nowrap;padding:13px 12px}.table .wrap{white-space:normal;min-width:200px}.table th:first-child,.table td:first-child{padding-left:0}.table th:last-child,.table td:last-child{padding-right:0}.table thead th{color:var(--muted);border-bottom-color:var(--border);background:0 0;padding-top:14px;padding-bottom:14px;font-size:.84rem;font-weight:500}.table tbody tr{transition:background .12s}.table tbody tr:hover{background:0 0}.table tbody tr:last-child th,.table tbody tr:last-child td{border-bottom:0}.table tbody th{font-weight:700}.table tbody th a{color:var(--gray-900)}.table tbody th a:hover{color:var(--brand-500)}.table tfoot th,.table tfoot td{color:var(--gray-900);border-top:1px solid var(--border);background:0 0;border-bottom:0;font-weight:700}.table .num{text-align:right;font-variant-numeric:tabular-nums}.cell-sub{color:var(--muted);margin-top:2px;font-size:.8rem;font-weight:400}.row--inactive,.row--inactive th{color:var(--muted)}.mono{font-variant-numeric:tabular-nums;letter-spacing:-.01em}.person{align-items:center;gap:10px;display:inline-flex}@media (width>=768px){.table--cards th:first-child{z-index:1;background:var(--surface);position:sticky;left:0}.table--cards :is(thead,tfoot) th:first-child,.table--cards tbody tr:hover th:first-child{background:var(--surface)}}.table--trips .trip__link{text-align:right}.table--trips .chips{flex-wrap:nowrap}@media (width<=1099px){.table--trips .col-odo,.table--trips .col-source{display:none}}.route{flex-wrap:wrap;align-items:center;gap:2px 6px;display:inline-flex}.route__arrow{color:var(--gray-400)}.pagination{color:var(--muted);justify-content:center;align-items:center;gap:12px;font-size:.88rem;display:flex}.pagination__status{font-variant-numeric:tabular-nums;text-align:center}.changes{flex-direction:column;gap:4px;margin:0;padding:0;list-style:none;display:flex}.changes li{flex-wrap:wrap;align-items:baseline;gap:2px 10px;display:flex}.changes__field{color:var(--text-2);font-weight:600}.changes__value{flex-wrap:wrap;align-items:center;gap:2px 6px;display:inline-flex}.changes__before{color:var(--muted)}@media (width<=767px){.table-wrap:has(.table--cards,.table--stack,.table--trips){border-radius:var(--radius-lg);padding:0;overflow:visible}.table-wrap__head{border-bottom:1px solid var(--gray-100);padding:18px 16px 12px}.table--cards,.table--stack,.table--trips,.table--cards :is(tbody,tfoot),.table--stack :is(tbody,tfoot),.table--trips :is(tbody,tfoot){display:block}.table--cards thead,.table--stack thead,.table--trips thead{clip:rect(0 0 0 0);width:1px;height:1px;position:absolute;overflow:hidden}.table--cards tr,.table--stack tr,.table--trips tr{border-bottom:1px solid var(--gray-100);position:relative}.table--cards :is(tbody,tfoot) tr:last-child,.table--stack :is(tbody,tfoot) tr:last-child,.table--trips tbody tr:last-child{border-bottom:0}.table--cards tfoot tr,.table--stack tfoot tr{border-top:1px solid var(--border)}.table.table--cards :is(th,td),.table.table--stack :is(th,td),.table.table--trips :is(th,td){white-space:normal;text-align:left;background:0 0;border:0;min-width:0;padding:0}.table--cards td:empty,.table--stack td:empty{display:none}.table--cards .cell-title,.table--stack .cell-title{order:-1;font-size:1rem}.table--cards tr{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px 16px;padding:16px;display:grid}.table--cards .cell-title,.table--cards .span-all{grid-column:1/-1}.table--cards td[data-label]:before{content:attr(data-label);color:var(--muted);margin-bottom:2px;font-size:.74rem;font-weight:500;display:block}.table--cards .distance{min-width:0}.table--stack tr{flex-direction:column;gap:8px;padding:14px 16px;display:flex}.table.table--stack td{text-align:right;display:block}.table--stack td:after{content:"";clear:both;display:table}.table--stack td[data-label]:before{content:attr(data-label);float:left;color:var(--muted);text-align:left;margin-right:16px;font-size:.82rem;line-height:1.75}.table--stack .cell-title{margin-bottom:2px}.table.table--stack .wrap{min-width:0}.table--stack .changes{align-items:flex-end}.table--stack .changes li,.table--stack .changes__value{justify-content:flex-end}.table--cards .cell-actions,.table.table--stack .cell-actions{padding-top:6px;display:block}.table--cards .cell-actions:before,.table--stack .cell-actions:before{display:none}.cell-actions .actions{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;display:grid}.cell-actions .button--small{min-height:38px}.table--trips tr{grid-template-columns:minmax(0,1fr) auto;grid-template-areas:"when distance""route route""purpose purpose""who source";gap:8px 12px;padding:14px 40px 14px 16px;display:grid}.table--trips .col-odo{display:none}.table--trips .trip__when{grid-area:when}.table--trips .trip__when .cell-sub{margin-left:6px;display:inline}.table--trips .trip__when .strong{display:inline}.table.table--trips .trip__distance{text-align:right;grid-area:distance;font-weight:700}.table--trips .trip__route{grid-area:route;font-size:.95rem}.table--trips .trip__purpose{grid-area:purpose}.table--trips .trip__who{color:var(--text-2);flex-wrap:wrap;grid-area:who;align-items:baseline;gap:0 8px;font-size:.84rem;display:flex}.table--trips .trip__who .cell-sub{margin:0}.table.table--trips .trip__source{text-align:right;grid-area:source;align-self:baseline;margin:0;display:block}.table--trips .trip__link{position:absolute;top:50%;right:12px;transform:translateY(-50%)}.table--trips .trip__link .icon-link>span{display:none}.table--trips .trip__link .icon-link:after{content:"";position:absolute;inset:-999px -12px -999px -999px}.table--trips tr{overflow:hidden}.table--trips .trip__link .icon-link{color:var(--gray-400)}.pagination{justify-content:space-between;gap:8px}}.badges,.chips{flex-wrap:wrap;align-items:center;gap:4px 6px;margin:0;padding:0;list-style:none;display:inline-flex}.badge{background:var(--gray-100);height:22px;color:var(--text-2);white-space:nowrap;border-radius:6px;align-items:center;gap:4px;padding:0 8px;font-size:.74rem;font-weight:600;display:inline-flex}.badge--warn{background:var(--warn-50);color:var(--warn)}.badge--ok,.badge--info{background:var(--brand-50);color:var(--brand)}.status{white-space:nowrap;color:var(--text-2);align-items:center;gap:7px;display:inline-flex}.status:before{content:"";background:var(--brand-500);border-radius:50%;width:7px;height:7px}.status--off{color:var(--muted)}.status--off:before{background:var(--gray-300)}.device{flex-direction:column;align-items:flex-start;gap:2px;display:flex}.device .badge{margin-bottom:2px}.tag{background:var(--gray-100);height:24px;color:var(--text-2);border-radius:6px;align-items:center;padding:0 9px;font-size:.8rem;font-weight:600;display:inline-flex}.tag--strong{background:var(--brand-100);color:var(--brand)}.purpose{white-space:nowrap;border-radius:999px;align-items:center;gap:6px;height:26px;padding:0 10px;font-size:.82rem;font-weight:600;display:inline-flex}.purpose:before{content:"";background:currentColor;border-radius:50%;width:6px;height:6px}.purpose--business{background:var(--brand-100);color:var(--brand)}.purpose--commute{background:var(--brand-50);color:var(--brand-500)}.purpose--personal{background:var(--gray-100);color:var(--muted)}.purpose--unconfirmed{background:var(--warn-50);color:var(--warn)}.dl{grid-template-columns:minmax(7.5rem,max-content) minmax(0,1fr);margin:0;display:grid}.dl dt,.dl dd{border-top:1px solid var(--gray-100);padding:10px 0}.dl dt:first-of-type,.dl dt:first-of-type+dd{border-top:0;padding-top:0}.dl dt{color:var(--muted);padding-right:20px;font-size:.88rem}.dl dd{font-variant-numeric:tabular-nums;margin:0;font-weight:500}@media (width<=767px){.dl{grid-template-columns:6.5rem minmax(0,1fr)}.dl dt{padding-right:12px}}.legend{padding:0}.legend summary{cursor:pointer;color:var(--text-2);border-radius:var(--radius);align-items:center;gap:10px;padding:16px 20px;font-size:.92rem;font-weight:600;list-style:none;display:flex}.legend summary::-webkit-details-marker{display:none}.legend summary .icon:first-child{color:var(--gray-400)}.legend__chevron{color:var(--gray-400);margin-left:auto;transition:transform .2s}.legend[open] .legend__chevron{transform:rotate(180deg)}.legend dl{gap:10px;margin:0;padding:0 20px 18px;display:grid}.legend dl div{grid-template-columns:9.5rem minmax(0,1fr);gap:12px;font-size:.88rem;display:grid}.legend dt{justify-self:start}.legend dt:before{content:"";background:var(--warn-500);border-radius:50%;width:6px;height:6px;margin:0 8px 2px 0;display:inline-block}.legend dt{color:var(--gray-900);font-weight:600}.legend dd{color:var(--muted);margin:0}@media (width<=767px){.legend dl div{grid-template-columns:minmax(0,1fr);gap:2px}.legend summary{padding:14px 16px}.legend dl{padding:0 16px 16px}}.export{grid-template-columns:minmax(0,2fr) minmax(260px,1fr);align-items:start;gap:20px;display:grid}.export__info h2{margin-bottom:14px;font-size:.95rem}.checklist{color:var(--text-2);flex-direction:column;gap:12px;margin:0;padding:0;font-size:.9rem;list-style:none;display:flex}.checklist li{gap:10px;display:flex}.checklist .icon{color:var(--brand-500);margin-top:1px}@media (width<=1023px){.export{grid-template-columns:minmax(0,1fr)}}@media (width<=767px){.form__actions .button{flex:1}}.modal-backdrop{-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);z-index:50;background:#0a162873;justify-content:center;align-items:center;padding:16px;animation:.15s ease-out fade-in;display:flex;position:fixed;inset:0}.modal{background:var(--surface);border-radius:var(--radius-lg);width:min(520px,100%);max-height:calc(100dvh - 32px);box-shadow:var(--shadow-lg);flex-direction:column;gap:16px;padding:24px;animation:.18s ease-out pop-in;display:flex;overflow-y:auto}.modal__title{font-size:1.15rem}.modal__body{flex-direction:column;gap:8px;display:flex}.modal__actions{justify-content:flex-end;gap:8px;margin-top:4px;display:flex}@keyframes fade-in{0%{opacity:0}}@keyframes pop-in{0%{opacity:0;transform:translateY(8px)scale(.98)}}@media (width<=767px){.modal-backdrop{align-items:flex-end;padding:0}.modal{border-radius:var(--radius-lg) var(--radius-lg) 0 0;width:100%;max-height:92dvh;padding:22px 16px calc(16px + env(safe-area-inset-bottom))}.modal__actions .button{flex:1}}.login{background:var(--surface);grid-template-columns:minmax(0,1.05fr) minmax(0,1fr);min-height:100dvh;display:grid}.login__brand{color:#fff;background:var(--brand);flex-direction:column;justify-content:space-between;gap:40px;padding:48px 56px;display:flex;position:relative;overflow:hidden}.login__brand:before,.login__brand:after{content:"";pointer-events:none;border:1px solid #ffffff17;border-radius:50%;position:absolute}.login__brand:before{width:520px;height:520px;bottom:-180px;right:-180px}.login__brand:after{border-width:28px;border-color:#ffffff0a;width:320px;height:320px;bottom:-80px;right:-80px}.login__brand-top{align-items:center;gap:12px;display:flex}.login__brand-top .logo-mark rect{fill:#ffffff1f}.login__wordmark{letter-spacing:-.02em;font-size:1.3rem;font-weight:800}.login__hero{z-index:1;max-width:480px;position:relative}.login__eyebrow{color:#ffffffa3;margin:0 0 14px;font-size:.9rem;font-weight:600}.login__headline{letter-spacing:-.035em;text-wrap:balance;margin:0 0 36px;font-size:clamp(1.9rem,3.2vw,2.6rem);font-weight:800;line-height:1.28}.login__points{color:#ffffffd6;flex-direction:column;gap:14px;margin:0;padding:0;font-size:.95rem;list-style:none;display:flex}.login__points li{align-items:center;gap:12px;display:flex}.login__point-icon{border-radius:var(--radius-sm);background:#ffffff1a;flex-shrink:0;place-items:center;width:34px;height:34px;display:inline-grid}.login__foot{z-index:1;color:#ffffff80;font-size:.8rem;position:relative}.login__panel{justify-content:center;align-items:center;padding:40px 24px;display:flex}.login__card{flex-direction:column;gap:18px;width:min(380px,100%);display:flex}.login>.login__card{grid-column:1/-1;place-self:center;padding:24px}.login__heading{margin-bottom:6px}.login__title{font-size:1.6rem}.login__lead{color:var(--muted);margin-top:6px}.login__card .button{min-height:48px;margin-top:6px;font-size:1rem}.login__card input{min-height:46px}@media (width<=899px){.login{grid-template-rows:auto 1fr;grid-template-columns:minmax(0,1fr)}.login__brand{gap:20px;padding:24px 20px 28px}.login__points,.login__foot{display:none}.login__headline{margin:0;font-size:1.45rem}.login__eyebrow{margin-bottom:8px}.login__panel{align-items:flex-start;padding:32px 20px 40px}.login__title{font-size:1.4rem}}
