/* Real font files (not embedded base64, unlike the marketing homepage —
   this is a normal server-served multi-page app, so a shared cacheable
   file beats duplicating the font in every page). Same faces as the
   main site, so the portal reads as the same product, not a bolted-on
   utility tool. */
@font-face{
  font-family:'Plex Sans';font-style:normal;font-weight:400;font-display:swap;
  src:url('/fonts/plexsans-400.woff2') format('woff2');
}
@font-face{
  font-family:'Plex Sans';font-style:normal;font-weight:600;font-display:swap;
  src:url('/fonts/plexsans-600.woff2') format('woff2');
}
@font-face{
  font-family:'Plex Sans';font-style:normal;font-weight:700;font-display:swap;
  src:url('/fonts/plexsans-700.woff2') format('woff2');
}
@font-face{
  font-family:'Plex Mono';font-style:normal;font-weight:500;font-display:swap;
  src:url('/fonts/plexmono-500.woff2') format('woff2');
}

:root{
  --navy:#153E6E;
  --charcoal:#26282B;
  --white:#F7F9FB;
  --surface:#FFFFFF;
  --silver-1:#CBD4DD;
  --silver-2:#8C99A8;
  --accent-grad:linear-gradient(135deg,var(--silver-1),var(--silver-2));
  --line: rgba(38,40,43,.10);
  --line-strong: rgba(38,40,43,.20);
  --muted: rgba(38,40,43,.62);
  --shadow-sm:0 1px 2px rgba(38,40,43,.07);
  --shadow-md:0 14px 34px -16px rgba(38,40,43,.22);
  --radius-s:4px;
  --radius-m:8px;
  --radius-l:14px;
  --ease:cubic-bezier(.22,.61,.36,1);
  --dur-s:.25s;
  --maxw:1280px;
  color-scheme:light;
}
*,*::before,*::after{box-sizing:border-box;}
html,body{margin:0;padding:0;}
body{
  font-family:'Plex Sans',-apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif;
  background:var(--white);
  color:var(--charcoal);
  line-height:1.5;
}
a{color:inherit;}
.wrap{max-width:var(--maxw);margin:0 auto;padding:0 32px;}

/* header */
.portal-header{
  display:flex;align-items:center;justify-content:space-between;padding:20px 32px;border-bottom:1px solid var(--line);
  position:sticky;top:0;z-index:40;backdrop-filter:blur(14px);background:rgba(247,249,251,.82);
}
.portal-header .logo{display:flex;flex-direction:column;text-decoration:none;color:var(--navy);}
.portal-header .logo .name{font-weight:700;font-size:20px;letter-spacing:.02em;}
.portal-header .logo .tag{font-size:10px;letter-spacing:.14em;text-transform:uppercase;color:var(--muted);}
.portal-header nav{display:flex;gap:20px;align-items:center;font-size:14px;}
.portal-header nav a{display:inline-flex;align-items:center;gap:6px;text-decoration:none;color:var(--charcoal);}
.portal-header nav a svg{width:16px;height:16px;flex:none;}
.portal-header nav a:hover{color:var(--navy);}

/* language switcher */
.lang-switch{position:relative;}
.lang-btn{
  display:inline-flex;align-items:center;gap:6px;background:none;border:1px solid var(--line-strong);
  border-radius:var(--radius-s);padding:8px 12px;font-size:13px;font-weight:600;color:var(--navy);
  cursor:pointer;font-family:inherit;
}
.lang-btn svg{width:11px;height:11px;transition:transform var(--dur-s);}
.lang-switch.open .lang-btn svg{transform:rotate(180deg);}
.lang-menu{
  position:absolute;top:calc(100% + 6px);inset-inline-end:0;background:var(--surface);border:1px solid var(--line);
  border-radius:var(--radius-m);box-shadow:var(--shadow-md);min-width:140px;padding:6px;display:none;z-index:50;
}
.lang-switch.open .lang-menu{display:block;}
.lang-item{padding:9px 12px;font-size:13.5px;border-radius:var(--radius-s);cursor:pointer;color:var(--charcoal);}
.lang-item:hover{background:var(--white);}
.lang-item.active{color:var(--navy);font-weight:600;background:rgba(21,62,110,.06);}

/* auth icon badge */
.auth-icon{width:52px;height:52px;border-radius:50%;background:var(--accent-grad);display:flex;align-items:center;justify-content:center;margin-bottom:20px;}
.auth-icon svg{width:24px;height:24px;color:var(--navy);}

/* buttons */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:12px 22px;border-radius:var(--radius-m);font-size:14.5px;font-weight:600;text-decoration:none;border:1px solid transparent;cursor:pointer;transition:opacity var(--dur-s),background var(--dur-s),box-shadow var(--dur-s),transform var(--dur-s);}
.btn-primary{background:var(--navy);color:var(--white);box-shadow:var(--shadow-sm);}
.btn-primary:hover{box-shadow:0 14px 26px -10px rgba(21,62,110,.45);transform:translateY(-1px);}
.btn-primary:disabled{opacity:.6;cursor:default;}
.btn-ghost{background:transparent;color:var(--navy);border-color:var(--line-strong);}
.btn-ghost:hover{border-color:var(--navy);}
.btn-danger{background:transparent;color:#dc2626;border-color:#dc2626;}
.btn-danger:hover{background:#dc2626;color:#fff;}
.btn-block{width:100%;}

/* auth pages (login/signup) — split screen: navy brand panel + card */
.auth-shell{min-height:calc(100vh - 73px);display:grid;grid-template-columns:1fr 1fr;}
@media (max-width:860px){.auth-shell{grid-template-columns:1fr;}}

.auth-side{background:var(--navy);color:var(--white);display:flex;align-items:center;padding:60px;position:relative;overflow:hidden;}
.auth-side::before{
  content:"";position:absolute;inset:0;pointer-events:none;
  background:radial-gradient(110% 130% at 15% 100%, rgba(247,249,251,.07), transparent 55%);
}
@media (max-width:860px){.auth-side{padding:40px 28px;}}
.auth-side-inner{position:relative;z-index:1;max-width:440px;}
.auth-side-inner .nr-eyebrow{color:var(--silver-1);}
.auth-side-inner .nr-eyebrow::before{background:var(--silver-1);}
.auth-side-inner h2{font-size:clamp(24px,2.6vw,32px);margin:14px 0 14px;line-height:1.25;}
.auth-side-inner p{color:rgba(247,249,251,.72);font-size:15px;line-height:1.7;margin:0 0 28px;}
.auth-points{display:flex;flex-direction:column;gap:16px;}
.auth-point{display:flex;align-items:center;gap:12px;font-size:14px;color:rgba(247,249,251,.9);}
.auth-point .dot{width:8px;height:8px;border-radius:50%;background:var(--accent-grad);flex:none;}

.auth-card-wrap{display:flex;align-items:center;justify-content:center;padding:48px 24px;}
.auth-card{width:100%;max-width:460px;background:var(--surface);border:1px solid var(--line);border-radius:var(--radius-l);box-shadow:var(--shadow-md);padding:40px 36px;}
.auth-card h1{font-size:24px;margin:0 0 8px;color:var(--navy);}
.auth-card p.sub{margin:0 0 28px;color:var(--muted);font-size:14.5px;}
.auth-card .switch{margin-top:22px;font-size:14px;color:var(--muted);text-align:center;}
.auth-card .switch a{color:var(--navy);font-weight:600;text-decoration:none;}
.auth-card .switch a:hover{text-decoration:underline;}

/* form fields */
.field{display:flex;flex-direction:column;gap:8px;margin-bottom:16px;}
.field label{font-size:12.5px;font-weight:600;color:var(--navy);}
.field input,.field select,.field textarea{
  font-family:inherit;font-size:14.5px;padding:11px 14px;border:1px solid var(--line-strong);
  border-radius:var(--radius-s);background:var(--surface);color:var(--charcoal);
}
.field input:focus,.field select:focus,.field textarea:focus{border-color:var(--navy);outline:none;}
.field input:disabled{background:var(--line-strong);color:var(--muted);cursor:not-allowed;}
.field-check{display:flex;align-items:center;gap:8px;margin-top:2px;}
.field-check input{width:auto;flex:none;}
.field-check label{font-size:12.5px;font-weight:500;color:var(--muted);}
.form-row{display:grid;grid-template-columns:1fr 1fr;gap:16px;}
@media (max-width:520px){.form-row{grid-template-columns:1fr;}}
.form-error{background:rgba(196,60,60,.08);border:1px solid rgba(196,60,60,.3);color:#8a2626;padding:10px 14px;border-radius:var(--radius-s);font-size:13.5px;margin-bottom:16px;display:none;}
.form-error.show{display:block;}
.form-success{color:#1a7a4c;font-size:13.5px;font-weight:600;}

/* dashboard */
.dash-hero-wrap{max-width:1180px;margin:0 auto;padding:28px 20px 8px;}
@media (max-width:860px){.dash-hero-wrap{padding:18px 14px 4px;}}
.dash-hero{background:var(--navy);color:var(--white);border-radius:32px;box-shadow:0 40px 90px -30px rgba(11,30,53,.4);position:relative;overflow:hidden;padding:48px 44px;}
@media (max-width:600px){.dash-hero{border-radius:22px;padding:36px 28px;}}
.dash-hero::before{
  content:"";position:absolute;inset:0;pointer-events:none;
  background:radial-gradient(110% 130% at 85% 100%, rgba(247,249,251,.06), transparent 55%);
}
.dash-hero-inner{position:relative;z-index:1;}
.dash-header h1{font-size:clamp(26px,3vw,34px);margin:12px 0 6px;color:var(--white);line-height:1.15;}
.dash-header p{margin:0;color:rgba(247,249,251,.72);font-size:15px;}
.order-card{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius-l);box-shadow:var(--shadow-sm);padding:28px;margin-bottom:24px;transition:box-shadow var(--dur-s);}
.order-card:hover{box-shadow:0 20px 40px -22px rgba(21,62,110,.3);}
.order-card h2{font-size:18px;margin:0 0 18px;color:var(--charcoal);}

.stage-track{display:flex;flex-wrap:wrap;gap:0;margin-bottom:28px;}
.stage-step{flex:1;min-width:110px;text-align:center;padding:0 6px;position:relative;}
.stage-step .dot{width:13px;height:13px;border-radius:50%;background:var(--line-strong);margin:0 auto 8px;position:relative;z-index:1;transition:box-shadow var(--dur-s);}
.stage-step.done .dot{background:var(--navy);}
.stage-step.current .dot{background:var(--navy);box-shadow:0 0 0 5px rgba(21,62,110,.16);}
.stage-step .label{font-family:'Plex Mono',monospace;font-size:11px;color:var(--muted);text-transform:uppercase;letter-spacing:.04em;}
.stage-step.done .label,.stage-step.current .label{color:var(--navy);font-weight:600;}
.stage-step::before{content:'';position:absolute;top:5.5px;left:-50%;width:100%;height:3px;border-radius:2px;background:var(--line-strong);z-index:0;}
.stage-step:first-child::before{display:none;}
.stage-step.done::before{background:var(--accent-grad);}

/* the horizontal connector line assumes every step sits in one row — once
   the track wraps to multiple rows on a narrow screen, each wrapped row's
   first step still tries to draw a line back to the "previous" step, which
   is now above it rather than beside it, so the line sticks out past the
   card edge. Below this width, stack the steps vertically instead, with the
   connector running down between each dot rather than sideways. */
@media (max-width:600px){
  .stage-track{flex-direction:column;flex-wrap:nowrap;gap:0;}
  .stage-step{flex:none;min-width:0;text-align:left;padding:0 0 22px 30px;}
  .stage-step .dot{position:absolute;left:0;top:1px;margin:0;}
  .stage-step .label{padding-top:0;}
  .stage-step::before{display:none;}
  .stage-step::after{content:'';position:absolute;top:14.5px;left:5.5px;width:3px;bottom:0;border-radius:2px;background:var(--line-strong);z-index:0;}
  .stage-step.done::after{background:var(--accent-grad);}
  .stage-step:last-child::after{display:none;}
  html[dir="rtl"] .stage-step{text-align:right;padding:0 30px 22px 0;}
  html[dir="rtl"] .stage-step .dot{left:auto;right:0;}
  html[dir="rtl"] .stage-step::after{left:auto;right:5.5px;}
}

.timeline{border-top:1px solid var(--line);padding-top:20px;}
.timeline-item{display:flex;gap:14px;padding:14px 0;border-bottom:1px solid var(--line);}
.timeline-item:last-child{border-bottom:none;}
.timeline-item .tdot{width:8px;height:8px;border-radius:50%;background:var(--silver-2);margin-top:6px;flex:none;}
.timeline-item .tbody{flex:1;}
.timeline-item .tmeta{font-family:'Plex Mono',monospace;font-size:11.5px;color:var(--muted);margin-bottom:4px;}
.timeline-item .tmsg{font-size:14.5px;}
.timeline-item a.tlink{color:var(--navy);font-weight:600;text-decoration:none;}
.timeline-item a.tlink:hover{text-decoration:underline;}
.timeline-item.is-reply .tbody{background:rgba(21,62,110,.045);border-radius:var(--radius-m);padding:10px 14px;margin:-10px -14px;}
.timeline-item.is-reply .tdot{background:var(--accent-grad);}
.treply-tag{font-family:'Plex Mono',monospace;font-size:10.5px;color:var(--navy);text-transform:uppercase;letter-spacing:.05em;font-weight:700;}

.empty-state{color:var(--muted);font-size:14.5px;padding:24px 0;}

/* customer dashboard nav */
.dash-layout{display:grid;grid-template-columns:220px 1fr;gap:28px;align-items:start;}
@media (max-width:760px){.dash-layout{grid-template-columns:1fr;}}
.dash-nav{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius-l);box-shadow:var(--shadow-sm);padding:8px;display:flex;flex-direction:column;gap:2px;}
@media (max-width:760px){.dash-nav{flex-direction:row;}}
.dash-nav-item{width:100%;text-align:left;background:none;border:none;border-radius:var(--radius-m);padding:12px 14px;font-size:14.5px;font-weight:600;color:var(--muted);cursor:pointer;font-family:inherit;transition:background var(--dur-s),color var(--dur-s);}
.dash-nav-item:hover{background:rgba(21,62,110,.05);color:var(--navy);}
.dash-nav-item.active{background:rgba(21,62,110,.08);color:var(--navy);}
.dash-view{display:none;}
.dash-view.active{display:block;}
.order-ref-link{background:none;border:none;padding:0;margin:0;font:inherit;color:inherit;cursor:pointer;text-align:left;}
.order-ref-link:hover{color:var(--navy);text-decoration:underline;}

/* admin panel */
.tab-bar{display:flex;gap:4px;border-bottom:1px solid var(--line);margin-bottom:28px;}
.tab-btn{background:none;border:none;padding:12px 18px;font-size:14.5px;font-weight:600;color:var(--muted);cursor:pointer;border-bottom:2px solid transparent;margin-bottom:-1px;transition:color var(--dur-s);}
.tab-btn:hover{color:var(--navy);}
.tab-btn.active{color:var(--navy);border-bottom-color:transparent;position:relative;}
.tab-btn.active::after{content:"";position:absolute;left:18px;right:18px;bottom:-2px;height:2px;background:var(--accent-grad);border-radius:2px;}
.unread-badge{display:inline-flex;align-items:center;justify-content:center;min-width:18px;height:18px;padding:0 5px;margin-inline-start:6px;border-radius:9px;background:#dc2626;color:#fff;font-size:11px;font-weight:700;line-height:18px;vertical-align:middle;}

.publish-bar{display:flex;align-items:center;justify-content:space-between;gap:16px;background:#fff8e6;border:1px solid #f0d99a;border-radius:var(--radius-m);padding:14px 18px;margin-bottom:20px;flex-wrap:wrap;}
.publish-bar strong{display:block;font-size:14px;color:var(--charcoal);}
.publish-bar .publish-status{font-size:12.5px;color:var(--muted);margin-top:3px;}
.publish-bar .publish-status.pending{color:#b45309;font-weight:700;}
.publish-bar .btn{flex:none;}
@media (max-width:600px){.publish-bar{flex-direction:column;align-items:stretch;}}
.unread-badge[hidden]{display:none;}
.tab-panel{display:none;}
.tab-panel.active{display:block;}

.admin-layout{display:grid;grid-template-columns:300px 1fr;gap:28px;align-items:start;}
@media (max-width:860px){.admin-layout{grid-template-columns:1fr;}}
.customer-list{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius-l);overflow:hidden;}
.customer-item{display:flex;align-items:center;gap:12px;width:100%;text-align:left;background:none;border:none;border-bottom:1px solid var(--line);padding:14px 18px;cursor:pointer;font-family:inherit;transition:background var(--dur-s);}
.customer-item:last-child{border-bottom:none;}
.customer-item:hover{background:var(--white);}
.customer-item.active{background:rgba(21,62,110,.06);border-inline-start:3px solid var(--navy);}
.c-avatar{width:38px;height:38px;border-radius:50%;background:var(--accent-grad);color:var(--navy);display:flex;align-items:center;justify-content:center;font-weight:700;font-size:13px;flex:none;}
.customer-item .cbody{min-width:0;}
.customer-item .cname{font-weight:600;font-size:14.5px;color:var(--charcoal);}
.customer-item .corg{font-size:12.5px;color:var(--muted);margin-top:2px;}

.table{width:100%;border-collapse:collapse;background:var(--surface);border:1px solid var(--line);border-radius:var(--radius-l);overflow:hidden;}
.table th,.table td{text-align:left;padding:12px 16px;font-size:13.5px;border-bottom:1px solid var(--line);vertical-align:top;}
.table th{background:var(--white);color:var(--muted);font-weight:600;text-transform:uppercase;font-size:11px;letter-spacing:.04em;}
.table tr:last-child td{border-bottom:none;}

.update-form{display:flex;flex-direction:column;gap:12px;margin-top:20px;padding-top:20px;border-top:1px solid var(--line);}
.update-form .row{display:flex;gap:10px;flex-wrap:wrap;}
.update-form select,.update-form input,.update-form textarea{font-family:inherit;font-size:13.5px;padding:9px 12px;border:1px solid var(--line-strong);border-radius:var(--radius-s);flex:1;min-width:160px;}
.btn-sm{padding:9px 16px;font-size:13.5px;}
.kind-toggle{display:flex;gap:6px;}
.kind-toggle button{padding:8px 14px;font-size:13px;border:1px solid var(--line-strong);background:var(--surface);border-radius:var(--radius-s);cursor:pointer;}
.kind-toggle button.active{background:var(--navy);color:var(--white);border-color:var(--navy);}

/* news */
.portal-header.nr-sticky{position:sticky;top:0;z-index:40;backdrop-filter:blur(14px);background:rgba(247,249,251,.82);}

.nr-hero-wrap{max-width:1180px;margin:0 auto;padding:28px 20px 8px;}
@media (max-width:860px){.nr-hero-wrap{padding:18px 14px 4px;}}

.newsroom-hero{background:var(--navy);color:var(--white);overflow:hidden;position:relative;border-radius:32px;box-shadow:0 40px 90px -30px rgba(11,30,53,.4);}
@media (max-width:600px){.newsroom-hero{border-radius:22px;}}
.newsroom-hero::before{
  content:"";position:absolute;inset:0;pointer-events:none;
  background:radial-gradient(110% 130% at 85% 100%, rgba(247,249,251,.06), transparent 55%);
}
.newsroom-hero-inner{
  max-width:1140px;margin:0 auto;padding:56px 32px 48px;position:relative;z-index:1;
}
@media (max-width:860px){.newsroom-hero-inner{padding:44px 24px 36px;}}
.nr-hero-text{max-width:640px;margin-bottom:32px;}
.nr-eyebrow{font-size:12px;color:var(--silver-1);margin-bottom:16px;display:flex;align-items:center;gap:10px;font-weight:600;text-transform:uppercase;letter-spacing:.06em;}
.nr-eyebrow::before{content:"";width:22px;height:1px;background:var(--silver-1);display:inline-block;}
.newsroom-hero h1{font-size:clamp(30px,3.6vw,44px);margin:0 0 14px;line-height:1.1;}
.newsroom-hero p{margin:0;color:rgba(247,249,251,.72);font-size:15.5px;line-height:1.7;max-width:60ch;}

.nr-carousel{position:relative;width:100%;aspect-ratio:2.35/1;border-radius:var(--radius-l);overflow:hidden;box-shadow:0 30px 60px -20px rgba(8,20,38,.45);border:1px solid rgba(247,249,251,.12);}
@media (max-width:700px){.nr-carousel{aspect-ratio:4/3;}}
.nr-slide{position:absolute;inset:0;opacity:0;transition:opacity 1s var(--ease);background-size:cover;background-position:center;}
.nr-slide.active{opacity:1;}
.nr-slide-fallback{
  background:
    repeating-linear-gradient(115deg, rgba(247,249,251,.08) 0, rgba(247,249,251,.08) 2px, transparent 2px, transparent 40px),
    linear-gradient(160deg,#0d3050 0%,var(--navy) 100%);
}
.nr-slide-caption{position:absolute;left:0;right:0;bottom:0;padding:28px 32px;background:linear-gradient(to top, rgba(8,20,38,.85), transparent);}
.nr-slide-date{font-family:'Plex Mono',monospace;font-size:11.5px;text-transform:uppercase;letter-spacing:.05em;color:rgba(247,249,251,.65);margin-bottom:8px;}
.nr-slide-title{font-size:clamp(18px,2.2vw,26px);font-weight:600;color:var(--white);line-height:1.35;max-width:70ch;}
.nr-dots{position:absolute;bottom:16px;right:18px;display:flex;gap:6px;z-index:2;}
.nr-dot{width:7px;height:7px;border-radius:50%;background:rgba(247,249,251,.4);border:none;padding:0;cursor:pointer;transition:width var(--dur-s),background var(--dur-s);}
.nr-dot.active{width:18px;border-radius:4px;background:var(--white);}

.nr-trust{max-width:1140px;margin:0 auto;padding:22px 32px 0;display:flex;flex-wrap:wrap;gap:14px;}
@media (max-width:860px){.nr-trust{padding:22px 24px 0;}}
.nr-trust-pill{background:var(--surface);border:1px solid var(--line);color:var(--navy);padding:12px 16px;border-radius:999px;box-shadow:var(--shadow-sm);font-size:13.5px;font-weight:600;}
.nr-trust-pill small{opacity:.65;font-weight:500;margin-inline-start:6px;}

.nr-section-head{max-width:1140px;margin:0 auto;padding:40px 32px 22px;display:flex;align-items:flex-end;justify-content:space-between;gap:16px;flex-wrap:wrap;}
@media (max-width:860px){.nr-section-head{padding:36px 24px 18px;}}
.nr-section-head h2{margin:0;font-size:24px;color:var(--navy);}
.nr-section-head p{margin:6px 0 0;color:var(--muted);font-size:14px;max-width:52ch;line-height:1.6;}
.nr-section-tag{padding:8px 14px;border-radius:999px;background:var(--surface);border:1px solid var(--line);color:var(--navy);font-weight:700;font-size:12px;white-space:nowrap;}

/* Masonry via multi-column instead of a fixed lead+stack grid — a short
   card's column keeps filling with the next post instead of leaving a
   gap beside a taller neighboring card. break-inside keeps each card
   from being split across columns. */
.news-masonry{column-count:2;column-gap:24px;max-width:1140px;margin:0 auto;padding:28px 32px 72px;}
@media (max-width:860px){.news-masonry{column-count:1;padding:24px 24px 64px;}}
.news-card{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius-l);box-shadow:var(--shadow-sm);overflow:hidden;transition:transform var(--dur-s) var(--ease),box-shadow var(--dur-s) var(--ease);break-inside:avoid;margin:0 0 24px;}
.news-card:hover{transform:translateY(-4px);box-shadow:0 22px 44px -22px rgba(21,62,110,.38);}
.news-cover{position:relative;}
.news-card img{width:100%;display:block;aspect-ratio:16/9;object-fit:cover;background:var(--white);}
.news-card.nr-lead .news-cover img,.news-card.nr-lead .news-card-noimg-header{aspect-ratio:16/10;}
.news-card-noimg-header{
  aspect-ratio:16/9;position:relative;
  background:
    repeating-linear-gradient(115deg, rgba(247,249,251,.07) 0, rgba(247,249,251,.07) 2px, transparent 2px, transparent 40px),
    var(--navy);
}
.news-card-noimg-header::after{
  content:"BURHAN";position:absolute;right:22px;bottom:16px;
  font-family:'Plex Mono',monospace;font-weight:600;font-size:13px;letter-spacing:.08em;
  color:rgba(247,249,251,.32);
}
.nr-cover-badge{
  position:absolute;left:16px;top:16px;z-index:2;
  display:inline-flex;align-items:center;gap:8px;padding:8px 13px;border-radius:999px;
  background:rgba(255,255,255,.94);color:var(--navy);font-size:11px;font-weight:700;
  box-shadow:0 10px 20px -6px rgba(11,30,53,.3);
}
.nr-cover-badge .nr-pulse{width:7px;height:7px;border-radius:50%;background:var(--navy);}
.news-card-body{padding:26px 28px;}
.news-card.nr-lead .news-card-body{padding:30px 32px;}
.news-card.nr-lead .news-card-body h2{font-size:27px;}
.news-card .ndate{font-family:'Plex Mono',monospace;font-size:11.5px;color:var(--muted);text-transform:uppercase;letter-spacing:.04em;margin-bottom:8px;display:flex;align-items:center;flex-wrap:wrap;gap:10px;}
.news-card h2{font-size:20px;margin:0 0 12px;color:var(--navy);}
.news-card .nbody{font-size:15px;line-height:1.65;color:var(--charcoal);white-space:pre-line;}

/* a post with two photos gets a flippable gallery instead of the plain
   <img> — same box/aspect-ratio, so the layout doesn't shift either way */
.news-gallery{position:relative;aspect-ratio:16/9;overflow:hidden;}
.news-card.nr-lead .news-gallery{aspect-ratio:16/10;}
.news-gallery .ng-img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:0;transition:opacity .35s ease;}
.news-gallery .ng-img.active{opacity:1;}
.ng-arrow{position:absolute;top:50%;transform:translateY(-50%);z-index:2;width:32px;height:32px;border-radius:50%;border:1px solid rgba(21,62,110,.14);background:rgba(255,255,255,.75);backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);display:flex;align-items:center;justify-content:center;cursor:pointer;color:var(--navy);padding:0;transition:background var(--dur-s);}
.ng-arrow:hover{background:rgba(255,255,255,.95);}
.ng-arrow svg{width:15px;height:15px;}
.ng-prev{left:10px;}
.ng-next{right:10px;}
html[dir="rtl"] .ng-prev{left:auto;right:10px;}
html[dir="rtl"] .ng-next{right:auto;left:10px;}
html[dir="rtl"] .ng-prev svg,html[dir="rtl"] .ng-next svg{transform:scaleX(-1);}
.ng-dots{position:absolute;bottom:10px;left:50%;transform:translateX(-50%);display:flex;gap:5px;z-index:2;}
.ng-dot{width:6px;height:6px;border-radius:50%;background:rgba(255,255,255,.6);border:none;padding:0;cursor:pointer;}
.ng-dot.active{background:#fff;}
.news-empty{max-width:760px;margin:0 auto;padding:64px 32px;text-align:center;color:var(--muted);}

/* admin: news tab */
.post-thumb{width:64px;height:64px;border-radius:var(--radius-s);object-fit:cover;flex:none;background:var(--white);border:1px solid var(--line);}
.post-row{display:flex;gap:14px;padding:16px 0;border-bottom:1px solid var(--line);align-items:flex-start;}
.post-row:last-child{border-bottom:none;}
.post-row .prow-body{flex:1;min-width:0;}
.post-row h3{margin:0 0 4px;font-size:15px;color:var(--charcoal);}
.post-row .pmeta{font-size:12px;color:var(--muted);margin-bottom:6px;}
.post-row .pactions{display:flex;gap:8px;margin-top:8px;}
.status-pill{display:inline-flex;align-items:center;padding:2px 8px;border-radius:20px;font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:.03em;}
.status-pill.published{background:rgba(21,62,110,.1);color:var(--navy);}
.status-pill.draft{background:rgba(38,40,43,.08);color:var(--muted);}
.image-preview{width:100%;max-width:220px;border-radius:var(--radius-s);display:none;margin-top:10px;border:1px solid var(--line);}
.image-preview.show{display:block;}
.focal-picker{position:relative;display:inline-block;max-width:220px;}
.focal-picker .image-preview{cursor:crosshair;}
.focal-marker{position:absolute;left:50%;top:50%;width:22px;height:22px;margin:-11px 0 0 -11px;border-radius:50%;border:2px solid #fff;background:rgba(21,62,110,.4);box-shadow:0 0 0 1.5px var(--navy),0 2px 6px rgba(0,0,0,.35);display:none;pointer-events:none;}
.focal-marker.show{display:block;}
.focal-hint{color:var(--muted);font-size:12px;margin:6px 0 0;}

/* admin: product division photos */
.cat-photo-row{border:1px solid var(--line);border-radius:var(--radius-m);padding:16px 18px;margin-bottom:12px;}
.cat-photo-row-head{display:flex;align-items:baseline;gap:10px;margin-bottom:12px;}
.cat-photo-index{font-family:'Plex Mono',monospace;font-size:12px;color:var(--muted);}
.cat-photo-row-head strong{font-size:14.5px;color:var(--charcoal);}
.cat-photo-thumbs{display:flex;flex-wrap:wrap;align-items:flex-start;gap:12px;}
.cat-photo-item{position:relative;display:flex;flex-direction:column;gap:6px;width:112px;flex:none;}
.cat-photo-thumb{position:relative;width:112px;height:84px;flex:none;}
.cat-photo-thumb img{width:100%;height:100%;object-fit:contain;background:#fff;border-radius:var(--radius-s);border:1px solid var(--line);display:block;}
.cat-photo-thumb .cpt-actions{position:absolute;inset:0;background:rgba(15,32,55,.72);border-radius:var(--radius-s);opacity:0;transition:opacity .15s;display:flex;align-items:center;justify-content:center;gap:4px;}
.cat-photo-thumb:hover .cpt-actions,.cat-photo-thumb:focus-within .cpt-actions{opacity:1;}
.cat-photo-thumb .cpt-actions button{width:24px;height:24px;border:none;border-radius:5px;background:rgba(255,255,255,.16);color:#fff;font-size:12px;line-height:1;cursor:pointer;}
.cat-photo-thumb .cpt-actions button:hover{background:rgba(255,255,255,.3);}
.cat-photo-thumb .cpt-actions button:disabled{opacity:.35;cursor:not-allowed;}
.cat-photo-lang-tabs{display:flex;gap:3px;}
.cpt-lang-tab{flex:1;padding:3px 0;border:1px solid var(--line);border-radius:4px;background:var(--white);color:var(--muted);font-size:10.5px;font-weight:600;cursor:pointer;letter-spacing:.02em;}
.cpt-lang-tab:hover{color:var(--charcoal);}
.cpt-lang-tab.active{background:var(--navy);border-color:var(--navy);color:#fff;}
.cat-photo-name-input{width:100%;font-family:inherit;font-size:11px;font-weight:700;padding:5px 7px;border:1px solid var(--line-strong);border-radius:5px;color:var(--navy);}
.cat-photo-caption-input{width:100%;font-family:inherit;font-size:11px;padding:5px 7px;border:1px solid var(--line-strong);border-radius:5px;resize:vertical;line-height:1.4;transition:width .15s,box-shadow .15s;}
.cat-photo-caption-input:focus{position:absolute;bottom:0;left:0;width:260px;z-index:5;background:#fff;box-shadow:0 6px 18px rgba(15,32,55,.22);}
.cat-photo-add{width:112px;height:84px;flex:none;border:1.5px dashed var(--line-strong);border-radius:var(--radius-s);display:flex;align-items:center;justify-content:center;font-size:12px;color:var(--muted);cursor:pointer;text-align:center;line-height:1.3;padding:6px;transition:border-color .15s,color .15s;}
.cat-photo-add:hover{border-color:var(--navy);color:var(--navy);}
.cat-photo-add.uploading{opacity:.6;pointer-events:none;}

/* admin: site content editor */
.content-row{border:1px solid var(--line);border-radius:var(--radius-m);padding:14px 16px;margin-bottom:12px;}
.content-row.overridden{border-color:rgba(21,62,110,.35);background:rgba(21,62,110,.03);}
.content-row-head{display:flex;align-items:center;justify-content:space-between;gap:10px;flex-wrap:wrap;margin-bottom:10px;}
.content-key{font-family:'Plex Mono',monospace;font-size:12.5px;color:var(--muted);display:flex;align-items:center;gap:8px;}
.content-langs{display:grid;grid-template-columns:repeat(4,1fr);gap:8px;}
@media (max-width:760px){.content-langs{grid-template-columns:repeat(2,1fr);}}
@media (max-width:480px){.content-langs{grid-template-columns:1fr;}}
.content-lang-field{display:flex;flex-direction:column;gap:4px;}
.content-lang-field label{font-family:'Plex Mono',monospace;font-size:10.5px;color:var(--muted);text-transform:uppercase;letter-spacing:.05em;}
.content-lang-field textarea{font-family:inherit;font-size:13px;padding:8px 10px;border:1px solid var(--line-strong);border-radius:var(--radius-s);resize:vertical;}
