:root{--color-brand:#3d5e9c;--color-brand-hover:#324d82;--color-brand-soft:#e8ecf4;--color-brand-soft-mid:#d8e2f0;--color-brand-soft-deep:#c5d4e8;--color-brand-rgb:61 94 156;--text:#1a1a1a;--text-muted:#64748b;--text-faint:#94a3b8;--border:#e2e8f0;--border-strong:#d1d5db;--danger:#dc2626;--danger-soft:#fef2f2;--danger-border:#fca5a5;--success:#16a34a;--success-soft:#f0fdf4;--success-border:#86efac;--bg:#fff;--bg-app:#f5f7fa;--radius-btn:8px;--radius-card:10px;--radius-pill:999px;--shadow-card:0 1px 2px #0f172a0f, 0 4px 12px #0f172a0a;--focus-ring:0 0 0 3px rgb(var(--color-brand-rgb) / 15%);--tap:48px;font-family:system-ui,-apple-system,Segoe UI,Roboto,Helvetica,Arial,sans-serif}*{box-sizing:border-box}html,body,#root{min-height:100%;margin:0}body{background:var(--bg-app);color:var(--text);-webkit-font-smoothing:antialiased;text-rendering:optimizelegibility;font-size:16px;line-height:1.5}.page{min-height:100dvh;padding-bottom:env(safe-area-inset-bottom)}.content{flex-direction:column;gap:16px;max-width:560px;margin:0 auto;padding:16px 16px 48px;display:flex}.center-screen{text-align:center;place-content:center;justify-items:center;gap:14px;min-height:100dvh;padding:24px;display:grid}.appbar{z-index:20;padding:calc(env(safe-area-inset-top) + 10px) 16px 10px;background:var(--bg);border-bottom:1px solid var(--border);justify-content:space-between;align-items:center;gap:12px;display:flex;position:sticky;top:0}.appbar__brand{align-items:center;gap:10px;min-width:0;display:flex}.appbar__logo{width:auto;height:30px;display:block}.appbar__tag{color:var(--text-muted);border-radius:var(--radius-pill);background:var(--color-brand-soft);white-space:nowrap;padding:3px 9px;font-size:12px;font-weight:600}.appbar__signout{appearance:none;border:1px solid var(--border-strong);background:var(--bg);color:#374151;border-radius:var(--radius-btn);cursor:pointer;min-height:40px;padding:9px 14px;font-size:14px;font-weight:600}.appbar__signout:active{background:var(--bg-app)}.h1{color:var(--text);margin:0;font-size:20px;font-weight:600}.h2{color:var(--text);margin:0;font-size:17px;font-weight:600}.muted{color:var(--text-muted);margin:0}code{background:var(--color-brand-soft);color:var(--color-brand-hover);border-radius:6px;padding:2px 6px;font-size:14px}.card{background:var(--bg);border:1px solid var(--border);border-radius:var(--radius-card);box-shadow:var(--shadow-card);padding:20px}.search-card{flex-direction:column;gap:16px;display:flex}.search-card__lead{margin-top:-8px;font-size:14px}.field{flex-direction:column;gap:7px;display:flex}.field__label{color:var(--text);font-size:14px;font-weight:600}.input{width:100%;min-height:var(--tap);background:var(--bg);border:1px solid var(--border-strong);border-radius:var(--radius-btn);color:var(--text);outline:none;padding:12px 14px;font-size:16px;transition:border-color .15s,box-shadow .15s}.input::placeholder{color:var(--text-faint)}.input:focus{border-color:var(--color-brand);box-shadow:var(--focus-ring)}select.input{appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='14' height='14' viewBox='0 0 24 24' fill='none' stroke='%2364748b' stroke-width='2.5'%3E%3Cpath d='M6 9l6 6 6-6'/%3E%3C/svg%3E");background-position:right 14px center;background-repeat:no-repeat;padding-right:40px}.input--plate{letter-spacing:.14em;text-transform:uppercase;text-align:center;font-size:22px;font-weight:700}.input--plate::placeholder{letter-spacing:normal;text-transform:none;font-weight:500}.btn{width:100%;min-height:var(--tap);border-radius:var(--radius-btn);cursor:pointer;border:none;justify-content:center;align-items:center;gap:10px;padding:12px 20px;font-size:16px;font-weight:600;transition:background .15s,transform 80ms,box-shadow .15s;display:flex}.btn:active{transform:scale(.99)}.btn:disabled{opacity:.55;cursor:default}.btn--primary{background:var(--color-brand);color:#fff}.btn--primary:not(:disabled):active,.btn--primary:not(:disabled):hover{background:var(--color-brand-hover)}.btn--secondary{background:var(--bg);color:#374151;border:1px solid var(--border-strong)}.btn--secondary:not(:disabled):active,.btn--secondary:not(:disabled):hover{background:var(--bg-app)}.btn--scan{background:var(--color-brand);color:#fff;min-height:60px;box-shadow:var(--shadow-card);font-size:17px}.btn--scan:not(:disabled):active,.btn--scan:not(:disabled):hover{background:var(--color-brand-hover)}.btn--scan svg{width:26px;height:26px}.scan-note{color:var(--color-brand-hover);margin:-8px 0 0;font-size:14px;font-weight:600}.divider{color:var(--text-faint);text-transform:uppercase;letter-spacing:.05em;align-items:center;gap:12px;font-size:13px;font-weight:600;display:flex}.divider:before,.divider:after{content:"";background:var(--border);flex:1;height:1px}.zone-select{position:relative}.select-trigger{width:100%;min-height:var(--tap);background:var(--bg);border:1px solid var(--border-strong);border-radius:var(--radius-btn);color:var(--text);text-align:left;cursor:pointer;justify-content:space-between;align-items:center;padding:12px 14px;font-size:16px;display:flex}.select-trigger:focus-visible{border-color:var(--color-brand);box-shadow:var(--focus-ring);outline:none}.select-trigger .chevron{color:var(--text-muted)}.select-popover{z-index:30;background:var(--bg);border:1px solid var(--border);border-radius:var(--radius-card);box-shadow:var(--shadow-card);position:absolute;top:calc(100% + 6px);left:0;right:0;overflow:hidden}.select-search{border:none;border-bottom:1px solid var(--border);background:var(--bg);width:100%;min-height:46px;color:var(--text);outline:none;padding:12px 14px;font-size:16px}.select-list{max-height:280px;margin:0;padding:6px;list-style:none;overflow-y:auto}.option{text-align:left;width:100%;color:var(--text);cursor:pointer;background:0 0;border:none;border-radius:8px;padding:12px;font-size:15px}.option:active,.option:hover{background:var(--bg-app)}.option-active{background:var(--color-brand-soft);color:var(--color-brand-hover);font-weight:600}.banner{border-radius:var(--radius-card);padding:14px 16px;font-size:14px;font-weight:600}.banner--error{background:var(--danger-soft);border:1px solid var(--danger-border);color:#991b1b}.results{flex-direction:column;gap:12px;display:flex}.results__head{padding:0 2px}.results__list{flex-direction:column;gap:12px;display:flex}.right-card{background:var(--bg);border:1px solid var(--border);border-radius:var(--radius-card);box-shadow:var(--shadow-card);flex-direction:column;gap:12px;padding:16px;display:flex}.right-card__head{justify-content:space-between;align-items:center;gap:10px;display:flex}.right-type{color:var(--text);font-size:16px;font-weight:600}.pill{border-radius:var(--radius-pill);white-space:nowrap;align-items:center;gap:6px;padding:6px 12px;font-size:14px;font-weight:700;display:inline-flex}.pill svg{width:15px;height:15px}.pill--valid{background:var(--success-soft);color:var(--success);border:1px solid var(--success-border)}.pill--invalid{background:var(--danger-soft);color:var(--danger);border:1px solid var(--danger-border)}.right-card__zone{color:var(--text);align-items:center;gap:7px;font-size:15px;font-weight:600;display:flex}.right-card__zone svg{color:var(--color-brand);flex:none}.right-card__meta{border-top:1px solid var(--border);grid-template-columns:1fr 1fr;gap:12px;margin:0;padding-top:12px;display:grid}.right-card__meta>div{flex-direction:column;gap:3px;display:flex}.right-card__meta dt{text-transform:uppercase;letter-spacing:.04em;color:var(--text-muted);font-size:12px;font-weight:600}.right-card__meta dd{color:var(--text);flex-direction:column;gap:2px;margin:0;font-size:14px;font-weight:600;display:flex}.rel{font-size:13px;font-weight:600}.rel--valid{color:var(--success)}.rel--expired{color:var(--danger)}.verdict{border-radius:var(--radius-card);border:1px solid;align-items:center;gap:12px;padding:16px;display:flex}.verdict--valid{background:var(--success-soft);border-color:var(--success-border)}.verdict--invalid{background:var(--danger-soft);border-color:var(--danger-border)}.verdict__icon{color:#fff;border-radius:50%;flex:none;place-content:center;width:40px;height:40px;display:grid}.verdict--valid .verdict__icon{background:var(--success)}.verdict--invalid .verdict__icon{background:var(--danger)}.verdict__title{color:var(--text);font-size:17px;font-weight:700}.verdict__sub{color:var(--text-muted);font-size:14px}.spinner{border:3px solid var(--border);border-top-color:var(--color-brand);border-radius:50%;width:34px;height:34px;animation:.8s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}
