:root{--bg:#f4f7fb;--card:#fff;--text:#102033;--muted:#6b7a90;--line:#dfe7ef;--primary:#0f766e;--primary2:#115e59;--success:#15803d;--danger:#c2413a;--warning:#a16207;--sidebar:#0b1f2a;--shadow:0 14px 40px rgba(25,50,72,.08)}*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--text);font-family:Tahoma,"Segoe UI",Arial,sans-serif;font-size:14px}a{color:var(--primary);text-decoration:none}button,input,select,textarea{font:inherit}.app-shell{min-height:100vh}.sidebar{position:fixed;top:0;right:0;width:255px;height:100vh;background:linear-gradient(180deg,#0a2430,#0d1b25);color:#fff;padding:22px 16px;display:flex;flex-direction:column;z-index:40}.brand{display:flex;gap:12px;align-items:center;padding:0 5px 20px}.brand-mark,.login-logo{width:44px;height:44px;border-radius:14px;background:linear-gradient(135deg,#34d399,#0f766e);display:grid;place-items:center;font-size:24px;font-weight:900}.brand strong{display:block}.brand small{display:block;color:#a9bdc7;margin-top:5px;font-size:11px}.sidebar nav{display:grid;gap:5px}.sidebar nav a{color:#c8d6dc;padding:11px 13px;border-radius:11px;transition:.2s}.sidebar nav a:hover,.sidebar nav a.active{background:rgba(52,211,153,.13);color:#fff}.sidebar-user{margin-top:auto;border-top:1px solid rgba(255,255,255,.1);padding:16px 8px 0}.sidebar-user strong,.sidebar-user small{display:block}.sidebar-user small{color:#93a8b3;margin:5px 0 10px}.sidebar-user a{color:#fb7185}.main{margin-right:255px;min-height:100vh}.topbar{height:76px;background:rgba(255,255,255,.92);backdrop-filter:blur(10px);border-bottom:1px solid var(--line);display:flex;align-items:center;padding:0 28px;position:sticky;top:0;z-index:20}.topbar strong,.topbar small{display:block}.topbar small{color:var(--muted);margin-top:4px;font-size:11px}.menu-btn{display:none;border:0;background:none;font-size:25px}.quick-entry{margin-right:auto;background:#e7f8f3;color:var(--primary);padding:10px 14px;border-radius:10px;font-weight:700}.content{padding:28px;max-width:1500px;margin:auto}.page-head{display:flex;align-items:center;justify-content:space-between;gap:18px;margin-bottom:22px}.page-head h1{margin:0 0 7px;font-size:25px}.page-head p{margin:0;color:var(--muted)}.head-actions{display:flex;gap:9px}.card{background:var(--card);border:1px solid #e7edf3;border-radius:18px;padding:20px;box-shadow:var(--shadow)}.card h2{margin:0 0 18px;font-size:18px}.card-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:10px}.stats-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;margin-bottom:20px}.stat-card{background:#fff;border:1px solid #e7edf3;border-radius:18px;padding:19px;box-shadow:var(--shadow)}.stat-card span,.stat-card small{display:block;color:var(--muted)}.stat-card strong{display:block;font-size:28px;margin:11px 0}.stat-card strong.money{font-size:21px}.btn{display:inline-flex;align-items:center;justify-content:center;border:0;border-radius:11px;padding:10px 15px;background:#e8eef4;color:#1e3a4c;font-weight:700;cursor:pointer}.btn:hover{filter:brightness(.97)}.btn.primary{background:var(--primary);color:#fff}.btn.success{background:var(--success);color:#fff}.btn.danger{background:var(--danger);color:#fff}.btn.secondary{background:#0f3d57;color:#fff}.btn.small{padding:7px 11px;font-size:12px}.btn.wide{width:100%;margin-top:12px;padding:13px}.alert{padding:13px 15px;border-radius:12px;margin-bottom:16px}.alert.success{background:#dcfce7;color:#166534}.alert.danger{background:#fee2e2;color:#991b1b}.alert.warning{background:#fef3c7;color:#92400e}.table-wrap{overflow:auto}table{width:100%;border-collapse:collapse;min-width:760px}th,td{text-align:right;padding:13px 11px;border-bottom:1px solid var(--line);white-space:nowrap}th{font-size:12px;color:var(--muted);background:#f8fafc}.empty{text-align:center;color:var(--muted);padding:35px}.plate-badge{display:inline-block;border:2px solid #263238;border-radius:7px;background:#fff;color:#111;padding:6px 10px;font-weight:800;direction:rtl}.plate-badge.large{font-size:18px;padding:9px 14px}.status{padding:6px 9px;border-radius:999px;font-size:12px}.status.active{background:#dcfce7;color:#166534}.status.completed{background:#e0f2fe;color:#075985}.status.cancelled{background:#fee2e2;color:#991b1b}label{display:block;font-weight:700;color:#32465a;margin-bottom:14px}input,select,textarea{width:100%;border:1px solid #ced9e4;border-radius:11px;padding:11px 12px;background:#fff;color:var(--text);margin-top:7px;outline:none}input:focus,select:focus,textarea:focus{border-color:#3fb3a6;box-shadow:0 0 0 3px rgba(15,118,110,.1)}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:2px 14px}.check{display:flex;align-items:center;gap:8px}.check input{width:auto;margin:0}.scan-layout{display:grid;grid-template-columns:minmax(0,1.3fr) minmax(330px,.7fr);gap:20px}.camera-card{background:#0b1720;border-radius:20px;padding:14px;color:#fff}.camera-stage{position:relative;background:#061018;border-radius:15px;overflow:hidden;aspect-ratio:16/9;display:grid;place-items:center}.camera-stage video{width:100%;height:100%;object-fit:cover}.camera-placeholder{position:absolute;color:#b8c5ce;text-align:center;padding:20px}.plate-guide{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);width:86%;aspect-ratio:4.5/1;border:3px solid #34d399;border-radius:12px;box-shadow:0 0 0 9999px rgba(0,0,0,.28);transition:top .18s ease;pointer-events:none}.plate-guide span{position:absolute;top:-34px;right:0;background:#34d399;color:#063b32;padding:5px 10px;border-radius:8px;font-weight:800}.camera-actions{display:flex;gap:9px;flex-wrap:wrap;margin-top:10px}.guide-actions{display:flex;align-items:center;gap:7px;flex-wrap:wrap;margin-top:10px;color:#b8c5ce}.guide-actions .btn.tiny{padding:6px 10px;font-size:11px}.preview-label{font-size:11px;color:#9fb1bb;margin-top:4px}.ocr-status.success{color:#86efac}.ocr-status.warning{color:#fde68a}.ocr-status.busy{color:#93c5fd}.plate-tools{display:flex;align-items:center;gap:9px;flex-wrap:wrap;margin:-8px 0 12px}.plate-tools small{color:var(--muted)}.plate-validation{padding:10px 12px;border-radius:10px;margin:0 0 15px;font-weight:700}.plate-validation.warning{background:#fef3c7;color:#92400e}.plate-validation.success{background:#dcfce7;color:#166534}.field-error{border:2px solid #dc2626!important;background:#fff7f7!important}.camera-actions .btn.danger{background:var(--danger);color:#fff}.camera-actions .btn:disabled{opacity:.45;cursor:not-allowed}.ocr-status{padding:11px 4px;color:#c7d6de;min-height:42px}.capture-preview{width:100%;border-radius:10px;border:1px solid #405362;margin-top:7px}.plate-form-card{align-self:start}.iran-plate-form{display:grid;grid-template-columns:1.15fr 1.4fr .8fr 1fr;gap:8px;direction:rtl;background:#f8fafc;border:2px solid #263238;border-radius:13px;padding:9px;margin-bottom:20px}.iran-plate-form input,.iran-plate-form select{margin:0;border:0;background:#fff;text-align:center;font-size:19px;font-weight:800;height:54px}.iran-box{display:grid;grid-template-columns:45px 1fr;align-items:center;border-right:3px solid #2563eb;background:#fff;border-radius:8px;overflow:hidden}.iran-box small{text-align:center;color:#1d4ed8;font-weight:800}.iran-box input{width:100%}.checkout-grid,.two-col{display:grid;grid-template-columns:1fr 1fr;gap:20px}.details{margin:0}.details div{display:flex;justify-content:space-between;gap:15px;padding:13px 0;border-bottom:1px solid var(--line)}.details dt{color:var(--muted)}.details dd{margin:0;font-weight:700}.payment-card>span,.payment-card>small{display:block;color:var(--muted)}.payment-card>strong{display:block;font-size:31px;color:var(--success);margin:10px 0 4px}.filter-row{display:grid;grid-template-columns:2fr 1fr auto;gap:12px;align-items:end}.filter-row label{margin:0}.tariff-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}.new-card{border-style:dashed}.narrow{max-width:800px}.note{background:#eff6ff;color:#1e3a8a;padding:13px;border-radius:11px;margin:8px 0 18px;line-height:1.9}.login-page{min-height:100vh;display:grid;place-items:center;background:radial-gradient(circle at top,#d7f5ec,#eef4f7 46%,#e8edf2)}.login-card{width:min(420px,calc(100% - 28px));background:#fff;padding:28px;border-radius:22px;box-shadow:0 24px 65px rgba(15,35,50,.15)}.login-card .login-logo{color:#fff;margin:auto}.login-card h1{text-align:center;margin:16px 0 5px}.login-card>p{text-align:center;color:var(--muted);margin:0 0 24px}@media(max-width:1050px){.stats-grid{grid-template-columns:repeat(2,1fr)}.scan-layout{grid-template-columns:1fr}.tariff-grid{grid-template-columns:1fr}}@media(max-width:780px){.sidebar{transform:translateX(110%);transition:.25s}.sidebar.open{transform:translateX(0)}.main{margin-right:0}.menu-btn{display:block;margin-left:12px}.content{padding:18px}.topbar{padding:0 16px}.page-head{align-items:flex-start;flex-direction:column}.stats-grid{grid-template-columns:1fr 1fr}.checkout-grid,.two-col{grid-template-columns:1fr}.filter-row{grid-template-columns:1fr}.form-grid{grid-template-columns:1fr}.iran-plate-form{grid-template-columns:1.1fr 1.35fr .75fr 1fr;gap:4px;padding:6px}.iran-plate-form input,.iran-plate-form select{font-size:16px;padding:6px}.camera-actions .btn{flex:1;min-width:120px}}@media(max-width:480px){.stats-grid{grid-template-columns:1fr}.head-actions{width:100%}.head-actions .btn{flex:1}.quick-entry{font-size:12px}.topbar small{display:none}.content{padding:13px}.card{padding:15px}.page-head h1{font-size:21px}}
.scan-quality{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:7px;margin-top:12px}.scan-quality span{display:flex;align-items:center;justify-content:center;gap:6px;min-height:36px;border-radius:10px;background:#162b36;color:#9fb1bb;font-size:12px;font-weight:700;border:1px solid #2a424f}.scan-quality span:before{content:'•';font-size:20px;line-height:1}.scan-quality span.ok{background:rgba(21,128,61,.2);color:#86efac;border-color:rgba(134,239,172,.35)}.scan-quality span.ok:before{content:'✓'}.scan-quality span.bad{background:rgba(194,65,58,.18);color:#fecaca;border-color:rgba(254,202,202,.3)}.scan-quality span.bad:before{content:'×'}.scan-quality span.pending{color:#9fb1bb}.saved-scan-card{max-width:820px;margin:10px auto;display:grid;grid-template-columns:auto 1fr minmax(260px,420px);gap:22px;align-items:center}.saved-check{width:64px;height:64px;border-radius:50%;background:#dcfce7;color:#15803d;display:grid;place-items:center;font-size:34px;font-weight:900}.saved-scan-info{display:grid;gap:12px}.saved-scan-info>span,.saved-scan-info>small{color:var(--muted)}.saved-plate-image{width:100%;max-height:190px;object-fit:contain;border-radius:14px;border:1px solid var(--line);background:#eef3f6;padding:8px}.saved-scan-actions{grid-column:1/-1;display:grid;grid-template-columns:1fr 1fr;gap:12px}.saved-scan-actions .btn{margin-top:0}.camera-card.is-locked .camera-stage:after{content:'پلاک ذخیره شد';position:absolute;inset:0;background:rgba(5,16,24,.78);display:grid;place-items:center;font-size:22px;font-weight:900;color:#86efac}@media(max-width:780px){.scan-quality{grid-template-columns:1fr 1fr}.saved-scan-card{grid-template-columns:auto 1fr}.saved-plate-image{grid-column:1/-1}.saved-scan-actions{grid-template-columns:1fr}}@media(max-width:480px){.scan-quality span{font-size:11px}.saved-scan-card{grid-template-columns:1fr;text-align:center}.saved-check{margin:auto}.saved-scan-info{justify-items:center}.saved-plate-image{grid-column:auto}.saved-scan-actions{grid-column:auto}}
.license-banner{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap}.license-banner a{font-weight:800;text-decoration:underline}.license-card{display:grid;gap:18px}.license-status{display:grid;gap:6px;padding:16px;border-radius:14px;border:1px solid}.license-status.ok{background:#ecfdf5;border-color:#a7f3d0;color:#166534}.license-status.bad{background:#fff7ed;border-color:#fed7aa;color:#9a3412}.license-status strong{font-size:18px}.license-form{border-top:1px solid var(--line);padding-top:18px}.license-actions{display:flex;gap:10px;flex-wrap:wrap}.license-actions form{margin:0}.license-card input[readonly]{background:#f8fafc;color:#64748b}
