@font-face{font-family:Vazirmatn;src:url('fonts/Vazirmatn-Regular.woff2') format('woff2');font-weight:100 900;font-display:swap}
:root{font-family:Vazirmatn,Tahoma,sans-serif;color:#13244b;background:#f4f7fc;--surface:#fff;--line:#e0e8f5;--muted:#62728e;--accent:#0753fc;--soft:#edf4ff;--danger:#b53636;color-scheme:light}body{font-size:13px}.icon{width:21px;height:21px;stroke:currentColor;stroke-width:1.8;fill:none;stroke-linecap:round;stroke-linejoin:round;flex-shrink:0}.topbar{padding:13px 28px;height:86px;box-shadow:0 2px 12px #14356e05}.brand{display:flex;align-items:center;gap:12px;color:#0b1d43;font-size:27px;line-height:1.3}.brand img{height:52px;width:50px}.brand span{font-size:11px;line-height:1.8;font-weight:400;letter-spacing:0;margin-top:3px}.top-actions{font-size:12px}body.authenticated .topbar{margin-right:220px}.topbar button{min-height:38px;padding:7px 12px}.quiet{color:var(--accent);background:var(--surface)}button{font-weight:600;border-radius:9px;background:var(--accent)}main{padding:24px 30px;max-width:1600px}body.authenticated main{margin-right:220px}#sidebar{position:fixed;right:0;top:0;bottom:0;width:220px;background:var(--surface);border-left:1px solid var(--line);z-index:4;padding:25px 18px;display:flex;flex-direction:column}.sidebar-brand{display:flex;flex-direction:column;align-items:center;padding-bottom:20px;border-bottom:1px solid var(--line)}.sidebar-brand img{height:68px;width:68px}.sidebar-brand strong{font-family:"Segoe UI",sans-serif;font-size:25px;color:var(--text,#0a1942)}.sidebar-brand small{font-size:10px;margin:0}.sidebar-note{margin-top:auto;text-align:center;padding-top:20px;font-size:10px;line-height:2}#sidebar nav{display:flex;flex-direction:column;border:0;gap:7px;padding:24px 0;margin:0;align-items:stretch}#sidebar a{display:flex;gap:14px;align-items:center;padding:12px 14px;color:var(--muted);border-radius:8px;font-size:12px}#sidebar a:hover,#sidebar a.active{background:var(--soft);color:var(--accent)}.intro{margin-bottom:14px}.intro h1{font-size:24px;margin:3px 0}.intro p{margin:0;font-size:12px}.eyebrow{font-size:10px}.badge{font-size:10px}.demo-banner{font-size:11px;color:#9c5b09;background:#fff5e4;border:1px solid #ffe5b2;border-radius:8px;padding:7px 13px;margin:14px 0}.summary-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(190px,1fr));gap:15px;margin:18px 0}.summary-grid article{display:flex;align-items:center;justify-content:space-between;gap:18px;background:var(--surface);border:1px solid var(--line);border-radius:12px;padding:18px;min-height:100px;box-shadow:0 2px 6px #132e6303}.summary-grid strong{display:block;font-size:25px;color:inherit}.summary-grid article>div>span{font-size:10px;color:var(--muted)}.metric-icon{background:#e3eeff;color:#0753fc;padding:11px;border-radius:13px;display:flex;align-items:center}.metric-icon.orange{background:#fff0df;color:#ff7a05}.summary-grid .icon{width:25px;height:25px}.card{border-radius:12px;padding:20px;box-shadow:0 3px 13px #14356e03}.card h2{font-size:16px}.card h3{font-size:14px}.grid{gap:18px;grid-template-columns:minmax(300px,1fr) minmax(350px,1.25fr)}#workspace>nav{padding:7px 0 16px;gap:20px;font-size:11px}.item{padding:13px 0}.item h3{font-size:13px}.item p{font-size:10px}.item .actions button{font-size:11px;min-height:38px}.item select{max-width:145px;font-size:11px}.status{font-size:10px}.route-card{min-height:330px}#route-board{border-radius:10px;border:1px solid var(--line);background-color:var(--soft);background-image:linear-gradient(35deg,transparent 46%,#cfe1fc 47%,#cfe1fc 48%,transparent 49%),linear-gradient(120deg,transparent 46%,#dfeafb 47%,#dfeafb 48%,transparent 49%);background-size:95px 80px;padding:20px;min-height:214px;display:flex;flex-direction:column;justify-content:center;gap:12px}.route-stop{position:relative;display:flex;gap:12px;align-items:center}.route-stop:before{content:'';width:12px;height:12px;border:3px solid var(--accent);border-radius:50%;background:var(--surface);flex-shrink:0}.route-stop+.route-stop:after{content:'';position:absolute;right:8px;bottom:24px;height:16px;border-right:2px dashed #77a7ff}.route-stop span{background:var(--surface);padding:5px 12px;border-radius:7px;box-shadow:0 2px 4px #132e6308;font-size:11px}.role-dispatcher #trip-section>article:nth-child(2),.role-administrator #trip-section>article:nth-child(2){grid-column:1/-1;order:3}.role-driver #trips .actions button:not(.quiet){min-height:54px;font-size:16px;width:100%}.role-driver #trip-title{font-size:20px}.role-employee #trip-form button[type=submit]{width:100%;min-height:48px}.role-employee #trip-section .row:has(button){display:block}#message{border-right-width:3px;font-size:12px;box-shadow:0 3px 9px #1024540c}label{font-size:11px}input,select{padding:10px;border-radius:8px;font-size:12px}.login-card{max-width:480px;padding:30px}.login-card h1{font-size:24px}footer{margin-right:220px}.dark{--surface:#071b38;--line:#193c67;--muted:#9cb5d8;--accent:#29a9ff;--soft:#0a2a50;--danger:#ff9f9f;--text:#e9f2ff;background:#031329;color:#e9f2ff;color-scheme:dark}.dark .brand,.dark .sidebar-brand strong{color:#e9f2ff}.dark .dark button,.dark button:not(.quiet){background:#0753fc}.dark .metric-icon{background:#092e61;color:#33baff}.dark .metric-icon.orange{background:#3a2516;color:#ff922b}.dark .demo-banner{background:#2d2416;color:#ffcd85;border-color:#5d4321}.dark #route-board{background-image:linear-gradient(35deg,transparent 46%,#11325b 47%,#11325b 48%,transparent 49%),linear-gradient(120deg,transparent 46%,#10325a 47%,#10325a 48%,transparent 49%)}
@media(max-width:1050px){#sidebar{width:180px;padding:20px 12px}body.authenticated main,body.authenticated .topbar,footer{margin-right:180px}.grid{grid-template-columns:1fr}.route-card{min-height:240px}.summary-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.topbar{padding:13px 20px}.brand{font-size:24px}}
@media(max-width:700px){#sidebar{top:auto;left:0;bottom:0;width:100%;height:69px;border:0;border-top:1px solid var(--line);padding:0 8px}.sidebar-brand,.sidebar-note{display:none!important}#sidebar nav{padding:4px 0;flex-direction:row;justify-content:space-around;gap:0;height:100%;overflow-x:auto}#sidebar a{padding:5px 10px;flex-direction:column;gap:3px;min-width:65px;font-size:9px}#sidebar .icon{width:21px;height:21px}body.authenticated main,body.authenticated .topbar,footer{margin-right:0}body.authenticated footer{padding-bottom:85px}.topbar{height:76px;padding:10px 15px}.brand{font-size:22px;gap:7px}.brand img{height:42px;width:39px}.brand span{font-size:8px;max-width:165px}.top-actions{gap:5px}.top-actions button{padding:6px 9px;font-size:10px}.intro h1{font-size:22px}.summary-grid{gap:9px}.summary-grid article{padding:12px;min-height:85px;gap:10px}.summary-grid strong{font-size:22px}.summary-grid article>div>span{font-size:9px}.metric-icon{padding:8px}.summary-grid .icon{width:21px;height:21px}main{padding:18px 14px}.card{padding:17px}#workspace>nav{gap:15px}.role-driver .route-card{display:none}.demo-banner{font-size:10px}.grid{grid-template-columns:minmax(0,1fr)}.sidebar-note{display:none}}
@media(max-width:700px){.role-driver .summary-grid,.role-driver #workspace>nav{display:none}.role-driver .intro p,.role-driver .intro .eyebrow{display:none}.role-driver .intro{margin-bottom:10px}.role-driver .intro h1{font-size:19px}}
textarea{font:inherit;width:100%;resize:vertical;border:1px solid var(--line);border-radius:8px;padding:10px;background:var(--surface);color:inherit;margin-top:7px}.spark-assistant{margin-top:24px;padding:18px 14px;border:1px solid var(--line);border-radius:10px;background:var(--soft)}.spark-assistant h3{margin:0}.spark-assistant #ai-result{font-size:11px;line-height:2;margin-top:10px}.spark-assistant #apply-ai{margin-top:12px}
.technical-log{direction:ltr;text-align:left;white-space:pre-wrap;overflow-wrap:anywhere;font:11px/1.8 Consolas,monospace;background:var(--soft);padding:12px;border-radius:8px}.role-technicaladministrator .summary-grid,.role-technicaladministrator #workspace>nav{display:none}#maintenance-section .card{margin-bottom:18px}
/* Master-data tables stay inside the mobile viewport. */
.master-table{max-width:100%;overflow-x:auto}.master-table table{width:100%;border-collapse:collapse}.master-table th,.master-table td{padding:.8rem;text-align:right;border-bottom:1px solid var(--border,#dbe6fa)}#master-panel{margin-block:1.5rem}#master-panel form{margin-block:1rem}#master-panel .actions{display:flex;gap:.6rem;align-items:center;flex-wrap:wrap}#master-route-stops .grid{margin-block:.7rem}
