/* Libya Tender – design tokens */
:root{
  --navy:#0b2540;--navy-2:#0f3157;--deep:#061829;--accent:#e9a23b;--accent-2:#f3c26b;--teal:#1fb5a5;
  --bg:#f4f6f9;--card:#ffffff;--ink:#0f1c2b;--muted:#5d6b7c;--line:#e3e8ef;
  --ok:#15803d;--warn:#b45309;--bad:#b91c1c;--radius:14px;--shadow:0 1px 2px rgba(15,28,43,.06),0 6px 24px rgba(15,28,43,.06);
  --font:"Inter","IBM Plex Sans Arabic","Segoe UI",Tahoma,Arial,sans-serif;
}
@media (prefers-color-scheme:dark){:root{--bg:#0b1420;--card:#111d2c;--ink:#e7edf5;--muted:#9aabbd;--line:#1f2e41;--shadow:0 1px 2px rgba(0,0,0,.3)}}
*{box-sizing:border-box}
html{font-size:16px;scroll-behavior:smooth}
@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{animation:none!important;transition:none!important}}
body{margin:0;background:var(--bg);color:var(--ink);font-family:var(--font);line-height:1.6;-webkit-font-smoothing:antialiased}
a{color:var(--navy-2)}
@media (prefers-color-scheme:dark){a{color:#8cc3ff}}
.wrap{max-width:1180px;margin:0 auto;padding:0 20px}
.muted{color:var(--muted)}.small{font-size:.86rem}.prewrap{white-space:pre-line}

/* Header */
header.top{background:var(--deep);color:#fff;position:sticky;top:0;z-index:20;box-shadow:0 1px 0 rgba(255,255,255,.06)}
header.top .wrap{display:flex;align-items:center;gap:22px;min-height:64px}
header.top a{color:#dfe8f3;text-decoration:none}
.logo{display:flex;align-items:center;gap:8px;color:#fff!important}
.logo-mark{color:var(--accent);display:flex}
.logo-text{font-size:1.2rem;letter-spacing:.2px;color:#fff}.logo-text b{color:var(--accent);font-weight:800}
nav.main{display:flex;gap:18px;flex:1;flex-wrap:wrap}
nav.main a{font-size:.95rem;opacity:.85;padding:6px 0;border-bottom:2px solid transparent}
nav.main a:hover{opacity:1;border-color:var(--accent)}
.userbox{display:flex;gap:14px;align-items:center;font-size:.93rem}
.userbox form{display:inline}
.linkbtn{background:none;border:0;color:#dfe8f3;cursor:pointer;font:inherit;padding:0}
.langsw{position:relative}
.langbtn{background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.15);color:#fff;border-radius:999px;padding:5px 12px;font:inherit;font-size:.85rem;cursor:pointer}
.langmenu{position:absolute;inset-inline-end:0;top:115%;background:#fff;border-radius:10px;box-shadow:var(--shadow);padding:6px;min-width:150px;z-index:30}
.langmenu a{display:block;color:var(--ink)!important;padding:8px 12px;border-radius:7px}
.langmenu a:hover,.langmenu a[aria-current]{background:#f0f4f8}
.testbar{background:#fef3c7;color:#78350f;text-align:center;font-size:.85rem;padding:4px}

/* Buttons */
button,.btn{font:inherit;font-weight:600;background:var(--navy);color:#fff;border:0;border-radius:10px;padding:10px 18px;cursor:pointer;text-decoration:none;display:inline-flex;align-items:center;gap:6px;transition:transform .15s,box-shadow .15s,background .15s}
.btn:hover,button:hover{transform:translateY(-1px)}
.btn.accent{background:var(--accent);color:#1d1404!important;box-shadow:0 6px 18px rgba(233,162,59,.35)}
.btn.accent:hover{background:var(--accent-2)}
.btn.light{background:#fff;color:var(--navy)!important}
.btn.outline-light{background:transparent;border:1.5px solid rgba(255,255,255,.55);color:#fff!important}
.btn.ghost{background:transparent;color:var(--navy-2)!important;border:1.5px solid var(--line)}
.btn.secondary{background:transparent;color:var(--navy-2)!important;border:1px solid var(--navy-2)}
.btn.small{padding:6px 12px;font-size:.88rem;border-radius:8px}
.btn.lg{padding:14px 26px;font-size:1.05rem}
input,select,textarea{font:inherit;padding:10px 12px;border:1px solid var(--line);border-radius:10px;background:var(--card);color:var(--ink);max-width:100%}
input:focus,select:focus,textarea:focus{outline:2px solid var(--accent);outline-offset:1px}

/* Hero */
main{padding:0 0 56px}
.hero{position:relative;overflow:hidden;background:radial-gradient(1200px 500px at 85% -10%,#16466f 0%,transparent 60%),linear-gradient(160deg,var(--deep) 0%,var(--navy) 55%,#0d3a5e 100%);color:#fff;padding:64px 0 72px;margin-bottom:40px}
.hero-bg{position:absolute;inset:0;pointer-events:none}
.ring{position:absolute;border:1px solid rgba(233,162,59,.18);border-radius:50%;inset-inline-end:-120px;top:50%;transform:translateY(-50%)}
.r1{width:340px;height:340px;margin-inline-end:80px}.r2{width:560px;height:560px;margin-inline-end:-30px}.r3{width:820px;height:820px;margin-inline-end:-160px}
.sweep{position:absolute;width:820px;height:820px;inset-inline-end:-280px;top:50%;margin-top:-410px;border-radius:50%;background:conic-gradient(from 0deg,rgba(233,162,59,.22),transparent 18%);animation:spin 9s linear infinite}
@keyframes spin{to{transform:rotate(360deg)}}
.hero-grid{position:relative;display:grid;grid-template-columns:1.35fr 1fr;gap:40px;align-items:center}
.kicker{display:inline-block;background:rgba(233,162,59,.14);color:var(--accent-2);border:1px solid rgba(233,162,59,.35);padding:4px 12px;border-radius:999px;font-size:.82rem;font-weight:600;margin:0 0 16px}
.hero h1{font-size:clamp(2rem,4.6vw,3.3rem);line-height:1.12;margin:0 0 16px;letter-spacing:-.5px}
.grad{background:linear-gradient(90deg,var(--accent),#ffd896);-webkit-background-clip:text;background-clip:text;color:transparent}
.lead{color:#c6d4e3;font-size:1.06rem;max-width:620px;margin:0 0 24px}
.hero-search{display:flex;gap:8px;background:#fff;padding:6px;border-radius:14px;max-width:640px;box-shadow:0 10px 30px rgba(0,0,0,.25)}
.hero-search input{flex:1;border:0;min-width:0;color:#0f1c2b;background:#fff}
.hero-search input:focus{outline:none}
.hero-cta{display:flex;gap:10px;flex-wrap:wrap;margin-top:18px}
.free-note{color:#9fe6dc;font-size:.88rem;margin:16px 0 0}
.statpanel{background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.12);border-radius:18px;padding:22px;backdrop-filter:blur(6px)}
.statpanel-top{display:flex;align-items:baseline;gap:10px;border-bottom:1px solid rgba(255,255,255,.12);padding-bottom:14px;margin-bottom:6px}
.statpanel-top b{font-size:2.6rem;color:var(--accent);font-variant-numeric:tabular-nums;line-height:1}
.statpanel-top span{color:#c6d4e3}
.statpanel ul{list-style:none;margin:0;padding:0}
.statpanel li{display:flex;justify-content:space-between;align-items:center;padding:10px 2px;border-bottom:1px dashed rgba(255,255,255,.1);color:#dbe5ef;font-size:.95rem}
.statpanel li:last-child{border:0}
.statpanel li b{font-size:1.25rem;font-variant-numeric:tabular-nums;color:#fff}
.upd{color:#8fa4b8;font-size:.8rem;margin:10px 0 0}

/* Blocks */
.block{margin:44px 0}
.block-head{display:flex;justify-content:space-between;align-items:end;gap:12px;margin-bottom:16px}
.block-head h2,.block h2{font-size:1.45rem;margin:0}
.block-head a{font-weight:600;text-decoration:none;white-space:nowrap}
.sector-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(210px,1fr));gap:12px}
.sector{background:var(--card);border:1px solid var(--line);border-radius:12px;padding:14px 16px;text-decoration:none;color:var(--ink);display:flex;flex-direction:column;gap:4px;transition:border-color .15s,transform .15s,box-shadow .15s}
.sector:hover{border-color:var(--accent);transform:translateY(-2px);box-shadow:var(--shadow)}
.sector-name{font-weight:600}.sector-n{color:var(--muted);font-size:.85rem}.sector-n b{color:var(--navy-2)}
@media (prefers-color-scheme:dark){.sector-n b{color:var(--accent)}}

/* Tender cards */
.tlist{list-style:none;margin:0;padding:0;display:grid;gap:14px}
.tcard{background:var(--card);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow);overflow:hidden;transition:border-color .15s,transform .15s}
.tcard:hover{border-color:#c9d6e5;transform:translateY(-1px)}
.tcard-head{display:flex;align-items:center;gap:8px;flex-wrap:wrap;padding:12px 18px;border-bottom:1px solid var(--line);background:linear-gradient(90deg,rgba(11,37,64,.04),transparent)}
.ref{margin-inline-start:auto;font-family:ui-monospace,Menlo,monospace;font-size:.85rem;color:var(--muted)}
.pill{display:inline-block;font-size:.76rem;font-weight:700;padding:3px 10px;border-radius:999px;background:#e8eef6;color:#1e3a5f}
.pill.kind{background:#e7f1fb;color:#0f3f6b}.pill.new{background:#dcfce7;color:#14532d}.pill.warn{background:#fef3c7;color:#78350f}
.pill.bad{background:#fee2e2;color:#7f1d1d}.pill.muted{background:#eef1f4;color:#5d6b7c}
.tcard-body{display:grid;grid-template-columns:1fr 250px;gap:18px;padding:16px 18px}
.publisher{display:flex;gap:10px;align-items:center;margin-bottom:8px}
.publisher small{display:block;color:var(--muted);font-size:.78rem}
.avatar{flex:none;width:38px;height:38px;border-radius:10px;background:linear-gradient(135deg,var(--navy),#245b8f);color:#fff;display:grid;place-items:center;font-weight:700;font-size:.85rem}
.avatar.lg{width:46px;height:46px;font-size:.95rem}
.tcard .ttl{display:block;font-weight:650;font-size:1.04rem;line-height:1.45;color:var(--ink);text-decoration:none;margin-bottom:10px}
.tcard .ttl:hover{color:var(--navy-2);text-decoration:underline}
.tcard-side{border-inline-start:1px solid var(--line);padding-inline-start:18px;display:flex;flex-direction:column;gap:10px}
.countdown{display:flex;align-items:baseline;gap:6px;color:var(--navy-2)}
.countdown b{font-size:2rem;line-height:1;font-variant-numeric:tabular-nums}
.countdown.urgent{color:var(--bad)}
.dates{margin:0;display:grid;gap:4px;font-size:.86rem}
.dates div{display:flex;justify-content:space-between;gap:8px}
.dates dt{color:var(--muted)}.dates dd{margin:0;font-weight:600}
.chips{display:flex;flex-wrap:wrap;gap:6px}
.chip{background:var(--card);border:1px solid var(--line);border-radius:999px;padding:4px 12px;text-decoration:none;color:var(--ink);font-size:.88rem}
.chip.sm{font-size:.76rem;padding:2px 10px;background:#f3f6fa;color:#425466}
@media (prefers-color-scheme:dark){.chip.sm{background:#16263a;color:#b8c7d8}.pill.kind{background:#163252;color:#cfe3ff}}

/* Publishers, steps, why, CTA */
.pub-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:12px}
.pub{display:flex;gap:12px;align-items:center;background:var(--card);border:1px solid var(--line);border-radius:12px;padding:14px;text-decoration:none;color:var(--ink)}
.pub small{display:block;color:var(--muted)}
.pub:hover{border-color:var(--accent)}
.how h2,.why h2{margin-bottom:16px}
.steps{list-style:none;padding:0;margin:0;display:grid;grid-template-columns:repeat(3,1fr);gap:16px;counter-reset:s}
.steps li{background:var(--card);border:1px solid var(--line);border-radius:var(--radius);padding:20px;position:relative}
.steps .num{display:grid;place-items:center;width:36px;height:36px;border-radius:50%;background:var(--accent);color:#1d1404;font-weight:800;margin-bottom:10px}
.steps p{margin:6px 0 0;color:var(--muted)}
.why-grid{list-style:none;padding:0;margin:0 0 12px;display:grid;grid-template-columns:repeat(4,1fr);gap:12px}
.why-grid li{background:var(--card);border:1px solid var(--line);border-radius:12px;padding:16px;font-weight:600}
.ctaband{display:flex;justify-content:space-between;align-items:center;gap:20px;flex-wrap:wrap;background:linear-gradient(120deg,var(--navy),#14507f);color:#fff;border-radius:20px;padding:30px 34px;margin:48px 0 8px}
.ctaband h2{margin:0 0 4px;font-size:1.5rem}.ctaband p{margin:0;color:#c6d4e3}

/* Reveal animation (only when JS added .js-reveal) */
.js-reveal [data-reveal]{opacity:0;transform:translateY(14px);transition:opacity .6s ease,transform .6s ease}
.js-reveal [data-reveal].in{opacity:1;transform:none}

/* Generic components used on other pages */
.wrap>h1{margin-top:32px}
.card{background:var(--card);border:1px solid var(--line);border-radius:var(--radius);padding:18px;margin-bottom:14px;box-shadow:var(--shadow)}
.card h2,.card h3{margin-top:0}
.grid2{display:grid;grid-template-columns:2fr 1fr;gap:20px}
.badge{display:inline-block;font-size:.78rem;padding:2px 9px;border-radius:99px;background:#e8eef5;color:#1e3a5f;margin-inline-end:6px}
.badge.ok{background:#dcfce7;color:#14532d}.badge.warn{background:#fef3c7;color:#78350f}.badge.bad{background:#fee2e2;color:#7f1d1d}
.dl{display:grid;grid-template-columns:minmax(150px,220px) 1fr;gap:6px 16px;margin:0}
.dl dt{color:var(--muted);overflow-wrap:anywhere}.dl dd{margin:0;overflow-wrap:anywhere}
.notice{border-inline-start:4px solid var(--warn);background:#fffbeb;color:#713f12;padding:12px 16px;border-radius:8px;margin:14px 0}
.notice.info{border-color:var(--navy-2);background:#eef5fd;color:#163a63}
.filters{display:flex;gap:8px;flex-wrap:wrap;margin:16px 0}
.filters select,.filters input{flex:1 1 150px}
.pager{display:flex;gap:12px;justify-content:center;align-items:center;margin:18px 0}
table{width:100%;border-collapse:collapse;background:var(--card)}
th,td{padding:9px 11px;border-bottom:1px solid var(--line);text-align:start;vertical-align:top;font-size:.92rem}
.tablewrap{overflow-x:auto}
.plans{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:14px}
.plan .price{font-size:1.4rem;font-weight:700}
form.stack p{margin:0 0 12px}
form.stack label{display:block;font-weight:600;margin-bottom:4px}
form.stack input:not([type=checkbox]),form.stack select,form.stack textarea{width:100%}
form.stack ul{list-style:none;padding:0;columns:2}
.errorlist{color:var(--bad);margin:4px 0;padding:0;list-style:none}
.messages{list-style:none;padding:0;margin-top:16px}
.messages li{padding:10px 14px;border-radius:8px;background:#ecfdf5;color:#065f46;margin-bottom:8px}
.messages li.error{background:#fee2e2;color:#7f1d1d}

/* Footer + mobile bottom nav */
footer{background:var(--deep);color:#9fb0c3;padding:34px 0 90px;font-size:.9rem}
footer .logo-text{font-size:1.1rem}
.foot-brand p{margin:6px 0 14px;color:#c6d4e3}
.foot-links{display:flex;gap:16px;flex-wrap:wrap}
footer a{color:#c6d4e3}
.bottomnav{display:none}

/* Responsive */
@media (max-width:960px){.hero-grid{grid-template-columns:1fr}.steps{grid-template-columns:1fr}.why-grid{grid-template-columns:1fr 1fr}.grid2{grid-template-columns:1fr}}
@media (max-width:760px){
  nav.main{display:none}
  header.top .wrap{gap:10px}
  .userbox{margin-inline-start:auto;gap:10px}
  .userbox>a:not(.btn),.userbox form{display:none}
  .hero{padding:40px 0 48px}
  .hero-search{flex-direction:column}
  .tcard-body{grid-template-columns:1fr}
  .tcard-side{border:0;padding:0;border-top:1px solid var(--line);padding-top:12px;flex-direction:row;flex-wrap:wrap;align-items:center;justify-content:space-between}
  .dates{flex:1 1 100%}
  .why-grid{grid-template-columns:1fr}
  .sector-grid{grid-template-columns:1fr 1fr;gap:8px}.sector{padding:10px 12px;font-size:.9rem}
  .dl{grid-template-columns:1fr}.dl dd{margin-bottom:8px}
  form.stack ul{columns:1}
  .bottomnav{display:grid;grid-template-columns:repeat(4,1fr);position:fixed;bottom:0;inset-inline:0;background:var(--card);border-top:1px solid var(--line);z-index:25;padding:6px 0 max(6px,env(safe-area-inset-bottom))}
  .bottomnav a{display:flex;flex-direction:column;align-items:center;gap:2px;font-size:.72rem;color:var(--muted);text-decoration:none}
  .bottomnav a span{font-size:1.15rem}
}
