:root{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;--bg:#f2f6f5;--surface:#fff;--surface-soft:#f7faf9;--surface-strong:#e9f1ef;--text:#132724;--muted:#60736f;--border:#dce7e4;--border-strong:#c7d8d4;--accent:#0f8175;--accent-dark:#0b5e54;--accent-soft:#e7f6f3;--sidebar:#102923;--sidebar-soft:#193932;--danger:#b42318;--warning:#b54708;--success:#17795d;--shadow-sm:0 1px 2px #142f2a0d, 0 5px 16px #142f2a0d;--shadow-md:0 18px 48px #102a241f;--radius-sm:10px;--radius-md:16px;--radius-lg:24px;font-family:Segoe UI Variable,Segoe UI,system-ui,sans-serif}.parking-provider.theme-dark{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--bg:#0e1715;--surface:#15211f;--surface-soft:#192824;--surface-strong:#21332f;--text:#edf7f4;--muted:#a8bbb6;--border:#2b403b;--border-strong:#3a514c;--accent-soft:#123a33;--sidebar:#081411;--sidebar-soft:#132a25;--shadow-sm:0 8px 22px #0000002e;--shadow-md:0 20px 52px #00000052}*{box-sizing:border-box}html{background:var(--bg)}body{background:var(--bg);min-height:100dvh;color:var(--text);margin:0}button,input,select,textarea{font:inherit}a{color:inherit}.parking-provider{background:var(--bg);min-height:100dvh;color:var(--text)}h1,h2,h3{color:var(--text);text-wrap:balance}h1{letter-spacing:-.04em;margin:0;font-size:clamp(2rem,3vw,3rem);line-height:1.06}select,input[type=file]{border:1px solid var(--border-strong);border-radius:var(--radius-sm);background:var(--surface);width:100%;min-height:40px;color:var(--text);padding:7px 11px}select:focus-visible,.file-button:focus-within{outline:3px solid color-mix(in srgb, var(--accent) 28%, transparent);outline-offset:2px}.auth-shell{background:#eef3f1;grid-template-columns:minmax(0,1.18fr) minmax(430px,.82fr);min-height:100dvh;display:grid}.auth-visual{isolation:isolate;color:#fff;flex-direction:column;justify-content:space-between;min-height:100dvh;padding:clamp(34px,5vw,72px);display:flex;position:relative;overflow:hidden}.auth-visual:before{content:"";z-index:-1;background:linear-gradient(110deg,#041815e6 5%,#052a24ad 52%,#07231f52 100%);position:absolute;inset:0}.auth-visual:after{content:"";z-index:-1;opacity:.17;background-image:linear-gradient(#ffffff1a 1px,#0000 1px),linear-gradient(90deg,#ffffff1a 1px,#0000 1px);background-size:52px 52px;position:absolute;inset:0;-webkit-mask-image:linear-gradient(#0000,#000 40%,#0000);mask-image:linear-gradient(#0000,#000 40%,#0000)}.auth-visual-image{z-index:-2;filter:saturate(.85)contrast(1.05);background:url(/images/smart-parking-auth-hero.png) 50%/cover no-repeat;position:absolute;inset:0}.auth-brand{align-items:center;gap:14px;width:fit-content;display:flex}.auth-brand-mark{-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);background:#ffffff1f;border:1px solid #ffffff4d;border-radius:14px;place-items:center;width:46px;height:46px;font-size:25px;display:grid}.auth-brand-copy{gap:2px;display:grid}.auth-brand-copy strong{letter-spacing:.01em;font-size:1.06rem}.auth-brand-copy small{color:#ffffffad;letter-spacing:.15em;text-transform:uppercase;font-size:.68rem;font-weight:700}.auth-hero{max-width:720px;margin:auto 0 7vh}.auth-eyebrow{color:#75ded2;letter-spacing:.17em;text-transform:uppercase;margin:0 0 18px;font-size:.74rem;font-weight:700}.auth-hero h1{color:#fff;letter-spacing:-.055em;max-width:720px;font-size:clamp(2.8rem,5.3vw,5.5rem);line-height:.98}.auth-hero>p:not(.auth-eyebrow){color:#ffffffc7;max-width:590px;margin:26px 0 0;font-size:clamp(1rem,1.4vw,1.22rem);line-height:1.65}.auth-capabilities{flex-wrap:wrap;gap:10px;display:flex}.auth-capabilities>div{border-radius:var(--radius-sm);color:#ffffffe0;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);background:#07241f6b;border:1px solid #fff3;align-items:center;gap:9px;padding:10px 13px;font-size:.82rem;font-weight:600;display:flex}.auth-capabilities svg{color:#68d6ca;font-size:19px}.auth-panel{background:var(--surface);place-items:center;min-height:100dvh;padding:clamp(32px,6vw,86px);display:grid}.auth-form-wrap{width:min(100%,440px)}.auth-back{margin:0 0 30px -10px}.auth-form-header{margin-bottom:30px}.auth-form-icon{background:var(--accent-soft);width:46px;height:46px;color:var(--accent-dark);border-radius:14px;place-items:center;margin-bottom:24px;font-size:23px;display:grid}.auth-form-kicker{color:var(--accent);letter-spacing:.13em;text-transform:uppercase;margin:0 0 8px;font-size:.72rem;font-weight:700}.auth-form-header h2{letter-spacing:-.035em;margin:0;font-size:clamp(2rem,3vw,2.65rem);line-height:1.08}.auth-form-header>p:last-child{color:var(--muted);margin:12px 0 0;line-height:1.55}.auth-form{gap:19px;display:grid}.auth-input{min-height:46px;border-radius:var(--radius-sm)!important}.auth-input>svg{color:var(--muted);font-size:19px}.auth-code-input input{letter-spacing:.3em;font-weight:700}.auth-submit{width:100%;min-height:48px;margin-top:5px;box-shadow:0 8px 20px #0f817533;border-radius:var(--radius-sm)!important;font-weight:700!important}.auth-hosted-login{width:100%;margin-top:12px}.auth-message{border-radius:var(--radius-sm)}.auth-links{min-height:40px;color:var(--muted);justify-content:space-between;align-items:center;gap:10px;margin-top:20px;font-size:.86rem;display:flex}.auth-links>span{align-items:center;display:flex}.auth-links button{min-width:auto;color:var(--accent-dark);padding-inline:4px;font-weight:600}.auth-security{border-top:1px solid var(--border);color:var(--muted);justify-content:center;align-items:center;gap:7px;margin-top:30px;padding-top:22px;font-size:.78rem;display:flex}.auth-security svg{color:var(--success)}.console-shell{place-items:center;min-height:100dvh;display:grid}.app-shell{background:var(--bg);grid-template-columns:276px minmax(0,1fr);min-height:100dvh;display:grid}.app-sidebar{background:var(--sidebar);color:#edf8f5;flex-direction:column;height:100dvh;padding:26px 18px 20px;display:flex;position:sticky;top:0;overflow-y:auto}.sidebar-brand{align-items:center;gap:12px;padding:0 9px 28px;display:flex}.sidebar-brand-mark{color:#6ed7ca;background:#1e4b42;border:1px solid #ffffff26;border-radius:13px;flex:none;place-items:center;width:42px;height:42px;font-size:23px;display:grid}.sidebar-brand>span:last-child{gap:2px;min-width:0;display:grid}.sidebar-brand strong{letter-spacing:-.01em;font-size:1rem}.sidebar-brand small{color:#edf8f585;letter-spacing:.14em;text-transform:uppercase;font-size:.62rem;font-weight:700}.sidebar-context{border-radius:var(--radius-sm);background:var(--sidebar-soft);border:1px solid #ffffff14;align-items:center;gap:10px;margin-bottom:28px;padding:13px;display:flex}.sidebar-context-icon{color:#68d6ca;background:#68d6ca1f;border-radius:9px;flex:none;place-items:center;width:32px;height:32px;font-size:18px;display:grid}.sidebar-context>span:last-child{gap:2px;min-width:0;display:grid}.sidebar-context small{color:#edf8f585;font-size:.68rem}.sidebar-context strong{text-overflow:ellipsis;white-space:nowrap;font-size:.8rem;overflow:hidden}.sidebar-label{color:#edf8f561;letter-spacing:.12em;margin:0 12px 9px;font-size:.63rem;font-weight:700}.app-tabs{gap:4px;overflow:visible;flex-direction:column!important;align-items:stretch!important;display:flex!important}.app-tabs [role=tab]{border-radius:var(--radius-sm);justify-content:flex-start;width:100%;min-height:43px;padding:0 13px;color:#edf8f5b8!important}.app-tabs [role=tab]:hover{background:#ffffff0f;color:#fff!important}.app-tabs [role=tab][aria-selected=true]{background:#20675d;color:#fff!important}.app-tabs [role=tab]>span{color:inherit!important}.app-tabs [role=tab]:after{display:none}.app-tabs svg{color:#70cfc4;font-size:19px}.sidebar-profile{border-top:1px solid #ffffff17;grid-template-columns:38px minmax(0,1fr) 32px;align-items:center;gap:10px;margin-top:auto;padding:17px 5px 0;display:grid}.profile-avatar{color:#0b5e54;background:#d8f3ee;border-radius:50%;place-items:center;width:38px;height:38px;font-weight:800;display:grid}.profile-copy{gap:2px;min-width:0;display:grid}.profile-copy strong{text-overflow:ellipsis;white-space:nowrap;font-size:.74rem;overflow:hidden}.profile-copy small{color:#edf8f57a;font-size:.68rem}.sidebar-profile button{color:#edf8f5a6}.app-main{min-width:0;padding:34px clamp(22px,4vw,60px) 72px}.app-header{justify-content:space-between;align-items:flex-start;gap:28px;max-width:1540px;margin:0 auto 22px;display:flex}.app-header h1{margin-top:2px;font-size:clamp(2rem,3vw,2.65rem)}.eyebrow{color:var(--accent);letter-spacing:.14em;margin:0 0 7px;font-size:.67rem;font-weight:800}.page-description{max-width:650px;color:var(--muted);margin-top:9px;line-height:1.5;display:block}.header-actions{flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:10px;padding-top:4px;display:flex}.update-status{color:var(--muted);white-space:nowrap;align-items:center;gap:7px;margin-right:4px;display:inline-flex}.live-dot{background:#19a974;border-radius:50%;width:7px;height:7px;box-shadow:0 0 0 4px #19a9741f}.app-notice{border-radius:var(--radius-sm);max-width:1540px;margin:0 auto 20px}.workspace-content{max-width:1540px;margin:0 auto}.workspace-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;display:grid}.workspace-grid>*,.card-list>*{min-width:0}.workspace-grid>[class*=fui-Card],.card-list>[class*=fui-Card]{border:1px solid var(--border);border-radius:var(--radius-md);background:var(--surface);box-shadow:var(--shadow-sm);padding:22px}.workspace-grid [class*=fui-CardHeader]{padding-bottom:8px}.wide-card{grid-column:1/-1}.card-list{gap:16px;display:grid}.form-grid{grid-template-columns:1.5fr 1fr 1fr;gap:16px;display:grid}.toolbar{align-items:center;gap:10px;margin:18px 0;display:flex}.toolbar>*{max-width:320px}.button-row,.segmented{flex-wrap:wrap;gap:9px;margin-top:14px;display:flex}.compact-list{gap:8px;display:grid}.compact-list>div{border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--surface-soft);justify-content:space-between;gap:12px;padding:11px 13px;display:flex}.summary-list{gap:0;margin:0 0 18px;display:grid}.summary-list>div{border-bottom:1px solid var(--border);grid-template-columns:minmax(110px,1fr) 1.5fr;gap:14px;padding:10px 0;display:grid}.summary-list dt{color:var(--muted)}.summary-list dd{text-align:right;margin:0;font-weight:650}.summary-list .summary-alert,.summary-list .summary-alert dt{color:var(--danger)}.metric-grid{grid-template-columns:repeat(auto-fit,minmax(175px,1fr));gap:12px;display:grid}.metric{border:1px solid var(--border);border-radius:var(--radius-md);background:var(--surface);min-height:112px;box-shadow:var(--shadow-sm);align-content:space-between;gap:10px;padding:17px;display:grid;position:relative;overflow:hidden}.metric:after{content:"";background:var(--accent-soft);border-radius:50%;width:84px;height:84px;position:absolute;bottom:-30px;right:-22px}.metric>span:first-child{color:var(--muted)}.metric>span:last-child{z-index:1;color:var(--text);letter-spacing:-.035em;font-size:1.7rem;position:relative}.metric.danger:after{background:#fde8e7}.metric.warning:after{background:#fff0dc}.map-legend{color:var(--muted);flex-wrap:wrap;gap:15px;margin:8px 0 18px;display:flex}.map-legend span{align-items:center;gap:7px;display:inline-flex}.legend-swatch{border-radius:3px;width:10px;height:10px;display:inline-block}.legend-swatch.available{background:#17966f}.legend-swatch.reserved{background:#d28a22}.legend-swatch.occupied{background:#cc4a42}.legend-swatch.out{background:#788581}.parking-map{border:1px solid var(--border);border-radius:var(--radius-md);background:#e7eeec;gap:13px;padding:20px;display:grid;overflow-x:auto}.theme-dark .parking-map{background:#111d1a}.parking-gate{border-radius:var(--radius-sm);color:#fff;text-align:center;letter-spacing:.04em;text-transform:uppercase;min-width:720px;padding:10px 16px;font-size:.78rem;font-weight:700}.parking-gate.entrance{background:#176f86}.parking-gate.exit{background:#53625e}.parking-zone{grid-template-columns:68px 1fr;gap:10px;min-width:720px;display:grid}.zone-label{border-radius:var(--radius-sm);color:#29433d;background:#d5e5e1;border:1px solid #c4d8d3;place-items:center;font-weight:800;display:grid}.theme-dark .zone-label{color:#d9ebe7;background:#21342f;border-color:#344b45}.zone-slots{grid-template-columns:repeat(8,minmax(72px,1fr));gap:8px;display:grid}.driving-lane{color:#667b76;text-align:center;text-transform:uppercase;border-block:1px dashed #8ea39e;min-width:720px;padding:8px;font-size:.74rem}.parking-slot{border-radius:var(--radius-sm);background:var(--surface);min-height:84px;color:var(--text);cursor:pointer;border:1px solid #0000;place-content:center;gap:4px;transition:transform .16s,box-shadow .16s,border-color .16s;display:grid}.parking-slot:hover:not(:disabled){z-index:1;transform:translateY(-2px);box-shadow:0 9px 20px #13272421}.parking-slot:focus-visible{outline:3px solid color-mix(in srgb, var(--accent) 30%, transparent);outline-offset:2px}.parking-slot.available{color:#12674f;background:#effaf6;border-color:#61b99f}.parking-slot.reserved{color:#915a0b;background:#fff7e9;border-color:#e6bd7b}.parking-slot.occupied{color:#9c2d27;background:#fff0ef;border-color:#e59691}.parking-slot.out-of-service{color:#596762;background:#eef1f0;border-color:#bac5c2}.parking-slot.selected{color:#fff;background:#0f8175;border-color:#0f8175;box-shadow:0 0 0 3px #0f817529}.parking-slot:disabled{cursor:not-allowed;opacity:.78}.parking-slot span{font-size:.68rem}.parking-slot small{color:currentColor;opacity:.75;font-size:.64rem}.parking-slot.monitored{box-shadow:inset 0 0 0 2px #e6a817}.booking-detail-card,.review-card,.session-card{gap:16px;display:grid}.booking-heading{justify-content:space-between;gap:15px;display:flex}.booking-heading p,.session-detail p,.gate-status p{color:var(--muted);margin:5px 0 0}.booking-body{grid-template-columns:auto minmax(240px,1fr);gap:24px;display:grid}.qr-button{color:var(--accent);cursor:pointer;background:0 0;border:0;gap:7px;display:grid}.qr-image{object-fit:contain;border:1px solid var(--border);border-radius:var(--radius-sm);background:#fff;width:156px;height:156px;padding:7px}.qr-expanded{object-fit:contain;background:#fff;width:min(380px,80vw);height:min(380px,80vw)}.modal-backdrop{z-index:20;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#051411c2;place-items:center;padding:20px;display:grid;position:fixed;inset:0}.qr-dialog{justify-items:center;gap:18px;padding:28px;display:grid;border-radius:var(--radius-lg)!important}.session-detail{grid-template-columns:170px 1fr auto;align-items:center;gap:18px;display:grid}.evidence-image{object-fit:cover;border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--surface-strong);width:100%;min-height:128px;max-height:220px}.checkout-evidence-image{aspect-ratio:16/9;object-fit:contain;background:#0e211d;min-height:0;max-height:none}.image-placeholder{color:var(--muted);place-items:center;display:grid}.review-images{grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;display:grid}.review-images>div,.observation-evidence{gap:9px;display:grid}.observation-evidence{max-width:440px}.gate-status,.gate-action{justify-content:space-between;align-items:center;gap:16px;display:flex}.camera-frame{aspect-ratio:16/9;object-fit:cover;border-radius:var(--radius-md);background:#0d2923;border:1px solid #2c4b45;width:100%;margin:11px 0;box-shadow:inset 0 0 0 1px #ffffff0a}.checkout-camera-frame{min-height:0;margin:0}.file-button{border:1px solid var(--border-strong);border-radius:var(--radius-sm);background:var(--surface);min-height:36px;color:var(--text);cursor:pointer;align-items:center;padding:6px 13px;display:inline-flex;position:relative}.file-button input{opacity:0;width:1px;height:1px;position:absolute}.gate-action>div{align-items:center;gap:10px;display:flex}details{margin:12px 0}summary{color:var(--accent);cursor:pointer;margin-bottom:10px;font-weight:600}.gate-result-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin:0;display:grid}.gate-result-grid>div{border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--surface-soft);padding:12px}.gate-result-grid dt{color:var(--muted);font-size:.75rem}.gate-result-grid dd{margin:5px 0 0;font-weight:700}.session-timeline summary{font-weight:650}.timeline-list{border-left:2px solid var(--border-strong);gap:0;margin:12px 0 0 5px;display:grid}.timeline-list>div{gap:3px;padding:8px 14px;display:grid;position:relative}.timeline-list>div:before{content:"";background:var(--accent);border-radius:50%;width:8px;height:8px;position:absolute;top:14px;left:-5px}.timeline-list span{color:var(--muted)}.observation-list{gap:8px;display:grid}.observation-row{border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--surface-soft);grid-template-columns:58px 1fr auto minmax(150px,auto);align-items:center;gap:12px;padding:10px;display:grid}.event-table{border:1px solid var(--border);border-radius:var(--radius-sm);min-width:760px;display:grid;overflow:hidden}.table-head,.table-row{grid-template-columns:72px 1.4fr 1fr 1fr 1fr;align-items:center;gap:12px;padding:11px 13px;display:grid}.table-head{background:var(--surface-strong);color:var(--muted);letter-spacing:.04em;text-transform:uppercase;font-size:.73rem;font-weight:700}.table-row{border-top:1px solid var(--border);background:var(--surface)}.table-row:hover{background:var(--surface-soft)}.table-row>span{gap:3px;display:grid}.table-row small{max-width:220px;color:var(--muted);text-overflow:ellipsis;overflow:hidden}.audit-table{min-width:1120px}.audit-table .table-head,.audit-table .table-row{grid-template-columns:minmax(180px,1.1fr) minmax(160px,.85fr) minmax(250px,1.4fr) minmax(300px,1.7fr) 150px;gap:18px;padding:14px}.audit-table .table-row{min-height:78px}.audit-action,.audit-entity,.audit-reason,.audit-time{align-content:center}.audit-action{justify-items:start}.audit-action small{letter-spacing:.025em;width:100%;margin-top:3px;font-size:.67rem}.audit-entity{justify-content:start;align-items:center;grid-template-columns:auto 1fr!important;gap:7px!important}.audit-entity strong{color:var(--muted);font-size:.78rem}.audit-change{flex-flow:wrap;align-items:center;gap:7px!important;display:flex!important}.audit-change-arrow{color:var(--muted);font-size:1rem}.audit-reason{justify-items:start;line-height:1.4;gap:7px!important}.audit-reason>span{color:var(--text)}.audit-time strong{font-variant-numeric:tabular-nums;font-size:.78rem}.event-thumb{object-fit:cover;background:var(--surface-strong);border-radius:7px;width:58px;height:44px}.integration-grid{grid-template-columns:repeat(auto-fit,minmax(210px,1fr));gap:10px;margin:12px 0 18px;display:grid}.integration-item{border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--surface-soft);align-content:start;gap:9px;padding:15px;display:grid}.integration-item button{justify-self:start}.button-stack{gap:8px;display:grid}.empty-state{text-align:center;justify-items:center;gap:10px;padding:54px;display:grid;border:1px dashed var(--border-strong)!important;box-shadow:none!important}@media (max-width:1120px){.auth-shell{grid-template-columns:minmax(0,1fr) minmax(410px,.9fr)}.auth-visual{padding:40px}.auth-hero h1{font-size:clamp(2.7rem,5vw,4.4rem)}.app-shell{grid-template-columns:236px minmax(0,1fr)}.app-main{padding-inline:24px}.workspace-grid{grid-template-columns:1fr}.wide-card{grid-column:auto}}@media (max-width:800px){.auth-shell{background:var(--surface);display:block}.auth-visual{min-height:330px;padding:27px}.auth-hero{margin:54px 0 34px}.auth-hero h1{max-width:520px;font-size:clamp(2.25rem,10vw,3.6rem)}.auth-hero>p:not(.auth-eyebrow),.auth-capabilities{display:none}.auth-panel{place-items:start center;min-height:auto;padding:38px 24px 54px}.app-shell{display:block}.app-sidebar{z-index:10;height:auto;padding:12px 14px 8px;position:sticky;top:0;overflow:visible;box-shadow:0 8px 26px #0514112e}.sidebar-brand{padding:0 2px 10px}.sidebar-brand-mark{width:36px;height:36px}.sidebar-context,.sidebar-label,.sidebar-profile{display:none}.app-tabs{scrollbar-width:none;gap:5px;padding-bottom:3px;overflow-x:auto;flex-direction:row!important}.app-tabs [role=tab]{width:auto;min-width:max-content;min-height:38px}.app-main{padding:24px 14px 56px}.app-header,.gate-status,.gate-action{display:grid}.header-actions{justify-content:flex-start}.workspace-grid,.form-grid,.review-images,.gate-result-grid,.booking-body,.session-detail,.observation-row{grid-template-columns:1fr}.qr-image{width:180px;height:180px}.toolbar{flex-direction:column;align-items:stretch}.toolbar>*{max-width:none}.event-table{overflow-x:auto}.parking-map{padding:12px}}@media (max-width:520px){.auth-visual{min-height:285px}.auth-brand-mark{width:40px;height:40px}.auth-hero{margin-bottom:10px}.auth-eyebrow{margin-bottom:12px}.auth-panel{padding-inline:19px}.auth-links{flex-direction:column;align-items:flex-start}.app-header h1{font-size:1.85rem}.workspace-grid>[class*=fui-Card],.card-list>[class*=fui-Card]{padding:17px}.metric-grid{grid-template-columns:1fr 1fr}.metric{min-height:100px;padding:14px}.booking-heading{flex-direction:column}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}
