/*
  GEA Enterprise Design Language M8.5A Rollout
  Scope: Entire GEA M0-M8 and future phases
  Purpose: visual identity only. No runtime, token, credential, posting or spending action.
*/
:root{
  --gea-ink:#07111f;
  --gea-ink-2:#10233f;
  --gea-navy:#06172f;
  --gea-navy-2:#0b2244;
  --gea-navy-3:#123a70;
  --gea-gold:#d9a520;
  --gea-gold-2:#ffd36a;
  --gea-gold-soft:#fff0bf;
  --gea-blue:#2563eb;
  --gea-cyan:#06b6d4;
  --gea-emerald:#059669;
  --gea-orange:#f97316;
  --gea-rose:#e11d48;
  --gea-purple:#8b5cf6;
  --gea-bg:#f8fafc;
  --gea-bg-2:#fffaf0;
  --gea-surface:#ffffff;
  --gea-surface-2:#f8fbff;
  --gea-card:#ffffff;
  --gea-text:#07111f;
  --gea-text-soft:#243b5a;
  --gea-muted:#52677f;
  --gea-border:#dbeafe;
  --gea-shadow:0 20px 50px rgba(2,18,45,.12);
  --gea-shadow-soft:0 10px 28px rgba(2,18,45,.08);
  --gea-radius:24px;
  --gea-radius-sm:16px;
}
*{box-sizing:border-box}
html{min-height:100%;scroll-behavior:smooth}
body{
  margin:0!important;
  min-height:100%;
  font-family:"Segoe UI",Arial,Helvetica,sans-serif!important;
  background:
    radial-gradient(circle at 14% 8%,rgba(255,211,106,.20),transparent 28%),
    radial-gradient(circle at 86% 20%,rgba(6,182,212,.16),transparent 28%),
    linear-gradient(135deg,#fffdf7 0%,#f5fbff 42%,#eef6ff 100%)!important;
  color:var(--gea-text)!important;
  line-height:1.6;
  overflow-x:hidden;
}
body::before{
  content:"";
  position:fixed;
  inset:0;
  pointer-events:none;
  background-image:
    linear-gradient(rgba(6,23,47,.035) 1px,transparent 1px),
    linear-gradient(90deg,rgba(6,23,47,.035) 1px,transparent 1px);
  background-size:42px 42px;
  mask-image:linear-gradient(to bottom,rgba(0,0,0,.45),rgba(0,0,0,0));
  z-index:-1;
}
a{color:#0f67e8;text-decoration:none;font-weight:800}
a:hover{text-decoration:none;filter:brightness(1.05)}
.top,header.top,.gea-topbar,.admin-topbar{
  background:linear-gradient(90deg,#06172f 0%,#0b2244 55%,#06172f 100%)!important;
  color:#fff!important;
  border-bottom:3px solid var(--gea-gold)!important;
  box-shadow:0 12px 35px rgba(2,18,45,.20)!important;
}
.brand,.gea-brand{
  color:var(--gea-gold-2)!important;
  text-shadow:0 0 18px rgba(255,211,106,.26);
  letter-spacing:2.5px!important;
  font-weight:1000!important;
}
.wrap,.gea-wrap,.gea-page,.container,main.wrap{
  width:min(1480px,calc(100vw - 56px))!important;
  max-width:1480px!important;
  margin-left:auto!important;
  margin-right:auto!important;
  padding:38px 0!important;
}
.hero,.gea-hero,.page-hero,.gateway-hero{
  position:relative;
  overflow:hidden;
  background:
    radial-gradient(circle at 83% 8%,rgba(255,211,106,.28),transparent 26%),
    linear-gradient(135deg,#06172f 0%,#0d3470 58%,#123f86 100%)!important;
  color:#fff!important;
  border:1px solid rgba(255,211,106,.28)!important;
  border-radius:30px!important;
  padding:42px 44px!important;
  box-shadow:0 28px 75px rgba(3,20,49,.28), inset 0 1px 0 rgba(255,255,255,.16)!important;
}
.hero::after,.gea-hero::after,.page-hero::after{
  content:"";
  position:absolute;
  right:32px;
  top:28px;
  width:155px;
  height:155px;
  background:url('/assets/img/gondang-coffee-official-logo.png') center/contain no-repeat;
  opacity:.18;
  filter:drop-shadow(0 0 32px rgba(255,211,106,.65));
}
.hero h1,.gea-hero h1,.page-hero h1,h1{
  color:#fff!important;
  font-size:clamp(38px,4vw,68px)!important;
  line-height:1.02!important;
  letter-spacing:-1.6px!important;
  margin:16px 0 18px!important;
  text-shadow:0 5px 20px rgba(0,0,0,.20);
}
.hero p,.gea-hero p,.page-hero p{
  color:#f8fbff!important;
  font-size:clamp(16px,1.2vw,20px)!important;
  max-width:1180px;
}
.pill,.gea-pill,.badge-soft{
  display:inline-flex!important;
  align-items:center!important;
  gap:8px!important;
  background:linear-gradient(135deg,#fff8dc,#ffe28a)!important;
  color:#7a4b00!important;
  border:1px solid rgba(217,165,32,.38)!important;
  border-radius:999px!important;
  padding:9px 15px!important;
  font-size:12px!important;
  font-weight:1000!important;
  letter-spacing:.45px!important;
  box-shadow:0 8px 22px rgba(217,165,32,.18)!important;
}
.grid,.gea-grid{display:grid!important;grid-template-columns:repeat(auto-fit,minmax(310px,1fr))!important;gap:24px!important;align-items:stretch!important;margin-top:26px!important}
.grid4,.gea-grid-4,.status-grid{display:grid!important;grid-template-columns:repeat(auto-fit,minmax(250px,1fr))!important;gap:24px!important;align-items:stretch!important;margin-top:26px!important}
.grid2,.gea-grid-2{display:grid!important;grid-template-columns:repeat(auto-fit,minmax(420px,1fr))!important;gap:24px!important;align-items:stretch!important}
.card,.gea-card,.metric-card,.status-card,section.card,div.card{
  position:relative;
  background:linear-gradient(180deg,rgba(255,255,255,.98),rgba(248,252,255,.94))!important;
  color:var(--gea-text)!important;
  border:1px solid rgba(14,89,166,.18)!important;
  border-radius:24px!important;
  padding:28px!important;
  margin-top:22px!important;
  box-shadow:var(--gea-shadow-soft)!important;
  min-height:150px;
  backdrop-filter:blur(14px);
}
.card::before,.gea-card::before,.metric-card::before{
  content:"";
  position:absolute;
  inset:0;
  border-radius:inherit;
  pointer-events:none;
  background:linear-gradient(135deg,rgba(255,211,106,.16),transparent 34%,rgba(6,182,212,.10));
}
.card > *,.gea-card > *{position:relative;z-index:1}
.card:hover,.gea-card:hover,.metric-card:hover{transform:translateY(-2px);box-shadow:0 22px 55px rgba(2,18,45,.14)!important;transition:.22s ease}
.card h2,.card h3,.gea-card h2,.gea-card h3,h2,h3{
  color:#081a33!important;
  font-weight:1000!important;
  letter-spacing:-.35px!important;
}
.metric,.gea-metric,.kpi-value,.stat-value{
  color:#07111f!important;
  font-size:clamp(34px,3vw,52px)!important;
  font-weight:1000!important;
  letter-spacing:-1.3px!important;
  line-height:1!important;
  text-shadow:0 7px 18px rgba(15,23,42,.08)!important;
}
.ok,.ready,.success{color:#008f62!important}.bad,.failed,.danger{color:#d1124b!important}.warn,.warning{color:#c35a00!important}.info{color:#0969da!important}
.small,.muted,.helper,p.small,.card p,.gea-card p,td,li{
  color:var(--gea-text-soft)!important;
  opacity:1!important;
}
.card .small,.gea-card .small{font-size:15px!important;color:#38516d!important}
.btn,a.btn,button,.gea-btn{
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  gap:9px!important;
  min-height:48px!important;
  border:0!important;
  border-radius:14px!important;
  padding:13px 20px!important;
  font-weight:1000!important;
  color:#06172f!important;
  background:linear-gradient(135deg,#ffe28a,#d9a520)!important;
  box-shadow:0 14px 30px rgba(217,165,32,.22)!important;
  text-decoration:none!important;
  cursor:pointer!important;
  transition:.2s ease!important;
}
.btn:hover,a.btn:hover,button:hover,.gea-btn:hover{transform:translateY(-1px);filter:saturate(1.08) brightness(1.02)}
.btn.gold,.gea-btn.gold{background:linear-gradient(135deg,#fff0a3,#d9a520)!important;color:#06172f!important}
.btn.dark,.gea-btn.dark{background:linear-gradient(135deg,#06172f,#123a70)!important;color:#fff!important}
.btn:not(.gold):not(.dark),.gea-btn.info{background:linear-gradient(135deg,#60a5fa,#2563eb)!important;color:#fff!important;box-shadow:0 14px 30px rgba(37,99,235,.25)!important}
.badge,.gea-badge,.status,.label-status,[class*="badge"]{
  display:inline-flex!important;
  align-items:center!important;
  max-width:100%!important;
  white-space:normal!important;
  word-break:break-word!important;
  border-radius:999px!important;
  padding:7px 12px!important;
  font-size:12px!important;
  font-weight:1000!important;
  letter-spacing:.2px!important;
}
pre,code,.code,.gea-code,.json,.log{
  background:#07172d!important;
  color:#eaf6ff!important;
  border:1px solid rgba(96,165,250,.22)!important;
  border-radius:14px!important;
  padding:12px 14px!important;
  overflow:auto!important;
  white-space:pre-wrap!important;
  word-break:break-word!important;
}
input,select,textarea,.input,.textarea{
  background:#ffffff!important;
  color:#07111f!important;
  border:1px solid #bad7ff!important;
  border-radius:14px!important;
  padding:13px 14px!important;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.8)!important;
}
input:focus,select:focus,textarea:focus{outline:3px solid rgba(37,99,235,.16)!important;border-color:#2563eb!important}
.table,table{width:100%;border-collapse:separate!important;border-spacing:0!important;background:#fff!important;border-radius:18px!important;overflow:hidden!important;box-shadow:var(--gea-shadow-soft)!important}
th{background:#f1f7ff!important;color:#10233f!important;font-weight:1000!important}td{color:#243b5a!important}th,td{padding:14px!important;border-bottom:1px solid #e5efff!important}
.quote,.gea-quote{
  background:linear-gradient(135deg,#06172f,#0c2c5f)!important;
  color:#ffdf7a!important;
  border:1px solid rgba(255,211,106,.28)!important;
  box-shadow:0 18px 45px rgba(3,20,49,.18)!important;
}
/* Dashboard emphasis */
.card:has(.metric) h3{font-size:26px!important;margin-bottom:28px!important}
.card:has(.metric) .small{margin-top:26px!important;font-weight:600!important}
/* Legacy dark boxes: force readable contrast */
[style*="background:#0"], [style*="background: #0"], [style*="background-color:#0"], [style*="background-color: #0"]{color:#f8fbff!important}
[style*="background:#0"] p,[style*="background: #0"] p,[style*="background-color:#0"] p,[style*="background-color: #0"] p{color:#dbeafe!important}
/* 3D visual language */
.gea-3d-orb,.card-3d::after{
  content:"";
  position:absolute;
  right:22px;
  bottom:18px;
  width:54px;
  height:54px;
  border-radius:18px;
  background:linear-gradient(135deg,rgba(255,211,106,.92),rgba(6,182,212,.72));
  box-shadow:0 18px 36px rgba(6,182,212,.18), inset -8px -10px 20px rgba(6,23,47,.18), inset 8px 8px 18px rgba(255,255,255,.55);
  transform:rotate(-10deg) skew(-2deg);
  opacity:.55;
}
.footer,.gea-footer{color:#52677f!important;text-align:center!important;padding:30px 0!important}
@media(max-width:900px){.wrap,.gea-wrap,.gea-page,.container,main.wrap{width:min(100% - 28px,100%)!important;padding:20px 0!important}.hero,.gea-hero{padding:30px 22px!important}.hero::after,.gea-hero::after{display:none}.grid2,.gea-grid-2{grid-template-columns:1fr!important}.grid4,.gea-grid-4,.status-grid{grid-template-columns:1fr!important}.btn,a.btn,button{width:100%;margin:6px 0!important}}