@import"https://fonts.googleapis.com/css2?family=Space+Grotesk:wght@400;500;700&family=IBM+Plex+Mono:wght@400;500&display=swap";:root{--font-ui: "Space Grotesk", "Avenir Next", "Segoe UI", sans-serif;--font-mono: "IBM Plex Mono", "SFMono-Regular", Menlo, monospace;--app-background-image-url: url(/images/parking-background-option-3.jpg);--ui-accent: #0e3f3b;--ui-accent-strong: #1a7269}:root[data-theme=light]{--bg: #f4f6ee;--bg-elevated: #ffffff;--text: #14202e;--muted: #4f6174;--primary: #0e3f3b;--primary-strong: #1a7269;--accent: #f2b94c;--danger: #a33b2f;--border: #d8e0e7;--shadow: 0 14px 40px rgba(12, 28, 54, .1);--bg-image-overlay-top: rgba(244, 246, 238, .84);--bg-image-overlay-bottom: rgba(244, 246, 238, .92);--bg-image-tint-a: rgba(242, 185, 76, .2);--bg-image-tint-b: rgba(26, 114, 105, .18)}:root[data-theme=dark]{--bg: #121820;--bg-elevated: #1b2430;--text: #e5edf4;--muted: #a9b6c3;--primary: #5fb4a9;--primary-strong: #7bd7cb;--accent: #f6cb70;--danger: #ed8c7f;--border: #2e3a4c;--shadow: 0 18px 50px rgba(0, 0, 0, .35);--bg-image-overlay-top: rgba(18, 24, 32, .86);--bg-image-overlay-bottom: rgba(18, 24, 32, .94);--bg-image-tint-a: rgba(246, 203, 112, .14);--bg-image-tint-b: rgba(95, 180, 169, .17)}*{box-sizing:border-box}html,body,#root{margin:0;min-height:100%;width:100%;overflow-x:clip}body{font-family:var(--font-ui);color:var(--text);background-color:var(--bg);background-image:linear-gradient(160deg,var(--bg-image-overlay-top),var(--bg-image-overlay-bottom)),radial-gradient(circle at 92% 12%,var(--bg-image-tint-a),transparent 36%),radial-gradient(circle at 12% 88%,var(--bg-image-tint-b),transparent 44%),var(--app-background-image-url);background-position:center;background-size:auto,auto,auto,cover;background-repeat:no-repeat}code{font-family:var(--font-mono)}.shell{min-height:100vh;padding:1rem}.app-shell{padding-bottom:6.5rem}.auth-shell{display:flex;flex-direction:column;align-items:stretch}.auth-main{flex:1;display:flex;flex-direction:column;justify-content:flex-end;gap:.7rem;padding-top:max(1rem,18vh);padding-bottom:calc(5.5rem + env(safe-area-inset-bottom,0px))}.auth-mode-nav{width:min(36rem,100%);margin-inline:auto;display:grid;grid-template-columns:1fr 1fr;gap:.55rem;padding:.45rem;border:1px solid var(--border);border-radius:.9rem;background:color-mix(in srgb,var(--bg-elevated) 90%,transparent);box-shadow:var(--shadow)}.auth-mode-btn{border:1px solid transparent;border-radius:.7rem;background:transparent;color:var(--text);padding:.58rem .65rem;cursor:pointer}.auth-mode-btn.active{background:var(--ui-accent);color:#fff}.otp-modal-backdrop{position:fixed;inset:0;z-index:1400;display:grid;place-items:center;padding:1rem;background:color-mix(in srgb,#000 28%,transparent)}.otp-modal{width:min(28rem,100%)}.topbar{display:flex;align-items:center;justify-content:space-between;gap:1rem;margin-bottom:.75rem;padding:.75rem .9rem;border-radius:.95rem;border:1px solid var(--border);background:color-mix(in srgb,var(--bg-elevated) 92%,transparent);box-shadow:var(--shadow);position:sticky;top:.5rem;z-index:1050;-webkit-backdrop-filter:blur(7px);backdrop-filter:blur(7px)}.brand{display:flex;align-items:center;gap:.55rem;font-weight:700;font-size:1.1rem;letter-spacing:.02em;min-width:0}.brand span{white-space:nowrap}.brand-dot{width:.85rem;height:.85rem;border-radius:999px;background:var(--accent);box-shadow:0 0 0 5px color-mix(in srgb,var(--accent) 26%,transparent)}.layout{display:grid;gap:1rem;grid-template-columns:repeat(12,minmax(0,1fr))}.tab-main{padding-bottom:1rem;padding-top:.15rem;min-width:0}.tab-page{display:grid;gap:1rem;grid-template-columns:repeat(12,minmax(0,1fr));min-width:0}.panel{background:color-mix(in srgb,var(--bg-elevated) 88%,transparent);border:1px solid var(--border);border-radius:1rem;padding:1rem;box-shadow:var(--shadow);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);grid-column:span 12;min-width:0}.panel-wide{grid-column:span 12}.panel h1,.panel h2{margin:0}.panel-title-row{display:flex;align-items:center;justify-content:space-between;gap:.75rem;margin-bottom:1rem}.small-meta{color:var(--muted);font-size:.9rem;overflow-wrap:anywhere}.section-heading{margin:0;font-size:1rem}.location-status-box{margin:0;min-height:2.7rem;padding:.65rem .7rem;border-radius:.5rem;border:1px dashed var(--border);background:color-mix(in srgb,var(--bg-elevated) 84%,transparent);display:flex;align-items:center;line-height:1.35;overflow-wrap:anywhere}.location-status-box.ready{color:var(--text)}.location-status-box.placeholder,.location-status-box.unavailable{color:var(--muted)}.stack{display:grid;gap:.7rem;min-width:0}.park-form{padding-inline:.2rem}.field,.inline-field{display:grid;gap:.35rem;font-size:.92rem;color:var(--muted)}.inline-field.compact{width:auto}.field input,.field textarea,.field select{width:100%;max-width:100%}.inline-field.compact select{width:auto}.compact-field{max-width:18rem}.accent-options{display:flex;flex-wrap:wrap;gap:.5rem}.accent-option{display:inline-flex;align-items:center;gap:.45rem;border:1px solid var(--border);border-radius:999px;padding:.3rem .55rem;background:color-mix(in srgb,var(--bg-elevated) 92%,transparent);color:var(--text);cursor:pointer}.accent-option.active{border-color:var(--ui-accent);box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--ui-accent) 55%,transparent)}.accent-swatch{width:1rem;height:1rem;border-radius:999px;border:1px solid color-mix(in srgb,#fff 55%,transparent)}input,textarea,select{font:inherit;color:var(--text);background:var(--bg-elevated);border:1px solid var(--border);border-radius:.65rem;padding:.62rem .68rem}input:focus-visible,textarea:focus-visible,select:focus-visible,button:focus-visible{outline:2px solid color-mix(in srgb,var(--ui-accent) 35%,transparent);outline-offset:1px;border-color:var(--ui-accent)}textarea{resize:vertical}button,.btn{font:inherit}.btn{border:1px solid transparent;background:var(--ui-accent);color:#fff;padding:.55rem .9rem;border-radius:.65rem;cursor:pointer;text-decoration:none;display:inline-flex;align-items:center;justify-content:center;transition:transform .12s ease,opacity .12s ease,background-color .12s ease}.btn:hover{transform:translateY(-1px)}.btn:not(.secondary):not(.danger):hover{background:var(--ui-accent-strong)}.btn:disabled{opacity:.65;cursor:not-allowed}.btn.secondary{background:transparent;color:var(--text);border-color:var(--border)}.btn.danger{background:var(--danger)}.btn.tiny{padding:.35rem .5rem;font-size:.8rem}.button-row{display:flex;flex-wrap:wrap;gap:.5rem}.capture-grid{display:grid;gap:.6rem;grid-template-columns:repeat(3,minmax(0,1fr))}.capture-slot{display:grid;gap:.35rem;min-width:0}.capture-picker{position:relative;display:grid;align-items:stretch;min-height:4.7rem;border:1px dashed var(--border);border-radius:.65rem;overflow:hidden;background:color-mix(in srgb,var(--bg-elevated) 88%,transparent)}.capture-picker.has-photo{border-style:solid}.capture-input-hidden{position:absolute;width:1px;height:1px;opacity:0;pointer-events:none}.capture-cta{width:100%;min-height:4.7rem;text-align:center;border-radius:0;border:0;white-space:normal;overflow-wrap:anywhere;line-height:1.25;padding-inline:.45rem}.capture-thumb-button{border:0;padding:0;background:transparent;cursor:pointer}.capture-thumb{display:block;width:100%;height:100%}.capture-thumb-image{display:block;width:100%;aspect-ratio:1;object-fit:cover}.camera-modal-backdrop{z-index:1500}.camera-modal{width:min(30rem,100%);display:grid;gap:.75rem}.camera-preview-frame{width:100%;border-radius:.75rem;border:1px solid var(--border);overflow:hidden;background:#000;aspect-ratio:3 / 4}.camera-preview{display:block;width:100%;height:100%;object-fit:cover}.metric-grid{display:grid;gap:.75rem;grid-template-columns:repeat(3,minmax(0,1fr))}.metric-label{display:block;font-size:.75rem;text-transform:uppercase;letter-spacing:.08em;color:var(--muted)}.note{margin:0;padding:.7rem;border-left:4px solid var(--accent);background:color-mix(in srgb,var(--accent) 20%,transparent);border-radius:.5rem}.muted{margin:0;color:var(--muted)}.error{color:var(--danger)}.history-list{display:grid;gap:.8rem}.history-item{border:1px solid var(--border);border-radius:.8rem;padding:.8rem;background:color-mix(in srgb,var(--bg-elevated) 86%,transparent)}.history-header{display:block}.history-time{display:block;line-height:1.35}.history-location{margin:.25rem 0 .6rem;line-height:1.35;overflow-wrap:anywhere}.record-note{margin:.6rem 0}.record-note-empty{margin:.6rem 0;padding:.65rem .7rem;border-radius:.5rem;border:1px dashed var(--border);background:color-mix(in srgb,var(--bg-elevated) 84%,transparent)}.record-details{margin-top:.6rem;padding-top:.6rem;border-top:1px solid var(--border)}.detail-map-frame{width:100%;min-height:220px;border-radius:.65rem;border:1px solid var(--border);background:color-mix(in srgb,var(--bg-elevated) 84%,transparent);aspect-ratio:2 / 1}.detail-location{margin:0}.parking-session-metrics{display:grid;grid-template-columns:auto minmax(0,1fr);gap:.2rem .7rem;align-items:baseline}.parking-session-label{margin:0;color:var(--muted);font-size:.86rem;font-weight:600;white-space:nowrap}.parking-session-value{margin:0;font-size:.9rem;line-height:1.35}.parking-session-active{font-weight:700}.parking-active-location{margin-bottom:0}.end-parking-confirm{display:grid;gap:.6rem;border:1px solid var(--border);border-radius:.7rem;padding:.7rem;background:color-mix(in srgb,var(--bg-elevated) 90%,transparent)}.grid-2{display:grid;gap:.6rem;grid-template-columns:repeat(2,minmax(0,1fr))}.photo-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(98px,1fr));gap:.5rem}.photo-thumb-button{border:0;padding:0;background:transparent;cursor:pointer;border-radius:.55rem;overflow:hidden}.photo-frame{display:grid;gap:.4rem}.photo-thumb,.photo-placeholder{width:100%;aspect-ratio:1;border-radius:.55rem;object-fit:cover;border:1px solid var(--border)}.photo-placeholder{display:grid;place-items:center;color:var(--muted);font-size:.75rem;padding:.4rem}.photo-lightbox-backdrop{z-index:1600}.photo-lightbox{width:min(52rem,calc(100vw - 2rem));max-height:calc(100vh - 2rem);display:grid;gap:.7rem}.photo-lightbox-header{display:flex;align-items:center;justify-content:space-between;gap:.8rem}.photo-lightbox-header h2{margin:0}.photo-lightbox-image{display:block;width:100%;max-height:calc(100vh - 9.5rem);object-fit:contain;border-radius:.65rem;border:1px solid var(--border);background:color-mix(in srgb,var(--bg-elevated) 90%,transparent)}.checkbox{display:flex;align-items:center;gap:.45rem;color:var(--muted)}.user-list{display:grid;gap:.45rem;max-height:16rem;overflow:auto}.user-row{display:flex;justify-content:space-between;gap:.6rem;border:1px solid var(--border);border-radius:.55rem;padding:.45rem .6rem}.admin-user-row{align-items:center}.admin-user-meta{min-width:0;gap:.25rem}.admin-user-actions{display:flex;flex-wrap:wrap;gap:.4rem}.link-button{width:fit-content;border:0;background:transparent;color:var(--danger);text-decoration:underline;text-underline-offset:.16em;cursor:pointer;padding:0}.user-menu{position:relative}.user-menu summary::-webkit-details-marker{display:none}.user-menu-trigger{list-style:none;border:1px solid var(--border);border-radius:999px;width:2.35rem;height:2.35rem;display:grid;place-items:center;cursor:pointer;background:color-mix(in srgb,var(--bg-elevated) 88%,transparent)}.user-menu-trigger svg{width:1.2rem;height:1.2rem;fill:var(--text)}.user-menu[open] .user-menu-trigger{border-color:var(--ui-accent)}.user-menu-panel{position:absolute;right:0;top:calc(100% + .4rem);min-width:13rem;display:grid;gap:.6rem;border:1px solid var(--border);border-radius:.75rem;background:var(--bg-elevated);box-shadow:var(--shadow);padding:.7rem}.user-menu-action{width:fit-content;border:0;background:transparent;color:var(--text);cursor:pointer;padding:0;text-decoration:underline;text-underline-offset:.16em}.bottom-tabs{position:fixed;left:50%;bottom:1rem;transform:translate(-50%);width:min(34rem,calc(100vw - 2rem));display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.45rem;padding:.45rem;border:1px solid var(--border);border-radius:1rem;background:color-mix(in srgb,var(--bg-elevated) 92%,transparent);box-shadow:var(--shadow);z-index:1000;-webkit-backdrop-filter:blur(7px);backdrop-filter:blur(7px)}.tab-button{border:1px solid transparent;border-radius:.75rem;background:transparent;color:var(--text);padding:.65rem .5rem;cursor:pointer}.tab-button.active{background:var(--ui-accent);color:#fff}.code-wrap{display:block;padding:.55rem;border-radius:.5rem;border:1px solid var(--border);overflow-x:auto}.mfa-qr-frame{width:fit-content;padding:.55rem;border:1px solid var(--border);border-radius:.75rem;background:color-mix(in srgb,var(--bg-elevated) 94%,transparent)}.mfa-qr-image{display:block;width:220px;max-width:min(100%,220px);height:auto;border-radius:.45rem}.admin-edit-modal{width:min(30rem,100%)}.screen-center{min-height:100vh;display:grid;place-items:center;font-size:1.1rem}.status-panel{width:min(34rem,calc(100vw - 2rem));display:grid;gap:.8rem}.toast{position:fixed;right:1rem;bottom:6rem;display:flex;align-items:center;gap:.75rem;background:var(--bg-elevated);color:var(--text);border:1px solid var(--border);border-radius:.7rem;padding:.7rem .85rem;box-shadow:var(--shadow);max-width:min(90vw,32rem);z-index:35}.toast-dismiss{border:1px solid var(--border);background:transparent;color:var(--text);border-radius:999px;padding:.25rem .6rem;font-weight:600;cursor:pointer}.toast-dismiss:hover{border-color:var(--muted)}.auth-card{width:min(36rem,100%);margin-inline:auto}@media(min-width:900px){.panel{grid-column:span 6}.panel-wide{grid-column:span 12}}@media(max-width:640px){.metric-grid,.grid-2{grid-template-columns:1fr}.bottom-tabs{bottom:.6rem}.auth-main{padding-top:1rem;padding-bottom:calc(4.8rem + env(safe-area-inset-bottom,0px))}}
