/* Light tokens (default) */
:root{
  --gt-bg:#f7f9fc;
  --gt-card:#ffffff;
  --gt-text:#1a2433;
  --gt-muted:#5f6c80;
  --gt-accent:#0d6efd;
  --gt-accent-2:#7c4dff;
  --gt-ok:#12b886;
  --gt-warn:#ffc107;
  --gt-danger:#ff6b6b;
  --gt-border:#e4e9f2;
}
/* Strong dark tokens */
body[data-theme="dark"]{
  --gt-bg:#0b0f16;
  --gt-card:#121826;
  --gt-text:#f1f5ff;
  --gt-muted:#a7b4c8;
  --gt-accent:#6ab0ff;
  --gt-accent-2:#9a82ff;
  --gt-ok:#20dfa2;
  --gt-warn:#ffd34d;
  --gt-danger:#ff8484;
  --gt-border:#2a3550;
  --bs-body-bg: #121826;
  /* --bs-table-bg: #121826;
  --bs-table-bg:#121826; */
}

/* Global */
body.gt { background:var(--gt-bg); color:var(--gt-text); }
/* .gt a { color:var(--gt-accent); } */

.gt .navbar { background:linear-gradient(90deg, rgba(13,110,253,.06), rgba(124,77,255,.06)); border-bottom: 1px solid var(--gt-border); }
body.gt[data-theme="dark"] .navbar { background:linear-gradient(90deg,#0e1420,#151c2a) !important; border-bottom:1px solid var(--gt-border); }
.gt .navbar .navbar-brand { font-weight:600; }
.gt .card { background: var(--gt-card); border:1px solid var(--gt-border); box-shadow: 0 8px 24px rgba(0,0,0,.06); }
body.gt[data-theme="dark"] .card { box-shadow: 0 8px 24px rgba(0,0,0,.25); }
.gt .card-title { font-weight: 600; }
.gt .badge { border-radius:999px; padding:.45rem .7rem; }
.gt .text-muted { color: var(--gt-muted) !important; }
.gt .btn-primary { background: linear-gradient(135deg, var(--gt-accent), var(--gt-accent-2)); border: 0; }
.gt .btn-outline-secondary { color: var(--gt-text); border-color: var(--gt-border); }
.gt .btn-outline-danger { color: #dc3545; border-color: #dc3545; }
.gt .table { color: var(--gt-text); }
.gt .table thead th { color: var(--gt-muted); border-color: var(--gt-border); }
.gt .table td, .gt .table th { border-color: var(--gt-border); }
.gt .form-control, .gt .form-select { background: var(--gt-card); color: var(--gt-text); border:1px solid var(--gt-border); }
body.gt[data-theme="dark"] .form-control, body.gt[data-theme="dark"] .form-select { background:#0f1320; }
.gt .form-control::placeholder { color:#8a97ad; }
body.gt[data-theme="dark"] .form-control::placeholder { color:#8ea0bb; }

/* Force text color on dark to beat Bootstrap where needed */
body.gt[data-theme="dark"],
body.gt[data-theme="dark"] .card,
body.gt[data-theme="dark"] .card *:not(.btn):not(.badge):not(.text-muted) {
  color: var(--gt-text) !important;
}
body.gt[data-theme="dark"] a { color: var(--gt-accent) !important; }

/* Countdown ring */
.gt .ring { position:relative; width:140px; height:140px; display:grid; place-items:center; }
.gt .ring svg { transform: rotate(-90deg); }
.gt .ring circle { fill: none; stroke-width: 10; stroke-linecap: round; }
.gt .ring .bg { stroke: #d9e1ee; }
body.gt[data-theme="dark"] .ring .bg { stroke: #32415d !important; }
.gt .ring .prog { stroke: url(#gt-grad); transition: stroke-dashoffset .25s linear; }
.gt .ring .label { position:absolute; font-weight:700; font-size: 1.15rem; text-align:center; }
.gt .ring .sub { position:absolute; top: 88px; font-size:.8rem; color: var(--gt-muted); }

/* Pills */
.gt .pill { display:inline-flex; gap:.5rem; align-items:center; padding:.35rem .65rem; border-radius:999px; border:1px solid var(--gt-border); }
.gt .pill.active { background:#e7f6ed; border-color:#b7e5c6; color:#0f5132; }
.gt .pill.inactive { background:#fde2e2; border-color:#f5bcbc; color:#842029; }
body.gt[data-theme="dark"] .pill.active { background:#0f2a15 !important; border-color:#1b5a33 !important; color:#c4f6de !important; }
body.gt[data-theme="dark"] .pill.inactive { background:#2a1b1b !important; border-color:#4a2626 !important; color:#ffd6d6 !important; }

/* Hover */
.gt .table tbody tr:hover { background: rgba(13,110,253,.06); }
body.gt[data-theme="dark"] .table tbody tr:hover { background: rgba(106,176,255,.10) !important; }

/* Theme toggle */
.gt .theme-toggle{ display:inline-flex; align-items:center; gap:.5rem; border:1px solid var(--gt-border); padding:.3rem .6rem; border-radius:999px; cursor:pointer; user-select:none;}
.gt .theme-toggle small{ color:var(--gt-muted); }


.gt .ring.expired .prog { opacity: .35; }
.gt .ring.expired .label { color: var(--gt-danger); }

