/* =====================================================================
   Eurabelt Custodial Order — Global Sanctions Portal house style (v2.0)
   Same tokens as stats.eurabeltfuels.com and the Banking Verification portal:
   sovereign navy, silver, bullion gold; Georgia headings, system sans body.
   Loaded after each page's own <style>, so it re-skins every page while the
   page's own class names keep working.
   ===================================================================== */
:root{
  --vault:#06111f; --ink:#0b1f3a; --panel:#0f2747; --panel2:#143058;
  --line:#233b5c; --line2:#34507a;
  --gold:#c9a227; --gold-l:#e2c35a; --gold-d:#9c7c14; --gold-wash:rgba(201,162,39,.12);
  --text1:#eef2f8; --text2:#b6c0ce; --text3:#8796ab;
  --ok:#43b883; --bad:#e46f6f; --warn:#e2b33c; --info:#86b8ea;
  --paper:#f7f8fa; --paper-ink:#14233c; --paper-line:#dde2ea;
  --serif:Georgia,"Iowan Old Style","Palatino Linotype","Book Antiqua",serif;
  --sans:system-ui,-apple-system,"Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif;
  --mono:ui-monospace,"SFMono-Regular",Menlo,Consolas,"Liberation Mono",monospace;

  /* names used by the existing desktop pages */
  --primary:var(--gold); --primary-dark:var(--gold-d);
  --bg-dark:var(--vault); --bg-card:var(--ink); --bg-elevated:var(--panel);
  --border:var(--line); --text:var(--text1); --text-muted:var(--text3);
  --success:var(--ok); --danger:var(--bad); --warning:var(--warn);
  /* names used by the existing mobile pages */
  --bg:var(--vault); --card:var(--ink); --muted:var(--text3);
}

/* ---------- base ---------- */
html{-webkit-text-size-adjust:100%}
body{
  font-family:var(--sans)!important;
  background-color:var(--vault);
  background-image:radial-gradient(120% 60% at 50% -10%,rgba(20,48,88,.55) 0%,rgba(6,17,31,0) 60%);
  background-attachment:fixed;
  color:var(--text1);
  -webkit-font-smoothing:antialiased;
  overflow-x:hidden;
}
::selection{background:var(--gold);color:var(--vault)}
:focus-visible{outline:2px solid var(--gold-l)!important;outline-offset:2px;border-radius:4px}
input:focus-visible,select:focus-visible,textarea:focus-visible{outline-offset:0}
img{max-width:100%}
code,kbd,.mono{font-family:var(--mono)}
input,select,textarea,button{font-family:inherit}
input::placeholder,textarea::placeholder{color:#6f7f96}
input:focus,select:focus,textarea:focus{box-shadow:0 0 0 3px rgba(201,162,39,.18)}

/* ---------- headings: Georgia, no condensed-caps tracking ---------- */
h1,h2,h3,
.logo-text,.hero-title,.sources-title,.source-name,.welcome-title,.login-title,
.compliance-panel-title,.search-title,.results-title,.empty-state-title,
.page-title,.section-title,.section-header,.result-status,.error-title,
.header-title,.form-title,.header-top .title,.scanner-title,.status-text:not(.clear):not(.match),.status-text h3,.cert-title,.cert-company{
  font-family:var(--serif)!important;font-weight:600;letter-spacing:.01em!important;
}
.stat-value,.header-stat-value,.source-tab-count,.source-count-value,.validity-days,.days-value,.error-code{
  font-family:var(--serif)!important;font-weight:600;letter-spacing:0!important;
  font-variant-numeric:lining-nums tabular-nums;
}
.hero-title{font-size:clamp(2rem,4.4vw,3.15rem)!important;line-height:1.08;color:#fff}
.welcome-title{font-size:clamp(1.9rem,3.4vw,2.7rem)!important;line-height:1.1;color:#fff}
.page-title{font-size:clamp(1.55rem,2.6vw,2rem)!important;line-height:1.2}
.sources-title{font-size:clamp(1.35rem,2.4vw,1.75rem)!important;color:#fff!important}
.source-name{font-size:1.06rem!important}
.login-title,.empty-state-title{font-size:1.55rem!important}
.section-title,.search-title,.compliance-panel-title,.results-title,.section-header{font-size:1.12rem!important}
.stat-value{font-size:1.6rem!important;line-height:1.15}
.header-stat-value{font-size:1.1rem!important}
.source-tab-count{font-size:1rem!important}
.source-count-value{font-size:1.3rem!important}
.validity-days{font-size:2.6rem!important}
.result-status{font-size:1.25rem!important}
.stat-label,.header-stat-label,.source-count-label{letter-spacing:.03em!important}

/* ---------- the brand mark (seal + portal name + Order line) ---------- */
.eco-mark{display:inline-flex;align-items:center;gap:.7rem;text-decoration:none;color:inherit;min-width:0}
.eco-seal{display:block;flex:none;filter:drop-shadow(0 2px 6px rgba(0,0,0,.45))}
.eco-mark-text{display:flex;flex-direction:column;min-width:0}
.eco-mark-text b{font:600 1.08rem/1.15 var(--serif);color:#fff;letter-spacing:.005em}
.eco-mark-text span{font-size:.76rem;color:var(--gold-l);letter-spacing:.02em;margin-top:.12rem}
.eco-mark:hover b{color:var(--gold-l)}
.logo-icon{display:none!important}

/* centred variant used on landing/login/verify heroes */
.eco-hero-seal{display:flex;flex-direction:column;align-items:center;gap:.6rem;margin:0 auto 1.6rem}
.eco-hero-seal .eco-seal{width:112px;height:112px;filter:drop-shadow(0 10px 26px rgba(0,0,0,.55))}
.eco-hero-seal b{font:600 1.2rem/1.2 var(--serif);color:#fff}
.eco-hero-seal span{font-size:.82rem;color:var(--gold-l);letter-spacing:.03em}

/* the stats link in page headers */
.eco-stats-pill{display:inline-flex;align-items:center;gap:.4rem;padding:.42rem .8rem;border:1px solid var(--line2);border-radius:999px;font-size:.82rem;color:var(--text2)!important;text-decoration:none;white-space:nowrap}
.eco-stats-pill:hover{border-color:var(--gold);color:var(--gold-l)!important}
.eco-stats-pill::before{content:"";width:7px;height:7px;border-radius:50%;background:var(--gold)}

/* ---------- headers: navy glass with a gold hairline ---------- */
.header{background:rgba(11,31,58,.92)!important;border-bottom:1px solid var(--line)!important;box-shadow:inset 0 -1px 0 rgba(201,162,39,.18);backdrop-filter:blur(8px)}
.version-bar{background:var(--ink)!important;border-bottom:1px solid var(--line)!important}
.version-btn.active{background:linear-gradient(180deg,var(--gold-l),var(--gold))!important;color:#1a1405!important}

/* ---------- buttons ---------- */
.btn-primary,.cta-btn-primary,.submit-btn,.search-btn,.btn:not(.btn-secondary):not(.btn-success):not(.btn-danger):not(.back-btn),
.print-button,.verify-btn,.login-btn{
  background:linear-gradient(180deg,var(--gold-l),var(--gold))!important;color:#1a1405!important;border-color:var(--gold-d)!important;
}
.btn-primary:hover,.cta-btn-primary:hover,.submit-btn:hover,.search-btn:hover,.print-button:hover{background:linear-gradient(180deg,#ecd27a,var(--gold-l))!important;box-shadow:0 6px 18px rgba(201,162,39,.22)!important}
.cta-btn-secondary,.btn-secondary{border-color:var(--line2)!important;color:var(--text1)!important;background:transparent!important}
.cta-btn-secondary:hover,.btn-secondary:hover{border-color:var(--gold)!important;color:var(--gold-l)!important}
.btn-success{background:var(--ok)!important;color:#04150c!important}
.btn-danger{color:#f3a3a3}
.header-btn.btn-danger{border-color:rgba(228,111,111,.45)!important}

/* ---------- cards, panels, tables ---------- */
.stat-box,.stat-card,.source-card,.search-section,.results-section,.compliance-panel,.screening-section,
.verify-card,.result-card,.table-container,.denied-box,.error-box,.login-card,.form-card{
  border-color:var(--line)!important;
}
.compliance-action:hover,.source-card:hover,.source-card.active,.source-tab:hover{border-color:var(--gold)!important}
th{letter-spacing:.03em!important}
.results-table tr:hover td{background:rgba(201,162,39,.05)!important}
.source-badge,.type-badge,.status-badge,.compliance-badge{letter-spacing:.02em!important}

/* certificate previews inside the portal are paper */
.certificate-preview{background:var(--paper)!important;color:var(--paper-ink)!important;border:1px solid #d9cfae;border-top:3px solid var(--gold);position:relative;overflow:hidden}
.certificate-preview::before{content:"";position:absolute;right:-160px;top:-150px;width:440px;height:440px;background:url(/assets/brand/guilloche-gold.svg) center/contain no-repeat;opacity:.16;pointer-events:none}
.certificate-preview .cert-header{position:relative;border-bottom-color:#d9cfae!important}
.certificate-preview .cert-company{color:var(--paper-ink)!important}
.certificate-preview .cert-title{color:var(--gold-d)}
.cert-seal{width:64px;height:64px;margin:0 auto 6px;display:block}
.cert-order{font-size:11px;color:#6b5a1f;letter-spacing:.04em;margin-top:2px}

/* ---------- guilloche watermark on hero surfaces ---------- */
.hero,.login-left{position:relative;overflow:hidden}
.hero::before,.login-left::before{content:"";position:absolute;width:760px;height:760px;right:-260px;top:-280px;background:url(/assets/brand/guilloche-gold.svg) center/contain no-repeat;opacity:.09;pointer-events:none}
.hero>*,.login-left>*{position:relative}
@media (prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;transition:none!important;animation:none!important}}

/* ---------- Sign in with Eurabelt Statistics ---------- */
.eco-sso{display:block;margin:0 0 1.4rem}
.eco-sso-btn{display:flex;align-items:center;justify-content:center;gap:.7rem;width:100%;padding:14px 16px;border-radius:8px;
  background:linear-gradient(180deg,#123462,#0f2747);border:1px solid var(--gold);color:#fff!important;font:600 15px/1.2 var(--sans);text-decoration:none}
.eco-sso-btn img{width:30px;height:30px}
.eco-sso-btn:hover{background:linear-gradient(180deg,#17407a,#123462);box-shadow:0 0 0 3px rgba(201,162,39,.18)}
.eco-sso p{font-size:12.5px;color:var(--text3);margin-top:.55rem;text-align:center;line-height:1.5}
.eco-or{display:flex;align-items:center;gap:.8rem;margin:0 0 1.2rem;color:var(--text3);font-size:12.5px}
.eco-or::before,.eco-or::after{content:"";flex:1;height:1px;background:var(--line)}

/* ---------- standard footer ---------- */
.eco-foot{margin-top:48px;border-top:1px solid var(--line);background:#040c17;color:var(--text3);font-size:13.5px;line-height:1.55}
.eco-foot-inner{max-width:1200px;margin:0 auto;padding:22px 24px;display:flex;gap:1rem 2rem;align-items:center;justify-content:space-between;flex-wrap:wrap}
.eco-foot-brand{display:flex;align-items:center;gap:.75rem;min-width:0;flex:1 1 380px}
.eco-foot-brand p{margin:0}
.eco-foot-brand b{color:#fff;font-family:var(--serif);font-weight:600}
.eco-foot-brand span{font-size:12px;color:var(--text3)}
.eco-foot-links{display:flex;gap:.4rem 1.1rem;flex-wrap:wrap}
.eco-foot-links a{color:var(--text2);text-decoration:none}
.eco-foot-links a:hover{color:var(--gold-l)}
.eco-foot-links .eco-stats-link{color:var(--gold-l)}
.eco-foot-mobile{margin-top:28px;margin-bottom:84px}
.eco-foot-mobile .eco-foot-inner{padding:18px 16px}
.eco-foot-mobile .eco-foot-brand{flex-basis:100%}

/* ---------- mobile pages ---------- */
.nav{background:rgba(11,31,58,.97)!important;border-top:1px solid var(--line)!important}
.nav a.active,.nav-item.active{color:var(--gold-l)!important}
.bottom-nav{background:rgba(11,31,58,.97)!important;border-top:1px solid var(--line)!important}

@media (max-width:768px){
  .eco-mark-text b{font-size:1rem}
  .eco-foot-inner{padding:18px 16px}
  .eco-stats-pill{display:none}
}
@media print{
  body{background:#fff!important;color:#000}
  .eco-foot,.nav,.bottom-nav,.version-bar{display:none!important}
}

/* ---------- slim top bar for public pages ---------- */
.eco-topbar{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:12px 32px;background:rgba(11,31,58,.92);border-bottom:1px solid var(--line);box-shadow:inset 0 -1px 0 rgba(201,162,39,.18);position:relative;z-index:5}
@media (max-width:768px){.eco-topbar{padding:10px 16px}}
.eco-seal-center{margin:0 auto 18px}
.eco-nav-stats{color:var(--gold-l)!important}
@media (max-width:900px){.eco-nav-stats{display:none}}
.eco-mini-foot{margin-top:28px;font-size:12.5px;color:var(--text3);line-height:1.6}
.eco-mini-foot a{color:var(--gold-l);text-decoration:none}
.eco-foot-plain{margin-bottom:0}
/* mobile brand strip */
.eco-mbar{display:flex;align-items:center;justify-content:space-between;padding:10px 16px;background:rgba(11,31,58,.96);border-bottom:1px solid var(--line);box-shadow:inset 0 -1px 0 rgba(201,162,39,.18)}
.eco-mbar .eco-mark-text b{font-size:.98rem}
.header-content .eco-mark,.header-logo .eco-mark{justify-content:center}

/* ---------- desktop pages on phones: wrap the header, no sideways scroll ---------- */
@media (max-width:768px){
  .header{flex-wrap:wrap;gap:12px}
  .header-left,.header-right{flex-wrap:wrap;justify-content:center;gap:10px}
  .header-right .user-info{width:100%;text-align:center}
  .header-right .nav-link{padding:6px 10px}
  .main,.main-content{padding:16px!important}
  .page-title{flex-wrap:wrap}
  .search-bar{flex-wrap:wrap}
  .search-bar input{min-width:0;flex:1 1 100%}
  .table-container{overflow-x:auto}
}
