:root{
  --ink:#080F1E; --ink-2:#0D1D34; --surface:#122A4A; --surface-2:#1A3B63;
  --line:#2A4D78; --line-soft:#1F3C60;
  --teal:#00C2D9; --teal-l:#4FE3F0; --teal-dark:#042C33;
  --red:#E5533D; --red-l:#F17A66;
  --amber:#F0A83A; --amber-l:#FFC768; --mint:#2ED27F;
  --text:#F5F9FD; --muted:#9BB2D0; --muted-2:#647FA3;
  --radius-s:10px; --radius-m:16px; --radius-l:26px;
  --maxw:1180px;
  --font:'Vazirmatn','Noto Sans Arabic',sans-serif; --mono:'JetBrains Mono',monospace;
  --shadow:0 20px 50px rgba(2,8,20,.45);
  --grain-line:rgba(255,255,255,.035);
}
[data-theme="light"]{
  --ink:#F3F7FC; --ink-2:#E6EDF6; --surface:#FFFFFF; --surface-2:#EEF3F9;
  --line:#D7E1EC; --line-soft:#E4EBF3;
  --teal:#00A8BD; --teal-l:#00C2D9; --teal-dark:#042C33;
  --red:#D8402A; --red-l:#E5533D;
  --amber:#D98B1A; --amber-l:#F0A83A; --mint:#1FAE6C;
  --text:#0B1B2E; --muted:#54687F; --muted-2:#7A8FA6;
  --shadow:0 20px 50px rgba(20,45,80,.12);
  --grain-line:rgba(10,35,65,.045);
}

*{box-sizing:border-box;}
html{scroll-behavior:smooth; overflow-x:hidden; max-width:100%;}
body{margin:0; font-family:var(--font); background-color:var(--ink);
  overflow-x:hidden; max-width:100%; position:relative;
  background-image:
    radial-gradient(ellipse 900px 600px at 15% -10%, rgba(0,194,217,.10), transparent 60%),
    linear-gradient(var(--grain-line) 1px, transparent 1px),
    linear-gradient(90deg, var(--grain-line) 1px, transparent 1px);
  background-size:auto, 56px 56px, 56px 56px;
  background-attachment:fixed;
  color:var(--text); line-height:1.65; -webkit-font-smoothing:antialiased;}
h1,h2,h3,h4{margin:0; line-height:1.25;}
p{margin:0;}
a{color:inherit; text-decoration:none;}
button, input, select, textarea{font-family:inherit; color:inherit;}
ul{list-style:none; margin:0; padding:0;}
.icon{width:20px; height:20px; display:inline-block; vertical-align:-4px; fill:none;}
.icon-sm{width:16px; height:16px; vertical-align:-2px;}
.icon-lg{width:28px; height:28px;}
.brand-logo{width:34px; height:34px; object-fit:contain; flex-shrink:0;}
:focus-visible{outline:2px solid var(--teal-l); outline-offset:2px; border-radius:4px;}
@media (prefers-reduced-motion: reduce){ *{animation:none!important; transition:none!important; scroll-behavior:auto!important;} }

::selection{background:rgba(0,194,217,.32); color:var(--text);}
html{scrollbar-width:thin; scrollbar-color:var(--teal) var(--ink-2);}
::-webkit-scrollbar{width:10px; height:10px;}
::-webkit-scrollbar-track{background:var(--ink-2);}
::-webkit-scrollbar-thumb{background:linear-gradient(180deg,var(--teal-l),var(--teal)); border-radius:999px; border:2px solid var(--ink-2);}
::-webkit-scrollbar-thumb:hover{background:linear-gradient(180deg,var(--amber-l),var(--teal-l));}

/* page transition */
.page.active{animation:pageFadeIn .5s cubic-bezier(.16,1,.3,1);}
@keyframes pageFadeIn{from{opacity:0; transform:translateY(10px);} to{opacity:1; transform:translateY(0);}}
@media (prefers-reduced-motion: reduce){ .page.active{animation:none;} }

.container{max-width:var(--maxw); margin:0 auto; padding-inline:24px;}
.container.narrow{max-width:640px;}
.section{padding-block:clamp(40px,6vw,80px);}
.section-head{text-align:center; max-width:560px; margin:0 auto 44px;}
.eyebrow{font-family:var(--mono); letter-spacing:2px; color:var(--teal-l); font-size:12.5px; font-weight:700; margin-bottom:12px; display:block;}
.section-head h2{font-size:clamp(24px,3.4vw,34px); font-weight:800; margin-bottom:12px;}
.section-head p{color:var(--muted); font-size:15.5px;}

/* ---------- reveal ---------- */
.reveal{opacity:0; transform:translateY(18px); transition:opacity .6s ease, transform .6s ease;}
.reveal.in-view{opacity:1; transform:translateY(0);}

/* ---------- buttons & fields ---------- */
.btn{display:inline-flex; align-items:center; gap:8px; justify-content:center; padding:14px 24px; border-radius:999px; font-weight:800; font-size:14.5px; cursor:pointer; border:1px solid transparent; transition:transform .2s ease, opacity .2s ease, background .2s ease, box-shadow .2s ease; min-height:46px;}
.btn:active{transform:scale(.97);}
.btn-icon{min-width:44px; min-height:44px; padding:10px!important; display:inline-flex; align-items:center; justify-content:center;}
.btn-primary{position:relative; overflow:hidden; background:linear-gradient(135deg,var(--teal-l),var(--teal) 55%,#0A8C9C); color:#03181d; box-shadow:0 8px 22px rgba(0,194,217,.25), 0 1px 0 rgba(255,255,255,.15) inset;}
.btn-primary::after{content:''; position:absolute; inset:0; background:linear-gradient(115deg, transparent 30%, rgba(255,255,255,.55) 48%, transparent 66%); transform:translateX(-120%); transition:transform .7s ease;}
.btn-primary:hover::after{transform:translateX(120%);}
.btn-primary:hover{opacity:.98; transform:translateY(-2px); box-shadow:0 14px 32px rgba(0,194,217,.4), 0 0 0 1px rgba(255,199,104,.25);}
.btn-outline{background:transparent; border-color:var(--line); color:var(--text);}
.btn-outline:hover{border-color:var(--teal-l); color:var(--teal-l); transform:translateY(-1px);}
.btn-ghost{background:var(--surface-2); color:var(--text);}
.btn-block{width:100%;}
.btn:disabled{opacity:.6; cursor:default; transform:none;}

.field-label{display:block; font-size:13px; font-weight:700; color:var(--muted); margin-bottom:7px;}
.field, select.field, textarea.field{
  width:100%; background:var(--surface-2); border:1.5px solid var(--line); border-radius:12px;
  padding:14px 16px; font-size:16px; color:var(--text); transition:border-color .2s ease, box-shadow .2s ease; min-height:48px;
}
.field:focus{outline:none; border-color:var(--teal); box-shadow:0 0 0 3px rgba(0,194,217,.15);}
.field::placeholder{color:var(--muted-2);}
textarea.field{resize:vertical; min-height:100px;}
.form-row{margin-bottom:16px;}
.form-grid{display:grid; grid-template-columns:1fr 1fr; gap:16px;}
@media(max-width:640px){ .form-grid{grid-template-columns:1fr;} }

/* ---------- nav ---------- */
.nav{position:relative; position:sticky; top:0; z-index:200; background:rgba(6,20,40,.86); backdrop-filter:blur(10px); border-bottom:1px solid var(--line-soft);}
.nav::after{content:''; position:absolute; left:0; right:0; bottom:-1px; height:1px; background:linear-gradient(90deg,transparent,var(--teal) 35%,var(--amber-l) 65%,transparent); opacity:.55;}
.nav-inner{max-width:var(--maxw); margin:0 auto; padding:14px 24px; display:flex; align-items:center; justify-content:space-between; gap:18px;}
.brand{display:flex; align-items:center; gap:10px; cursor:pointer; flex-shrink:0;}
.brand b{font-size:17.5px; font-weight:800;}
.brand small{display:block; font-size:10px; color:var(--muted); font-weight:600; letter-spacing:.5px;}
.nav-links{display:flex; gap:26px;}
.nav-links a{color:var(--muted); font-weight:700; font-size:14px; cursor:pointer; padding:6px 0; border-bottom:2px solid transparent;}
.nav-links a.active, .nav-links a:hover{color:var(--text); border-color:var(--teal);}
.nav-right{display:flex; align-items:center; gap:10px;}
.lang-toggle{display:flex; border:1px solid var(--line); border-radius:999px; overflow:hidden; flex-shrink:0;}
.lang-toggle button{padding:7px 12px; font-size:11.5px; font-weight:800; background:none; border:none; color:var(--muted); cursor:pointer; font-family:var(--mono);}
.lang-toggle button.active{background:var(--teal); color:var(--teal-dark);}
.theme-toggle-btn{display:flex; align-items:center; justify-content:center; width:34px; height:34px; border-radius:50%; border:1px solid var(--line); background:none; color:var(--muted); cursor:pointer; flex-shrink:0; transition:color .2s ease, border-color .2s ease, transform .2s ease;}
.theme-toggle-btn:hover{color:var(--teal-l); border-color:var(--teal-l);}
.theme-toggle-btn:active{transform:scale(.92);}
.theme-toggle-btn svg{width:18px; height:18px;}
.nav-auth{font-size:13.5px; font-weight:700; color:var(--text); cursor:pointer; white-space:nowrap; display:flex; align-items:center; gap:6px;}
.burger{display:none; background:none; border:1px solid var(--line); border-radius:10px; width:38px; height:38px; align-items:center; justify-content:center; cursor:pointer; color:var(--text);}
.mobile-menu{display:none; flex-direction:column; gap:4px; padding:14px 24px 20px; border-bottom:1px solid var(--line-soft); background:var(--ink-2);}
.mobile-menu.open{display:flex;}
.mobile-menu a{padding:14px 4px; font-weight:700; color:var(--muted); border-bottom:1px solid var(--line-soft); min-height:44px; display:flex; align-items:center;}
.mobile-menu a.active{color:var(--teal-l);}

.top-announcement{position:relative; z-index:205; background:linear-gradient(90deg, rgba(0,194,217,.16), rgba(240,168,58,.12)); border-bottom:1px solid var(--line-soft); backdrop-filter:blur(10px);}
.top-announcement-inner{max-width:var(--maxw); margin:0 auto; padding:8px 24px; display:flex; align-items:center; justify-content:center; gap:12px; flex-wrap:wrap; font-size:11.5px; font-weight:800; color:var(--text);}
.announcement-pill,.announcement-chip{display:inline-flex; align-items:center; gap:7px; padding:7px 12px; border-radius:999px; background:rgba(7,18,32,.38); border:1px solid rgba(255,255,255,.08); box-shadow:0 10px 24px rgba(0,0,0,.12);}
.announcement-pill svg,.announcement-chip svg{color:var(--teal-l);}
.hero{position:relative;}
.route-map{position:relative; isolation:isolate;}
.route-map::before{content:''; position:absolute; inset:0; background:linear-gradient(180deg, rgba(2,8,20,.08), rgba(2,8,20,.48)); z-index:1; pointer-events:none;}
.route-map > img{position:relative; z-index:0;}
.hero-overlay{position:absolute; inset:18px; z-index:2; display:flex; flex-direction:column; justify-content:space-between; pointer-events:none;}
.hero-status-card{align-self:flex-start; max-width:240px; padding:16px 16px 14px; border-radius:18px; background:rgba(6,20,40,.58); border:1px solid rgba(255,255,255,.12); backdrop-filter:blur(14px); box-shadow:0 18px 36px rgba(0,0,0,.18);}
.hero-kicker{display:inline-flex; align-items:center; gap:6px; font-size:10.5px; letter-spacing:1.6px; font-family:var(--mono); color:var(--teal-l); font-weight:800; margin-bottom:8px; text-transform:uppercase;}
.hero-status-card b{display:block; font-size:15px; font-weight:900; margin-bottom:5px; line-height:1.35;}
.hero-status-card small{display:block; color:var(--muted); font-size:12px; line-height:1.7;}
.hero-route-stack{display:grid; gap:10px; align-self:flex-end; width:min(100%, 280px);}
.route-chip{display:flex; align-items:center; gap:10px; padding:13px 14px; border-radius:16px; background:rgba(7,18,32,.62); border:1px solid rgba(255,255,255,.10); backdrop-filter:blur(14px); box-shadow:0 14px 30px rgba(0,0,0,.18);}
.route-chip-num{width:34px; height:34px; border-radius:50%; display:inline-flex; align-items:center; justify-content:center; font-family:var(--mono); font-size:11px; font-weight:900; color:#03181d; background:linear-gradient(135deg,var(--teal-l),var(--amber-l)); flex-shrink:0;}
.route-chip b{display:block; font-size:13.5px; font-weight:800; line-height:1.2;}
.route-chip small{display:block; color:var(--muted); font-size:11.5px; margin-top:2px;}
@media(max-width:940px){ .hero-overlay{inset:14px;} }
@media(max-width:640px){ .hero-overlay{position:static; margin-top:12px; padding:0; pointer-events:auto;} .route-map{padding:12px; display:flex; flex-direction:column; gap:12px;} .route-map::before{border-radius:var(--radius-l);} .route-map > img{border-radius:var(--radius-l);} .seal-badge{inset-inline-end:12px; top:12px;} .hero-status-card,.route-chip{backdrop-filter:none;} }
.corridor-strip{background:linear-gradient(160deg, var(--surface), var(--ink-2)); border:1px solid var(--line-soft); border-radius:var(--radius-l); padding:28px 24px; box-shadow:var(--shadow);}
.corridor-head{display:flex; justify-content:space-between; gap:18px; align-items:flex-start; margin-bottom:18px; flex-wrap:wrap;}
.corridor-head h3{font-size:clamp(20px,3vw,28px); font-weight:900; margin-bottom:8px;}
.corridor-head p{color:var(--muted); font-size:14px; line-height:1.8; max-width:60ch;}
.corridor-badge{display:inline-flex; align-items:center; gap:8px; padding:10px 14px; border-radius:999px; background:rgba(0,194,217,.10); border:1px solid rgba(0,194,217,.18); color:var(--teal-l); font-size:12px; font-weight:800; white-space:nowrap;}
.corridor-list{display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:14px;}
@media(max-width:860px){ .corridor-list{grid-template-columns:1fr;} }
.corridor-item{position:relative; padding:20px 18px; border-radius:18px; background:rgba(255,255,255,.03); border:1px solid var(--line-soft); overflow:hidden;}
.corridor-item::after{content:''; position:absolute; inset-inline:0; top:0; height:2px; background:linear-gradient(90deg,var(--teal-l),var(--amber-l)); opacity:.9;}
.corridor-top{display:flex; align-items:center; gap:12px; margin-bottom:12px;}
.corridor-flag{width:40px; height:40px; border-radius:14px; display:flex; align-items:center; justify-content:center; background:rgba(0,194,217,.09); font-size:22px; flex-shrink:0;}
.corridor-item h4{font-size:15px; font-weight:900; margin:0 0 4px;}
.corridor-meta{font-size:11.5px; color:var(--muted-2); font-family:var(--mono); letter-spacing:.3px; text-transform:uppercase;}
.corridor-item p{color:var(--muted); font-size:13.5px; line-height:1.75; margin:0;}
.corridor-tags{display:flex; flex-wrap:wrap; gap:8px; margin-top:14px;}
.corridor-tags span{font-size:11px; font-weight:800; color:var(--text); background:var(--surface-2); border:1px solid var(--line-soft); padding:6px 10px; border-radius:999px;}
@media(max-width:900px){
  .nav-links, .nav-right .btn{display:none;}
  .burger{display:flex;}
}

/* ---------- pages ---------- */
.page{display:none;}
.page.active{display:block;}

/* ---------- hero ---------- */
.hero{max-width:var(--maxw); margin:0 auto; padding:clamp(40px,7vw,72px) 24px 30px; display:grid; grid-template-columns:1.05fr .95fr; gap:50px; align-items:center;}
.hero h1{font-size:clamp(30px,4.6vw,52px); font-weight:900; letter-spacing:-.8px; margin-bottom:18px; background:linear-gradient(135deg,var(--text) 35%,var(--teal-l) 85%,var(--amber-l)); -webkit-background-clip:text; -webkit-text-fill-color:transparent; background-clip:text; filter:drop-shadow(0 2px 24px rgba(0,194,217,.18));}
.hero .sub{color:var(--muted); font-size:16.5px; line-height:1.75; max-width:48ch; margin-bottom:30px;}
.hero-ctas{display:flex; gap:14px; flex-wrap:wrap;}
@media(max-width:940px){ .hero{grid-template-columns:1fr;} }

.route-map{position:relative; aspect-ratio:4/3; border-radius:var(--radius-l); background:radial-gradient(circle at 50% 85%, rgba(47,169,184,.16), transparent 60%), linear-gradient(180deg, var(--surface), var(--ink-2)); border:1px solid var(--line-soft); overflow:hidden;}
.route-map svg{position:absolute; inset:0; width:100%; height:100%;}
.route-dot{position:absolute; width:11px; height:11px; border-radius:50%; background:var(--teal-l); box-shadow:0 0 0 5px rgba(95,214,224,.18); transform:translate(-50%,-50%);}
.route-label{position:absolute; transform:translate(-50%,10px); font-size:11.5px; font-weight:700; color:var(--text); white-space:nowrap; text-align:center;}
.route-pulse{position:absolute; width:9px; height:9px; margin:-4.5px; border-radius:50%; background:var(--teal-l); box-shadow:0 0 14px 3px rgba(95,214,224,.7); offset-rotate:0deg; animation:travel 6s ease-in-out infinite;}

/* ---------- signature: customs seal ---------- */
.seal-badge{position:absolute; inset-inline-end:16px; top:16px; width:74px; height:74px; z-index:3;}
.seal-badge svg{width:100%; height:100%; animation:seal-spin 22s linear infinite;}
.seal-badge .seal-center{position:absolute; inset:0; display:flex; align-items:center; justify-content:center; color:var(--amber-l);}
@keyframes seal-spin{from{transform:rotate(0deg);} to{transform:rotate(360deg);}}
@media (prefers-reduced-motion: reduce){ .seal-badge svg{animation:none;} }
@keyframes travel{
  0%{left:8%; top:74%; opacity:0;}
  6%{opacity:1;}
  50%{left:50%; top:14%;}
  94%{opacity:1;}
  100%{left:92%; top:74%; opacity:0;}
}

/* ---------- trust bar ---------- */
.trust-bar{display:grid; grid-template-columns:repeat(4,1fr); gap:20px; max-width:var(--maxw); margin:0 auto; padding:0 24px;}
.trust-item{text-align:center; padding:24px 10px; background:var(--surface); border:1px solid var(--line-soft); border-radius:var(--radius-m); transition:transform .25s ease, border-color .25s ease, box-shadow .25s ease;}
.trust-item:hover{transform:translateY(-3px); border-color:var(--teal); box-shadow:0 12px 28px rgba(0,194,217,.14);}
.trust-item b{display:block; font-size:clamp(20px,2.6vw,28px); font-weight:800; font-family:var(--mono); background:linear-gradient(135deg,var(--teal-l),var(--amber-l)); -webkit-background-clip:text; -webkit-text-fill-color:transparent; background-clip:text;}
.trust-item span{font-size:12.5px; color:var(--muted);}
@media(max-width:760px){ .trust-bar{grid-template-columns:repeat(2,1fr);} }

/* ---------- live track band ---------- */
.live-track{background:linear-gradient(120deg, var(--surface), var(--ink-2)); border-top:1px solid var(--line-soft); border-bottom:1px solid var(--line-soft);}
.live-track-inner{max-width:800px; margin:0 auto; padding:46px 24px; text-align:center;}
.live-track h3{font-size:22px; font-weight:800; margin-bottom:8px;}
.live-track p{color:var(--muted); margin-bottom:22px; font-size:14.5px;}
.track-search{display:flex; gap:10px; max-width:460px; margin:0 auto;}
.track-search .field{flex:1;}
@media(max-width:480px){ .track-search{flex-direction:column;} }

/* ---------- grids ---------- */
.grid-5{display:grid; grid-template-columns:repeat(auto-fit,minmax(200px,1fr)); gap:18px;}
.grid-4{display:grid; grid-template-columns:repeat(4,1fr); gap:20px;}
@media(max-width:760px){ .grid-4{grid-template-columns:1fr 1fr;} }
@media(max-width:520px){ .grid-4{grid-template-columns:1fr;} }
.grid-3{display:grid; grid-template-columns:repeat(auto-fit,minmax(260px,1fr)); gap:20px;}

.business-hub-layout{display:grid; grid-template-columns:1.2fr .8fr; gap:20px; align-items:stretch;}
.business-hub-grid{display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:16px;}
@media(max-width:900px){ .business-hub-layout{grid-template-columns:1fr;} }
@media(max-width:640px){ .business-hub-grid{grid-template-columns:1fr;} }
.hub-card{display:flex; flex-direction:column; align-items:flex-start; gap:12px; text-align:start; padding:24px 22px; background:var(--surface); border:1px solid var(--line-soft); border-radius:var(--radius-m); cursor:pointer; transition:transform .2s ease, border-color .2s ease, box-shadow .2s ease; min-height:100%;}
.hub-card:hover{transform:translateY(-3px); border-color:var(--teal); box-shadow:0 16px 34px rgba(0,194,217,.14);}
.hub-card h4{font-size:15px; font-weight:800; margin:0;}
.hub-card p{color:var(--muted); font-size:13.5px; line-height:1.75;}
.hub-icon{width:46px; height:46px; border-radius:13px; background:var(--surface-2); display:flex; align-items:center; justify-content:center; color:var(--teal-l); flex-shrink:0;}
.hub-icon svg{width:24px; height:24px;}
.hub-link{display:inline-flex; align-items:center; gap:6px; margin-top:auto; color:var(--teal-l); font-size:12.5px; font-weight:800;}
.hub-link svg{transform:scaleX(-1);}
.preview-sub{color:var(--muted); font-size:13.8px; line-height:1.75; margin-top:4px;}
.dash-mini-grid{display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:12px; margin:16px 0 18px;}
.mini-stat{padding:14px; background:var(--surface-2); border:1px solid var(--line-soft); border-radius:14px;}
.mini-stat b{display:block; font-family:var(--mono); font-size:18px; margin-bottom:4px;}
.mini-stat span{font-size:11.5px; color:var(--muted);}
.preview-actions{display:grid; gap:10px;}
.warehouse-list{display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:18px;}
@media(max-width:920px){ .warehouse-list{grid-template-columns:1fr;} }
.warehouse-card{display:flex; flex-direction:column; gap:12px; background:var(--surface); border:1px solid var(--line-soft); border-radius:var(--radius-m); padding:22px;}
.warehouse-card:hover{border-color:var(--teal);}
.warehouse-card .tag{font-size:11px; font-weight:800; letter-spacing:1px; color:var(--teal-l); font-family:var(--mono);}
.warehouse-card h4{font-size:15.5px; font-weight:800;}
.warehouse-card p{color:var(--muted); font-size:13.5px; line-height:1.75;}
.warehouse-meta{display:flex; flex-direction:column; gap:8px; font-size:12.5px; color:var(--muted);}
.warehouse-meta span{display:flex; align-items:flex-start; gap:7px;}
.warehouse-meta svg{width:16px; height:16px; color:var(--teal-l); flex-shrink:0; margin-top:2px;}

.ops-layout{display:grid; grid-template-columns:.78fr 1.22fr; gap:20px; align-items:stretch;}
.ops-metrics{display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:14px;}
.ops-metric{padding:18px; background:var(--surface); border:1px solid var(--line-soft); border-radius:var(--radius-m);}
.ops-metric b{display:block; font-family:var(--mono); font-size:24px; margin-bottom:4px; background:linear-gradient(135deg,var(--teal-l),var(--amber-l)); -webkit-background-clip:text; -webkit-text-fill-color:transparent; background-clip:text;}
.ops-metric span{color:var(--muted); font-size:12px; line-height:1.5;}
.ops-cards{display:grid; gap:14px;}
.ops-card{padding:20px; background:linear-gradient(160deg,var(--surface),var(--ink-2)); border:1px solid var(--line-soft); border-radius:var(--radius-m); box-shadow:0 10px 24px rgba(2,8,20,.18);}
.ops-card-top{display:flex; align-items:flex-start; gap:12px; margin-bottom:10px;}
.ops-card .service-icon{margin:0; flex-shrink:0;}
.ops-card h4{font-size:15.5px; font-weight:800; margin:0 0 4px;}
.ops-card p{color:var(--muted); font-size:13.5px; line-height:1.75; margin:0 0 12px;}
.ops-points{display:flex; flex-wrap:wrap; gap:8px;}
.ops-points span{font-size:11.5px; color:var(--text); background:var(--surface-2); border:1px solid var(--line-soft); border-radius:999px; padding:6px 10px;}
@media(max-width:900px){ .ops-layout{grid-template-columns:1fr;} }

.testimonial-card{position:relative; background:var(--surface); border:1px solid var(--line-soft); border-radius:var(--radius-m); padding:26px 24px; display:flex; flex-direction:column; gap:14px; transition:transform .25s ease, border-color .25s ease, box-shadow .25s ease;}
.testimonial-card:hover{transform:translateY(-3px); border-color:var(--line); box-shadow:0 16px 34px rgba(2,8,20,.35);}
.testimonial-stars{display:flex; gap:3px; color:var(--amber-l);}
.testimonial-stars svg{width:15px; height:15px;}
.testimonial-quote{color:var(--muted); font-size:14px; line-height:1.8; flex:1;}
.testimonial-person{display:flex; align-items:center; gap:12px; padding-top:12px; border-top:1px solid var(--line-soft);}
.testimonial-avatar{width:40px; height:40px; border-radius:50%; background:linear-gradient(135deg,var(--teal-l),var(--teal) 60%,#0A8C9C); color:#03181d; display:flex; align-items:center; justify-content:center; font-weight:800; font-size:14px; flex-shrink:0;}
.testimonial-person b{display:block; font-size:13.5px; font-weight:800;}
.testimonial-person span{display:block; font-size:11.5px; color:var(--muted-2);}

/* ---------- skeleton loaders ---------- */
.skeleton-row{display:flex; align-items:center; justify-content:space-between; gap:14px; padding:16px 18px; background:var(--surface); border:1px solid var(--line-soft); border-radius:var(--radius-m); margin-bottom:10px;}
.skeleton-bar{border-radius:6px; background:linear-gradient(90deg, var(--line-soft) 25%, var(--line) 50%, var(--line-soft) 75%); background-size:200% 100%; animation:skeletonShimmer 1.4s ease-in-out infinite;}
@keyframes skeletonShimmer{0%{background-position:200% 0;} 100%{background-position:-200% 0;}}
@media (prefers-reduced-motion: reduce){ .skeleton-bar{animation:none; opacity:.5;} }

/* ---------- floating WhatsApp button ---------- */
.whatsapp-float{position:fixed; inset-inline-start:22px; bottom:22px; z-index:230; width:54px; height:54px; border-radius:50%; background:#25D366; color:#fff; display:flex; align-items:center; justify-content:center; box-shadow:0 10px 26px rgba(37,211,102,.4); transition:transform .2s ease, box-shadow .2s ease;}
.whatsapp-float svg{width:28px; height:28px;}
.whatsapp-float::before{content:''; position:absolute; inset:-4px; border-radius:50%; border:2px solid #25D366; opacity:.6; animation:waPulse 2.2s ease-out infinite;}
.whatsapp-float:hover{transform:translateY(-3px) scale(1.05); box-shadow:0 14px 32px rgba(37,211,102,.5);}
@keyframes waPulse{0%{transform:scale(1); opacity:.6;} 100%{transform:scale(1.35); opacity:0;}}
@media (prefers-reduced-motion: reduce){ .whatsapp-float::before{animation:none; display:none;} }
@media(max-width:760px){ body:has(.portal-bottom-nav.active) .whatsapp-float{bottom:calc(78px + env(safe-area-inset-bottom));} }

/* ---------- portal bottom nav (app-style) ---------- */
.portal-dash{padding-bottom:26px;}
.portal-bottom-nav{position:fixed; left:0; right:0; bottom:0; z-index:250; display:none;}
.portal-bottom-nav.active{display:none; animation:navSlideUp .35s cubic-bezier(.16,1,.3,1);}
@media(max-width:760px){
  .portal-bottom-nav.active{display:block;}
  body:has(.portal-bottom-nav.active){padding-bottom:calc(64px + env(safe-area-inset-bottom));}
}
@keyframes navSlideUp{from{transform:translateY(100%);} to{transform:translateY(0);}}
.portal-bottom-nav-inner{position:relative; max-width:520px; margin:0 auto; display:flex; align-items:center; justify-content:space-between;
  padding:10px 14px calc(10px + env(safe-area-inset-bottom));
  background:rgba(9,20,38,.88); backdrop-filter:blur(16px); -webkit-backdrop-filter:blur(16px);
  border-top:1px solid var(--line-soft); box-shadow:0 -12px 32px rgba(2,8,20,.4);}
.pbn-item{flex:1; display:flex; flex-direction:column; align-items:center; justify-content:center; gap:5px; background:none; border:none; color:var(--muted-2); font-size:10.5px; font-weight:700; cursor:pointer; padding:8px 2px; min-height:52px;}
.pbn-icon-wrap{position:relative; display:inline-flex;}
.pbn-badge{position:absolute; top:-5px; inset-inline-end:-9px; min-width:16px; height:16px; padding:0 4px; border-radius:999px; background:var(--red-l, #e5533d); color:#fff; font-size:9.5px; font-weight:800; display:flex; align-items:center; justify-content:center; line-height:1; box-shadow:0 0 0 2px var(--bg, #0b1b30);}
.pbn-item svg{width:23px; height:23px; stroke:currentColor; transition:transform .2s ease;}
.pbn-item.active{color:var(--teal-l);}
.pbn-item.active svg{transform:translateY(-1px);}
.pbn-item:active svg{transform:scale(.88);}
.pbn-fab{flex:0 0 auto; width:56px; height:56px; border-radius:50%; margin-top:-30px;
  background:linear-gradient(135deg,var(--teal-l),var(--teal) 55%,#0A8C9C); color:#03181d;
  display:flex; align-items:center; justify-content:center; border:4px solid var(--ink);
  box-shadow:0 10px 24px rgba(0,194,217,.4); transition:transform .2s ease;}
.pbn-fab svg{width:24px; height:24px;}
.pbn-fab:active{transform:scale(.92);}
@media(max-width:520px){ .whatsapp-float{width:50px; height:50px; inset-inline-start:16px; bottom:16px;} }
.grid-2{display:grid; grid-template-columns:1fr 1fr; gap:20px;}
@media(max-width:760px){ .grid-2{grid-template-columns:1fr;} }

.card{background:var(--surface); border:1px solid var(--line-soft); border-radius:var(--radius-m); padding:22px;}
.service-card{position:relative; background:var(--surface); border:1px solid var(--line-soft); border-radius:var(--radius-m); padding:24px; cursor:pointer; overflow:hidden; transition:border-color .25s, transform .25s, box-shadow .25s;}
.service-card::before{content:''; position:absolute; inset-inline:0; top:0; height:3px; background:linear-gradient(90deg,var(--teal),var(--amber-l)); transform:scaleX(0); transform-origin:0 0; transition:transform .35s ease;}
.service-card:hover{border-color:var(--teal); transform:translateY(-5px); box-shadow:0 16px 34px rgba(0,194,217,.14);}
.service-card:hover::before{transform:scaleX(1);}
.service-icon{width:46px; height:46px; border-radius:13px; background:var(--surface-2); display:flex; align-items:center; justify-content:center; color:var(--teal-l); margin-bottom:16px; transition:box-shadow .3s ease, transform .3s ease;}
.service-card:hover .service-icon{box-shadow:0 0 0 1px rgba(0,194,217,.3), 0 8px 20px rgba(0,194,217,.25); transform:translateY(-2px);}
.service-card h4{font-size:15.5px; font-weight:800; margin-bottom:8px;}
.service-card p{color:var(--muted); font-size:13.5px;}
.service-card .learn{display:inline-flex; align-items:center; gap:6px; margin-top:14px; font-size:12.5px; font-weight:700; color:var(--teal-l);}
.service-card .learn svg{transform:scaleX(-1);}
[dir="ltr"] .service-card .learn svg{transform:none;}

.service-detail{display:flex; gap:20px; padding:26px; background:var(--surface); border:1px solid var(--line-soft); border-radius:var(--radius-l); margin-bottom:20px;}
.service-detail .service-icon{flex-shrink:0;}
.service-detail h3{font-size:19px; font-weight:800; margin-bottom:8px;}
.service-detail p.desc{color:var(--muted); font-size:14.5px; margin-bottom:14px;}
.feature-list{display:flex; flex-direction:column; gap:8px;}
.feature-list li{display:flex; align-items:center; gap:8px; font-size:13.5px; color:var(--text);}
.feature-list .icon{color:var(--mint); flex-shrink:0;}
@media(max-width:640px){ .service-detail{flex-direction:column;} }

.step-card{position:relative; padding:26px 20px; background:var(--surface); border:1px solid var(--line-soft); border-radius:var(--radius-m);}
.step-num{font-family:var(--mono); font-weight:800; color:var(--teal-l); font-size:13px; letter-spacing:1px; margin-bottom:14px; display:block;}
.step-card h4{font-size:15px; font-weight:800; margin-bottom:6px;}
.step-card p{color:var(--muted); font-size:13.5px;}

.feature-card{text-align:center; padding:26px 18px;}
.feature-card .service-icon{margin-inline:auto;}

.cta-band{position:relative; background:linear-gradient(120deg, var(--teal-dark), var(--ink-2) 65%); border:1px solid var(--line-soft); border-radius:var(--radius-l); padding:44px 30px; text-align:center; max-width:var(--maxw); margin:0 auto; box-shadow:0 20px 50px rgba(0,194,217,.08); overflow:hidden;}
.cta-band::after{content:''; position:absolute; inset-inline-end:-60px; top:-60px; width:220px; height:220px; border-radius:50%; background:radial-gradient(circle,rgba(240,168,58,.16),transparent 70%); pointer-events:none;}
.cta-band h3{font-size:clamp(20px,3vw,28px); font-weight:800; margin-bottom:10px;}
.cta-band p{color:var(--muted); margin-bottom:24px;}
.cta-actions{display:flex; gap:14px; justify-content:center; flex-wrap:wrap;}

/* ---------- footer ---------- */
footer{position:relative; border-top:1px solid var(--line-soft); background:var(--ink-2); margin-top:60px;}
footer::before{content:''; position:absolute; top:-1px; inset-inline:0; height:2px; background:linear-gradient(90deg,transparent,var(--teal),var(--amber-l),transparent);}
.footer-grid{display:grid; grid-template-columns:1.4fr 1fr 1fr 1fr; gap:32px; padding-block:50px;}
.footer-col h5{font-size:13px; font-weight:800; color:var(--muted); letter-spacing:.5px; margin-bottom:16px; text-transform:uppercase;}
.footer-col p{color:var(--muted); font-size:13.5px;}
.footer-col ul li{margin-bottom:10px;}
.footer-col ul a{color:var(--muted); font-size:13.5px; cursor:pointer;}
.footer-col ul a:hover{color:var(--teal-l);}
.footer-contact-row{display:flex; align-items:center; gap:8px; margin-bottom:10px; font-size:13.5px; color:var(--muted);}
.footer-bottom{border-top:1px solid var(--line-soft); padding:18px 24px; text-align:center; font-size:12.5px; color:var(--muted-2);}
@media(max-width:860px){ .footer-grid{grid-template-columns:1fr 1fr; padding-block:36px;} }
@media(max-width:520px){ .footer-grid{grid-template-columns:1fr;} }

/* ---------- track page ---------- */
.page-head{max-width:var(--maxw); margin:0 auto; padding:44px 24px 10px; text-align:center;}
.page-head h1{font-size:clamp(24px,3.6vw,34px); font-weight:800; margin-bottom:8px;}
.page-head p{color:var(--muted); font-size:14.5px;}
.track-hero-card{background:linear-gradient(120deg,var(--surface),var(--ink-2)); border:1px solid var(--line-soft); border-radius:var(--radius-l); padding:24px; margin-bottom:22px;}
.thc-top{display:flex; justify-content:space-between; align-items:center; margin-bottom:12px; flex-wrap:wrap; gap:10px;}
.id-badge{font-family:var(--mono); font-weight:700; font-size:15px; letter-spacing:.5px;}
.stamp{display:inline-flex; align-items:center; gap:6px; font-family:var(--mono); font-size:11px; font-weight:700; letter-spacing:.4px; padding:5px 12px; border-radius:7px; border:1px dashed currentColor; text-transform:uppercase;}
.stamp.transit{color:var(--teal-l); background:rgba(95,214,224,.08);}
.stamp.delivered{color:var(--mint); background:rgba(52,199,123,.08);}
.stamp.pending{color:var(--amber); background:rgba(240,168,58,.08);}
.route-line{display:flex; align-items:center; gap:10px; font-size:16px; font-weight:700; flex-wrap:wrap;}
.route-line .arrow{color:var(--teal-l);}
.kv{display:flex; justify-content:space-between; align-items:center; font-size:13.5px; padding:9px 0; border-bottom:1px dashed var(--line-soft); gap:10px;}
.kv:last-child{border-bottom:none;}
.kv span{color:var(--muted);}
.kv b{font-weight:700; text-align:end;}
.card h4{font-size:14.5px; font-weight:800; margin-bottom:14px;}

.timeline{position:relative; padding-inline-start:4px;}
.tl-step{position:relative; padding-inline-start:28px; padding-bottom:22px;}
.tl-step:last-child{padding-bottom:0;}
.tl-step::before{content:''; position:absolute; inset-inline-start:5px; top:16px; bottom:-6px; width:2px; background:var(--line-soft);}
.tl-step:last-child::before{display:none;}
.tl-step.done::before{background:var(--mint);}
.tl-dot{position:absolute; inset-inline-start:0; top:2px; width:12px; height:12px; border-radius:50%; background:var(--surface-2); border:2px solid var(--line);}
.tl-step.done .tl-dot{background:var(--mint); border-color:var(--mint);}
.tl-step.current .tl-dot{background:var(--teal); border-color:var(--teal-l); box-shadow:0 0 0 4px rgba(47,169,184,.22);}
.tl-body b{display:block; font-size:14px; font-weight:700;}
.tl-step.future .tl-body b{color:var(--muted);}
.tl-body span{font-size:12px; color:var(--muted); font-family:var(--mono);}

.empty-state{text-align:center; padding:50px 20px; background:var(--surface); border:1px dashed var(--line); border-radius:var(--radius-l);}
.empty-state .icon-lg{color:var(--muted); margin-bottom:14px;}
.empty-state h3{font-size:17px; font-weight:800; margin-bottom:8px;}
.empty-state p{color:var(--muted); font-size:13.5px; margin-bottom:20px;}

.track-row{display:flex; justify-content:space-between; align-items:center; gap:14px; padding:16px; background:var(--surface); border:1px solid var(--line-soft); border-radius:var(--radius-m); cursor:pointer; margin-bottom:12px;}
.track-row:hover{border-color:var(--teal);}
.track-row .trow-left b{display:block; font-family:var(--mono); font-size:13.5px; margin-bottom:4px;}
.track-row .trow-left span{font-size:12.5px; color:var(--muted);}
.track-row-rich{flex-direction:column; align-items:stretch; gap:12px;}
.trow-top{display:flex; align-items:center; gap:12px;}
.trow-top .trow-left{flex:1; min-width:0;}
.trow-icon{flex:0 0 auto; width:38px; height:38px; border-radius:10px; display:flex; align-items:center; justify-content:center; background:rgba(95,214,224,.1); color:var(--teal-l);}
.trow-icon svg{width:19px; height:19px;}
.trow-progress{height:5px; border-radius:99px; background:var(--line-soft); overflow:hidden;}
.trow-progress-fill{height:100%; border-radius:99px; background:linear-gradient(90deg,var(--teal),var(--teal-l)); transition:width .5s cubic-bezier(.16,1,.3,1);}
.trow-progress-fill.delivered{background:linear-gradient(90deg,var(--mint),#5FE0A0);}
.trow-meta{display:flex; justify-content:space-between; font-size:11.5px; color:var(--muted-2); font-weight:700;}

/* ---------- request page ---------- */
.request-panel{max-width:640px; margin:0 auto; padding:0 24px 60px;}
.success-panel{text-align:center; padding:40px 24px; background:var(--surface); border:1px solid var(--line-soft); border-radius:var(--radius-l);}
.success-panel .icon-lg{color:var(--mint); margin-bottom:14px;}
.success-id{font-family:var(--mono); font-size:22px; font-weight:800; color:var(--teal-l); margin:12px 0 22px; letter-spacing:1px;}
.success-actions{display:flex; gap:12px; justify-content:center; flex-wrap:wrap;}

/* ---------- portal ---------- */
.portal-panel{max-width:460px; margin:0 auto; padding:6px 24px 60px;}
.portal-dash{max-width:760px; margin:0 auto; padding:0 24px 60px;}
.auth-badge{width:60px; height:60px; border-radius:18px; background:linear-gradient(135deg,var(--teal-l),var(--teal)); display:flex; align-items:center; justify-content:center; margin:0 auto 16px; box-shadow:0 12px 26px rgba(0,194,217,.28);}
.auth-badge svg{color:var(--teal-dark);}
.auth-card{background:linear-gradient(160deg,var(--surface),var(--ink-2)); border:1px solid var(--line-soft); border-radius:var(--radius-l); padding:32px 28px; box-shadow:var(--shadow); position:relative; overflow:hidden;}
.auth-card::before{content:''; position:absolute; top:-70px; inset-inline-end:-70px; width:200px; height:200px; border-radius:50%; background:radial-gradient(circle, rgba(79,227,240,.16), transparent 70%); pointer-events:none;}
.field-icon-wrap{position:relative;}
.field-icon-wrap .field{padding-inline-start:42px;}
.field-icon-wrap .field-icon{position:absolute; inset-inline-start:14px; top:50%; transform:translateY(-50%); color:var(--muted-2); pointer-events:none;}
.auth-trust{display:flex; align-items:center; justify-content:center; gap:6px; margin-top:18px; font-size:12px; color:var(--muted-2); text-align:center;}
.auth-trust svg{color:var(--mint); flex-shrink:0;}
@media(max-width:480px){ .auth-card{padding:26px 20px;} }

.dash-head{display:flex; align-items:center; justify-content:space-between; margin-bottom:24px; flex-wrap:wrap; gap:14px; padding:20px 22px; background:linear-gradient(120deg,var(--surface),var(--ink-2)); border:1px solid var(--line-soft); border-radius:var(--radius-l);}
.dash-head-info{display:flex; align-items:center; gap:14px;}
.dash-avatar{width:48px; height:48px; border-radius:50%; background:linear-gradient(135deg,var(--teal-l),var(--teal)); display:flex; align-items:center; justify-content:center; flex-shrink:0; box-shadow:0 8px 18px rgba(0,194,217,.25); overflow:hidden;}
.dash-avatar img{width:100%; height:100%; object-fit:cover;}
.avatar-upload{position:relative; width:88px; height:88px; margin:0 auto 18px; cursor:pointer;}
.avatar-upload .dash-avatar{width:100%; height:100%; box-shadow:none;}
.avatar-upload .dash-avatar svg{width:34px; height:34px;}
.avatar-upload-badge{position:absolute; bottom:0; inset-inline-end:0; width:30px; height:30px; border-radius:50%; background:var(--teal); color:var(--teal-dark); display:flex; align-items:center; justify-content:center; border:3px solid var(--surface); box-shadow:0 4px 10px rgba(0,0,0,.3);}
.avatar-upload-badge svg{width:14px; height:14px;}
.dash-avatar svg{color:var(--teal-dark);}
.dash-head h2{font-size:19px; font-weight:800; margin-bottom:2px;}
.dash-head .dash-sub{display:block; font-size:12.5px; color:var(--muted); font-weight:600;}
.quick-actions{display:grid; grid-template-columns:repeat(3,1fr); gap:14px; margin-bottom:28px;}
@media(max-width:600px){ .quick-actions{grid-template-columns:1fr;} }
.qa-card{display:flex; flex-direction:column; align-items:center; gap:10px; text-align:center; padding:22px 10px; background:var(--surface); border:1px solid var(--line-soft); border-radius:var(--radius-m); cursor:pointer; font-size:13.5px; font-weight:700; transition:transform .2s ease, border-color .2s ease; min-height:48px;}
.qa-card:hover{border-color:var(--teal); transform:translateY(-3px);}

/* ---------- contact ---------- */
.contact-grid{display:grid; grid-template-columns:1fr 1fr; gap:26px; max-width:var(--maxw); margin:0 auto; padding:0 24px 70px; align-items:start;}
@media(max-width:860px){ .contact-grid{grid-template-columns:1fr;} }
.contact-info-card{display:flex; align-items:flex-start; gap:14px; padding:18px; background:var(--surface); border:1px solid var(--line-soft); border-radius:var(--radius-m); margin-bottom:14px;}
.contact-info-card .service-icon{margin:0;}
.contact-info-card b{display:block; font-size:14px; margin-bottom:3px;}
.contact-info-card span, .contact-info-card a{color:var(--muted); font-size:13.5px;}

/* ---------- misc ---------- */
.hint{font-size:11.5px; color:var(--muted-2); text-align:center; margin-top:10px;}
.mono{font-family:var(--mono);}
/* ---------- staff console (admin / accountant) ---------- */
.admin-shell{max-width:980px; margin:0 auto; padding:clamp(30px,7vh,70px) 24px 70px;}

/* split login card */
.admin-login-split{position:relative; width:100%; display:grid; grid-template-columns:.86fr 1.14fr; border-radius:var(--radius-l); overflow:hidden; box-shadow:var(--shadow); border:1px solid var(--line-soft); animation:loginFadeIn .55s ease;}
@keyframes loginFadeIn{from{opacity:0; transform:translateY(14px);} to{opacity:1; transform:translateY(0);}}

.admin-login-visual{position:relative; padding:38px 32px; background:
    radial-gradient(circle at 20% 0%, rgba(0,194,217,.20), transparent 55%),
    radial-gradient(circle at 100% 100%, rgba(240,168,58,.14), transparent 50%),
    linear-gradient(165deg, #0A1526, #071120 70%);
  border-inline-end:1px solid var(--line-soft);
  display:flex; flex-direction:column; justify-content:space-between; gap:28px; min-height:520px;}
.admin-login-visual::before{content:''; position:absolute; inset:0;
  background-image:linear-gradient(var(--grain-line) 1px, transparent 1px), linear-gradient(90deg, var(--grain-line) 1px, transparent 1px);
  background-size:34px 34px; opacity:.5; pointer-events:none;}
.admin-login-visual::after{content:''; position:absolute; top:-1px; inset-inline:0; height:2px; background:linear-gradient(90deg,transparent,var(--amber-l),var(--teal),transparent);}
.admin-login-visual > *{position:relative; z-index:1;}
.admin-visual-brand{display:flex; align-items:center; gap:11px;}
.admin-visual-brand img{width:32px; height:32px; object-fit:contain; flex-shrink:0;}
.admin-visual-brand b{font-size:16px; font-weight:800; display:block;}
.admin-visual-brand small{font-family:var(--mono); font-size:9.5px; letter-spacing:2px; color:var(--teal-l); font-weight:700;}
.admin-visual-mid .shield-wrap-lg{width:56px; height:56px; border-radius:16px; background:radial-gradient(circle at 30% 20%, rgba(240,168,58,.22), rgba(0,194,217,.1)); border:1px solid var(--line-soft); display:flex; align-items:center; justify-content:center; margin-bottom:18px;}
.admin-visual-mid .shield-wrap-lg svg{width:28px; height:28px; color:var(--amber-l);}
.admin-visual-mid h2{font-size:23px; font-weight:800; margin-bottom:10px; letter-spacing:-.3px;}
.admin-visual-mid p{color:var(--muted); font-size:13.5px; line-height:1.75; max-width:34ch;}
.admin-visual-features{display:flex; flex-direction:column; gap:12px;}
.admin-visual-features li{display:flex; align-items:center; gap:10px; font-size:12.5px; color:var(--muted); font-weight:600;}
.admin-visual-features li svg{width:17px; height:17px; flex-shrink:0; color:var(--mint); background:rgba(46,210,127,.12); border-radius:50%; padding:3px; box-sizing:content-box;}
@media(max-width:820px){ .admin-login-split{grid-template-columns:1fr;} .admin-login-visual{min-height:0; padding:26px 24px;} .admin-visual-features{flex-direction:row; flex-wrap:wrap; gap:14px 20px;} }
@media(max-width:520px){ .admin-visual-features{display:none;} }

.admin-login-form-panel{background:var(--ink-2); padding:38px 34px 32px; display:flex; flex-direction:column; justify-content:center;}
.admin-back-link{display:inline-flex; align-items:center; gap:6px; color:var(--muted-2); font-size:12.5px; font-weight:700; cursor:pointer; margin-bottom:20px; width:fit-content;}
.admin-back-link:hover{color:var(--teal-l);}
.admin-back-link svg{width:14px; height:14px; transform:scaleX(-1);}
[dir="ltr"] .admin-back-link svg{transform:none;}
.admin-login-head{margin-bottom:18px;}
.admin-login-head h1{font-size:22px; font-weight:800; margin-bottom:5px;}
.secure-note{display:flex; align-items:center; gap:7px; font-size:11.5px; color:var(--mint); font-family:var(--mono); letter-spacing:.3px; margin-bottom:24px; padding:8px 12px; background:rgba(46,210,127,.08); border:1px solid rgba(46,210,127,.25); border-radius:9px; width:fit-content;}
.secure-note svg{width:13px; height:13px; flex-shrink:0;}

.field-icon-wrap .field-icon{position:absolute; inset-inline-start:14px; top:50%; transform:translateY(-50%); width:17px; height:17px; color:var(--muted-2); pointer-events:none;}
.field-pw-wrap{position:relative;}
.field-pw-wrap .field{padding-inline-end:44px;}
.field-pw-wrap.has-icon .field{padding-inline-start:42px;}
.field-pw-wrap .field-icon{position:absolute; inset-inline-start:14px; top:50%; transform:translateY(-50%); width:17px; height:17px; color:var(--muted-2); pointer-events:none;}
.pw-toggle{position:absolute; inset-inline-end:2px; top:50%; transform:translateY(-50%); background:none; border:none; color:var(--muted); cursor:pointer; padding:12px; min-width:44px; min-height:44px; display:flex; align-items:center; justify-content:center; border-radius:8px;}
.pw-toggle:hover{color:var(--teal-l);}
.btn-spinner{width:16px; height:16px; border:2px solid rgba(3,24,29,.3); border-top-color:#03181d; border-radius:50%; animation:btnspin .7s linear infinite; display:inline-block;}
@keyframes btnspin{to{transform:rotate(360deg);}}
.admin-error{color:var(--red-l); font-size:13px; margin-top:12px; text-align:center; padding:10px 12px; background:rgba(229,83,61,.08); border:1px solid rgba(229,83,61,.25); border-radius:9px;}
.admin-lockout{color:var(--amber-l); font-size:13px; margin-top:12px; text-align:center; padding:10px 12px; background:rgba(240,168,58,.08); border:1px solid rgba(240,168,58,.3); border-radius:9px; font-family:var(--mono);}
.admin-warning{background:rgba(245,166,35,.1); border:1px solid rgba(245,166,35,.3); color:var(--amber); font-size:13px; padding:12px 14px; border-radius:10px; margin-top:16px; line-height:1.6;}
.caps-warning{display:block; margin-top:7px; font-size:11.5px; color:var(--amber-l); font-weight:700;}
.attempts-hint{text-align:center; font-size:11.5px; color:var(--muted-2); margin-top:10px; font-family:var(--mono);}
.admin-login-footnote{text-align:center; font-size:10.5px; color:var(--muted-2); margin-top:22px; font-family:var(--mono); letter-spacing:.3px;}

/* ---------- legal pages ---------- */
.legal-doc{max-width:760px; margin:0 auto;}
.legal-section{margin-bottom:26px; padding-bottom:26px; border-bottom:1px solid var(--line-soft);}
.legal-section:last-child{border-bottom:none; margin-bottom:0; padding-bottom:0;}
.legal-section h3{font-size:16.5px; font-weight:800; margin-bottom:10px; color:var(--teal-l);}
.legal-section p{color:var(--muted); font-size:14px; line-height:1.85; white-space:pre-line;}

/* ---------- toast notifications ---------- */
.toast-container{position:fixed; bottom:24px; inset-inline-end:24px; z-index:400; display:flex; flex-direction:column; gap:10px; max-width:min(360px, calc(100vw - 32px));}
.toast{display:flex; align-items:flex-start; gap:10px; padding:14px 16px; border-radius:12px; background:var(--surface); border:1px solid var(--line-soft); box-shadow:var(--shadow); font-size:13.5px; font-weight:600; color:var(--text); animation:toastIn .3s cubic-bezier(.16,1,.3,1);}
.toast svg{width:18px; height:18px; flex-shrink:0; margin-top:1px;}
.toast.success{border-color:rgba(46,210,127,.35);}
.toast.success svg{color:var(--mint);}
.toast.error{border-color:rgba(229,83,61,.35);}
.toast.error svg{color:var(--red-l);}
.toast.info svg{color:var(--teal-l);}
.toast.leaving{animation:toastOut .25s ease forwards;}
@keyframes toastIn{from{opacity:0; transform:translateY(12px) scale(.96);} to{opacity:1; transform:translateY(0) scale(1);}}
@keyframes toastOut{to{opacity:0; transform:translateY(-8px) scale(.96);}}
@media(max-width:480px){ .toast-container{inset-inline:16px; bottom:16px; max-width:none;} }
.shield-wrap{position:relative; flex-shrink:0; border-radius:14px; background:radial-gradient(circle at 30% 20%, rgba(240,168,58,.18), rgba(0,194,217,.08)); border:1px solid var(--line-soft); display:flex; align-items:center; justify-content:center; color:var(--amber-l);}

.map-embed-wrap{margin-top:16px; border-radius:var(--radius-m); overflow:hidden; border:1px solid var(--line-soft); height:220px;}
.map-embed-wrap iframe{width:100%; height:100%; border:0; filter:grayscale(.15) invert(.92) contrast(.9);}
.map-directions-link{display:flex; align-items:center; gap:8px; justify-content:center; margin-top:10px; padding:10px; font-size:12.5px; font-weight:700; color:var(--teal-l); border:1px solid var(--line-soft); border-radius:10px; background:var(--surface);}
.map-directions-link:hover{border-color:var(--teal);}

.route-picker{display:grid; grid-template-columns:repeat(auto-fit,minmax(140px,1fr)); gap:10px;}
.route-card{display:flex; align-items:center; gap:12px; padding:14px 16px; background:var(--surface); border:1.5px solid var(--line-soft); border-radius:14px; cursor:pointer; transition:border-color .2s, box-shadow .2s, transform .15s;}
.route-card:hover{border-color:var(--line);}
.route-card.active{border-color:var(--teal); box-shadow:0 0 0 1px var(--teal), 0 8px 24px rgba(0,194,217,.18); background:linear-gradient(160deg, rgba(0,194,217,.10), var(--surface));}
.route-card .flag{font-size:26px; line-height:1; flex-shrink:0;}
.route-card .rc-text{display:flex; flex-direction:column; gap:2px; min-width:0;}
.route-card .rc-city{font-size:13.5px; font-weight:800; color:var(--text); white-space:nowrap; overflow:hidden; text-overflow:ellipsis;}
.route-card .rc-code{font-size:11px; color:var(--muted-2); font-family:var(--mono);}
.route-divider{display:flex; align-items:center; justify-content:center; gap:8px; margin:4px 0 14px; color:var(--muted-2);}
.route-divider::before, .route-divider::after{content:''; flex:1; height:1px; background:var(--line-soft);}
.route-divider svg{width:16px; height:16px; color:var(--teal-l); flex-shrink:0;}

.confirm-modal-overlay{position:fixed; inset:0; background:rgba(3,10,20,.72); backdrop-filter:blur(4px); z-index:200; display:flex; align-items:center; justify-content:center; padding:20px; overflow-y:auto;}
.confirm-modal{background:var(--ink-2); border:1px solid var(--line-soft); border-radius:var(--radius-l); padding:26px; max-width:380px; text-align:center; box-shadow:var(--shadow); max-height:calc(100vh - 40px); overflow-y:auto; margin:auto;}
.confirm-modal h3{font-size:17px; margin-bottom:8px;}
.confirm-modal p{font-size:13.5px; color:var(--muted); line-height:1.7;}
.admin-topbar{display:flex; align-items:center; justify-content:space-between; gap:12px; padding:18px 22px; background:var(--surface); border:1px solid var(--line-soft); border-radius:var(--radius-m); margin-bottom:20px;}

.admin-stats{display:grid; grid-template-columns:repeat(4,1fr); gap:14px; margin-bottom:26px;}
#printLabelArea{display:none;}
@media print{
  body *{ visibility:hidden; }
  #printLabelArea, #printLabelArea *{ visibility:visible; }
  #printLabelArea{ display:block; position:fixed; inset:0; padding:28px; }
}
.admin-charts-grid{display:grid; grid-template-columns:1fr 1fr; gap:16px; margin-bottom:26px;}
.admin-chart-card{background:var(--surface); border:1px solid var(--line-soft); border-radius:var(--radius-m); padding:16px;}
.admin-chart-card b{display:block; margin-bottom:10px; font-size:14px;}
@media(max-width:720px){ .admin-charts-grid{grid-template-columns:1fr;} }
.admin-stat-card{position:relative; background:var(--surface); border:1px solid var(--line-soft); border-radius:var(--radius-m); padding:18px 16px; text-align:center; overflow:hidden;}
.admin-stat-card::before{content:''; position:absolute; top:0; inset-inline:0; height:2px; background:var(--accent-c,var(--teal));}
.admin-stat-card b{display:block; font-size:clamp(20px,2.6vw,26px); font-weight:800; font-family:var(--mono); color:var(--text); margin-bottom:4px;}
.admin-stat-card span{font-size:11.5px; color:var(--muted); font-weight:600;}
@media(max-width:640px){ .admin-stats{grid-template-columns:1fr 1fr;} }
.admin-stats-3{grid-template-columns:repeat(3,1fr);}
@media(max-width:640px){ .admin-stats-3{grid-template-columns:1fr 1fr;} }
@media(max-width:400px){ .admin-stats-3{grid-template-columns:1fr;} }

.admin-section-title{font-size:14px; font-weight:800; color:var(--text); margin-bottom:14px; display:flex; align-items:center; gap:8px;}
.admin-section-title svg{width:17px; height:17px; color:var(--teal-l);}

.admin-list{display:flex; flex-direction:column; gap:12px;}
.admin-row{position:relative; display:flex; align-items:center; justify-content:space-between; gap:14px; flex-wrap:wrap; padding:16px 18px 16px 22px; background:var(--surface); border:1px solid var(--line-soft); border-radius:var(--radius-m); transition:border-color .2s, transform .2s;}
.admin-row::before{content:''; position:absolute; inset-inline-start:0; top:10px; bottom:10px; width:3px; border-radius:3px; background:var(--line-soft);}
.admin-row.status-pending::before{background:var(--amber-l);}
.admin-row.status-transit::before{background:var(--teal-l);}
.admin-row.status-delivered::before{background:var(--mint);}
.admin-row:hover{border-color:var(--line);}
.admin-row-main{display:flex; flex-direction:column; gap:5px; font-size:13.5px;}
.dir-stats-line{display:flex; gap:14px; flex-wrap:wrap; font-size:11.5px; color:var(--muted-2); font-family:var(--mono); margin-top:2px;}
.dir-stats-line svg{width:12px; height:12px; vertical-align:-1px;}
.admin-row-top{display:flex; align-items:center; gap:10px; flex-wrap:wrap;}
.admin-row-main .mono{font-size:15px; letter-spacing:.3px;}
.admin-row-main span{color:var(--muted);}
.admin-status-pill{font-family:var(--mono); font-size:10.5px; font-weight:700; letter-spacing:.4px; padding:3px 10px; border-radius:999px; text-transform:uppercase;}
.admin-status-pill.status-pending{color:var(--amber-l); background:rgba(240,168,58,.12);}
.admin-status-pill.status-transit{color:var(--teal-l); background:rgba(0,194,217,.12);}
.admin-status-pill.status-delivered{color:var(--mint); background:rgba(46,210,127,.12);}
.admin-select-wrap{display:flex; flex-direction:column; gap:5px;}
.admin-row-actions{display:flex; gap:8px; align-self:center;}
.admin-row-actions .btn-icon{min-width:38px; min-height:38px; width:38px; height:38px;}
.admin-select-wrap label{font-size:10.5px; color:var(--muted-2); font-weight:700;}
.admin-fin-inputs{display:flex; gap:8px; align-items:flex-end; flex-wrap:wrap;}
.admin-fin-field{display:flex; flex-direction:column; gap:5px;}
.admin-fin-field label{font-size:10.5px; color:var(--muted-2); font-weight:700;}
.admin-fin-remaining{font-size:12px; color:var(--muted); font-family:var(--mono);}
.admin-empty{text-align:center; padding:56px 20px; color:var(--muted); background:var(--surface); border:1px dashed var(--line-soft); border-radius:var(--radius-m);}
.admin-empty svg{width:38px; height:38px; color:var(--muted-2); margin-bottom:12px;}

.admin-toolbar{display:flex; gap:12px; flex-wrap:wrap; align-items:center; justify-content:space-between; margin-bottom:18px;}
.admin-tabs{display:flex; gap:6px; background:var(--surface); border:1px solid var(--line-soft); border-radius:999px; padding:4px; flex-wrap:wrap;}
.admin-tab{border:none; background:none; color:var(--muted); font-size:12.5px; font-weight:700; padding:8px 16px; border-radius:999px; cursor:pointer; white-space:nowrap; font-family:var(--font);}
.admin-tab.active{background:var(--teal); color:var(--teal-dark);}
.admin-search{flex:1; min-width:180px; max-width:280px;}
.admin-search input{width:100%; background:var(--surface); border:1.5px solid var(--line-soft); border-radius:999px; padding:10px 16px; font-size:16px; color:var(--text);}
.admin-search input:focus{outline:none; border-color:var(--teal);}

.admin-panel{background:var(--surface); border:1px solid var(--line-soft); border-radius:var(--radius-m); padding:20px; margin-bottom:22px;}
.route-bar-row{display:flex; align-items:center; gap:10px; margin-bottom:12px; font-size:12.5px;}
.route-bar-row:last-child{margin-bottom:0;}
.route-bar-label{flex-shrink:0; width:150px; color:var(--muted); white-space:nowrap; overflow:hidden; text-overflow:ellipsis;}
.route-bar-track{flex:1; height:8px; background:var(--surface-2); border-radius:6px; overflow:hidden;}
.route-bar-fill{height:100%; background:linear-gradient(90deg,var(--teal),var(--teal-l)); border-radius:6px;}
.route-bar-count{flex-shrink:0; font-family:var(--mono); font-weight:700; color:var(--text); width:22px; text-align:end;}

.msg-list{display:flex; flex-direction:column; gap:10px;}
.msg-item{padding:14px 16px; background:var(--surface-2); border-radius:12px; border:1px solid var(--line-soft);}
.msg-item-top{display:flex; justify-content:space-between; gap:10px; margin-bottom:6px; align-items:baseline;}
.msg-item-top b{font-size:13.5px;}
.msg-item-top span{font-size:11px; color:var(--muted-2); font-family:var(--mono); white-space:nowrap;}
.msg-item p{font-size:13px; color:var(--muted); line-height:1.6;}
.msg-item .email{font-size:11.5px; color:var(--teal-l); margin-bottom:4px; display:block;}

.faq-item{background:var(--surface); border:1px solid var(--line-soft); border-radius:var(--radius-m); margin-bottom:10px; overflow:hidden;}
.faq-q{display:flex; align-items:center; justify-content:space-between; gap:12px; padding:16px 18px; cursor:pointer; font-size:14.5px; font-weight:700;}
.faq-q svg{width:16px; height:16px; color:var(--teal-l); flex-shrink:0; transition:transform .25s;}
.faq-item.open .faq-q svg{transform:rotate(180deg);}
.faq-a{max-height:0; overflow:hidden; transition:max-height .3s ease;}
.faq-a p{padding:0 18px 16px; color:var(--muted); font-size:13.5px; line-height:1.7;}
.faq-item.open .faq-a{max-height:200px;}
@media(max-width:600px){ .admin-row{flex-direction:column; align-items:stretch;} }
.staff-link{margin-inline-start:10px; color:var(--muted-2); font-size:11.5px; opacity:.6;}
.staff-link:hover{opacity:1; color:var(--teal-l);}
