:root{color:#17211e;font-synthesis:none;text-rendering:optimizelegibility;background:#edf2ef;font-family:-apple-system,BlinkMacSystemFont,SF Pro Display,PingFang SC,Helvetica Neue,sans-serif}*{box-sizing:border-box}body{background:radial-gradient(circle at 12% 5%,#2b8b6b2e,#0000 34%),linear-gradient(#f7faf8 0%,#edf2ef 72%,#e6ece9 100%);min-width:320px;min-height:100vh;margin:0}button,input{font:inherit}button{cursor:pointer;min-height:48px}button:disabled{cursor:wait;opacity:.55}input{min-height:48px;font-size:16px}.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}.app-shell{width:min(100%,480px);min-height:100vh;padding:calc(18px + env(safe-area-inset-top)) 18px calc(24px + env(safe-area-inset-bottom));margin:0 auto}.screen-capture{color:#fff;background:#07100d;padding:0}.app-header{padding:18px 4px 24px}.app-header p{color:#0b5d4b;letter-spacing:.08em;text-transform:uppercase;margin:0 0 6px;font-size:.78rem;font-weight:800}.app-header h1{letter-spacing:-.035em;margin:0;font-size:clamp(1.8rem,9vw,2.8rem);line-height:1.08}.pwa-banner,.update-banner{text-align:center;border-radius:12px;margin:-12px 2px 14px;padding:9px 12px;font-size:.82rem;font-weight:750}.pwa-banner{color:#0b5d4b;background:#dff2ea}.update-banner{color:#75570f;background:#fff4cf}.surface,.confirm-screen,.lists-screen{background:#ffffffeb;border:1px solid #0b5d4b1c;border-radius:26px;padding:22px;box-shadow:0 22px 58px #1a3a311a}.privacy-mark{color:#0b5d4b;background:#e5f4ee;border-radius:999px;padding:7px 11px;font-size:.8rem;font-weight:800;display:inline-flex}.start-card h2{margin:20px 0 8px;font-size:1.5rem}.start-card>p{color:#59645f;margin:0 0 22px;line-height:1.65}.file-button,.primary-button,.secondary-button,.quiet-button{border-radius:16px;justify-content:center;align-items:center;width:100%;min-height:52px;padding:13px 18px;font-weight:780;display:flex}.file-button,.primary-button{color:#fff;background:#0b5d4b;border:0;box-shadow:0 10px 24px #0b5d4b33}.file-button input{opacity:0;block-size:1px;inline-size:1px;position:absolute}.file-button.is-disabled{opacity:.6}.secondary-button{color:#173d33;background:#ffffffd1;border:1px solid #bbcac4;margin-top:10px}.quiet-button{color:#53615c;background:0 0;border:0;margin-top:8px}.file-button:focus-within,button:focus-visible,input:focus-visible{outline-offset:3px;outline:3px solid #f2c94c}.format-note{font-size:.82rem;margin-top:18px!important}.error-message,.review-banner,.issue-panel{color:#7a271a;background:#fff0ec;border-radius:14px;padding:12px 14px;line-height:1.45}.issue-panel{margin-top:16px}.issue-panel h3,.issue-panel p{margin:0 0 8px}.issue-panel ul{margin:0;padding-left:20px}.readiness{color:#335148;align-items:center;gap:8px;margin-bottom:14px;font-size:.86rem;font-weight:700;display:flex}.readiness span{background:#e5a926;border-radius:50%;width:9px;height:9px;box-shadow:0 0 0 4px #e5a92624}.readiness-ready span{background:#1b8b67;box-shadow:0 0 0 4px #1b8b6724}.readiness-failed span{background:#cf5b47}.total-block{color:#fff;background:#123e34;border-radius:26px;padding:24px 22px;box-shadow:0 20px 44px #123e3433}.total-block p{color:#b9d6cd;margin:0 0 4px;font-weight:700}.total-block h2{letter-spacing:-.06em;margin:0;font-size:3.7rem;line-height:1}.total-block small{letter-spacing:0;font-size:1rem}.category-grid{grid-template-columns:1fr 1fr;gap:10px;margin:12px 0 18px;display:grid}.category-card{text-align:left;background:#ffffffe6;border:0;border-radius:18px;flex-direction:column;justify-content:space-between;align-items:flex-start;min-height:94px;padding:15px;display:flex;box-shadow:0 8px 24px #1e3c3414}.category-card span{color:#59645f;font-size:.86rem;font-weight:700}.category-card strong{font-size:1.45rem}.category-unregistered{background:#fff8f4;border:1px solid #cf5b4740}.capture-primary{min-height:62px;font-size:1.1rem}.screen-heading,.capture-header{grid-template-columns:72px 1fr 72px;align-items:center;gap:4px;display:grid}.screen-heading h2,.capture-header h1{text-align:center;margin:0;font-size:1.16rem}.text-button{color:#0b5d4b;background:0 0;border:0;font-weight:750}.confirm-screen{flex-direction:column;gap:12px;display:flex}.review-banner{color:#79590d;text-align:center;background:#fff7d9;margin:0;font-weight:800}.field-label{color:#59645f;margin-top:6px;font-size:.88rem;font-weight:750}.plate-input{letter-spacing:.08em;text-transform:uppercase;border:2px solid #aabdb6;border-radius:15px;width:100%;padding:12px 14px;font-size:1.45rem;font-weight:850}.classification{background:#eaf5f0;border-radius:18px;padding:16px}.classification span{color:#61716b;font-size:.8rem;display:block}.classification strong{margin-top:4px;font-size:1.35rem;display:block}.classification p{margin:8px 0 0}.classification-unregistered{color:#702d21;background:#fff0ec}.capture-screen{min-height:100vh;padding:calc(12px + env(safe-area-inset-top)) 14px calc(20px + env(safe-area-inset-bottom));background:#07100d}.capture-header{min-height:52px}.capture-header .text-button{color:#d8eee7}.camera-viewport{background:#15211e;border-radius:22px;height:min(64vh,570px);position:relative;overflow:hidden}.camera-viewport video{object-fit:cover;width:100%;height:100%}.plate-guide{border:3px solid #f4d24b;border-radius:14px;width:85%;height:21%;position:absolute;top:38%;left:7.5%;box-shadow:0 0 0 999px #00000061}.plate-guide:before,.plate-guide:after{content:"";background:#f4d24b;width:18px;height:3px;position:absolute;top:50%}.plate-guide:before{left:-3px}.plate-guide:after{right:-3px}.capture-instruction{color:#fff;text-align:center;text-shadow:0 2px 8px #000;margin:0;font-weight:760;position:absolute;bottom:8%;left:0;right:0}.capture-actions{flex-direction:column;align-items:center;padding-top:18px;display:flex}.shutter-button{background:0 0;border:4px solid #fff;border-radius:50%;width:76px;min-height:76px;padding:5px;display:grid}.shutter-button span{background:#fff;border-radius:50%;display:block}.capture-actions .secondary-button{color:#fff;background:0 0;border-color:#53645e;max-width:240px}.capture-screen .error-message{margin:12px 0 0}.lists-screen{padding:18px}.tabs{background:#edf2ef;border-radius:14px;grid-template-columns:repeat(4,1fr);gap:5px;margin:18px 0;padding:4px;display:grid}.tabs button{color:#53615c;background:0 0;border:0;border-radius:10px;min-height:44px;padding:4px;font-size:.76rem;font-weight:750}.tabs button[aria-selected=true]{color:#fff;background:#0b5d4b}.vehicle-list{gap:10px;display:grid}.vehicle-row{background:#fff;border:1px solid #dce6e2;border-radius:16px;justify-content:space-between;align-items:center;gap:12px;padding:14px;display:flex}.vehicle-row.is-warning{background:#fff8f4;border-color:#efc5ba}.vehicle-row strong{letter-spacing:.04em;font-size:1.15rem}.vehicle-row p{color:#60706a;margin:5px 0;font-size:.83rem}.vehicle-row span{color:#75817d;font-size:.78rem}.row-actions{flex-direction:column;gap:4px;display:flex}.row-actions button,.edit-form button{color:#0b5d4b;background:0 0;border:0;min-height:44px;font-weight:750}.edit-form{gap:8px;width:100%;display:grid}.edit-form input{border:1px solid #99afa7;border-radius:11px;width:100%;padding:9px 11px}.edit-form button{color:#fff;background:#0b5d4b;border-radius:11px}.empty-state,.loading-state{color:#68756f;text-align:center;padding:30px 12px}.export-actions{border-top:1px solid #dce6e2;gap:8px;margin-top:22px;padding-top:18px;display:grid}.danger-quiet-button{color:#9a3e2d;background:0 0;border:0;min-height:48px;font-weight:750}.clear-confirmation{color:#702d21;background:#fff8f4;border:1px solid #efc5ba;border-radius:16px;padding:14px}.clear-confirmation p{margin:8px 0 12px;line-height:1.5}.danger-button{color:#fff;background:#b84732;border:0;border-radius:13px;width:100%;min-height:48px;font-weight:800}@media (prefers-reduced-motion:no-preference){.surface,.dashboard,.confirm-screen,.lists-screen{animation:.24s ease-out enter}@keyframes enter{0%{opacity:0;transform:translateY(6px)}}}
