:root{
  --maroon:#800000;
  --maroon-dark:#650000;
  --maroon-soft:#fff5f5;
  --bg:#f6f7f9;
  --card:#fff;
  --text:#182230;
  --muted:#667085;
  --border:#e4e7ec;
  --success:#067647;
  --warning:#b54708;
  --shadow:0 10px 28px rgba(16,24,40,.08);
}
*{box-sizing:border-box}
html{font-size:16px;-webkit-text-size-adjust:100%}
body{margin:0;background:var(--bg);color:var(--text);font-family:"Kanit",system-ui,-apple-system,"Segoe UI",Tahoma,sans-serif;line-height:1.55;overflow-x:hidden}
button,input{font:inherit}
a{color:inherit}
.container{width:min(100% - 28px,1100px);margin-inline:auto}
.site-header{background:linear-gradient(135deg,var(--maroon),var(--maroon-dark));color:#fff;padding:24px 0 22px;border-bottom:4px solid rgba(255,255,255,.18)}
.hero{display:flex;align-items:center;gap:18px}
.station-logo{width:100px;height:100px;object-fit:contain;flex:0 0 100px;background:#fff;border-radius:18px;padding:4px;box-shadow:0 6px 20px rgba(0,0,0,.15)}
h1{font-size:clamp(1.45rem,4vw,2.05rem);line-height:1.25;margin:0;font-weight:700}
.hero p{margin:5px 0 0;font-size:1rem;opacity:.94}
.main-content{padding:22px 0 40px}
.search-panel{background:var(--card);border:1px solid var(--border);border-radius:18px;padding:18px;box-shadow:var(--shadow)}
.section-head{display:flex;justify-content:space-between;gap:14px;align-items:flex-start;margin-bottom:14px}
.section-head h2{font-size:1.18rem;margin:0 0 2px;color:var(--maroon)}
.section-head p{margin:0;color:var(--muted);font-size:.93rem}
.dataset-badge{white-space:nowrap;border-radius:999px;background:var(--maroon-soft);color:var(--maroon);font-size:.82rem;padding:6px 10px;font-weight:500}
.search-form{display:grid;grid-template-columns:1fr 1.05fr;gap:10px}
.search-form input{grid-column:1/-1;width:100%;min-width:0;height:52px;border:1.5px solid #cfd4dc;border-radius:12px;padding:0 14px;background:#fff;color:var(--text);font-size:16px;outline:none;appearance:none}
.search-form input:focus{border-color:var(--maroon);box-shadow:0 0 0 4px rgba(128,0,0,.09)}
.btn{min-height:50px;border:0;border-radius:12px;padding:0 16px;display:inline-flex;align-items:center;justify-content:center;text-decoration:none;font-weight:600;cursor:pointer;transition:transform .12s ease,box-shadow .12s ease,background .12s ease;touch-action:manipulation}
.btn:active{transform:translateY(1px)}
.btn:focus-visible{outline:3px solid rgba(128,0,0,.22);outline-offset:2px}
.btn-primary{background:var(--maroon);color:#fff;box-shadow:0 5px 14px rgba(128,0,0,.2)}
.btn-primary:hover{background:var(--maroon-dark)}
.btn-primary:disabled{opacity:.65;cursor:wait}
.btn-secondary{background:#f2f4f7;color:#344054;border:1px solid #e4e7ec}
.help-text{font-size:.84rem;color:var(--muted);margin:10px 2px 0}
.public-stats{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin-top:14px}
.stat-card{min-width:0;background:#fff;border:1px solid var(--border);border-radius:14px;padding:12px 8px;text-align:center;box-shadow:0 4px 14px rgba(16,24,40,.04)}
.stat-card span{display:block;color:var(--muted);font-size:.75rem;white-space:normal;line-height:1.25}
.stat-card strong{display:block;color:var(--maroon);font-size:1.15rem;margin-top:4px;line-height:1.1}
.success-rate{text-align:center;color:var(--muted);font-size:.86rem;margin:8px 0 0}.success-rate strong{color:var(--success)}
.result-section{margin-top:20px}
.result-summary{font-weight:600;margin:0 0 10px;color:#344054}
.results-grid{display:grid;grid-template-columns:1fr;gap:12px}
.result-card{background:#fff;border:1px solid var(--border);border-radius:16px;padding:16px;box-shadow:0 5px 18px rgba(16,24,40,.05)}
.plate-number{font-size:1.55rem;font-weight:700;color:var(--maroon);margin-bottom:12px;letter-spacing:.01em}
.result-row{display:flex;justify-content:space-between;gap:12px;border-top:1px solid #f0f1f3;padding:8px 0;color:var(--muted)}
.result-row strong{color:#344054;text-align:right;font-weight:500}
.btn-image{width:100%;margin-top:10px;background:var(--maroon-soft);color:var(--maroon);border:1px solid #f0caca}
.empty-state{background:#fff;border:1px dashed #d0d5dd;border-radius:14px;padding:28px 18px;text-align:center;color:var(--muted)}
.notice{margin-top:18px;border-radius:14px;padding:14px 16px;font-size:.9rem}.notice.info{background:#f9fafb;border:1px solid var(--border);color:#475467}.notice.warning{background:#fffaeb;border:1px solid #fedf89;color:#93370d}.inline-warning{display:inline;color:var(--warning);font-size:.85rem;font-weight:400}
.site-footer{border-top:1px solid var(--border);background:#fff;padding:24px 0;margin-top:10px}.footer-inner{display:flex;flex-direction:column;align-items:center;gap:3px;text-align:center;color:var(--muted);font-size:.88rem}.footer-inner strong{color:var(--maroon);font-size:1rem}
.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.admin-shell{max-width:1050px;margin:24px auto;padding:0 14px}.admin-card{background:#fff;border:1px solid var(--border);border-radius:16px;padding:18px;box-shadow:var(--shadow);margin-bottom:16px}.admin-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:10px}.table-wrap{overflow:auto}.stats-table{width:100%;border-collapse:collapse;min-width:680px}.stats-table th,.stats-table td{padding:9px 10px;border-bottom:1px solid var(--border);text-align:right}.stats-table th:first-child,.stats-table td:first-child{text-align:left}.login-box{width:min(100% - 28px,440px);margin:8vh auto}.form-stack{display:grid;gap:12px}.field label{display:block;font-weight:500;margin-bottom:5px}.field input{width:100%;height:48px;border:1px solid #cfd4dc;border-radius:10px;padding:0 12px;font-size:16px}.error-box{background:#fef3f2;border:1px solid #fecdca;color:#b42318;padding:10px 12px;border-radius:10px}.ok-box{background:#ecfdf3;border:1px solid #abefc6;color:#067647;padding:10px 12px;border-radius:10px}
@media (min-width:700px){.search-form{grid-template-columns:minmax(0,1fr) 120px 160px}.search-form input{grid-column:auto}.results-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.stat-card span{font-size:.88rem}.stat-card strong{font-size:1.35rem}.admin-grid{grid-template-columns:repeat(4,1fr)}}
@media (min-width:1040px){.results-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media (max-width:520px){.container{width:min(100% - 20px,1100px)}.site-header{padding:18px 0}.hero{gap:13px}.station-logo{width:100px;height:100px;flex-basis:100px;border-radius:15px}.search-panel{padding:14px;border-radius:16px}.section-head{display:block}.dataset-badge{display:inline-flex;margin-top:9px}.public-stats{gap:6px}.stat-card{padding:11px 5px}.stat-card span{font-size:.69rem}.stat-card strong{font-size:1.05rem}}
@media (prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;transition:none!important}}

.admin-brand{text-align:center}.admin-title{color:var(--maroon);margin-top:12px}

/* v1.1.0 admin settings + updater */
.admin-topbar{align-items:center}
.status-pill{display:inline-flex;align-items:center;justify-content:center;white-space:nowrap;border-radius:999px;padding:6px 11px;font-size:.82rem;font-weight:600}
.status-on{background:#ecfdf3;color:#067647;border:1px solid #abefc6}
.status-off{background:#f2f4f7;color:#475467;border:1px solid #d0d5dd}
.setting-row{display:flex;align-items:center;justify-content:space-between;gap:14px}
.toggle-line{display:flex;align-items:center;gap:12px;cursor:pointer;min-width:0}
.toggle-line input{position:absolute;opacity:0;pointer-events:none}
.toggle-switch{position:relative;flex:0 0 52px;width:52px;height:30px;border-radius:999px;background:#d0d5dd;transition:background .16s ease}
.toggle-switch::after{content:"";position:absolute;width:24px;height:24px;left:3px;top:3px;border-radius:50%;background:#fff;box-shadow:0 1px 4px rgba(16,24,40,.25);transition:transform .16s ease}
.toggle-line input:checked + .toggle-switch{background:var(--maroon)}
.toggle-line input:checked + .toggle-switch::after{transform:translateX(22px)}
.toggle-line input:focus-visible + .toggle-switch{outline:3px solid rgba(128,0,0,.18);outline-offset:2px}
.toggle-line strong{display:block;color:#344054}
.toggle-line small{display:block;color:var(--muted);margin-top:2px}
.update-form{display:grid;gap:12px}
.upload-box{display:grid;gap:4px;border:1.5px dashed #c7cdd6;border-radius:14px;background:#fafafa;padding:16px;cursor:pointer}
.upload-box:hover{border-color:var(--maroon);background:var(--maroon-soft)}
.upload-box strong{color:#344054}
.upload-box span{color:var(--muted);font-size:.86rem}
.upload-box input[type=file]{width:100%;margin-top:8px;font:inherit;color:#344054}
code{font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:.9em;background:#f2f4f7;padding:2px 5px;border-radius:5px}
@media (max-width:620px){.admin-topbar{align-items:flex-start}.admin-topbar .btn{min-height:44px}.setting-row{display:block}.toggle-line{align-items:flex-start}.update-form .btn{width:100%}}

/* v1.2.0 review queue */
.status-warn{background:#fffaeb;color:#b54708;border:1px solid #fedf89}
.review-note{margin:0 0 14px}
.review-list{display:grid;gap:12px}
.review-card{border:1px solid var(--border);border-radius:14px;padding:14px;background:#fcfcfd}
.review-card-head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;margin-bottom:12px}
.review-card-head>div{min-width:0}
.review-seq{display:block;color:var(--muted);font-size:.78rem}
.review-original{display:block;color:var(--maroon);font-size:1.25rem;margin-top:1px}
.review-card-head small{display:block;color:var(--muted);margin-top:2px}
.review-image-btn{min-height:42px;white-space:nowrap}
.review-form{display:grid;grid-template-columns:1.1fr 1fr;gap:10px;align-items:end}
.review-form .review-note-field{grid-column:1/-1}
.review-form .btn{grid-column:1/-1}
.confirmed-box{margin-top:14px;border-top:1px solid var(--border);padding-top:12px}
.confirmed-box summary{cursor:pointer;font-weight:600;color:#344054}
.confirmed-list{display:grid;gap:8px;margin-top:10px}
.confirmed-row{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:10px 0;border-bottom:1px solid #f0f1f3}
.confirmed-row strong{display:block;color:var(--success)}
.confirmed-row span,.confirmed-row small{display:block;color:var(--muted);font-size:.82rem}
.compact-btn{min-height:40px;padding:0 12px;font-size:.86rem;white-space:nowrap}
@media (max-width:700px){.review-card-head{display:block}.review-image-btn{width:100%;margin-top:10px}.review-form{grid-template-columns:1fr}.review-form .review-note-field,.review-form .btn{grid-column:auto}.confirmed-row{align-items:flex-start;display:grid}.compact-btn{width:100%}}

/* v1.2.1 public verification notice */
.verification-notice p{margin:0 0 10px}.verification-notice p:last-of-type{margin-bottom:12px}.verification-notice strong{color:var(--maroon)}
.btn-folder{width:100%;background:#fff;color:var(--maroon);border:1px solid #e5bcbc;box-shadow:0 3px 10px rgba(128,0,0,.06)}
.btn-folder:hover{background:var(--maroon-soft)}
@media (min-width:700px){.btn-folder{width:auto;min-width:260px}}
