:root{
  --gdw-primary:#91DBFF;
  --gdw-secondary:#000C12;
  --gdw-text:#334155;
  --gdw-accent:#0f172a;

  /* dark vars megtartva, de nem globális háttérre */
  --gdw-bg:#ffffff;
  --gdw-bg-hero:#ffffff;

  --gdw-border: rgba(0,0,0,0.12);
  --gdw-blur-1: rgba(255,255,255,0.95);
  --gdw-blur-2: rgba(255,255,255,0.85);
}

/* ===== GLOBAL WHITE BACKGROUND (FIX) ===== */
html,body{
  height:100%;
  background:#ffffff;
  color:var(--gdw-text);
  font-family: system-ui, -apple-system, Segoe UI, Roboto, Arial, sans-serif;
}

a{color:#2563eb; text-decoration:none;}
*{box-sizing:border-box;}

/* ===== LAYOUT ===== */
.gdw-wrap{
  min-height:100vh;
  display:flex;
  flex-direction:column;
  background:#ffffff;
}

.gdw-topbar{
  padding:18px 22px;
  background:#ffffff;
  border-bottom:1px solid #e5e7eb;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
}

.gdw-brand{
  display:flex;
  align-items:center;
  gap:10px;
  color:#0f172a;
  font-weight:800;
  letter-spacing:.3px;
}

.gdw-actions{
  display:flex;
  gap:10px;
  flex-wrap:wrap;
}

/* ===== BUTTONS ===== */
.gdw-btn{
  border:1px solid #cbd5e1;
  background:#ffffff;
  color:#0f172a;
  padding:10px 12px;
  border-radius:14px;
  cursor:pointer;
}

.gdw-btn.primary{
  background: var(--gdw-primary);
  border-color: transparent;
  color:#001018;
  font-weight:700;
}

.gdw-btn:active{transform:translateY(1px);}

/* ===== MAIN GRID ===== */
.gdw-main{
  display:grid;
  grid-template-columns: 1fr 380px;
  gap:16px;
  padding:16px;
  width:100%;
  max-width:1400px;
  margin:0 auto;
  background:#ffffff;
}

/* ===== CARDS ===== */
.gdw-card{
  background:#ffffff;
  border:1px solid #e5e7eb;
  border-radius:18px;
  padding:14px;
  box-shadow:0 6px 18px rgba(0,0,0,0.06);
}

/* ===== TEXT ===== */
.gdw-title{
  color:#0f172a;
  font-weight:800;
  margin:0 0 8px 0;
  font-size:14px;
  letter-spacing:.2px;
}

.gdw-meta{
  font-size:13px;
  line-height:1.35;
}

.gdw-meta .k{color:#64748b;}
.gdw-meta .v{color:#0f172a;}

/* ===== TOGGLE ===== */
.gdw-toggle{
  display:inline-flex;
  border:1px solid #cbd5e1;
  border-radius:14px;
  overflow:hidden;
}

.gdw-toggle button{
  border:0;
  background:transparent;
  color:#334155;
  padding:10px 12px;
  cursor:pointer;
  min-width:96px;
}

.gdw-toggle button.active{
  background:var(--gdw-primary);
  color:#001018;
  font-weight:800;
}

/* ===== VIEWER ===== */
.gdw-viewer{
  display:flex;
  flex-direction:column;
  gap:12px;
}

.gdw-plot{
  width:100%;
  height:420px;
  border-radius:16px;
  overflow:hidden;
  background:#000C12;
  border:1px solid #cbd5e1;
}

.gdw-plot.small{height:240px;}

/* ===== TABLE ===== */
.gdw-table{
  width:100%;
  border-collapse:collapse;
  font-size:13px;
}

.gdw-table th,
.gdw-table td{
  padding:10px 8px;
  border-bottom:1px solid #e5e7eb;
  text-align:left;
}

.gdw-table th{
  color:#334155;
  font-size:12px;
  text-transform:uppercase;
  letter-spacing:.6px;
}

/* ===== BADGE ===== */
.gdw-badge{
  display:inline-flex;
  align-items:center;
  gap:8px;
  padding:7px 10px;
  border-radius:999px;
  border:1px solid #cbd5e1;
  background:#f8fafc;
  color:#0f172a;
  font-size:12px;
  font-weight:700;
}

.gdw-footnote{
  font-size:12px;
  color:#64748b;
  opacity:.85;
}

/* ===== RESPONSIVE ===== */
@media (max-width: 1024px){
  .gdw-main{
    grid-template-columns:1fr;
  }
}

/* ===== SWITCH ===== */
.switch{position:relative;display:inline-block;width:42px;height:24px}
.switch input{opacity:0;width:0;height:0}
.slider{
  position:absolute;
  cursor:pointer;
  top:0;left:0;right:0;bottom:0;
  background:#cbd5e1;
  transition:.2s;
  border-radius:999px;
}
.slider:before{
  position:absolute;
  content:"";
  height:18px;
  width:18px;
  left:3px;
  bottom:2px;
  background:#ffffff;
  transition:.2s;
  border-radius:999px
}
.switch input:checked + .slider{background:var(--gdw-primary)}
.switch input:checked + .slider:before{transform:translateX(18px)}

.cardHead{
  display:flex;
  align-items:center;
  justify-content:space-between;
  margin-bottom:10px
}

.miniNote{
  font-size:12px;
  color:#64748b;
  opacity:.85;
  margin-top:8px
}
