/* =========================================================
   المؤسسة العامة للخطوط الحديدية السورية — Design System
   Palette:
   --green-deep  #0F3D2E  (emblem green)
   --green-mid   #17573F
   --gold        #C9A24B  (emblem gold)
   --gold-light  #E7D19B
   --sand        #F6F2E7  (background)
   --ink         #14201B  (near-black text)
   --red-flag    #A93226  (new flag stars — sparse accent)
   Type:
   Display: 'Cairo' (bold geometric — institutional)
   Body:    'Tajawal'
   Signature element: the "rail-tie" divider — a horizontal line
   crossed by short perpendicular ties, used as section separator
   ========================================================= */

:root{
  --green-deep:#0F3D2E;
  --green-mid:#17573F;
  --green-pale:#E7F0EA;
  --gold:#C9A24B;
  --gold-light:#E7D19B;
  --sand:#F6F2E7;
  --ink:#14201B;
  --red-flag:#A93226;
  --white:#FFFFFF;
  --radius:6px;
  --shadow:0 8px 24px rgba(15,61,46,.10);
  --font-display:'Cairo', 'Segoe UI', sans-serif;
  --font-body:'Tajawal', 'Segoe UI', sans-serif;
}

*{box-sizing:border-box;}
html{scroll-behavior:smooth;}
body{
  font-family:var(--font-body);
  background:var(--sand);
  color:var(--ink);
  margin:0;
  line-height:1.7;
}
h1,h2,h3,h4,h5,.display-font{
  font-family:var(--font-display);
  font-weight:800;
  color:var(--green-deep);
}
a{text-decoration:none;color:inherit;}
img{max-width:100%;display:block;}

@media (prefers-reduced-motion: reduce){
  *{animation:none !important; transition:none !important;}
}

/* ---------- Rail-tie divider (signature element) ---------- */
.rail-divider{
  position:relative;
  height:14px;
  margin:0 auto;
  background-image:repeating-linear-gradient(
    to left,
    var(--gold) 0 3px,
    transparent 3px 26px
  );
  background-position:center 0;
  background-repeat:repeat-x;
  background-size:100% 3px;
}
.rail-divider::before{
  content:"";
  position:absolute; inset:0;
  background-image:repeating-linear-gradient(
    to left, var(--gold-light) 0 6px, transparent 6px 26px
  );
  height:14px;
  top:0;
}
.rail-divider--wide{height:18px;}

.section-title{
  display:flex; align-items:center; gap:14px;
  margin-bottom:28px;
}
.section-title .track-rule{
  flex:1;
  height:2px;
  background:repeating-linear-gradient(to left, var(--green-mid) 0 8px, transparent 8px 14px);
}
.section-title h2{margin:0; white-space:nowrap; font-size:1.7rem;}
.eyebrow{
  color:var(--red-flag);
  font-weight:800;
  letter-spacing:.5px;
  font-size:.8rem;
  text-transform:uppercase;
}

/* ---------- Blueprint texture (signature backdrop) ---------- */
body{
  background-color:var(--sand);
  background-image:
    linear-gradient(rgba(15,61,46,.035) 1px, transparent 1px),
    linear-gradient(90deg, rgba(15,61,46,.035) 1px, transparent 1px);
  background-size:34px 34px;
}

/* ---------- Destination-board ticker (signature element) ---------- */
.ticker{
  display:flex; align-items:stretch;
  background:var(--ink);
  border-top:1px solid rgba(201,162,75,.35);
  border-bottom:2px solid var(--gold);
  overflow:hidden;
}
.ticker-label{
  flex-shrink:0;
  background:var(--red-flag);
  color:#fff;
  font-family:var(--font-display);
  font-weight:800;
  font-size:.78rem;
  display:flex; align-items:center; gap:6px;
  padding:0 16px;
  letter-spacing:.4px;
}
.ticker-track-wrap{flex:1; overflow:hidden; position:relative;}
.ticker-track{
  display:flex; align-items:center; gap:22px;
  white-space:nowrap;
  padding:0 20px;
  animation:srr-ticker-scroll 38s linear infinite;
  font-family:'Cairo', sans-serif;
  font-weight:600;
  font-size:.82rem;
  color:var(--gold-light);
}
.ticker-item{display:inline-block; color:inherit; text-decoration:none;}
.ticker-item:hover{color:var(--gold); text-decoration:underline;}
.ticker-sep{color:var(--gold); opacity:.6; font-size:.6rem;}
@keyframes srr-ticker-scroll{
  from{ transform:translateX(0); }
  to{ transform:translateX(-50%); }
}
html[dir="rtl"] .ticker-track{ animation-direction:reverse; }
.ticker-track-wrap:hover .ticker-track{ animation-play-state:paused; }
@media (prefers-reduced-motion: reduce){
  .ticker-track{ animation:none; overflow-x:auto; }
}
@media (max-width:576px){
  .ticker-label{font-size:.68rem; padding:0 10px;}
  .ticker-track{font-size:.74rem;}
}

/* ---------- Section title: rail-curve underline instead of plain bar ---------- */
.section-title{position:relative;}
.section-title h2{position:relative; padding-bottom:6px;}
.section-title h2::after{
  content:"";
  position:absolute; bottom:-4px; right:0;
  width:56px; height:8px;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 56 8'%3E%3Cpath d='M0 6 Q14 0 28 6 T56 6' fill='none' stroke='%23C9A24B' stroke-width='2.4' stroke-linecap='round'/%3E%3C/svg%3E");
  background-repeat:no-repeat;
}
html[dir="ltr"] .section-title h2::after{ right:auto; left:0; }

/* ---------- Top utility bar ---------- */
.topbar{
  background:var(--ink);
  color:var(--gold-light);
  font-size:.82rem;
}
.topbar a{color:var(--gold-light); opacity:.9;}
.topbar a:hover{opacity:1; color:var(--gold);}
.topbar .lang-switch button{
  background:none;border:none;color:var(--gold-light);
  font-size:.82rem; padding:2px 8px;
}
.topbar .lang-switch button.active{color:var(--gold); font-weight:800;}

/* ---------- Main navbar ---------- */
.navbar-srr{
  background:var(--green-deep);
  padding:.6rem 0;
  box-shadow:var(--shadow);
}
.navbar-srr .navbar-brand{
  display:flex; align-items:center; gap:12px;
}
.navbar-srr .navbar-brand img{
  height:64px; width:64px; object-fit:contain;
}
.navbar-srr .brand-text{color:var(--gold-light); line-height:1.25;}
.navbar-srr .brand-text strong{color:var(--gold); font-family:var(--font-display); font-size:1.05rem; display:block;}
.navbar-srr .brand-text span{font-size:.72rem; opacity:.85;}

.navbar-srr .nav-link{
  color:var(--sand) !important;
  font-weight:700;
  padding:.55rem 1.1rem !important;
  position:relative;
  border-radius:50px;
  transition:background .15s ease, color .15s ease;
}
.navbar-srr .nav-link:hover{color:var(--gold) !important; background:rgba(255,255,255,.06);}
.navbar-srr .nav-link.active{
  color:var(--ink) !important;
  background:var(--gold);
}
.navbar-srr .nav-link.active:hover{ color:var(--ink) !important; }
.navbar-srr .nav-item.dropdown:hover .dropdown-menu{display:block; margin-top:0;}
.dropdown-menu{
  background:var(--white);
  border:none;
  border-top:3px solid var(--gold);
  border-radius:0 0 var(--radius) var(--radius);
  box-shadow:var(--shadow);
}
.dropdown-menu .dropdown-item{
  font-weight:600; color:var(--green-deep); padding:.55rem 1.2rem;
}
.dropdown-menu .dropdown-item:hover{background:var(--green-pale); color:var(--green-mid);}
.dropdown-menu .dropdown-item.weather-link{color:var(--red-flag);}

.btn-gold{
  background:var(--gold); border:1px solid var(--gold); color:var(--ink);
  font-weight:800; border-radius:50px; padding:.6rem 1.5rem;
  transition:transform .15s ease, box-shadow .15s ease, background .15s ease;
}
.btn-gold:hover{background:var(--gold-light); color:var(--ink); transform:translateY(-1px); box-shadow:0 8px 18px rgba(201,162,75,.35);}
.btn-outline-gold{
  background:transparent; border:1.5px solid var(--gold); color:var(--gold);
  font-weight:800; border-radius:50px; padding:.55rem 1.4rem;
  transition:transform .15s ease, background .15s ease;
}
.btn-outline-gold:hover{background:var(--gold); color:var(--ink); transform:translateY(-1px);}

/* زر "بيضاوي" بأسلوب حديث لروابط "اقرأ المزيد" / "عرض الكل" مع سهم */
.btn-pill-arrow{
  display:inline-flex; align-items:center; gap:8px;
  background:var(--white); border:1.5px solid var(--green-mid); color:var(--green-mid);
  font-weight:800; font-size:.85rem; border-radius:50px; padding:.5rem 1.2rem;
  transition:all .15s ease; white-space:nowrap;
}
.btn-pill-arrow:hover{ background:var(--green-mid); color:var(--white); }
.btn-pill-arrow i{ transition:transform .15s ease; }
.btn-pill-arrow:hover i{ transform:translateX(-3px); }
html[dir="ltr"] .btn-pill-arrow:hover i{ transform:translateX(3px); }
.btn-pill-arrow.dark{ background:var(--ink); border-color:var(--ink); color:var(--gold-light); }
.btn-pill-arrow.dark:hover{ background:#000; }

/* ---------- Hero ---------- */
.hero{
  position:relative;
  background:linear-gradient(120deg, var(--green-deep) 0%, var(--green-mid) 60%, var(--green-deep) 100%);
  color:var(--sand);
  overflow:hidden;
  padding:80px 0 0;
}
.hero h1{
  color:var(--white);
  font-size:clamp(2rem, 4vw, 3.1rem);
  line-height:1.25;
}
.hero .lead-text{color:var(--gold-light); font-size:1.15rem; max-width:560px;}
.hero .hero-tracks{
  position:relative;
  height:26px;
  background-image:repeating-linear-gradient(to left, var(--gold) 0 4px, transparent 4px 30px);
  margin-top:60px;
  overflow:hidden;
}
.hero .hero-tracks::before{
  /* the two steel rails riding above the sleepers */
  content:"";
  position:absolute; left:0; right:0; top:4px; height:2px;
  background:rgba(247,244,236,.55);
  box-shadow:0 14px 0 rgba(247,244,236,.55);
}
.hero .hero-train{
  position:absolute; bottom:2px; right:-140px;
  width:120px; opacity:.92;
  animation:srr-train-move 16s linear infinite;
}
@keyframes srr-train-move{
  from{ transform:translateX(0); }
  to{ transform:translateX(calc(-100vw - 200px)); }
}
html[dir="ltr"] .hero .hero-train{ right:auto; left:-140px; transform:scaleX(-1); }
html[dir="ltr"] .hero .hero-train{ animation-name:srr-train-move-ltr; }
@keyframes srr-train-move-ltr{
  from{ transform:scaleX(-1) translateX(0); }
  to{ transform:scaleX(-1) translateX(calc(100vw + 200px)); }
}
@media (prefers-reduced-motion: reduce){
  .hero .hero-train{ animation:none; right:20px; }
}
@media (max-width:768px){ .hero .hero-train{ display:none; } }
.hero-stat{
  background:rgba(255,255,255,.06);
  border:1px solid rgba(201,162,75,.35);
  border-radius:var(--radius);
  padding:16px 18px;
}
.hero-stat .num{font-family:var(--font-display); font-weight:800; font-size:1.9rem; color:var(--gold);}
.hero-stat .label{font-size:.82rem; color:var(--gold-light);}

/* ---------- Cards ---------- */
.card-srr{
  background:var(--white);
  border-radius:20px;
  overflow:hidden;
  box-shadow:var(--shadow);
  border:1px solid #e7e0cc;
  height:100%;
  position:relative;
  transition:transform .2s ease, box-shadow .2s ease;
}
.card-srr:hover{transform:translateY(-5px); box-shadow:0 16px 34px rgba(15,61,46,.18);}
/* بطاقات المناقصات مكدّسة رأسياً ضمن عمود واحد (#tendersList) وليست كل بطاقة
   في عمود شبكة منفصل كما في الصفحة الرئيسية/الأخبار، لذلك يجب ألا ترث
   height:100% (التي تسبب امتداد كل بطاقة لملء ارتفاع الحاوية بالكامل،
   وينتج عنه فراغ فارغ ضخم داخل البطاقة وتراكب ظاهري مع الفوتر). */
#tendersList .card-srr{height:auto;}
.card-srr .thumb{border-radius:20px 20px 0 0;}
.card-srr .thumb{height:190px; overflow:hidden; position:relative; background:var(--green-pale);}
.card-srr .thumb img{width:100%; height:100%; object-fit:cover; transition:transform .3s ease;}
.card-srr:hover .thumb img{ transform:scale(1.05); }
.card-srr .date-badge{
  position:absolute; top:12px; left:12px;
  background:rgba(20,32,27,.75); backdrop-filter:blur(2px); color:#fff;
  font-size:.7rem; font-weight:700;
  padding:4px 12px; border-radius:50px;
}
html[dir="ltr"] .card-srr .date-badge{ left:auto; right:12px; }
.card-srr .cat-badge{
  position:absolute; bottom:12px; right:12px;
  background:var(--red-flag); color:#fff;
  font-size:.72rem; font-weight:800;
  padding:4px 12px; border-radius:50px;
}
html[dir="ltr"] .card-srr .cat-badge{ right:auto; left:12px; }
.card-srr .body{padding:16px 18px;}
.card-srr .body h3{font-size:1.05rem; margin:0 0 8px; line-height:1.4;}
.card-srr .meta{font-size:.78rem; color:#7a8a80; margin-bottom:8px;}
.card-srr .excerpt{font-size:.88rem; color:#3d4a43;}
.card-srr .stats{
  display:flex; gap:14px; font-size:.8rem; color:var(--green-mid);
  border-top:1px dashed #ddd3ae; margin-top:12px; padding-top:10px;
}

.tender-badge{font-size:.72rem; font-weight:800; padding:3px 10px; border-radius:3px;}
.tender-badge.internal{background:var(--green-pale); color:var(--green-mid);}
.tender-badge.external{background:var(--gold-light); color:#6b4f10;}
.tender-status{font-size:.75rem; font-weight:700;}
.tender-status.open{color:#1c7a4a;}
.tender-status.closed{color:var(--red-flag);}

/* ---------- Sidebar / filters ---------- */
.filter-box{
  background:var(--white); border:1px solid #e7e0cc; border-radius:var(--radius);
  padding:18px; box-shadow:var(--shadow);
}
.filter-box h5{font-size:1rem; margin-bottom:14px; display:flex; align-items:center; gap:8px;}
.filter-list{list-style:none; margin:0; padding:0;}
.filter-list li{border-bottom:1px dashed #e7e0cc;}
.filter-list li:last-child{border-bottom:none;}
.filter-list a{
  display:flex; justify-content:space-between; padding:10px 4px;
  font-weight:600; color:var(--ink); font-size:.92rem;
}
.filter-list a:hover, .filter-list a.active{color:var(--green-mid);}
.filter-list a.active{color:var(--red-flag); font-weight:800;}
.filter-list .badge-count{
  background:var(--green-pale); color:var(--green-mid); border-radius:10px;
  font-size:.72rem; padding:1px 8px;
}
.filter-list a.weather{color:var(--red-flag);}

.weather-widget{
  background:linear-gradient(135deg, var(--green-deep), var(--green-mid));
  color:var(--sand); border-radius:var(--radius); padding:18px; margin-top:16px;
}
.weather-widget .temp{font-family:var(--font-display); font-size:2.2rem; font-weight:800; color:var(--gold);}

/* ---------- About / departments ---------- */
.dept-card{
  border-right:4px solid var(--gold);
  background:var(--white); padding:18px 20px; border-radius:0 var(--radius) var(--radius) 0;
  box-shadow:var(--shadow); height:100%;
}
.timeline-strategy{border-inline-start:3px solid var(--gold); padding-inline-start:22px; margin-inline-start:8px;}
.timeline-strategy .item{position:relative; padding-bottom:26px;}
.timeline-strategy .item::before{
  content:""; position:absolute; right:calc(-22px - 6.5px); top:4px;
  width:14px; height:14px; border-radius:50%; background:var(--gold); border:3px solid var(--sand);
}
html[dir="ltr"] .timeline-strategy .item::before{ right:auto; left:calc(-22px - 6.5px); }

/* ---------- Social share widget ---------- */
.tender-highlight{
  animation: srr-tender-highlight 2.6s ease;
}
@keyframes srr-tender-highlight{
  0%   { box-shadow: 0 0 0 4px rgba(201,162,75,.9); }
  70%  { box-shadow: 0 0 0 4px rgba(201,162,75,.9); }
  100% { box-shadow: 0 0 0 0 rgba(201,162,75,0); }
}
.share-widget{
  display:flex; align-items:center; gap:8px; flex-wrap:wrap;
}
.share-label{
  font-weight:800; font-size:.82rem; color:var(--green-deep); margin-inline-end:4px;
}
.share-btn{
  width:34px; height:34px; border-radius:50%;
  display:inline-flex; align-items:center; justify-content:center;
  border:1px solid #e2d9b0; background:var(--white); color:var(--green-deep);
  font-size:.95rem; transition:transform .15s ease, background .15s ease, color .15s ease;
}
.share-btn:hover{ transform:translateY(-2px); }
.share-facebook:hover{ background:#1877f2; color:#fff; border-color:#1877f2; }
.share-twitter:hover{ background:#14171a; color:#fff; border-color:#14171a; }
.share-whatsapp:hover{ background:#25d366; color:#fff; border-color:#25d366; }
.share-telegram:hover{ background:#0088cc; color:#fff; border-color:#0088cc; }
.share-copy:hover{ background:var(--gold); color:#fff; border-color:var(--gold); }

/* ---------- National network schematic map ---------- */
.network-section{
  background:linear-gradient(180deg, var(--ink) 0%, #1b2a23 100%);
  position:relative;
  overflow:hidden;
}
.network-section::before{
  content:"";
  position:absolute; inset:0;
  background-image:linear-gradient(rgba(201,162,75,.06) 1px, transparent 1px),
    linear-gradient(90deg, rgba(201,162,75,.06) 1px, transparent 1px);
  background-size:28px 28px;
  pointer-events:none;
}
.network-section .section-title h2{color:var(--sand);}
.network-section .section-title h2::after{ filter:brightness(1.3); }
.network-section .track-rule{ background:repeating-linear-gradient(to left, rgba(201,162,75,.5) 0 8px, transparent 8px 14px);}
.network-section .lead-desc{ color:#b9c4bc; max-width:640px; }

.network-map-wrap{
  background:rgba(255,255,255,.02);
  border:1px solid rgba(201,162,75,.25);
  border-radius:10px;
  padding:10px;
  position:relative;
}
.network-map-wrap svg{ width:100%; height:auto; display:block; }

.net-edge{
  fill:none; stroke-width:3; stroke-linecap:round;
}
.net-edge.active{ stroke:var(--gold); }
.net-edge.planned{ stroke:#6b7d73; stroke-dasharray:2 8; }
.net-edge-pulse{
  fill:none; stroke:var(--gold-light); stroke-width:3; stroke-linecap:round;
  stroke-dasharray:6 18; opacity:.9;
  animation:srr-edge-flow 2.4s linear infinite;
}
@keyframes srr-edge-flow{ to{ stroke-dashoffset:-48; } }

.net-node-hub circle.dot{ fill:var(--gold); }
.net-node circle.dot{ fill:var(--sand); }
.net-node circle.dot{ stroke:var(--green-mid); stroke-width:3; }
.net-node-hub circle.dot{ stroke:var(--gold-light); stroke-width:3; }
.net-node circle.pulse{
  fill:none; stroke:var(--gold); stroke-width:2; opacity:0;
  transform-origin:center;
  animation:srr-node-pulse 2.6s ease-out infinite;
}
.net-node:nth-child(3n) circle.pulse{ animation-delay:.6s; }
.net-node:nth-child(3n+1) circle.pulse{ animation-delay:1.2s; }
@keyframes srr-node-pulse{
  0%{ opacity:.55; transform:scale(.4); }
  100%{ opacity:0; transform:scale(2.6); }
}
.net-node{ cursor:pointer; }
.net-node text{
  fill:#e9e4d2; font-family:var(--font-body); font-weight:700; font-size:12px;
  paint-order:stroke; stroke:var(--ink); stroke-width:3px;
}
.net-node:hover circle.dot{ fill:var(--red-flag); stroke:#fff; }
.net-node:hover text{ fill:var(--gold-light); }

.network-legend{ display:flex; gap:22px; flex-wrap:wrap; margin-top:16px; }
.network-legend .item{ display:flex; align-items:center; gap:8px; font-size:.82rem; color:#cdd6cf; }
.network-legend .swatch{ width:26px; height:3px; border-radius:2px; }
.network-legend .swatch.active{ background:var(--gold); }
.network-legend .swatch.planned{ background:repeating-linear-gradient(to right, #6b7d73 0 4px, transparent 4px 8px); }
.network-legend .swatch.hub{ width:12px; height:12px; border-radius:50%; background:var(--gold); }

/* ---------- Forms ---------- */
.form-srr label{font-weight:700; color:var(--green-deep); font-size:.9rem;}
.form-srr .alert{ white-space:pre-line; line-height:1.9; }
/* زر إرسال التعليق: أيقونة دائرية مضغوطة بدل الزر النصي الكبير */
.btn-send-comment{
  width:38px; height:38px; min-width:38px; padding:0;
  border-radius:50%; border:none;
  background:var(--gold); color:#3a2c05;
  display:inline-flex; align-items:center; justify-content:center;
  font-size:1.05rem; flex-shrink:0;
  transition:background .15s ease, transform .15s ease;
}
.btn-send-comment i{ transform:scaleX(-1); margin-inline-start:-2px; } /* السهم يتجه نحو مدخل الكتابة بالعربية */
.btn-send-comment:hover{ background:var(--gold-light); transform:scale(1.07); }
.btn-send-comment:disabled{ opacity:.6; transform:none; }
.form-srr .form-control, .form-srr .form-select{
  border-radius:4px; border:1px solid #d8cfa9; padding:.6rem .8rem;
}
.form-srr .form-control:focus, .form-srr .form-select:focus{
  border-color:var(--green-mid); box-shadow:0 0 0 .2rem rgba(23,87,63,.15);
}

/* ---------- Demo/Trial banner ---------- */
.srr-demo-banner{
  background:linear-gradient(90deg, #7a5a12, var(--gold) 50%, #7a5a12);
  color:#241a02; text-align:center;
  font-size:.8rem; font-weight:800;
  padding:7px 12px; letter-spacing:.3px;
  font-family:'Cairo', sans-serif;
}
.srr-demo-banner i{ margin-inline-end:6px; }

/* ---------- Footer ---------- */
.footer-srr{
  background:var(--ink); color:#c9c9bd; margin-top:80px;
}
.footer-srr .top{padding:56px 0 24px;}
.footer-srr h6{color:var(--gold); font-family:var(--font-display); margin-bottom:16px;}
.footer-srr a{color:#c9c9bd;}
.footer-srr a:hover{color:var(--gold-light);}
.footer-srr .bottom{
  border-top:1px solid rgba(201,162,75,.2); padding:16px 0; font-size:.82rem; color:#8a8a7d;
}
.footer-srr .social-icons a{
  display:inline-flex; align-items:center; justify-content:center;
  width:34px; height:34px; border:1px solid rgba(201,162,75,.4); border-radius:50%; margin-inline-start:8px;
}

/* ---------- Coming soon ---------- */
.coming-soon{
  min-height:60vh; display:flex; align-items:center; justify-content:center; text-align:center;
  background:radial-gradient(circle at center, var(--green-pale) 0%, var(--sand) 70%);
}

/* ---------- Auth modal ---------- */
.nav-tabs-auth .nav-link{
  color:var(--green-deep); font-weight:800; border:none; border-bottom:3px solid transparent;
}
.nav-tabs-auth .nav-link.active{border-bottom-color:var(--gold); color:var(--red-flag);}
.usertype-choice{
  border:1.5px solid #d8cfa9; border-radius:6px; padding:14px; cursor:pointer; text-align:center;
}
.usertype-choice input{display:none;}
.usertype-choice.selected, .usertype-choice:has(input:checked){
  border-color:var(--green-mid); background:var(--green-pale);
}
.btn-google{
  border:1px solid #d8cfa9; background:#fff; font-weight:700; border-radius:4px; padding:.55rem 1rem;
  display:flex; align-items:center; gap:10px; justify-content:center; width:100%;
}

/* ---------- Admin ---------- */
.admin-body{background:#eef2ee;}
.admin-sidebar{
  background:var(--green-deep); min-height:100vh; color:var(--sand); width:250px;
}
.admin-sidebar a{
  display:flex; gap:10px; align-items:center; padding:12px 20px; color:var(--gold-light); font-weight:600; font-size:.92rem;
}
.admin-sidebar a:hover, .admin-sidebar a.active{background:rgba(255,255,255,.08); color:var(--gold);}
.admin-nav-group{
  padding:16px 20px 6px; font-size:.7rem; font-weight:800; letter-spacing:.4px;
  color:var(--gold); opacity:.65; text-transform:uppercase;
}
.admin-topbar{
  background:#fff; border-bottom:1px solid #ddd; padding:12px 22px; box-shadow:0 2px 6px rgba(0,0,0,.03);
}
.stat-card{
  background:#fff; border-radius:6px; padding:18px; box-shadow:var(--shadow); border-inline-start:4px solid var(--gold);
}
.stat-card .num{font-family:var(--font-display); font-size:1.8rem; font-weight:800; color:var(--green-deep);}
.admin-panel{background:#fff; border-radius:6px; box-shadow:var(--shadow); padding:20px;}
.srr-toast-container{z-index:11000; min-width:min(92vw, 420px);}
.srr-toast{box-shadow:0 12px 32px rgba(0,0,0,.18);}
.srr-toast .toast-body{max-width:360px;}
.table-srr thead{background:var(--green-pale); color:var(--green-deep);}

/* ---------- Shipping tariff table (public page) ---------- */
.tariff-toolbar{
  background:#fff;
  border-radius:var(--radius);
  box-shadow:var(--shadow);
  border:1px solid rgba(201,162,75,.25);
}
.tariff-table thead th{
  background:linear-gradient(180deg, var(--gold-light) 0%, var(--gold) 100%);
  color:var(--green-deep);
  font-family:var(--font-display);
  font-weight:800;
  font-size:.92rem;
  border-color:rgba(15,61,46,.15) !important;
  border-bottom:3px solid var(--green-deep) !important;
  vertical-align:middle;
  white-space:nowrap;
}
.tariff-table thead th i{
  color:var(--green-mid);
  opacity:.9;
}
.tariff-table tbody tr:hover{
  background:var(--green-pale);
}
.tariff-table tbody td{
  border-color:rgba(15,61,46,.08);
}
.tariff-count{
  font-size:.875rem;
  color:var(--green-mid);
}
.login-admin-wrap{
  min-height:100vh; display:flex; align-items:center; justify-content:center;
  background:linear-gradient(120deg, var(--green-deep), var(--green-mid));
}
.login-admin-card{background:#fff; border-radius:8px; padding:38px; width:100%; max-width:400px; box-shadow:0 20px 50px rgba(0,0,0,.3);}

/* small helpers */
.text-gold{color:var(--gold) !important;}
.text-red-flag{color:var(--red-flag) !important;}
.bg-green-deep{background:var(--green-deep) !important;}
.badge-soon{background:var(--red-flag); color:#fff; font-size:.7rem; padding:2px 8px; border-radius:3px; vertical-align:middle;}

/* ---------- Official shipping request form ---------- */
.ship-form-doc{
  background:#fff;
  border:2px solid var(--green-deep);
  border-radius:8px;
  padding:28px 32px;
  box-shadow:var(--shadow);
  font-size:.95rem;
}
.ship-form-doc__org{
  text-align:center;
  font-family:var(--font-display);
  font-weight:800;
  color:var(--green-deep);
  line-height:1.6;
}
.ship-form-doc__title{
  text-align:center;
  font-family:var(--font-display);
  font-weight:800;
  font-size:1.15rem;
  color:var(--green-deep);
  margin:18px 0 22px;
}
.ship-form-line{
  display:flex;
  flex-wrap:wrap;
  align-items:baseline;
  gap:.35rem .5rem;
  margin-bottom:.65rem;
}
.ship-form-line label{
  font-weight:700;
  color:var(--green-deep);
  white-space:nowrap;
}
.ship-form-line .form-control,
.ship-form-line .form-select{
  flex:1;
  min-width:120px;
  border:none;
  border-bottom:1px dotted #888;
  border-radius:0;
  background:transparent;
  padding:.2rem .35rem;
}
.ship-form-line .form-control:focus,
.ship-form-line .form-select:focus{
  box-shadow:none;
  border-bottom-color:var(--gold);
  background:rgba(231,209,155,.15);
}
.ship-form-line .form-control[readonly]{
  background:rgba(231,240,234,.5);
  color:var(--ink);
}
.ship-form-checks{
  display:flex;
  flex-wrap:wrap;
  gap:.5rem 1.25rem;
  align-items:center;
}
.ship-form-checks .form-check{
  margin:0;
}
.ship-form-terms{
  font-size:.88rem;
  line-height:1.75;
  color:var(--ink);
  border-top:1px dashed #ddd3ae;
  border-bottom:1px dashed #ddd3ae;
  padding:14px 0;
  margin:18px 0;
}
.ship-form-terms ul{
  margin:0;
  padding-right:1.2rem;
}
.ship-form-contacts{
  font-size:.85rem;
}
.ship-form-contacts table{
  width:100%;
  border-collapse:collapse;
}
.ship-form-contacts th,
.ship-form-contacts td{
  border:1px solid rgba(15,61,46,.15);
  padding:6px 10px;
  text-align:center;
}
.ship-form-contacts thead th{
  background:var(--green-pale);
  color:var(--green-deep);
  font-weight:700;
}
.ship-form-footer{
  display:flex;
  flex-wrap:wrap;
  justify-content:space-between;
  gap:1rem;
  margin-top:20px;
  padding-top:14px;
  border-top:2px solid var(--green-deep);
}
.ship-form-footer .ship-form-line{
  margin:0;
  min-width:200px;
}
@media (max-width:576px){
  .ship-form-doc{padding:18px 16px;}
}
