:root{font-family:Inter,Segoe UI,Arial,sans-serif;color:#192b39;background:#f4f6f8;font-synthesis:none}*{box-sizing:border-box}body{margin:0}button,input,select{font:inherit}button{background:#14766c;color:white;border:1px solid transparent;border-radius:7px;padding:11px 18px;cursor:pointer;font-weight:600}button:hover{filter:brightness(.94)}button:disabled{opacity:.4;cursor:default}input,select{width:100%;background:white;border:1px solid #d6dee3;border-radius:6px;padding:11px;color:#263c4b;min-height:43px}input:focus,select:focus{outline:2px solid #55b8a8;outline-offset:2px}label{display:flex;flex-direction:column;gap:8px;font-size:11px;font-weight:700;letter-spacing:.06em}h1,h2,p{margin-top:0}h1{font-size:34px;font-weight:600;letter-spacing:-1px;margin-bottom:10px}h2{font-size:18px;font-weight:600}.muted{color:#73828d;font-size:14px}.eyebrow{font-size:10px;font-weight:750;letter-spacing:.16em;color:#278879;margin-bottom:13px}.brand{display:flex;align-items:center;gap:10px;color:#62c8b4;font-size:32px}.brand span{font-size:13px;font-weight:700;letter-spacing:.12em;color:inherit}.login{min-height:100vh;display:grid;grid-template-columns:1fr 1fr;background:white}.login-card{padding:65px clamp(35px,8vw,140px)}.login-card .brand{margin-bottom:90px;color:#196f65}.login h1{font-size:44px;line-height:1.15}.login form{margin-top:35px;display:grid;gap:20px;max-width:370px}.login form label{font-size:12px;letter-spacing:0}.login button{display:flex;justify-content:space-between}.login small{display:block;color:#8a969e;margin-top:45px}.login-art{position:relative;overflow:hidden;background:#142b36;background-image:linear-gradient(120deg,#142b36,#204b50)}.road{position:absolute;width:600px;height:1200px;border:1px solid #47716d;transform:rotate(35deg);left:30%;top:-100px;background:repeating-linear-gradient(0deg,transparent 0 70px,#547973 70px 100px,transparent 100px 170px);background-size:2px 100%;background-repeat:no-repeat;background-position:center;box-shadow:0 0 0 50px #254850,0 0 0 51px #365e60}.scan{position:absolute;bottom:90px;left:50px;color:#b3d7d0;font-size:12px;letter-spacing:.18em;line-height:2}.scan strong{font-size:25px;color:#fff;letter-spacing:0}aside{position:fixed;width:225px;inset:0 auto 0 0;background:#142b36;padding:28px 24px;color:#b5c3ca}.nav-label{font-size:9px;letter-spacing:.15em;margin:55px 0 18px;color:#718e9a}aside a{display:block;text-decoration:none;padding:13px;border-radius:6px;font-size:13px;color:#d5ede7;background:#254a4d;margin:0 -7px}.sidebar-bottom{position:absolute;bottom:32px;font-size:12px;line-height:2}.sidebar-bottom small{color:#8197a2;font-size:10px}.dot{display:inline-block;width:6px;height:6px;background:#6ac7ae;border-radius:50%;margin-right:6px}main{margin-left:225px;padding:38px 38px 24px;max-width:1900px}header{display:flex;align-items:center;justify-content:space-between;margin-bottom:30px}.account{display:flex;gap:16px;align-items:center;font-size:12px}.secondary{background:white;color:#425562;border-color:#d9e1e5;padding:9px 13px;font-size:12px}.text-button{background:transparent;color:#53716d;padding:8px;font-size:12px}.notice{background:#eaf3f0;border:1px solid #d1e5df;border-radius:9px;padding:19px;display:flex;gap:16px;align-items:center;margin-bottom:28px}.notice>span{font-size:28px;color:#2b8d7a}.notice div{flex:1}.notice strong{font-size:13px}.notice p{font-size:12px;color:#638279;line-height:1.6;margin:5px 0 0}.notice button{flex-shrink:0}.filters{display:flex;align-items:end;gap:12px;background:white;border:1px solid #e1e7eb;border-radius:9px;padding:22px;margin-bottom:34px;flex-wrap:wrap}.filters label{flex:1;min-width:135px;color:#70818c;font-size:9px}.filters .plate-field{flex:1.5;min-width:170px}.filters input,.filters select{font-size:12px}.result-heading{display:flex;justify-content:space-between;align-items:start;margin-bottom:18px}.result-heading h2{margin-bottom:8px}.result-heading h2 span{background:#e3ebe9;color:#498579;padding:3px 8px;border-radius:5px;font-size:12px;margin-left:7px}.result-heading p{font-size:12px;margin:0}.table-wrap{background:white;border:1px solid #e1e7eb;border-radius:8px;overflow:auto}table{width:100%;border-collapse:collapse;text-align:left;white-space:nowrap}th{background:#f9fafb;font-size:9px;color:#7c8c97;letter-spacing:.07em;padding:16px}td{padding:18px 16px;border-top:1px solid #edf0f2;font-size:12px}td small{display:block;color:#8997a0;font-size:10px;margin-top:6px}.plate{font-family:Consolas,monospace;letter-spacing:.04em;font-size:14px;font-weight:700;color:#233f49}.badge{font-size:9px;border-radius:4px;padding:4px 7px;background:#fcf1d8;color:#9a762a}.badge.real{background:#e5f4ec;color:#34825a}.confidence{color:#258474}.empty{text-align:center;padding:65px 20px;color:#85949e}.empty>div{font-size:36px;color:#6eaa9c}.empty h2{color:#445c68;margin-top:12px}.empty p{font-size:13px}footer{display:flex;justify-content:space-between;align-items:center;padding:20px 0;color:#7b8d98;font-size:11px}footer div{display:flex;gap:8px}.footnote{font-size:10px;color:#94a0a8;margin-top:16px}dialog{border:0;border-radius:12px;padding:28px;width:500px;max-width:95vw;box-shadow:0 15px 80px #142b3655}dialog::backdrop{background:#142b3677}.dialog-heading{display:flex;justify-content:space-between;align-items:center}.dialog-heading p{margin:0}dialog h1{margin-top:18px;font-family:Consolas,monospace}.image-placeholder{background:#edf2f3;text-align:center;padding:32px 20px;border-radius:8px;color:#778d98}.image-placeholder span{display:block;font-size:32px;margin-bottom:10px}.image-placeholder strong{font-size:13px}.image-placeholder p{font-size:12px;margin:8px 0 0}dl{display:grid;grid-template-columns:1fr 1.4fr;gap:15px;font-size:13px;margin-bottom:0}dt{color:#85939d}dd{margin:0;text-align:right}#error,#login-error{color:#ae3b34;font-size:13px}[hidden]{display:none!important}@media(max-width:1100px){aside{width:180px;padding:24px 16px}main{margin-left:180px;padding:28px 20px}.notice{flex-wrap:wrap}.notice div{min-width:200px}.brand span{font-size:10px}}@media(max-width:700px){aside{display:none}main{margin:0;padding:22px 16px}header{gap:12px}h1{font-size:28px}.account{flex-direction:column;gap:7px}.login{grid-template-columns:1fr}.login-art{display:none}.login-card{padding:35px}.login-card .brand{margin-bottom:60px}.filters{padding:16px}.notice{padding:14px}.notice>span{display:none}.notice button{font-size:11px}.filters label{min-width:120px}.footnote{line-height:1.7}}
.sighting-row{cursor:pointer}.sighting-row:hover{background:#f0f7f5}.sighting-row:focus-visible{outline:2px solid #14766c;outline-offset:-2px}
.workspace-tabs{display:flex;gap:22px;margin:0 0 22px;font-size:13px}.workspace-tabs a,.setup-steps a{color:#14766c;text-decoration:none}.alert-panel{margin-top:40px;padding:26px;background:white;border:1px solid #e1e7eb;border-radius:10px;scroll-margin-top:20px}.alert-grid{display:grid;grid-template-columns:1fr 1fr;gap:40px}.alert-panel h3{font-size:15px;margin-top:24px}.settings-form{display:grid;gap:14px}.settings-form button{justify-self:start}.settings-form .muted{font-size:12px;line-height:1.6;margin:0}.check-label{display:flex;flex-direction:row;align-items:center;letter-spacing:0;font-size:12px}.check-label input{width:16px;min-height:16px}.setup-steps{font-size:12px;line-height:1.8;padding-left:20px;color:#73828d}.chat-picker{display:flex;gap:10px}.chat-picker select{font-size:12px}.watch-item,.alert-item{padding:14px 0;border-bottom:1px solid #edf0f2;display:flex;gap:12px;align-items:center}.watch-item div,.alert-item div{flex:1}.watch-item small,.alert-item small{display:block;color:#73828d;margin-top:6px;font-size:12px}.alert-item p{font-size:12px;white-space:pre-line;line-height:1.7;margin:8px 0}.alert-panel #notification-message{color:#14766c;margin-top:22px;font-size:13px}.alert-item .failed{color:#ac453a}@media(max-width:850px){.alert-grid{grid-template-columns:1fr}.alert-panel{padding:18px}.chat-picker{flex-wrap:wrap}.watch-item{flex-wrap:wrap}}
aside a{background:transparent;margin-bottom:7px}aside a.active{background:#254a4d;color:#d5ede7}aside a:hover{background:#203f46}.alert-panel{margin-top:0}@media(max-width:700px){aside{display:flex;position:static;width:100%;padding:10px 16px;gap:10px;align-items:center}aside .brand,aside .nav-label,aside .sidebar-bottom{display:none}aside a{margin:0;padding:10px}main{margin:0}}
.watch-actions{display:flex;gap:6px;align-items:center}.danger{color:#af4239}.alert-grid{grid-template-columns:minmax(0,1.3fr) minmax(0,1fr)}#watch-items{margin-top:24px}.watch-actions button{padding:7px 9px}@media(max-width:1100px){.alert-grid{grid-template-columns:1fr}}
#watchlist-panel .alert-grid{grid-template-columns:1fr}#telegram-panel>div{max-width:700px}#telegram-message{color:#14766c;font-size:13px;margin-top:20px}
.user-form{max-width:650px;margin-bottom:28px}#users-message{font-size:13px;color:#14766c}
#users-panel .user-form{margin-top:28px}
dialog .settings-form{margin-top:22px;margin-bottom:0}dialog .dialog-heading h2{margin:0}dialog [role="alert"]{font-size:13px;color:#ae3b34;margin:14px 0 0}#user-editor,#camera-editor,#watch-editor{width:560px}#user-add,#camera-add,#watch-add{margin-bottom:22px}
.list-actions{display:flex;align-items:center;margin:0 0 20px}.list-actions #user-add{margin:0}.selection-actions{display:flex;align-items:center;gap:18px;margin:0 0 16px;padding:12px 16px;background:#eaf1ef;border-radius:7px;flex-wrap:wrap;font-size:12px}.selection-column{width:38px;padding-left:14px;padding-right:5px}.selection-column input{width:16px;min-height:16px;cursor:pointer}#delete-sightings-description{font-size:14px;line-height:1.6}
#rows td{padding-top:9px;padding-bottom:9px}#rows td small{margin-top:3px}#rows .plate{font-size:13px}
aside details{margin:0 -7px 7px}aside details summary{cursor:pointer;padding:13px;font-size:13px;color:#b5c3ca;list-style:none}aside details summary:hover{background:#203f46;border-radius:6px}aside details a{margin:0 0 0 18px;font-size:12px}aside{overflow-y:auto}.report-filters{background:white;border:1px solid #e1e7eb;border-radius:9px;padding:22px;display:grid;grid-template-columns:minmax(200px,1fr) 2fr;gap:24px}.report-filters fieldset{border:0;margin:0;padding:0;min-width:0}.report-filters legend{font-size:10px;font-weight:700;letter-spacing:.05em;color:#70818c}.traffic-camera-picker{display:flex;flex-direction:column;gap:12px;max-height:190px;overflow:auto;padding:8px 2px}.traffic-camera-picker .check-label{font-size:12px;font-weight:400;line-height:1.5}.camera-pick-actions{display:flex;gap:10px;margin:5px 0}.camera-pick-actions button{padding-left:0}.report-dates{display:grid;grid-template-columns:1fr 1fr;gap:16px;align-content:start}.report-dates label{font-size:10px;color:#70818c}.report-dates button{justify-self:start;align-self:end}.report-note{font-size:12px;line-height:1.7;color:#73828d;margin:14px 0 28px}.report-title{display:flex;justify-content:space-between;gap:20px;align-items:center}.report-title h2{font-size:21px;margin-bottom:8px}.report-total{text-align:right;display:flex;flex-direction:column;gap:5px}.report-total strong{font-size:30px;color:#14766c}.report-total span{font-size:11px;color:#73828d}.traffic-legend{display:flex;gap:18px;flex-wrap:wrap;padding:18px 0;font-size:12px;color:#4c6470}.traffic-legend>span{display:flex;align-items:center;gap:7px}.traffic-chart{border:1px solid #e1e7eb;border-radius:9px;background:white;overflow:auto;padding:12px 10px 0}.traffic-chart svg{display:block;max-width:none}.traffic-data{margin-top:20px}.traffic-data>summary{cursor:pointer;color:#14766c;font-size:13px;margin-bottom:12px}.sample-report-note{font-size:12px;background:#fff4dc;color:#947129;padding:12px;border-radius:6px}#traffic-error{color:#ae3b34;font-size:13px}.traffic-data table{font-variant-numeric:tabular-nums}.traffic-data tbody tr:last-child{font-weight:700;background:#eaf3f0}@media(max-width:900px){.report-filters{grid-template-columns:1fr}}@media(max-width:700px){aside{flex-wrap:wrap}aside details{margin:0}aside details summary{padding:10px}aside details a{margin-left:5px}.report-dates{grid-template-columns:1fr}.report-title{align-items:start}}
#unique-error{color:#ae3b34;font-size:13px}#unique-table{margin-top:22px}#unique-table td{padding-top:12px;padding-bottom:12px}
.vehicle-image{display:block;width:100%;max-height:360px;object-fit:contain;border-radius:8px;background:#edf2f3}
.alert-thumbnail{width:100px;height:60px;object-fit:cover;border-radius:5px;display:block}.alert-photo-cell{width:125px;font-size:11px}#alerts-rows td{padding-top:9px;padding-bottom:9px}#alerts-rows td small{margin-top:4px}.alert-detail-message{white-space:pre-line;line-height:1.7;font-size:13px}#alerts-error{color:#ae3b34;font-size:13px}
