@import url('https://fonts.googleapis.com/css2?family=Vazirmatn:wght@300;400;500;600;700;800;900&display=swap');
:root{--navy:#071831;--navy2:#0b2751;--blue:#143a78;--gold:#f9b849;--ink:#0c2443;--muted:#78889c;--bg:#f4f7fb;--white:#fff;--border:#e6edf5;--shadow:0 15px 42px rgba(12,33,68,.045)}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;direction:rtl;font-family:'Estedad','Vazirmatn',Tahoma,sans-serif;font-size:13px;color:var(--ink);background:var(--bg);-webkit-font-smoothing:antialiased}a{color:inherit;text-decoration:none}button,input,select,textarea{font-family:inherit;font-size:inherit}button{cursor:pointer}img{max-width:100%}h1,h2,h3,p{margin-top:0}h1{font-size:clamp(23px,3vw,30px);line-height:1.65;font-weight:800;margin-bottom:6px}h2{font-size:16px;line-height:1.7}h3{font-size:14px}p{line-height:1.9}small{font-size:11px}.icon-defs{position:absolute;height:0;width:0;overflow:hidden}.ico{display:inline-block;width:19px;height:19px;stroke:currentColor;stroke-width:1.75;fill:none;stroke-linejoin:round;stroke-linecap:round;flex-shrink:0;vertical-align:middle}
.app-shell{min-height:100vh}.side-nav{position:fixed;right:0;top:0;bottom:0;width:246px;background:linear-gradient(174deg,#071b37 0%,#06142c 75%);color:#e5edfa;padding:25px 15px;display:flex;flex-direction:column;z-index:25;border-left:1px solid rgba(255,255,255,.08);box-shadow:-12px 0 40px rgba(0,16,43,.06)}.brand{display:flex;align-items:center;gap:10px;margin:1px 2px 43px}.logo-tile{width:53px;height:51px;background:#fff;border-radius:15px;display:grid;place-items:center;overflow:hidden;flex-shrink:0;padding:1px}.logo-tile img{width:100%;height:100%;object-fit:contain}.brand-copy{display:flex;flex-direction:column;gap:4px}.brand-copy strong{font-weight:800;font-size:14px;color:#fff;white-space:nowrap}.brand-copy small{font-size:10px;color:#93a6c4}.nav-caption{font-size:10px;font-weight:600;letter-spacing:.2px;padding:0 15px;margin-bottom:15px;color:#6e87ad}.side-links{display:flex;flex-direction:column;gap:6px}.side-links a{display:flex;align-items:center;gap:12px;min-height:45px;padding:11px 14px;border-radius:13px;color:#aebfda;font-weight:600;transition:.2s}.side-links a:hover{background:rgba(255,255,255,.065);color:#fff}.side-links a.active{color:#071a38;background:linear-gradient(110deg,#fac85e,#ffdd8f);box-shadow:0 8px 22px rgba(242,178,52,.13)}.side-links .ico{width:18px;height:18px}.side-bottom{margin-top:auto;padding:20px 16px 13px;border-radius:18px;border:1px solid #244064;background:linear-gradient(150deg,#17335c,#0a2345);color:#e4efff}.side-bottom .hint-icon{font-size:24px;color:#ffcb6d;margin-bottom:8px}.side-bottom b{font-size:12px}.side-bottom p{font-size:10px;margin:6px 0 0;line-height:1.9;color:#a8b8ce}
.body-wrap{min-height:100vh;margin-right:246px}.topbar{height:90px;padding:0 clamp(18px,3.1vw,45px);display:flex;align-items:center;justify-content:space-between;gap:15px;background:#fff;border-bottom:1px solid #eaf0f5}.top-right,.top-actions{display:flex;align-items:center;gap:15px}.eyebrow{display:block;color:#95a3b4;font-size:10px;line-height:1.7}.top-title{display:block;font-size:17px;font-weight:800;margin-top:3px}.top-actions .avatar{width:41px;height:41px;border-radius:14px;background:#112f5d;color:#ffce74;display:grid;place-items:center;font-size:18px;font-weight:800}.province-select select{max-width:265px;min-height:42px;background:#f3f6fb;border:1px solid #e9eff7;border-radius:12px;color:#193b67;padding:8px 10px;font-weight:700;outline:none}.menu-button{display:none;background:#edf2fb;border:0;border-radius:11px;padding:9px 12px;color:#1b3d70;font-size:21px}.main-content{padding:28px clamp(18px,3.1vw,45px) 110px;max-width:1760px;margin:auto}.messages{display:grid;gap:7px;margin-bottom:14px}.alert{border-radius:12px;background:#edf6ff;padding:12px 16px;border:1px solid #d6e9ff;color:#24537d;font-weight:600}.alert-success{background:#e7f9ef;border-color:#ccf0dc;color:#16734b}.alert-error{background:#fff0f0;border-color:#ffdbdb;color:#a92e36}
.btn{display:inline-flex;justify-content:center;align-items:center;gap:8px;min-height:42px;border-radius:12px;padding:10px 19px;border:1px solid transparent;font-weight:750;line-height:1.4;transition:transform .2s,filter .2s,background .2s;white-space:nowrap}.btn:hover{transform:translateY(-1px);filter:brightness(.98)}.btn .ico{width:17px;height:17px}.btn-primary{background:linear-gradient(110deg,#f6b843,#ffcf76);color:#122744;box-shadow:0 7px 16px rgba(244,171,52,.13)}.btn-secondary{background:white;color:#18365e;border-color:#e1e9f3}.btn-white{background:#fff;color:#0b2b57;min-height:41px}.btn.full{width:100%}.crumb{font-size:11px;color:#8799ac;margin-bottom:13px}.crumb a{color:#3165a0}.page-head{display:flex;align-items:center;justify-content:space-between;gap:18px;margin-bottom:24px}.page-head h1{margin:0}.page-head p{color:var(--muted);font-size:12px;margin:0}.head-actions{display:flex;gap:9px;flex-wrap:wrap}.section-heading{display:flex;align-items:center;justify-content:space-between;gap:15px;margin:30px 1px 14px}.section-heading h2{margin:0;font-size:17px;font-weight:800}.section-heading span{color:var(--muted);font-size:11px}.surface{background:#fff;border:1px solid #e8edf4;border-radius:20px;box-shadow:var(--shadow);padding:22px}.section-head{display:flex;justify-content:space-between;align-items:flex-start;gap:12px}.section-head h2{margin:0;font-size:15px;font-weight:800}.section-head p{margin:2px 0 0;font-size:11px;color:var(--muted)}.muted-chip{display:inline-flex;align-items:center;color:#49658c;background:#f1f5fa;border:1px solid #e9eef7;border-radius:9px;font-size:11px;padding:7px 10px;white-space:nowrap}
.welcome-banner{position:relative;overflow:hidden;min-height:227px;display:flex;align-items:center;justify-content:space-between;gap:18px;padding:25px clamp(24px,4vw,44px);border-radius:23px;background:radial-gradient(circle at 88% 9%,rgba(29,83,142,.78),transparent 31%),linear-gradient(106deg,#061a36,#0b315d);color:#fff}.welcome-banner::after{content:"";position:absolute;width:430px;height:430px;border:1px solid rgba(155,194,245,.1);border-radius:50%;left:-160px;top:-220px;pointer-events:none}.welcome-banner h1{font-size:26px;margin:8px 0 0;color:#fff}.welcome-banner h1 span{font-size:20px}.welcome-banner p{font-size:12px;color:#b8cee8;max-width:490px;margin:1px 0 16px}.welcome-eyebrow{font-size:11px;color:#d7e9ff;display:flex;align-items:center;gap:7px}.welcome-eyebrow .dot{width:7px;height:7px;background:#ffc75a;display:inline-block;border-radius:100%}.banner-decoration{width:240px;height:172px;position:relative;display:grid;place-items:center;flex-shrink:0}.circle-tech{width:133px;height:133px;border-radius:50%;border:1px solid rgba(255,255,255,.21);display:grid;place-items:center;box-shadow:0 0 0 19px rgba(81,143,213,.075),0 0 0 42px rgba(81,143,213,.055)}.circle-tech .ico{width:54px;height:54px;color:#faca70;stroke-width:1.1}.banner-mini{position:absolute;font-size:9px;letter-spacing:3px;color:#98b4d6;bottom:0}.stats-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px}.stat-card{background:#fff;border:1px solid #e8edf4;border-radius:18px;min-height:167px;box-shadow:var(--shadow);padding:17px 20px;display:flex;flex-direction:column;align-items:flex-start}.stat-icon{width:43px;height:43px;display:inline-grid;place-items:center;border-radius:13px;color:#476b9a}.stat-icon .ico{width:21px;height:21px}.stat-icon.lavender{background:#e9eafe;color:#7773d9}.stat-icon.peach{background:#fff1d9;color:#d99a31}.stat-icon.mint{background:#e0f8ee;color:#29a57c}.stat-icon.pink{background:#ffe8f0;color:#df668e}.stat-card small{color:#8290a2;font-size:11px;margin-top:12px}.stat-card strong{font-size:28px;font-weight:900;line-height:1.35}.stat-card>span:last-child{font-size:10px;color:#9bacbd}.dashboard-grid{display:grid;grid-template-columns:1.18fr 1fr;gap:15px;margin-top:19px}.progress-flex{display:flex;align-items:center;justify-content:space-around;gap:24px;margin-top:16px}.progress-ring{width:175px;height:175px;display:grid;place-items:center;border-radius:50%;background:conic-gradient(#f5b847 calc(var(--progress)*1%),#ecf1f7 0);flex-shrink:0;position:relative;direction:ltr}.progress-ring::before{position:absolute;content:"";width:140px;height:140px;border-radius:50%;background:#fff}.ring-center{position:relative;display:flex;flex-direction:column;align-items:center;color:#102c53;direction:rtl}.ring-center b{font-size:31px;font-weight:900}.ring-center span{font-size:10px;color:var(--muted)}.progress-detail{width:min(235px,100%)}.legend-row{display:flex;justify-content:space-between;padding:11px 0;gap:12px;border-bottom:1px solid #eef1f7}.legend-row span{display:flex;align-items:center;gap:9px;color:#617791}.legend{width:9px;height:9px;border-radius:100%;display:inline-block}.legend.success{background:#f5b847}.legend.pending{background:#dce4ee}.progress-detail p{margin:17px 0 0;font-size:10px;color:#93a0b0}.quick-links{display:flex;flex-direction:column;gap:8px;margin-top:14px}.quick-links a{min-height:64px;border:1px solid #eef2f7;background:#fcfdff;border-radius:13px;display:flex;align-items:center;gap:12px;padding:10px 12px}.quick-links a:hover{background:#f6f9ff}.quick-icon{width:39px;height:39px;background:#f2f5fb;border-radius:11px;display:grid;place-items:center;color:#315788;flex-shrink:0}.quick-links a div{display:flex;flex-direction:column}.quick-links b{font-size:12px}.quick-links small{color:#92a1b3;margin-top:3px;font-size:10px}.quick-arrow{margin-right:auto;color:#7f93ab;font-size:17px}.latest-surface{margin-top:19px}.text-link{color:#29609a;font-size:12px;font-weight:700}.simple-list{margin-top:17px}.station-list-row{display:flex;align-items:center;gap:14px;border-top:1px solid #edf2f7;min-height:69px;padding:12px 2px}.station-list-row:first-child{border-top:0}.list-station-icon{width:37px;height:37px;display:grid;place-items:center;color:#446893;background:#f0f5fb;border-radius:12px;flex-shrink:0}.station-row-name{display:flex;flex-direction:column;gap:3px;flex:1;min-width:0}.station-row-name b{font-size:12px}.station-row-name span{font-size:10px;color:#93a0b1}.tiny-progress{background:#fff2e0;color:#d39734;border-radius:8px;padding:7px 10px;font-weight:800;white-space:nowrap}.tiny-progress.complete{background:#e5f9ee;color:#29966f}
.filter-surface{margin-bottom:17px;padding:16px}.filters{display:flex;gap:11px}.search-field{position:relative;flex:1}.search-field .ico{position:absolute;right:14px;top:12px;width:18px;color:#a4b0bf}.search-field input{padding-right:43px}.filters select{width:160px}.filters input,.filters select,.stack-form input:not([type=file]),.stack-form select,.stack-form textarea{width:100%;min-height:45px;border-radius:12px;background:#f8fafd;border:1px solid #e2e9f1;padding:10px 13px;color:#112c4e;outline:none;transition:border .2s,box-shadow .2s}.filters input:focus,.filters select:focus,.stack-form input:focus,.stack-form select:focus,.stack-form textarea:focus{border-color:#dfa44b;box-shadow:0 0 0 3px rgba(250,201,100,.13)}.stack-form textarea{resize:vertical}.cards-list{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}.station-card{display:block;padding:20px;border:1px solid #e5ebf2;border-radius:19px;background:#fff;box-shadow:var(--shadow);min-width:0;transition:transform .2s,border-color .2s}.station-card:hover{transform:translateY(-3px);border-color:#f5cb81}.station-card-top,.nozzle-top{display:flex;align-items:center;justify-content:space-between;gap:10px}.station-gsid{font-size:11px;color:#8594a6}.station-gsid b{color:#254b7a;font-size:12px}.state-pill{display:inline-flex;gap:4px;align-items:center;border-radius:40px;padding:6px 10px;font-size:10px;font-weight:750;white-space:nowrap}.state-pill .ico{width:13px;height:13px}.state-pill.success{background:#e6f7ed;color:#278358}.state-pill.incomplete{background:#fff3df;color:#ba842b}.station-card h3{margin:20px 0 1px;font-size:15px;font-weight:850;overflow-wrap:anywhere}.station-subtitle{color:#899aaf;font-size:11px}.station-footer{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-top:27px}.station-footer>div{display:flex;flex-direction:column;gap:3px;min-width:0}.station-footer small{color:#9cabbb}.station-footer b{font-size:11px;overflow-wrap:anywhere}.station-count{text-align:left}.mini-progress{background:#eff3f8;height:5px;border-radius:10px;overflow:hidden;margin-top:15px}.mini-progress div{height:100%;background:linear-gradient(90deg,#ffc863,#f1af37);border-radius:10px}.pagination{display:flex;justify-content:center;gap:20px;align-items:center;margin:25px auto;color:#8190a4}.pagination a{background:#fff;border:1px solid var(--border);padding:9px 16px;border-radius:12px;color:#224f86}.empty-state{text-align:center;padding:35px;color:#8392a7;grid-column:1/-1}
.station-summary{display:grid;grid-template-columns:1.4fr 1fr;gap:16px}.summary-head{display:flex;align-items:center;gap:13px}.summary-head>div{display:flex;flex-direction:column}.summary-head b{font-size:14px}.summary-head small{color:#97a5b6}.keyval-grid{display:grid;grid-template-columns:1fr 1fr;gap:20px;margin-top:25px}.keyval-grid div{display:flex;flex-direction:column;gap:5px}.keyval-grid small{color:#8da0b4}.keyval-grid strong{font-size:12px}.assign-surface h3{margin-bottom:5px}.assign-surface p{font-size:11px;color:#90a0af}.nozzle-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:13px}.nozzle-card{padding:17px;background:#fff;border:1px solid var(--border);border-radius:18px;box-shadow:var(--shadow)}.nozzle-number{font-family:Arial,sans-serif;font-size:25px;font-weight:800;color:#d7dfeb;letter-spacing:1px}.nozzle-card h3{font-size:13px;margin:18px 0 13px}.serial-mini{display:grid;gap:7px}.serial-mini div{display:flex;justify-content:space-between;gap:5px;font-size:11px}.serial-mini span{color:#97a4b3}.serial-mini b{font-size:10px;color:#244776;overflow-wrap:anywhere}.nozzle-cta{display:flex;justify-content:space-between;align-items:center;border-top:1px solid #f0f3f7;padding-top:12px;margin-top:17px;font-size:11px;color:#386eab}.nozzle-cta .ico{width:15px;height:15px}.serial-detail-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px}.serial-box{background:#fff;border:1px solid #e4ecf4;border-radius:17px;padding:22px;display:flex;flex-direction:column;gap:13px}.serial-box span{font-size:12px;color:#8798a9}.serial-box strong{font-size:19px;font-weight:850;color:#0e366b;overflow-wrap:anywhere;text-align:right}.action-strip{display:flex;gap:10px;margin-top:16px}.event-card{margin-bottom:13px}.event-head{display:flex;justify-content:space-between;align-items:center;gap:10px}.event-head time{font-size:11px;color:#98a7b6}.event-serials{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin-top:20px}.event-serials div{display:flex;flex-direction:column;background:#f7f9fc;border:1px solid #ecf1f6;border-radius:10px;padding:11px;gap:6px}.event-serials small{color:#8ba0b4}.event-serials b{font-size:11px;overflow-wrap:anywhere;text-align:right}.event-note{margin-top:14px;border-right:2px solid #f6c671;padding:7px 11px;background:#fffbf3;font-size:11px}.event-bottom{border-top:1px solid #eff2f7;padding-top:12px;margin-top:15px;display:flex;align-items:center;justify-content:space-between;gap:10px}.event-bottom>span{font-size:11px;color:#8b9cad}.event-photos{display:flex;flex-wrap:wrap;gap:7px}.event-photos img{width:65px;height:65px;object-fit:cover;border-radius:10px;border:1px solid #e1e6ef}
.form-layout{display:grid;grid-template-columns:minmax(0,1.4fr) minmax(260px,.8fr);gap:18px;align-items:start}.form-panel{padding:27px}.stack-form{display:flex;flex-direction:column;gap:15px}.stack-form label{font-weight:750;color:#344e6e;font-size:12px}.stack-form .field{display:flex;flex-direction:column;gap:7px}.stack-form .field span{color:#d58a39}.form-two{display:grid;grid-template-columns:1fr 1fr;gap:13px}.stack-form .errorlist{color:#c04444;font-size:11px;margin:0;padding:3px 18px}.stack-form input[type=file]{font-size:11px;max-width:100%;color:#7690ab}.stack-form input[type=file]::file-selector-button{padding:9px 13px;border:1px solid #c8d7e9;border-radius:8px;background:#fff;margin:0 0 0 8px;color:#244e80;font-family:inherit}.upload-zone{border:2px dashed #cbd8e9;border-radius:17px;background:#f8fbff;min-height:173px;padding:20px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:6px;text-align:center;color:#5b7798;position:relative}.upload-zone>.ico{width:35px;height:35px;color:#7c9bca;margin-bottom:4px}.upload-zone small{color:#9badbf}.upload-zone input{margin-top:9px}.upload-zone #imagePreview{max-height:190px;object-fit:contain;border-radius:10px}.help-panel h3{font-size:15px}.help-panel p{color:#71849a;font-size:12px;margin-bottom:11px}.help-panel ul{padding-right:18px;color:#788ba2;line-height:2.7;font-size:11px;margin-bottom:0}.divider{height:1px;background:#eef2f6;margin:15px 0}.columns-map{display:grid;gap:9px;margin:15px 0}.columns-map div{display:flex;align-items:center;gap:12px;background:#f8fafd;border:1px solid #edf1f8;border-radius:10px;padding:9px 11px;font-size:12px}.columns-map span{background:#e7f0fc;color:#2f6ea6;padding:4px 9px;border-radius:7px;font-weight:800;font-family:Arial,sans-serif}.help-panel .notice{background:#fff7e7;border-radius:10px;color:#8c6935;padding:10px;font-size:11px}.error-box{background:#fff4f2;border:1px solid #ffd0ca;border-radius:12px;padding:14px;color:#963b37;font-size:12px;margin:12px 0 18px}.error-box li{line-height:2}
.mobile-tabbar{display:none}
/* Authentication */
.auth-screen{background:#eef3f9}.auth-wrap{min-height:100vh;display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr)}.auth-illustration{position:relative;background:radial-gradient(circle at 50% 46%,#143b6a 0,#0b2850 36%,#071831 75%);color:#fff;overflow:hidden;min-height:660px;padding:36px clamp(30px,5vw,80px);display:flex;flex-direction:column;justify-content:space-between}.auth-illustration::before{content:"";position:absolute;border:1px solid rgba(255,255,255,.05);border-radius:50%;width:700px;height:700px;left:-140px;top:80px}.auth-brand{display:flex;align-items:center;gap:13px;font-weight:900;font-size:16px;line-height:1.6;z-index:1}.logo-tile.large{width:69px;height:69px;border-radius:18px}.auth-graphic{width:300px;height:270px;margin:auto;display:grid;place-items:center;position:relative}.graphic-orbit{position:absolute;border-radius:50%;border:1px dashed rgba(225,235,254,.23)}.orbit-one{width:225px;height:225px}.orbit-two{width:300px;height:300px;border-style:solid;border-color:rgba(225,235,254,.12)}.graphic-center{border-radius:39px;width:154px;height:154px;display:flex;align-items:center;justify-content:center;gap:8px;flex-direction:column;background:linear-gradient(146deg,#264e82,#0c2a52);box-shadow:0 22px 70px rgba(0,3,18,.3),inset 0 1px rgba(255,255,255,.2);transform:rotate(-9deg);border:1px solid #47648a}.graphic-center .ico{width:70px;height:70px;color:#ffc668;stroke-width:1.1}.graphic-center span{font:10px Arial,sans-serif;letter-spacing:3px;color:#95b6dd}.glow-dot{position:absolute;width:13px;height:13px;background:#ffc060;border:3px solid #16365e;border-radius:50%;box-shadow:0 0 25px #fdc769}.glow-dot.a{top:35px;left:36px}.glow-dot.b{bottom:26px;right:29px}.auth-illustration h2{position:relative;font-size:clamp(25px,3.1vw,37px);line-height:1.7;margin:0}.auth-illustration h2 em{font-style:normal;color:#fbc368}.auth-illustration p{position:relative;font-size:12px;color:#b1c7e1;max-width:460px;margin-top:9px}.auth-form-col{display:flex;justify-content:center;align-items:center;flex-direction:column;min-height:100vh;padding:40px 24px}.auth-card{background:#fff;width:min(100%,435px);padding:42px 38px;border:1px solid #e8eef6;border-radius:28px;box-shadow:0 24px 80px rgba(17,47,93,.06)}.auth-mobile-logo{display:none}.auth-card .pill{background:#e6f7ef;color:#31835c;display:inline-flex;align-items:center;gap:7px;font-size:11px;border-radius:30px;padding:7px 12px;font-weight:700}.status-dot{width:7px;height:7px;background:#23bd80;border-radius:50%}.auth-card h1{font-size:29px;margin:15px 0 1px}.auth-card .wave{font-size:19px;color:#e0a245}.auth-card .subhead{font-size:12px;color:#8492a7;line-height:2;margin:4px 0 23px}.auth-card .stack-form input{height:53px;background:#f7f9fd}.auth-card .stack-form .btn{min-height:50px;margin-top:10px}.auth-card .auth-footer{color:#9aabba;text-align:center;margin:18px 0 0;font-size:11px}.auth-credit{font-size:10px;color:#9caab9;margin-top:28px;text-align:center}.otp-page{min-height:100vh;display:grid;place-items:center;padding:20px;background:radial-gradient(circle at 20% 25%,#dce9fa,transparent 50%),#f1f5fa}.back-link{display:block;margin-top:18px;color:#2c689e;font-size:12px;text-align:center}
@media(max-width:1240px){.cards-list{grid-template-columns:repeat(2,minmax(0,1fr))}.nozzle-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.stats-grid{gap:10px}.stat-card{padding:14px}.dashboard-grid{grid-template-columns:1fr}.progress-flex{justify-content:flex-start;gap:44px}}
@media(max-width:900px){.side-nav{width:245px;transform:translateX(103%);transition:transform .22s}.side-nav.open{transform:translateX(0)}.body-wrap{margin-right:0}.menu-button{display:inline-flex}.topbar{height:78px}.main-content{padding-top:20px}.nozzle-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.station-summary{grid-template-columns:1fr}.auth-illustration{display:none}.auth-wrap{grid-template-columns:1fr}.auth-form-col{background:radial-gradient(circle at 80% 10%,#e5edf9,transparent 50%),#f4f7fb}.auth-mobile-logo{display:flex;align-items:center;gap:9px;font-size:13px;font-weight:800;margin-bottom:24px}.auth-mobile-logo img{width:48px;height:48px;object-fit:contain;background:#fff;border:1px solid #e6edf5;border-radius:12px}.auth-form-col{min-height:100vh}.mobile-tabbar{display:flex;position:fixed;z-index:20;bottom:0;left:0;right:0;min-height:67px;padding:7px 7px calc(8px + env(safe-area-inset-bottom));background:#fff;border-top:1px solid #e7eef5;justify-content:space-around;box-shadow:0 -6px 30px rgba(0,20,50,.035)}.mobile-tabbar a,.mobile-tabbar button{border:0;background:transparent;color:#9cabbc;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4px;font-size:10px;font-weight:700;min-width:60px}.mobile-tabbar .on{color:#cf983c}.mobile-tabbar .ico{width:21px;height:21px}}
@media(max-width:650px){h1{font-size:22px}.topbar{padding:0 15px}.top-title{font-size:14px}.eyebrow{font-size:9px}.top-actions .avatar{display:none}.province-select select{max-width:155px;font-size:10px;height:41px}.main-content{padding:17px 14px 101px}.welcome-banner{min-height:211px;padding:21px;border-radius:20px}.welcome-banner h1{font-size:22px}.welcome-banner p{max-width:290px}.banner-decoration{position:absolute;left:-70px;top:0;opacity:.18}.welcome-banner>div:first-child{z-index:1}.section-heading{align-items:flex-start;flex-direction:column;gap:1px;margin-top:23px}.section-heading h2{font-size:15px}.stats-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.stat-card{min-height:145px}.stat-card strong{font-size:25px}.surface{padding:17px;border-radius:17px}.dashboard-grid{gap:12px;margin-top:13px}.progress-flex{gap:16px;justify-content:space-between}.progress-ring{width:138px;height:138px}.progress-ring::before{width:111px;height:111px}.ring-center b{font-size:25px}.progress-detail{width:48%}.progress-detail p{font-size:9px}.cards-list{grid-template-columns:1fr}.page-head{align-items:flex-start;flex-direction:column}.head-actions{width:100%}.head-actions .btn{flex:1;font-size:11px;padding:10px}.filters{flex-wrap:wrap}.filters .search-field{flex:1 0 100%}.filters select{width:calc(50% - 6px);flex:1}.filters .btn{flex:1}.filter-surface{padding:13px}.nozzle-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:9px}.nozzle-card{padding:13px}.nozzle-number{font-size:22px}.nozzle-card .state-pill{font-size:9px;padding:5px 7px}.station-summary{gap:12px}.keyval-grid{gap:13px}.serial-detail-grid{gap:10px}.serial-box{padding:15px}.serial-box strong{font-size:13px}.event-serials{grid-template-columns:repeat(2,minmax(0,1fr))}.event-bottom{align-items:flex-start;flex-direction:column}.form-layout{grid-template-columns:1fr}.form-two{grid-template-columns:1fr}.form-panel{padding:18px}.auth-card{padding:29px 22px;border-radius:23px}.auth-form-col{padding:20px}.auth-card h1{font-size:25px}}
@media(max-width:390px){.province-select select{max-width:125px}.stats-grid{gap:8px}.stat-card{padding:11px}.progress-ring{width:120px;height:120px}.progress-ring::before{width:96px;height:96px}.progress-detail{width:50%}.welcome-banner h1{font-size:20px}}

/* Access setup screen: visible to authenticated users without provincial membership */
.access-pending-screen{background:radial-gradient(circle at 20% 5%,#e3eefc,transparent 45%),linear-gradient(160deg,#f8fbff,#edf2fa);min-height:100vh}
.access-wrap{min-height:100vh;padding:40px 18px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:18px;direction:rtl}
.access-card{width:min(100%,530px);background:#fff;border:1px solid #e4ebf5;border-radius:28px;padding:clamp(24px,4vw,43px);box-shadow:0 20px 70px rgba(17,41,74,.08);text-align:right}
.access-logo{width:100px;height:95px;display:grid;place-items:center;margin-bottom:18px;background:#f9fbfe;border:1px solid #edf2f8;border-radius:20px}
.access-logo img{max-width:82%;max-height:82%;object-fit:contain}
.access-status{display:inline-flex;gap:8px;align-items:center;border:1px solid #d7f2e5;background:#edfff5;color:#21684b;font-size:11px;font-weight:800;padding:8px 12px;border-radius:20px}
.access-dot{width:8px;height:8px;border-radius:50%;background:#2bba7b}
.access-card h1{font-size:clamp(19px,4vw,25px);line-height:1.7;color:#0d294b;margin:14px 0}
.access-card>p{line-height:2.1;color:#647b96;font-size:13px;margin:0 0 20px}
.access-card>p strong{color:#153a69}
.access-help{background:#f7faff;border:1px solid #e7eff8;border-radius:16px;padding:18px;margin:20px 0}
.access-help strong{display:block;color:#1d4b7c;font-size:13px}
.access-help p{margin:9px 0 0;font-size:12px;line-height:2;color:#607b99}
.access-primary{display:flex;align-items:center;justify-content:center;gap:12px;width:100%;min-height:50px;border-radius:13px;background:linear-gradient(105deg,#164b80,#062e58);color:#fff;font-weight:800;font-size:13px;text-decoration:none}
.access-primary:hover{color:#fff}
.access-actions{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:12px;margin-top:17px}
.access-refresh{font-size:12px;font-weight:700;color:#1b69a7;text-decoration:none}
.access-logout{font:inherit;font-size:12px;background:#fff;color:#677c94;border:1px solid #dce5ee;padding:9px 13px;border-radius:11px;cursor:pointer}
.access-foot{font-size:11px;color:#8a9eb5;text-align:center}
@media(max-width:420px){.access-card{border-radius:20px}.access-actions{gap:10px}.access-refresh,.access-logout{font-size:11px}}
/* 1.3 – operational efficiency UI */
.brief-kpis{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;margin:18px 0}
.brief-kpis a{display:flex;flex-direction:column;gap:4px;border:1px solid #e7edf5;padding:17px 20px;border-radius:18px;background:#fff;box-shadow:var(--shadow)}
.brief-kpis strong{font-size:25px;font-weight:900;color:#143c72}.brief-kpis span{font-size:11px;color:#6e839d}
.performance-surface{padding:24px}.performance-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:15px;margin-top:23px}
.performance-row{padding:20px;border:1px solid #e7edf6;background:#fbfdff;border-radius:16px;position:relative}
.performance-top{display:flex;align-items:center;justify-content:space-between;gap:14px;margin-bottom:13px}
.performance-top div{display:flex;flex-direction:column;gap:6px}.performance-top strong{font-size:13px}.performance-top span{color:#7a90a9;font-size:11px}
.performance-top b{font-size:19px;color:#0e4c85}.performance-row small{display:inline-block;color:#91a0b0;margin-top:10px}
.inline-arrow{margin-right:16px;color:#1d619f;font-size:11px;font-weight:700}.warning-label{color:#a4611b;font-size:11px;font-weight:700}
@media(max-width:820px){.performance-list{grid-template-columns:1fr}.brief-kpis{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:530px){.brief-kpis{grid-template-columns:1fr}.performance-surface{padding:16px}.performance-row{padding:16px}}

/* v1.3.2: Desktop filter layout — keep search flexible without horizontal overflow. */
.filter-surface{min-width:0;}
.filters{display:flex;flex-wrap:wrap;align-items:stretch;gap:10px;width:100%;min-width:0;}
.filters .search-field{flex:1 1 300px;min-width:min(100%,230px);max-width:100%;}
.filters .search-field input{display:block;width:100%;min-width:0;box-sizing:border-box;padding-right:44px;text-overflow:ellipsis;}
.filters select{width:auto;flex:0 1 170px;min-width:145px;max-width:100%;}
.filters .btn{flex:0 0 auto;min-width:110px;}
@media(min-width:901px) and (max-width:1370px){
 .filters .search-field{flex-basis:100%;min-width:0;}
 .filters select{flex:1 1 170px;}
}
@media(max-width:900px){
 .filters .search-field{flex:1 1 100%;min-width:0;}
 .filters select{flex:1 1 145px;min-width:0;}
}
@media(max-width:650px){
 .filters .search-field{width:100%;flex:1 1 100%;}
 .filters select{width:auto;flex:1 1 calc(50% - 8px);}
 .filters .btn{flex:1 1 100%;}
}
/* v1.3.2: Multi-photo selection / thumbnails on phones and desktop */
.multi-upload-zone{min-width:0;}
.multi-upload-zone input[type=file]{display:block;width:100%;max-width:100%;min-width:0;direction:rtl;background:#fff;border:1px solid #dee8f5;border-radius:12px;padding:12px;cursor:pointer;}
.selected-photo-count{font-size:11px;color:#355b8c;font-weight:700;margin-top:7px;}
.selected-photo-count.too-many{color:#b63846;}
.photo-preview-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(100px,1fr));width:100%;gap:10px;margin-top:8px;}
.photo-preview-item{background:#fff;border:1px solid #e2eaf4;border-radius:12px;overflow:hidden;min-width:0;padding:5px;text-align:center;}
.photo-preview-item img{display:block;width:100%;height:88px;object-fit:cover;border-radius:8px;}
.photo-preview-item small{display:block;direction:ltr;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:#647991;margin-top:4px;}
@media(max-width:500px){.photo-preview-grid{grid-template-columns:repeat(3,minmax(0,1fr));}.photo-preview-item img{height:74px;}}

/* v1.4 -- Sadad representative approval panel */
.review-status-panel{padding:clamp(16px,2.5vw,24px);display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:14px;margin:14px 0 18px;border:1px solid #e0eaf6}
.review-status-panel h2{font-size:clamp(17px,2vw,22px);font-weight:900;margin:7px 0;color:#153c70}
.review-status-panel small{color:#8192aa}.review-status-panel p{font-size:12px;line-height:2;margin:5px 0;color:#60758e}
.review-tag{display:inline-flex;align-items:center;justify-content:center;max-width:100%;min-width:0;line-height:1.8;border-radius:999px;padding:6px 12px;font-size:11px;font-weight:800;white-space:normal;text-align:center;background:#eaf0f7;color:#3a5a80}
.review-approved{background:#e4f8eb;color:#16734a}.review-rejected{background:#fee8e7;color:#b2343b}.review-waiting_review{background:#fff2d8;color:#a05a16}.review-in_progress{background:#eaf0fa;color:#40618c}
.review-workflow-panel,.review-history{padding:clamp(16px,3vw,24px);margin:17px 0}.review-workflow-panel h3,.review-history h3{font-size:15px;font-weight:900;margin:0 0 10px}.review-workflow-panel p{font-size:12px;line-height:2;color:#6b7f97}
.review-workflow-panel select,.review-workflow-panel textarea{width:100%;min-width:0;max-width:100%;box-sizing:border-box;border:1px solid #d9e3f1;padding:13px;border-radius:12px;font:inherit;background:#fff}
.review-workflow-panel .stack-form{max-width:600px}.review-workflow-panel label{font-size:12px;font-weight:800;color:#344a67}
.review-history-list{display:grid;gap:12px}.review-history-list article{display:flex;gap:14px;align-items:flex-start;border:1px solid #e8edf6;border-radius:14px;padding:14px;min-width:0}.review-history-list article>div{min-width:0;flex:1;overflow-wrap:anywhere}.review-history-list b{font-size:13px}.review-history-list small{display:block;font-size:11px;color:#7b8da2;margin-top:3px}.review-history-list p{font-size:12px;line-height:1.9;margin:9px 0 0}
@media(max-width:640px){.review-status-panel{align-items:flex-start}.review-history-list article{flex-direction:column}.review-workflow-panel .btn{width:100%}}
