:root{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;--color-background:#fbfaf7;--color-header:#fff;--color-surface:#fff;--color-surface-muted:#f6f5f1;--color-text:#111a20;--color-text-muted:#606b70;--color-border:#d8dad7;--color-control-border:#7e8789;--color-accent:#003248;--color-accent-hover:#004d71;--color-accent-soft:#eaf2f5;--color-focus:#1683b2;--color-error:#a02f2a;--color-error-soft:#fff2f1;--space-1:8px;--space-2:16px;--space-3:24px;--space-4:32px;--space-5:40px;--space-6:48px;--radius-small:8px;--radius-medium:12px;--radius-large:18px;--font-system:-apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;--font-size-body:18px;--control-height:58px;--row-height:72px;--content-max-width:1120px;--header-height:88px;font-family:var(--font-system);color:var(--color-text);background:var(--color-header);font-synthesis:none}*{box-sizing:border-box}html,body{background:var(--color-header);width:100%;min-width:320px;height:100%;margin:0;overflow:hidden}button,input,select{font:inherit}button{touch-action:manipulation}[hidden]{display:none!important}.app-shell{background:var(--color-background);flex-direction:column;height:100dvh;min-height:100vh;display:flex}.app-header{z-index:2;min-height:var(--header-height);flex:0 0 var(--header-height);border-bottom:1px solid var(--color-border);background:var(--color-header);grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);align-items:center;padding:0 clamp(24px,5vw,64px);display:grid;position:relative}.header-slot{min-width:0}.header-slot-left{justify-self:start}.brand{color:var(--color-text);text-transform:uppercase;align-items:center;gap:12px;line-height:1;display:flex}.admin-hold-target{cursor:default;touch-action:manipulation;-webkit-user-select:none;user-select:none;-webkit-touch-callout:none}.brand-logo-wrap{flex:0 0 54px;width:54px;height:54px;display:block;position:relative}.brand-logo{object-fit:contain;-webkit-user-drag:none;width:100%;height:100%;display:block}.admin-hold-progress{opacity:0;pointer-events:none;width:calc(100% + 14px);height:calc(100% + 14px);position:absolute;inset:-7px;overflow:visible;transform:rotate(-90deg)}.admin-hold-progress circle{fill:none;stroke-width:2.5px}.admin-hold-progress-track{stroke:var(--color-border)}.admin-hold-progress-value{stroke:var(--color-focus);stroke-dasharray:182.22;stroke-dashoffset:182.22px;stroke-linecap:round}.admin-hold-target.is-holding .admin-hold-progress{animation:admin-hold-progress-show 1ms linear var(--admin-hold-progress-delay) forwards}.admin-hold-target.is-holding .admin-hold-progress-value{animation:admin-hold-progress-draw var(--admin-hold-progress-duration) linear var(--admin-hold-progress-delay) forwards}.brand-copy{justify-items:start;display:grid}.brand-name{letter-spacing:.1em;font-size:18px;font-weight:750}.brand-detail{color:var(--color-accent-hover);letter-spacing:.24em;margin-top:6px;font-size:13px;font-weight:750}.back-button{min-width:48px;max-width:min(32vw,300px);min-height:48px;color:var(--color-accent-hover);cursor:pointer;background:0 0;border:0;align-items:center;gap:4px;padding:0;font-size:18px;display:inline-flex}.back-button svg{fill:none;stroke:currentColor;stroke-linecap:round;stroke-linejoin:round;stroke-width:2px;flex:0 0 26px;width:26px;height:26px}.back-button span{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.app-main,.signed-in-view,.screen{min-height:0}.app-main{flex:1;display:flex}.signed-in-view,.screen{width:100%;height:100%}.page-container{width:min(100%, calc(var(--content-max-width) + 96px));padding-right:var(--space-6);padding-left:var(--space-6);margin:0 auto}.narrow-container{max-width:calc(var(--content-max-width) + 96px)}.system-view{width:100%;min-height:0;overflow:auto}.system-content{width:min(100%,660px);min-height:100%;padding:var(--space-6);flex-direction:column;justify-content:center;align-items:flex-start;margin:0 auto;display:flex}h1,h2,p,dd{overflow-wrap:anywhere}h1,h2{color:var(--color-text);letter-spacing:-.035em;margin:0}h1{font-size:clamp(36px,5vw,50px);line-height:1.08}h2{font-size:27px;line-height:1.2}.system-content>p,.page-heading>p{color:var(--color-text-muted);margin:14px 0 0;font-size:clamp(18px,2.4vw,21px);line-height:1.45}.system-content .button{margin-top:var(--space-4)}.button{min-height:var(--control-height);border-radius:var(--radius-medium);cursor:pointer;border:1px solid #0000;justify-content:center;align-items:center;gap:10px;padding:12px 24px;font-weight:700;line-height:1.2;display:inline-flex}.button svg{fill:none;stroke:currentColor;stroke-linecap:round;stroke-linejoin:round;stroke-width:1.8px;width:28px;height:28px}.button:disabled,.text-action:disabled{cursor:not-allowed;opacity:.52}.primary{color:#fff;background:var(--color-accent)}.primary:hover:not(:disabled),.primary:active:not(:disabled){background:var(--color-accent-hover)}.secondary{border-color:var(--color-accent-hover);color:var(--color-accent-hover);background:var(--color-surface)}.secondary:hover:not(:disabled),.secondary:active:not(:disabled){background:var(--color-accent-soft)}.danger{color:#fff;background:var(--color-error)}.danger-text{color:var(--color-error)}.people-screen{flex-direction:column;display:flex;overflow:hidden}.people-controls{padding-top:var(--space-5);flex:none}.search-field{margin-top:var(--space-3);display:block;position:relative}.search-field svg{fill:none;width:26px;height:26px;stroke:var(--color-text-muted);stroke-linecap:round;stroke-width:1.8px;pointer-events:none;position:absolute;top:50%;left:20px;transform:translateY(-50%)}.search-field input{border:1px solid var(--color-control-border);border-radius:var(--radius-medium);width:100%;height:64px;color:var(--color-text);background:var(--color-surface);padding:0 20px 0 60px;font-size:20px}.search-field input::placeholder{color:#687277}.new-person-row{justify-content:space-between;align-items:center;gap:var(--space-2);width:100%;min-height:64px;margin-top:var(--space-2);border:1px solid var(--color-control-border);border-radius:var(--radius-medium);color:var(--color-text);background:var(--color-surface-muted);text-align:left;cursor:pointer;padding:12px 20px;display:flex}.new-person-action{color:var(--color-accent-hover);flex:none;align-items:center;gap:12px;font-weight:750;display:inline-flex}.new-person-action svg{fill:none;stroke:currentColor;stroke-linecap:round;stroke-linejoin:round;stroke-width:2px;width:24px;height:24px}.directory-region{min-height:0;padding-top:var(--space-3);padding-bottom:var(--space-2);flex-direction:column;flex:1;display:flex;overflow:hidden}.people-list{overscroll-behavior:contain;scrollbar-gutter:stable;min-height:0;overflow:auto}.person-row{width:100%;min-height:var(--row-height);justify-content:space-between;align-items:center;gap:var(--space-3);border:0;border-bottom:1px solid var(--color-border);color:var(--color-text);text-align:left;cursor:pointer;background:0 0;padding:12px 8px;display:flex}.person-row:hover,.person-row:active{background:var(--color-surface-muted)}.person-row-name{min-width:0;font-size:20px;font-weight:720;line-height:1.25}.chevron{color:var(--color-accent-hover);flex:none;font-size:34px;font-weight:300;line-height:1}.directory-status{width:100%}.skeleton-list{display:grid}.skeleton-row{min-height:var(--row-height);border-bottom:1px solid var(--color-border);display:block;position:relative}.skeleton-row:before{content:"";background:#e8e8e3;border-radius:5px;width:min(45%,260px);height:17px;position:absolute;top:50%;left:8px;transform:translateY(-50%)}.retry-state,.empty-state{padding:var(--space-5) var(--space-3);color:var(--color-text-muted);text-align:center}.retry-state h2,.empty-state h2{font-size:24px}.retry-state p,.empty-state p{margin:10px 0 0;font-size:17px;line-height:1.45}.retry-state .button{margin-top:var(--space-3)}.page-screen{overscroll-behavior:contain;overflow:auto}.page-screen .page-container{padding-top:var(--space-6);padding-bottom:var(--space-6)}.vehicle-list,.manage-vehicle-list{gap:var(--space-2);margin-top:var(--space-5);display:grid}.vehicle-row,.manage-vehicle-row{justify-content:space-between;align-items:center;gap:var(--space-3);width:100%;min-height:104px;padding:var(--space-2) var(--space-3);border:1px solid var(--color-control-border);border-radius:var(--radius-medium);color:var(--color-text);background:var(--color-surface);display:flex}.vehicle-row{text-align:left;cursor:pointer}.vehicle-row:hover,.vehicle-row:active{background:#fdfdfb}.vehicle-identity{min-width:0}.vehicle-name{font-size:25px;font-weight:760;line-height:1.2;display:block}.vehicle-detail,.registration-vehicle-detail{color:var(--color-text-muted);margin-top:6px;font-size:18px;line-height:1.35;display:block}.vehicle-affordance{align-items:center;gap:var(--space-2);flex:none;display:flex}.registered-status{color:var(--color-accent-hover);align-items:center;gap:8px;font-size:17px;font-weight:650;display:inline-flex}.status-check{border:2px solid;border-radius:50%;place-items:center;width:28px;height:28px;font-size:17px;line-height:1;display:inline-grid}.compact-empty{margin-top:var(--space-4);padding:var(--space-4) var(--space-2);border:1px dashed var(--color-border);border-radius:var(--radius-medium)}.compact-empty p{margin:0}.add-button{width:100%;margin-top:var(--space-3);border-color:var(--color-accent-hover);color:var(--color-accent-hover);background:var(--color-surface);justify-content:flex-start}.add-button:hover,.add-button:active{background:var(--color-accent-soft)}.manage-vehicles-button{margin:var(--space-1) auto 0;padding-right:var(--space-2);padding-left:var(--space-2);color:var(--color-text-muted);border-radius:var(--radius-small);font-size:15px;display:block}.manage-vehicles-button:hover,.manage-vehicles-button:active{color:var(--color-accent-hover);background:var(--color-accent-soft)}.manage-remove-button{border-color:var(--color-error);min-width:116px;min-height:52px;color:var(--color-error);background:var(--color-surface);padding:10px 18px}.manage-remove-button:hover,.manage-remove-button:active{background:var(--color-error-soft)}.form-container{max-width:calc(var(--content-max-width) + 96px)}.screen-form{gap:var(--space-3);margin-top:var(--space-4);display:grid}.form-screen .page-container{padding-top:var(--space-4);padding-bottom:var(--space-4)}.form-screen{scroll-padding-block:var(--space-4) calc(var(--control-height) + var(--space-4) + env(safe-area-inset-bottom))}.form-screen .screen-form{gap:var(--space-2);margin-top:var(--space-3)}.field{gap:var(--space-1);min-width:0;color:var(--color-text);font-size:17px;font-weight:700;display:grid}.field input,.field select{width:100%;min-width:0;height:58px;padding:0 var(--space-2);border:1px solid var(--color-control-border);border-radius:var(--radius-medium);color:var(--color-text);background:var(--color-surface);font-size:19px;font-weight:450}.field,.inline-error{scroll-margin-block:var(--space-4)}.field-help{color:var(--color-text-muted);font-size:15px;font-weight:450;line-height:1.4}:is(.field input:user-invalid,.field select:user-invalid){border-color:var(--color-error)}.privacy-note{color:var(--color-text-muted);margin:-8px 0 0;font-size:16px;line-height:1.45}.inline-error{color:var(--color-error);margin:0;font-size:16px;line-height:1.45}.field-error{margin-top:calc(var(--space-2) * -1)}.form-actions,.dialog-actions{gap:var(--space-2);margin-top:var(--space-2);grid-template-columns:repeat(2,minmax(0,1fr));display:grid}.admin-container{max-width:1160px}.admin-heading{justify-content:space-between;align-items:flex-end;gap:var(--space-4);display:flex}.admin-actions{gap:12px;display:flex}.admin-actions .button{min-height:50px;padding:10px 16px;font-size:15px}.admin-list{gap:var(--space-2);margin-top:var(--space-4);display:grid}.admin-person{border:1px solid var(--color-border);border-radius:var(--radius-medium);background:var(--color-surface);overflow:hidden}.admin-person-heading,.admin-vehicle-row{justify-content:space-between;align-items:center;gap:var(--space-3);display:flex}.admin-person-heading{padding:var(--space-2) var(--space-3);background:var(--color-surface-muted)}.admin-person-heading h2{letter-spacing:-.015em;font-size:20px}.admin-record-controls{align-items:center;gap:12px;display:flex}.admin-note{color:var(--color-text-muted);font-size:13px}.text-action{cursor:pointer;background:0 0;border:0;min-height:44px;padding:4px 0;font-size:14px;font-weight:700}.admin-vehicles{display:grid}.admin-vehicle-row{min-height:70px;padding:10px var(--space-3);border-top:1px solid var(--color-border)}.admin-vehicle-name,.admin-vehicle-detail,.admin-no-vehicles{margin:0}.admin-skeleton{gap:var(--space-2);display:grid}.admin-skeleton-card{border:1px solid var(--color-border);border-radius:var(--radius-medium);background:var(--color-surface);overflow:hidden}.admin-skeleton-heading,.admin-skeleton-vehicle{display:block;position:relative}.admin-skeleton-heading{background:var(--color-surface-muted);min-height:64px}.admin-skeleton-vehicle{border-top:1px solid var(--color-border);min-height:70px}.admin-skeleton-heading:before,.admin-skeleton-vehicle:before,.admin-skeleton-vehicle:after{left:var(--space-3);content:"";background:#e2e3df;border-radius:5px;position:absolute}.admin-skeleton-heading:before{width:min(34%,220px);height:17px;top:50%;transform:translateY(-50%)}.admin-skeleton-vehicle:before{width:min(28%,180px);height:14px;top:17px}.admin-skeleton-vehicle:after{width:min(22%,140px);height:11px;top:41px}.admin-vehicle-name{font-weight:700}.admin-vehicle-detail,.admin-no-vehicles{color:var(--color-text-muted);margin-top:3px;font-size:14px}.admin-no-vehicles{padding:var(--space-2) var(--space-3);border-top:1px solid var(--color-border)}.dialog{border:1px solid var(--color-border);border-radius:var(--radius-large);width:min(100% - 32px,560px);max-height:calc(100dvh - 32px);color:var(--color-text);background:var(--color-surface);padding:0;overflow:auto;box-shadow:0 18px 60px #111a202e}.dialog::backdrop{background:#111a2073}.dialog-form{gap:var(--space-4);padding:var(--space-4);display:grid}.dialog-form h2{font-size:30px}.registration-container{max-width:820px}.registration-container .screen-form{gap:var(--space-3)}.registration-identity{padding:var(--space-3) 0;border-top:1px solid var(--color-border);border-bottom:1px solid var(--color-border)}.registration-person,.registration-result-person,.result-vehicle{margin:0;font-size:21px;font-weight:750}.registration-vehicle{margin:14px 0 0;font-size:27px;font-weight:760;line-height:1.2}.progress-message{color:var(--color-accent-hover);margin:0;font-weight:700}.registration-success-container{flex-direction:column;justify-content:center;align-items:flex-start;max-width:760px;min-height:100%;display:flex}.success-heading{align-items:center;gap:var(--space-2);color:var(--color-accent-hover);display:flex}.success-heading svg{fill:none;stroke:currentColor;stroke-linecap:round;stroke-linejoin:round;stroke-width:1.8px;flex:0 0 52px;width:52px;height:52px}.registration-result-person{margin-top:var(--space-3);color:var(--color-text-muted)}.registration-success-container .registration-identity{width:100%;margin-top:var(--space-3)}.registration-done-button{width:100%;margin-top:var(--space-4)}.dialog-copy{color:var(--color-text-muted);white-space:pre-line;margin:-12px 0 0;font-size:17px;line-height:1.5}.dialog-warning{border-radius:var(--radius-small);color:var(--color-error);background:var(--color-error-soft);margin:-8px 0 0;padding:12px 14px;font-size:16px;font-weight:650;line-height:1.45}.feedback{right:var(--space-3);bottom:var(--space-3);z-index:10;border-radius:var(--radius-small);color:#fff;background:var(--color-accent);max-width:min(420px,100% - 32px);padding:14px 18px;font-weight:650;line-height:1.4;position:fixed;box-shadow:0 10px 32px #111a2029}.feedback.error{background:var(--color-error)}.spinner{width:34px;height:34px;margin-bottom:var(--space-3);border:4px solid #d9e5e9;border-top-color:var(--color-accent-hover);border-radius:50%;animation:.8s linear infinite spin;display:block}@keyframes spin{to{transform:rotate(360deg)}}@keyframes admin-hold-progress-show{to{opacity:1}}@keyframes admin-hold-progress-draw{to{stroke-dashoffset:0}}@media (width<=720px){:root{--header-height:74px}.app-header{padding:0 var(--space-2)}.brand-name{font-size:15px}.brand-logo-wrap{flex-basis:46px;width:46px;height:46px}.brand-detail{font-size:11px}.back-button{max-width:34vw;font-size:16px}.page-container,.system-content{padding-right:var(--space-3);padding-left:var(--space-3)}.people-controls{padding-top:var(--space-4)}.page-screen .page-container{padding-top:var(--space-4);padding-bottom:var(--space-4)}.vehicle-list,.manage-vehicle-list{margin-top:var(--space-4)}.vehicle-row,.manage-vehicle-row{padding:var(--space-2)}.registered-status span:last-child{max-width:84px;line-height:1.2}.admin-heading,.admin-person-heading{flex-direction:column;align-items:stretch}.admin-actions .button{flex:1}}@media (width<=520px){h1{font-size:34px}.brand{gap:8px}.brand-name{text-overflow:ellipsis;white-space:nowrap;max-width:110px;overflow:hidden}.new-person-row{flex-direction:column;align-items:flex-start;gap:6px}.vehicle-row{min-height:112px}.manage-vehicle-row{align-items:flex-start;gap:var(--space-2);flex-direction:column}.manage-remove-button{width:100%}.vehicle-name{font-size:22px}.registered-status span:last-child{clip:rect(0, 0, 0, 0);width:1px;height:1px;position:absolute;overflow:hidden}.form-actions,.dialog-actions{grid-template-columns:1fr}.admin-actions{flex-direction:column}.admin-vehicle-row{flex-direction:column;align-items:flex-start;gap:4px}.dialog{width:calc(100% - 20px);max-height:calc(100dvh - 20px)}.dialog-form{padding:var(--space-3)}.feedback{right:var(--space-2);bottom:var(--space-2)}}@media (prefers-reduced-motion:reduce){.spinner{animation:none}}.environment-indicator{color:#653b00;letter-spacing:.06em;background:#fff0c2;border-radius:.35rem;padding:.35rem .5rem;font-size:.7rem;font-weight:700}
