/* Local, RTL-first presentation layer. No external fonts or UI dependencies. */
@font-face{font-family:VazirUI;src:url('../fonts/Vazir/Vazir-Regular-FD-UI.woff2') format('woff2');font-weight:400;font-display:swap}
@font-face{font-family:VazirUI;src:url('../fonts/Vazir/Vazir-Bold-FD-UI.woff2') format('woff2');font-weight:700;font-display:swap}
:root{--ink:#18333d;--muted:#647880;--primary:#087f70;--primary-dark:#056454;--mint:#e9f6f1;--line:#e4ebeb;--canvas:#f4f7f7;--sidebar:264px;--radius:20px}
*{box-sizing:border-box}html{background:var(--canvas);scroll-behavior:smooth}body,.login{text-shadow:none;font-family:VazirUI,Tahoma,sans-serif;font-size:14px;color:var(--ink);background:var(--canvas);line-height:1.8;margin:0}button,input,select,textarea{font:inherit}a{color:var(--primary);text-decoration:none}a:hover{color:var(--primary-dark);text-decoration:none}button,a,input,select{touch-action:manipulation}button{cursor:pointer}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible{outline:3px solid #40baa3;outline-offset:4px}::selection{background:#bee9dc}h1,h2,h3,p{letter-spacing:0}button:disabled{opacity:.6;cursor:wait}[hidden]{display:none!important}.container.body{width:100%;max-width:none;padding:0;overflow:visible!important}.main_container{min-height:100vh}.skip-link{position:fixed;top:-100px;right:20px;z-index:3000;background:white;padding:12px 20px;border-radius:10px}.skip-link:focus{top:12px}
.app-sidebar{position:fixed;inset:0 0 0 auto;width:var(--sidebar);background:#112d36;color:#dae6e7;z-index:1100;padding:32px 20px 18px;display:flex;flex-direction:column;overflow-y:auto;overscroll-behavior:contain}.app-brand{display:flex;align-items:center;gap:12px;color:#fff;font-size:27px;font-weight:700;line-height:1.5;text-decoration:none}.app-brand:hover{color:white}.app-brand small{display:block;font-size:10px;color:#a5bfc4;font-weight:400;margin-top:2px}.brand-accent{color:#6ce0b9}.brand-mark{width:46px;height:48px;display:grid;place-items:center;background:#245047;border:1px solid #3e6e60;border-radius:15px;color:#8ef0c5;font-size:25px}.workspace-label{font-size:10px;color:#9bb2b9;margin:32px 14px 10px}.app-navigation>a{display:flex;align-items:center;gap:13px;color:#c6d8dc;border-radius:12px;padding:12px 15px;margin:4px 0;font-size:13px;min-height:48px}.app-navigation>a>.fa{width:20px;font-size:18px;text-align:center}.app-navigation>a:hover{background:#1d3e48;color:#fff}.app-navigation>a.is-active{background:#285249;color:#b7f9d9}.app-navigation .nav-arrow{margin-right:auto;font-size:16px}.app-navigation>a.nav-sub{font-size:12px;padding:6px 17px;color:#a8c2c7;min-height:38px}.app-navigation>a.nav-sub>.fa{font-size:11px}.sidebar-note{border:1px solid #31505a;border-radius:16px;padding:18px;margin:34px 0 22px;background:#193842}.sidebar-note>.fa{color:#8bdec4;font-size:23px;display:block;margin-bottom:12px}.sidebar-note strong{font-size:12px;color:#e7f3f3}.sidebar-note p{font-size:11px;color:#a8bfc6;line-height:2;margin:7px 0 0}.sidebar-account{display:flex;align-items:center;gap:10px;margin-top:auto;padding-top:18px;border-top:1px solid #2b4750}.account-avatar{display:grid;place-items:center;flex:0 0 37px;width:37px;height:37px;border-radius:13px;background:#e5efec;color:#237a67}.sidebar-account .account-avatar{background:#2b4a51;color:#c2eadc}.sidebar-account strong{display:block;font-size:12px;max-width:135px;overflow-wrap:anywhere}.sidebar-account small{display:block;font-size:10px;color:#a8c0c6}.sidebar-account>a{margin-right:auto;color:#bbd1d5;padding:9px}.icon-button{display:grid;place-items:center;border:1px solid var(--line);border-radius:12px;background:white;width:44px;height:44px;color:var(--ink);font-size:17px}.sidebar-close,#app-menu-toggle{display:none}.app-topbar{width:auto;margin-right:var(--sidebar);height:86px;background:#ffffffdf;border-bottom:1px solid var(--line);padding:0 38px;display:flex;align-items:center;justify-content:space-between;gap:15px}.topbar-start,.topbar-end{display:flex;align-items:center;gap:22px}.topbar-breadcrumb{font-size:12px;color:var(--muted)}.topbar-breadcrumb .fa{padding:0 13px;color:#aab7ba}.topbar-breadcrumb strong{font-weight:400;color:var(--ink)}.today-date{font-size:11px;color:var(--muted)}.topbar-account{display:flex;align-items:center;gap:9px;font-size:12px;color:var(--ink)}
body.nav-md .container.body .right_col,body.nav-sm .container.body .right_col{margin:0 var(--sidebar) 0 0!important;padding:36px 38px 48px;background:var(--canvas);min-height:calc(100vh - 86px)!important}.page-heading{display:flex;justify-content:space-between;align-items:center;gap:24px;margin:0 0 30px}.eyebrow{font-size:10px;font-weight:700;letter-spacing:.2px;color:var(--primary);display:flex;align-items:center;gap:8px}.eyebrow>span{width:6px;height:6px;background:#249477;border-radius:50%}.page-heading h1{font-size:29px;line-height:1.6;font-weight:700;letter-spacing:-1px;margin:10px 0 8px}.page-heading p{font-size:12px;color:var(--muted);margin:0;line-height:2}.heading-symbol{display:grid;place-items:center;width:88px;height:88px;background:#e3efea;border:1px solid #d4e6dc;border-radius:26px;color:#33886d;font-size:38px;transform:rotate(-8deg);margin-left:8px}.heading-action{white-space:nowrap}.right_col .row{margin:0}.right_col .row>[class*="col-"]{padding:0}.x_panel{background:#fff;border:1px solid var(--line);border-radius:var(--radius);box-shadow:0 4px 22px #193a3b03;padding:24px;margin:0 0 24px;width:100%;float:none;display:flow-root}.x_title{border-bottom:1px solid var(--line);margin:0 0 22px;padding:0 0 18px;display:flex;align-items:center;justify-content:space-between}.x_title h2{font-size:16px;font-weight:700;margin:0;float:none}.x_title .clearfix{display:none}.panel_toolbox{float:none;min-width:0}.panel_toolbox>li>a{border-radius:8px;background:var(--canvas);color:var(--muted);padding:8px 12px}.x_content{padding:0;margin:0;float:none}.x_content>br{display:none}
.btn,.table-container td>button{border-radius:11px;min-height:44px;font-size:12px;font-weight:700;padding:10px 19px;box-shadow:none;border:1px solid transparent;margin:0;transition:background .16s}.btn-primary,.btn-success,.table-container td>button{background:var(--primary);border-color:var(--primary);color:#fff}.btn-primary:hover,.btn-primary:focus,.btn-success:hover,.btn-success:focus,.table-container td>button:hover{background:var(--primary-dark);border-color:var(--primary-dark);color:white}.btn .fa{margin-left:6px}.btn-default{background:#eff4f3;border-color:var(--line);color:var(--ink)}.form-control{display:block;width:100%;height:48px;border:1px solid #dce5e5;border-radius:11px;background:#fafcfc;color:var(--ink);box-shadow:none;font-size:13px;padding:10px 14px;min-width:0}.form-control:focus{border-color:#268f79;box-shadow:0 0 0 3px #0c907415;background:#fff;color:var(--ink)}.form-control::placeholder{color:#8b9b9f;font-size:12px}select.form-control{padding:8px 12px;cursor:pointer}.form-horizontal{max-width:800px;margin:auto}.form-horizontal .item.form-group{display:flex;flex-direction:column;margin:0 0 22px}.form-horizontal .item.form-group>[class*="col-"]{width:100%;max-width:none;flex:0 0 auto;padding:0;margin:0}.form-horizontal .col-form-label{text-align:right;padding:0 0 9px;color:#425b63;font-size:12px}.form-horizontal .required{color:#bc5151}.form-horizontal .ln_solid{border-top:1px solid var(--line);margin:28px 0 22px}.form-horizontal .btn[type="submit"]{min-width:150px}.form-horizontal .item.form-group:last-child{margin-bottom:0}.form-control[name="imei"]{direction:ltr;text-align:right;font-variant-numeric:tabular-nums}.select2-container{max-width:100%;text-align:right}.select2-container .select2-selection--single{height:48px;border:1px solid #dce5e5;border-radius:11px}.select2-container--default .select2-selection--single .select2-selection__rendered{line-height:46px;padding-right:14px}.select2-container--default .select2-selection--single .select2-selection__arrow{height:46px}.select2-dropdown{border-color:var(--line);border-radius:10px;overflow:hidden}.select2-search__field{min-height:40px}.ui-alert,.right_col p[style*="color: red"],.right_col p[style*="color: green"]{border-radius:12px;padding:13px 17px;line-height:2;font-size:12px;margin:0 0 20px}.ui-alert.is-error,.right_col p[style*="color: red"]{background:#fff1ef;color:#a13934!important;border:1px solid #f4d8d3}.right_col p[style*="color: green"]{background:#edf8f0;color:#256c46!important;border:1px solid #d9ecdf}
.table-toolbar{display:flex;justify-content:space-between;align-items:center;gap:20px;margin-bottom:22px}.table-caption{display:flex;align-items:center;gap:10px}.table-caption h2{font-size:15px;font-weight:700;margin:0}.record-count{font-size:11px;background:var(--mint);color:#1b7965;padding:3px 10px;border-radius:7px;white-space:nowrap}.table-search{position:relative;width:280px;max-width:100%;margin:0}.table-search .fa{position:absolute;right:14px;top:16px;color:#879a9f}.table-search input{padding-right:40px;font-size:12px;height:44px}.table-container{overflow:auto;border:1px solid var(--line);border-radius:13px;background:white;scrollbar-width:thin}.table-container table{min-width:0;width:100%;margin:0;border-collapse:collapse;border:none;background:#fff;color:var(--ink);font-size:12px;text-align:right}.table-container th{background:#f6f9f8;color:#6a7f85;font-size:11px;font-weight:400;border:0;padding:15px 18px;white-space:nowrap}.table-container td{padding:18px;border:0;border-top:1px solid #eef2f1;text-align:right;vertical-align:middle;line-height:1.8;overflow-wrap:anywhere}.table-container tbody tr:nth-child(even){background:#fcfdfd}.table-container tbody tr:hover{background:#f4faf7}.table-container td:last-child{white-space:nowrap}.table-container td a{display:inline-grid;place-items:center;vertical-align:middle;border:1px solid #e3ece9;border-radius:9px;color:#377963;width:38px;height:38px;margin:2px;background:#f5faf7;font-size:15px}.table-container td a:hover{background:#e2f1e9}.table-container td a[title*="حذف"],.table-container td a[title="بلاک کردن کاربر"]{color:#ad5651;background:#fff7f5;border-color:#f0dfdc}.table-container td a .fa{float:none!important}.table-container tr[style*="background-color:red"]{background:#fff1ef!important}.table-container tr[style*="background-color:red"] td:first-child:after{content:'مسدود';display:inline-block;margin-right:8px;border-radius:5px;background:#f9dcd5;color:#a23e37;padding:1px 6px;font-size:10px}.table-empty{text-align:center;padding:44px 16px;color:var(--muted)}.table-empty .fa{display:block;font-size:30px;color:#8bb9a8;margin-bottom:12px}.table-footnote{margin:14px 0 0;font-size:10px;color:#7c8f94}.tracking-filter{display:flex;flex-wrap:wrap;gap:12px;margin:0 0 22px;padding:18px;background:#fff;border:1px solid var(--line);border-radius:15px}.tracking-filter .form-group{padding:0;margin:0;width:auto;max-width:none;flex:0 1 255px}.tracking-filter .input-group{display:flex;flex-wrap:nowrap;align-items:stretch}.tracking-filter .input-group-prepend{display:flex}.tracking-filter .input-group-text{border-radius:0 11px 11px 0;background:#f2f7f5;color:var(--primary);border-color:#dce5e5}.tracking-filter .input-group .form-control{border-radius:11px 0 0 11px;cursor:pointer}.tracking-filter .form-control-feedback{display:none}.tracking-filter input[type="submit"]{background:var(--primary);color:white}.table-tracking{margin-bottom:20px}#map{height:clamp(340px,53vh,620px)!important;border-radius:14px;z-index:0;border:1px solid var(--line);isolation:isolate}.datepicker-container{font-family:VazirUI,Tahoma,sans-serif!important;z-index:1200!important}.leaflet-container{font-family:VazirUI,Tahoma,sans-serif!important}.mobile-dock{display:none}
/* Login: an independent, responsive two-column entry experience. */
.login-layout{display:grid;grid-template-columns:1fr 1fr;min-height:100dvh}.login-story{background:#112d36;color:white;padding:48px 9%;display:flex;flex-direction:column;position:relative;overflow:hidden}.story-copy{margin:auto 0 0;padding:60px 0 15px;z-index:1}.story-kicker{color:#83dab9;font-size:12px;display:inline-block;border:1px solid #416458;border-radius:100px;padding:5px 15px;margin-bottom:22px}.story-copy h2{font-size:clamp(28px,3.2vw,48px);font-weight:700;line-height:1.8;letter-spacing:-1.5px;margin:0 0 20px}.story-copy p{font-size:13px;line-height:2.3;color:#b1c6cd;max-width:390px}.route-art{position:relative;min-height:210px;margin:15px -30px 15px}.route-art svg{width:100%;height:220px;position:relative}.art-grid{position:absolute;inset:0;background-image:linear-gradient(#7ba69812 1px,transparent 1px),linear-gradient(90deg,#7ba69812 1px,transparent 1px);background-size:34px 34px;mask-image:linear-gradient(transparent,black,transparent);transform:rotate(-10deg)}.art-pin{position:absolute;left:30%;top:40%;display:grid;place-items:center;width:55px;height:55px;border-radius:17px;background:#b6f2d9;color:#1b6151;box-shadow:0 0 0 9px #7fc6a91b;font-size:25px;transform:rotate(-10deg)}.art-label{position:absolute;right:12%;bottom:8%;color:#b4d2ca;font-size:10px}.story-footer{font-size:10px;color:#9eb8bd;margin-top:auto;padding-top:24px}.story-footer .fa{margin-left:7px}.login-form-side{display:flex;flex-direction:column;justify-content:center;align-items:center;padding:55px 35px;background:#f8faf9;position:relative}.login-card{width:100%;max-width:390px}.login-emblem{width:50px;height:50px;border:1px solid #d3e9de;border-radius:16px;background:#e7f4ed;display:grid;place-items:center;color:#258369;font-size:25px;margin-bottom:28px}.login-card h1{font-size:26px;font-weight:700;margin:12px 0 10px;letter-spacing:-.8px}.login-description{font-size:12px;color:var(--muted);line-height:2;margin-bottom:32px}.modern-login-form label{font-size:12px;font-weight:400;display:block;margin-bottom:9px}.login-input{position:relative;margin-bottom:24px}.login-input>.fa{position:absolute;right:16px;top:18px;color:#80958e}.login-input .form-control{padding:12px 42px;height:54px;background:white}.password-toggle{position:absolute;left:5px;top:5px;height:44px;width:38px;background:none;border:0;color:#788e88;border-radius:9px}.login-submit{width:100%;min-height:52px;margin-top:5px;display:flex;align-items:center;justify-content:space-between;padding:12px 20px}.login-help{border-top:1px solid var(--line);margin-top:28px;padding-top:22px;font-size:10px;color:var(--muted);line-height:2}.login-help .fa{margin-left:5px}.login-bottom{font-size:10px;color:#8a9c99;position:absolute;bottom:24px;margin:0}
@media(min-width:1600px){.right_col>div,.page-heading{max-width:1350px;margin-left:auto;margin-right:auto}.app-topbar{padding-left:55px;padding-right:55px}}
@media(max-width:1199px){:root{--sidebar:230px}.app-sidebar{padding:25px 15px 18px}.app-topbar{padding:0 24px}.topbar-end{gap:15px}.topbar-account>span:last-child{display:none}body.nav-md .container.body .right_col,body.nav-sm .container.body .right_col{padding:28px 24px}.page-heading h1{font-size:25px}.today-date{font-size:10px}.x_panel{padding:20px}}
@media(max-width:991px){:root{--sidebar:264px}.app-sidebar{transform:translateX(105%);transition:transform .22s ease;visibility:hidden}.sidebar-open .app-sidebar{transform:translateX(0);visibility:visible}.sidebar-close{display:grid;position:absolute;left:12px;top:18px;background:#24424b;color:#d2e7e3;border:0;width:34px;height:34px}.app-sidebar .app-brand{margin-top:12px}.sidebar-backdrop{position:fixed;inset:0;z-index:1050;background:#102b3680;border:0;backdrop-filter:blur(3px)}.sidebar-open{overflow:hidden}.app-topbar{height:72px;margin:0;padding:0 24px}#app-menu-toggle{display:grid}.topbar-start{gap:14px}body.nav-md .container.body .right_col,body.nav-sm .container.body .right_col{margin:0!important;min-height:calc(100dvh - 72px)!important;padding:28px 24px 115px!important}.mobile-dock{position:fixed;bottom:0;left:0;right:0;z-index:1000;display:flex;align-items:center;justify-content:space-around;gap:4px;background:#fffffff5;backdrop-filter:blur(12px);border-top:1px solid var(--line);padding:8px 12px calc(8px + env(safe-area-inset-bottom))}.mobile-dock a{color:#75878d;display:flex;flex:1;align-items:center;flex-direction:column;gap:3px;padding:8px 2px 4px;border-radius:12px;font-size:10px;min-height:53px;max-width:140px}.mobile-dock .fa{font-size:19px}.mobile-dock a.is-active{color:#05745e;background:#eef7f2}.login-story{padding:36px 9%}.login-form-side{padding:50px 28px}.story-copy h2{font-size:30px}.story-copy p{font-size:12px}}
@media(max-width:600px){.app-topbar{padding:0 16px;height:68px;position:sticky;top:0;z-index:1000}.topbar-breadcrumb{font-size:11px}.topbar-breadcrumb>.fa{padding:0 7px}.topbar-start{gap:10px}.today-date{display:none}body.nav-md .container.body .right_col,body.nav-sm .container.body .right_col{padding:24px 16px 108px!important}.page-heading{gap:14px;align-items:flex-start;flex-wrap:wrap;margin-bottom:24px}.page-heading h1{font-size:24px;margin-top:8px}.page-heading p{font-size:11px;max-width:330px}.eyebrow{font-size:9px}.heading-symbol{display:none}.heading-action{min-height:42px;font-size:11px}.x_panel{padding:16px;border-radius:17px;margin-bottom:18px}.x_title{padding-bottom:15px}.x_title h2{font-size:14px}.table-toolbar{align-items:stretch;flex-direction:column;gap:15px;margin-bottom:18px}.table-search{width:100%}.table-caption{justify-content:space-between}.table-caption h2{font-size:14px}.table-container{border:0;border-radius:0;background:transparent;overflow:visible}.table-container table,.table-container tbody{display:block;background:transparent}.table-container thead{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%)}.table-container tbody tr{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);border:1px solid var(--line);border-radius:13px;margin:0 0 12px;padding:8px;background:white}.table-container tbody tr:nth-child(even){background:white}.table-container td{display:flex;flex-direction:column;align-items:flex-start;justify-content:center;min-width:0;white-space:normal;padding:9px 8px;font-size:12px;border:0}.table-container td:before{position:static;left:auto;font-weight:400;content:attr(data-label);display:block;color:#75898e;font-size:10px;margin-bottom:5px}.table-container td:last-child{grid-column:1 / -1;flex-direction:row;align-items:center;justify-content:flex-end;gap:5px;border-top:1px solid #edf2ef;margin:5px 0 0;padding-top:12px;flex-wrap:wrap}.table-container td:last-child:before{margin-left:auto;margin-bottom:0}.table-container td a{height:42px;width:42px}.table-container td>button{font-size:11px;min-height:42px}.table-footnote{font-size:9px;margin-top:6px}.form-horizontal .item.form-group{margin-bottom:20px}.form-horizontal .btn[type="submit"]{width:100%}.tracking-filter{padding:14px;gap:12px}.tracking-filter .form-group{flex:1 1 100%;width:100%}.tracking-filter .form-control{width:100%}.table-tracking{max-height:370px;overflow-y:auto;overscroll-behavior:contain;padding-left:3px}#map{height:420px!important;max-height:65dvh}.login-layout{display:flex;flex-direction:column;min-height:100dvh}.login-story{padding:22px 24px 28px;min-height:auto}.login-story .app-brand{font-size:23px}.login-story .brand-mark{width:40px;height:42px;font-size:22px}.story-copy{padding:24px 0 0;margin:0}.story-copy h2{font-size:25px;line-height:1.6;margin:0}.story-copy h2 br{display:none}.story-copy p,.story-kicker,.route-art,.story-footer{display:none}.login-form-side{flex:1;padding:30px 24px 20px;justify-content:flex-start}.login-card{max-width:420px}.login-emblem{display:none}.login-card h1{font-size:23px}.login-description{margin-bottom:24px}.login-input{margin-bottom:20px}.login-bottom{position:static;margin:25px 0 0}.login-help{margin-top:24px}.login-card>.eyebrow{font-size:10px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{transition:none!important;animation:none!important}}

.modern-login h1,.modern-login h2,.app-brand,.sidebar-note strong{text-shadow:none}

.table-container tbody tr.route-selected{background:#eef8f2;border-color:#9acbb5}.table-container button[aria-pressed="true"]{background:#074f43}#map{scroll-margin-block:90px}
