/* CryptoChoco UI baseline v40 */
:root {
  --cc-focus: #6366f1;
  --cc-text-muted: #64748b;
}
html { -webkit-text-size-adjust: 100%; }
body {
  font-family: "Inter", ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  text-rendering: optimizeLegibility;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  font-feature-settings: "cv02", "cv03", "cv04", "cv11";
}
button, input, select, textarea { font: inherit; }
:where(a, button, input, select, textarea, summary):focus-visible {
  outline: 2px solid var(--cc-focus);
  outline-offset: 2px;
}
.cc-tabular { font-variant-numeric: tabular-nums; }
/* Raise legacy micro-copy to a safer readability floor without changing text-xs. */
[class~="text-[9px]"] { font-size: 0.625rem !important; line-height: 1.35 !important; }
[class~="text-[10px]"] { font-size: 0.6875rem !important; line-height: 1.4 !important; }
[class~="text-[11px]"] { font-size: 0.75rem !important; line-height: 1.4 !important; }

/* Main application navigation */
.cc-nav-section-title {
  padding: 0 .65rem;
  margin: 1rem 0 .35rem;
  font-size: .6875rem;
  line-height: 1rem;
  font-weight: 800;
  letter-spacing: .085em;
  text-transform: uppercase;
  color: #94a3b8;
}
.cc-nav-item,
.cc-nav-group > summary {
  min-height: 40px;
  border-radius: .75rem;
  font-size: .875rem;
  line-height: 1.2rem;
  font-weight: 600;
}
.cc-nav-item { padding: .55rem .7rem; }
.cc-nav-subitem {
  min-height: 38px;
  padding: .48rem .7rem .48rem 2.15rem;
  border-radius: .7rem;
  font-size: .8125rem;
  line-height: 1.15rem;
  font-weight: 600;
}
.cc-nav-group > summary {
  display: flex;
  align-items: center;
  gap: .65rem;
  padding: .55rem .7rem;
  cursor: pointer;
  list-style: none;
  user-select: none;
  color: #475569;
  transition: background-color .18s ease, color .18s ease;
}
.cc-nav-group > summary::-webkit-details-marker { display: none; }
.cc-nav-group > summary:hover { background: #f8fafc; color: #334155; }
.cc-nav-group[open] > summary { color: #4f46e5; background: rgba(99,102,241,.06); }
.cc-nav-group .cc-nav-chevron { margin-left: auto; font-size: .65rem; transition: transform .18s ease; opacity: .65; }
.cc-nav-group[open] .cc-nav-chevron { transform: rotate(180deg); }
.cc-nav-group-body { display: grid; gap: .15rem; padding: .2rem 0 .35rem; }
.cc-nav-subsection-title {
  padding: .55rem .7rem .15rem 2.15rem;
  font-size: .6875rem;
  line-height: .9rem;
  font-weight: 800;
  letter-spacing: .08em;
  text-transform: uppercase;
  color: #94a3b8;
}
.dark .cc-nav-group > summary { color: #94a3b8; }
.dark .cc-nav-group > summary:hover { background: rgba(255,255,255,.05); color: #e2e8f0; }
.dark .cc-nav-group[open] > summary { color: #a5b4fc; background: rgba(99,102,241,.12); }
.cc-nav-divider { height: 1px; margin: .75rem .55rem; background: #e2e8f0; }
.dark .cc-nav-divider { background: rgba(255,255,255,.07); }

/* The active row is cleaner without the old right-edge bar. */
.nav-link.active {
  background: rgba(99, 102, 241, 0.11) !important;
  color: #4f46e5 !important;
  font-weight: 700 !important;
  box-shadow: inset 0 0 0 1px rgba(99,102,241,.10);
  border-right: 0 !important;
}
.dark .nav-link.active { background: rgba(99, 102, 241, 0.16) !important; color: #a5b4fc !important; }

@media (max-width: 767px) {
  .cc-nav-item, .cc-nav-group > summary { min-height: 44px; }
  .cc-nav-subitem { min-height: 42px; }
}

/* v39 — brand consistency + page hierarchy */
.cc-brand-mark {
  width: 2.5rem;
  height: 2.5rem;
  flex: 0 0 auto;
  border-radius: .8rem;
  object-fit: cover;
  background: #071126;
  box-shadow: 0 8px 20px rgba(37, 99, 235, .16), inset 0 0 0 1px rgba(255,255,255,.08);
}
.cc-brand-mark-sm { width: 2rem; height: 2rem; border-radius: .65rem; }
.cc-brand-mark-lg { width: 4.5rem; height: 4.5rem; border-radius: 1.35rem; }
.cc-brand-lockup { display:flex; align-items:center; gap:.7rem; min-width:0; }
.cc-brand-name { font-size:1.125rem; line-height:1.2; font-weight:800; letter-spacing:-.025em; color:#0f172a; white-space:nowrap; }
.dark .cc-brand-name { color:#f8fafc; }
.cc-brand-subtitle { margin-top:.12rem; font-size:.6875rem; line-height:1rem; font-weight:700; color:#94a3b8; }

.cc-page-intro {
  position: relative;
  display: flex;
  align-items: center;
  gap: 1rem;
  margin-bottom: 1.5rem;
  padding: 1.15rem 1.25rem;
  overflow: hidden;
  border: 1px solid #e2e8f0;
  border-radius: 1.25rem;
  background: rgba(255,255,255,.82);
  box-shadow: 0 1px 2px rgba(15,23,42,.04);
}
.dark .cc-page-intro { border-color:rgba(255,255,255,.08); background:rgba(21,26,37,.82); }
.cc-page-intro::after {
  content:"";
  position:absolute;
  right:-3rem;
  top:-4rem;
  width:11rem;
  height:11rem;
  border-radius:999px;
  background:var(--cc-intro-accent, #6366f1);
  opacity:.07;
  filter:blur(4px);
  pointer-events:none;
}
.cc-page-intro-icon {
  position:relative;
  z-index:1;
  width:3rem;
  height:3rem;
  flex:0 0 auto;
  display:flex;
  align-items:center;
  justify-content:center;
  border-radius:.95rem;
  color:var(--cc-intro-accent, #6366f1);
  background:color-mix(in srgb, var(--cc-intro-accent, #6366f1) 11%, transparent);
  border:1px solid color-mix(in srgb, var(--cc-intro-accent, #6366f1) 18%, transparent);
  font-size:1.1rem;
}
.cc-page-intro-copy { position:relative; z-index:1; min-width:0; flex:1; }
.cc-page-kicker { font-size:.6875rem; line-height:1rem; font-weight:800; text-transform:uppercase; letter-spacing:.11em; color:var(--cc-intro-accent, #6366f1); }
.cc-page-title { margin-top:.12rem; font-size:1.4rem; line-height:1.75rem; font-weight:850; letter-spacing:-.025em; color:#0f172a; }
.dark .cc-page-title { color:#f8fafc; }
.cc-page-description { margin-top:.3rem; max-width:52rem; font-size:.8125rem; line-height:1.35rem; font-weight:500; color:#64748b; }
.dark .cc-page-description { color:#94a3b8; }
.cc-page-intro-actions { position:relative; z-index:1; display:flex; align-items:center; gap:.55rem; margin-left:auto; }
.cc-page-stat { min-width:8.5rem; padding:.65rem .85rem; border:1px solid #e2e8f0; border-radius:.9rem; background:rgba(248,250,252,.85); text-align:right; }
.dark .cc-page-stat { border-color:rgba(255,255,255,.08); background:rgba(11,14,20,.55); }
.cc-page-stat-label { display:block; font-size:.625rem; line-height:.9rem; font-weight:800; letter-spacing:.08em; text-transform:uppercase; color:#94a3b8; }
.cc-page-stat-value { display:block; margin-top:.1rem; font-size:1rem; line-height:1.25rem; font-weight:800; color:#0f172a; font-variant-numeric:tabular-nums; }
.dark .cc-page-stat-value { color:#f8fafc; }

.cc-info-note { display:flex; gap:.7rem; align-items:flex-start; padding:.8rem .95rem; border-radius:.9rem; border:1px solid #bae6fd; background:#f0f9ff; color:#075985; font-size:.8125rem; line-height:1.3rem; }
.dark .cc-info-note { border-color:rgba(14,165,233,.20); background:rgba(14,165,233,.08); color:#bae6fd; }

.cc-admin-brand { display:flex; align-items:center; gap:.7rem; min-width:0; }
.cc-admin-brand-badge { display:inline-flex; margin-top:.12rem; align-items:center; border-radius:999px; padding:.12rem .5rem; font-size:.625rem; line-height:.9rem; font-weight:800; color:#4f46e5; background:rgba(99,102,241,.10); }
.dark .cc-admin-brand-badge { color:#a5b4fc; background:rgba(99,102,241,.16); }
.cc-admin-module-brandbar { display:flex; align-items:center; justify-content:space-between; gap:1rem; margin-bottom:1.1rem; padding:.7rem .85rem; border:1px solid #e2e8f0; border-radius:1rem; background:rgba(255,255,255,.78); }
.dark .cc-admin-module-brandbar { border-color:rgba(255,255,255,.08); background:rgba(21,26,37,.76); }

@media (max-width: 639px) {
  .cc-page-intro { align-items:flex-start; padding:1rem; gap:.8rem; }
  .cc-page-intro-icon { width:2.7rem; height:2.7rem; border-radius:.85rem; }
  .cc-page-title { font-size:1.2rem; line-height:1.5rem; }
  .cc-page-intro-actions { width:100%; margin:.75rem 0 0; flex-wrap:wrap; }
  .cc-page-stat { min-width:0; flex:1; text-align:left; }
}


/* v40 — component consistency + accessibility */
:root {
  --cc-surface: rgba(255,255,255,.88);
  --cc-surface-dark: rgba(21,26,37,.88);
  --cc-border: #e2e8f0;
  --cc-border-dark: rgba(255,255,255,.085);
  --cc-text: #0f172a;
  --cc-text-dark: #f8fafc;
  --cc-muted: #64748b;
  --cc-muted-dark: #a1a9b8;
  --cc-radius: 1rem;
  --cc-shadow: 0 1px 2px rgba(15,23,42,.045), 0 10px 30px rgba(15,23,42,.035);
}

/* Shared surfaces */
.cc-card {
  border:1px solid var(--cc-border);
  border-radius:var(--cc-radius);
  background:var(--cc-surface);
  box-shadow:var(--cc-shadow);
}
.dark .cc-card { border-color:var(--cc-border-dark); background:var(--cc-surface-dark); }
.cc-card-compact { padding:1rem; }
.cc-card-body { padding:1.15rem; }
.cc-section-head { display:flex; align-items:flex-start; justify-content:space-between; gap:1rem; margin-bottom:1rem; }
.cc-section-title { font-size:1rem; line-height:1.35rem; font-weight:800; letter-spacing:-.015em; color:var(--cc-text); }
.dark .cc-section-title { color:var(--cc-text-dark); }
.cc-section-copy { margin-top:.2rem; font-size:.8125rem; line-height:1.3rem; font-weight:500; color:var(--cc-muted); }
.dark .cc-section-copy { color:var(--cc-muted-dark); }

/* Metric / KPI language */
.cc-metric-grid { display:grid; gap:.75rem; }
.cc-metric-card {
  min-width:0;
  border:1px solid var(--cc-border);
  border-radius:.95rem;
  padding:1rem;
  background:var(--cc-surface);
  box-shadow:0 1px 2px rgba(15,23,42,.035);
}
.dark .cc-metric-card { border-color:var(--cc-border-dark); background:var(--cc-surface-dark); }
.cc-metric-label { font-size:.6875rem; line-height:1rem; font-weight:800; letter-spacing:.075em; text-transform:uppercase; color:#7c8799; }
.dark .cc-metric-label { color:#9ca6b6; }
.cc-metric-value { margin-top:.22rem; font-size:1.35rem; line-height:1.6rem; font-weight:850; letter-spacing:-.025em; color:var(--cc-text); font-variant-numeric:tabular-nums; }
.dark .cc-metric-value { color:var(--cc-text-dark); }
.cc-metric-meta { margin-top:.22rem; font-size:.75rem; line-height:1.1rem; font-weight:550; color:var(--cc-muted); }
.dark .cc-metric-meta { color:var(--cc-muted-dark); }

/* Buttons: consistent dimensions and states. Existing Tailwind colors can stay alongside these. */
.cc-btn {
  min-height:2.5rem;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:.5rem;
  border-radius:.75rem;
  padding:.58rem .9rem;
  border:1px solid transparent;
  font-size:.8125rem;
  line-height:1.1rem;
  font-weight:800;
  text-decoration:none;
  transition:background-color .16s ease,border-color .16s ease,color .16s ease,box-shadow .16s ease,transform .16s ease;
}
.cc-btn:hover { transform:translateY(-1px); }
.cc-btn:active { transform:translateY(0); }
.cc-btn-sm { min-height:2.1rem; padding:.4rem .68rem; border-radius:.65rem; font-size:.75rem; }
.cc-btn-icon { width:2.5rem; padding:.5rem; }
.cc-btn-primary { background:#4f46e5; color:#fff; box-shadow:0 7px 18px rgba(79,70,229,.16); }
.cc-btn-primary:hover { background:#4338ca; }
.cc-btn-secondary { border-color:var(--cc-border); background:#fff; color:#334155; }
.cc-btn-secondary:hover { background:#f8fafc; }
.dark .cc-btn-secondary { border-color:var(--cc-border-dark); background:rgba(255,255,255,.045); color:#e2e8f0; }
.dark .cc-btn-secondary:hover { background:rgba(255,255,255,.075); }
.cc-btn-success { background:#059669; color:#fff; }
.cc-btn-success:hover { background:#047857; }
.cc-btn-warning { background:#d97706; color:#fff; }
.cc-btn-warning:hover { background:#b45309; }
.cc-btn-danger { background:#e11d48; color:#fff; }
.cc-btn-danger:hover { background:#be123c; }
.cc-btn-ghost { color:#475569; background:transparent; }
.cc-btn-ghost:hover { background:#f1f5f9; }
.dark .cc-btn-ghost { color:#cbd5e1; }
.dark .cc-btn-ghost:hover { background:rgba(255,255,255,.06); }
.cc-btn[disabled], .cc-btn.is-disabled { opacity:.48; cursor:not-allowed; pointer-events:none; transform:none; box-shadow:none; }

/* Status badges */
.cc-badge { display:inline-flex; align-items:center; gap:.32rem; min-height:1.55rem; padding:.2rem .55rem; border-radius:999px; font-size:.6875rem; line-height:1rem; font-weight:800; white-space:nowrap; border:1px solid transparent; }
.cc-badge-neutral { color:#475569; background:#f1f5f9; border-color:#e2e8f0; }
.cc-badge-success { color:#047857; background:#ecfdf5; border-color:#a7f3d0; }
.cc-badge-warning { color:#b45309; background:#fffbeb; border-color:#fde68a; }
.cc-badge-danger { color:#be123c; background:#fff1f2; border-color:#fecdd3; }
.cc-badge-info { color:#0369a1; background:#f0f9ff; border-color:#bae6fd; }
.cc-badge-brand { color:#4338ca; background:#eef2ff; border-color:#c7d2fe; }
.dark .cc-badge-neutral { color:#cbd5e1; background:rgba(148,163,184,.10); border-color:rgba(148,163,184,.16); }
.dark .cc-badge-success { color:#6ee7b7; background:rgba(16,185,129,.10); border-color:rgba(16,185,129,.18); }
.dark .cc-badge-warning { color:#fcd34d; background:rgba(245,158,11,.10); border-color:rgba(245,158,11,.18); }
.dark .cc-badge-danger { color:#fda4af; background:rgba(244,63,94,.10); border-color:rgba(244,63,94,.18); }
.dark .cc-badge-info { color:#7dd3fc; background:rgba(14,165,233,.10); border-color:rgba(14,165,233,.18); }
.dark .cc-badge-brand { color:#a5b4fc; background:rgba(99,102,241,.12); border-color:rgba(99,102,241,.20); }

/* Tables */
.cc-table-wrap {
  max-width:100%;
  overflow-x:auto;
  overscroll-behavior-inline:contain;
  border-radius:.9rem;
  scrollbar-width:thin;
}
.cc-table { width:100%; border-collapse:separate; border-spacing:0; font-size:.8125rem; line-height:1.25rem; }
.cc-table thead th {
  padding:.68rem .8rem;
  border-bottom:1px solid var(--cc-border);
  background:#f8fafc;
  color:#64748b;
  font-size:.6875rem;
  line-height:1rem;
  font-weight:800;
  letter-spacing:.055em;
  text-transform:uppercase;
  white-space:nowrap;
}
.dark .cc-table thead th { border-color:var(--cc-border-dark); background:rgba(2,6,23,.28); color:#a1a9b8; }
.cc-table tbody td { padding:.72rem .8rem; border-bottom:1px solid #eef2f7; vertical-align:middle; }
.dark .cc-table tbody td { border-color:rgba(255,255,255,.055); }
.cc-table tbody tr:last-child td { border-bottom:0; }
.cc-table tbody tr { transition:background-color .14s ease; }
.cc-table tbody tr:hover { background:rgba(248,250,252,.72); }
.dark .cc-table tbody tr:hover { background:rgba(255,255,255,.025); }
.cc-table td[colspan] { padding:2rem 1rem; color:#7c8799; }
.cc-table .cc-cell-number { font-variant-numeric:tabular-nums; text-align:right; }

/* Form controls */
.cc-control {
  min-height:2.65rem;
  width:100%;
  border:1px solid var(--cc-border);
  border-radius:.75rem;
  padding:.62rem .78rem;
  background:#fff;
  color:var(--cc-text);
  font-size:.8125rem;
  line-height:1.2rem;
  outline:0;
  transition:border-color .16s ease,box-shadow .16s ease,background-color .16s ease;
}
.cc-control:hover { border-color:#cbd5e1; }
.cc-control:focus { border-color:#818cf8; box-shadow:0 0 0 3px rgba(99,102,241,.12); }
.dark .cc-control { border-color:var(--cc-border-dark); background:rgba(2,6,23,.30); color:#f8fafc; }
.dark .cc-control:hover { border-color:rgba(255,255,255,.14); }
.cc-field-label { display:block; margin-bottom:.35rem; font-size:.75rem; line-height:1rem; font-weight:750; color:#536174; }
.dark .cc-field-label { color:#aab2c0; }
.cc-field-help { margin-top:.35rem; font-size:.6875rem; line-height:1.05rem; color:#7c8799; }
.dark .cc-field-help { color:#929cac; }

/* Empty states */
.cc-empty-state { padding:2.25rem 1.25rem; text-align:center; color:var(--cc-muted); }
.cc-empty-icon { width:3rem; height:3rem; margin:0 auto .8rem; display:flex; align-items:center; justify-content:center; border-radius:.9rem; background:#f1f5f9; color:#94a3b8; font-size:1.15rem; }
.dark .cc-empty-icon { background:rgba(255,255,255,.05); color:#94a3b8; }
.cc-empty-title { font-size:.95rem; line-height:1.3rem; font-weight:800; color:#334155; }
.dark .cc-empty-title { color:#e2e8f0; }
.cc-empty-copy { max-width:32rem; margin:.28rem auto 0; font-size:.8125rem; line-height:1.3rem; color:var(--cc-muted); }
.dark .cc-empty-copy { color:var(--cc-muted-dark); }

/* Compact action tiles used by Dashboard/account shortcuts. */
.cc-action-tile { min-height:4.2rem; border-radius:.9rem !important; transition:background-color .16s ease,border-color .16s ease,box-shadow .16s ease,transform .16s ease !important; }
.cc-action-tile:hover { transform:translateY(-1px); box-shadow:0 8px 24px rgba(15,23,42,.055); }

/* Improve low-contrast legacy secondary text. */
.dark .text-gray-500 { color:#a1a9b8 !important; }
.dark .text-gray-400 { color:#98a2b3 !important; }

@media (max-width:639px) {
  .cc-card-body { padding:1rem; }
  .cc-metric-card { padding:.85rem; }
  .cc-metric-value { font-size:1.15rem; line-height:1.45rem; }
  .cc-table { font-size:.78rem; }
  .cc-table thead th, .cc-table tbody td { padding:.62rem .65rem; }
  .cc-btn { min-height:2.65rem; }
}

@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after {
    scroll-behavior:auto !important;
    animation-duration:.001ms !important;
    animation-iteration-count:1 !important;
    transition-duration:.001ms !important;
  }
  .cc-btn:hover, .cc-action-tile:hover { transform:none !important; }
}


/* v41 — mobile-first pass + typography color clarity */
:root {
  --cc-text-secondary: #475569;
  --cc-text-muted-readable: #64748b;
  --cc-text-soft-dark: #aeb7c6;
  --cc-link-readable: #4f46e5;
  --cc-link-readable-dark: #a5b4fc;
}

/* Readable neutral hierarchy on light surfaces. Decorative icons can stay muted via opacity. */
html:not(.dark) body .text-gray-400,
html:not(.dark) body .text-slate-400 { color:#64748b; }
html:not(.dark) body .text-brand-primary { color:#4f46e5; }
html:not(.dark) body .text-brand-accent { color:#0e7490; }

/* Readable semantic text accents in light mode. Dark mode intentionally keeps brighter 400/500 tones. */
html:not(.dark) body .text-emerald-500 { color:#047857; }
html:not(.dark) body .text-amber-500 { color:#b45309; }
html:not(.dark) body .text-cyan-500 { color:#0e7490; }
html:not(.dark) body .text-blue-500 { color:#2563eb; }
html:not(.dark) body .text-sky-500 { color:#0369a1; }
html:not(.dark) body .text-indigo-500 { color:#4f46e5; }
html:not(.dark) body .text-violet-500 { color:#7c3aed; }
html:not(.dark) body .text-purple-500 { color:#9333ea; }
html:not(.dark) body .text-rose-500 { color:#be123c; }
html:not(.dark) body .text-red-500 { color:#dc2626; }

/* Dark neutral copy: avoid gray-on-gray without flattening hierarchy. */
.dark body .text-gray-500,
.dark body .text-slate-500 { color:#aeb7c6 !important; }
.dark body .text-gray-400,
.dark body .text-slate-400 { color:#b8c1ce !important; }

/* System labels: these are small, so keep them above normal-text contrast thresholds. */
html:not(.dark) .cc-nav-section-title,
html:not(.dark) .cc-nav-subsection-title,
html:not(.dark) .cc-brand-subtitle,
html:not(.dark) .cc-page-stat-label,
html:not(.dark) .cc-metric-label,
html:not(.dark) .cc-field-help { color:#64748b; }
.dark .cc-nav-section-title,
.dark .cc-nav-subsection-title,
.dark .cc-brand-subtitle,
.dark .cc-page-stat-label,
.dark .cc-metric-label,
.dark .cc-field-help { color:#aeb7c6; }

.cc-page-description,
.cc-section-copy,
.cc-empty-copy { color:#64748b; }
.dark .cc-page-description,
.dark .cc-section-copy,
.dark .cc-empty-copy { color:#aeb7c6; }

/* Form placeholders remain legible enough to be instructional copy. */
html:not(.dark) body input::placeholder,
html:not(.dark) body textarea::placeholder { color:#6b7280; opacity:1; }
.dark body input::placeholder,
.dark body textarea::placeholder { color:#96a1b2; opacity:1; }

/* Horizontal mobile card rail: fewer vertical screens before the main action. */
.cc-mobile-card-rail { min-width:0; }
@media (max-width:639px) {
  .cc-mobile-card-rail {
    display:flex !important;
    gap:.75rem !important;
    overflow-x:auto;
    overflow-y:hidden;
    scroll-snap-type:x mandatory;
    scrollbar-width:none;
    overscroll-behavior-inline:contain;
    padding:.15rem .15rem .65rem;
    margin-inline:-.15rem;
  }
  .cc-mobile-card-rail::-webkit-scrollbar { display:none; }
  .cc-mobile-card-rail > * {
    flex:0 0 min(82vw, 19.5rem);
    scroll-snap-align:start;
    scroll-snap-stop:normal;
  }

  /* More information above the fold, without shrinking tap targets. */
  .cc-page-intro {
    margin-bottom:1rem;
    padding:.9rem;
    gap:.7rem;
    border-radius:1rem;
    flex-wrap:wrap;
  }
  .cc-page-intro-icon { width:2.45rem; height:2.45rem; border-radius:.78rem; }
  .cc-page-title { font-size:1.125rem; line-height:1.4rem; }
  .cc-page-description { margin-top:.2rem; font-size:.78rem; line-height:1.22rem; }
  .cc-page-intro-actions { flex:1 0 100%; width:100%; margin:.45rem 0 0; }
  .cc-page-stat { padding:.55rem .7rem; border-radius:.75rem; }

  .cc-card { border-radius:.9rem; }
  .cc-section-head { gap:.65rem; margin-bottom:.75rem; }
  .cc-section-title { font-size:.95rem; }
  .cc-section-copy { font-size:.78rem; line-height:1.2rem; }
  .cc-metric-grid { gap:.6rem; }
  .cc-metric-card { padding:.78rem; border-radius:.82rem; }
  .cc-metric-label { font-size:.66rem; }
  .cc-action-tile { min-height:3.8rem; padding:.72rem !important; gap:.6rem !important; font-size:.8rem; }
  .cc-action-tile > div:first-child { flex:0 0 auto; }
  .cc-table-wrap { border-radius:.75rem; }
  .cc-empty-state { padding:1.6rem .9rem; }
  .cc-empty-icon { width:2.6rem; height:2.6rem; margin-bottom:.6rem; }
  .cc-nav-section-title { margin-top:.8rem; font-size:.72rem; }
  .cc-nav-subsection-title { font-size:.7rem; }
}


/* v42 — core user journey: action-first, mobile-first page hierarchy */
.cc-today-card {
  border:1px solid #e2e8f0;
  border-radius:1rem;
  background:rgba(255,255,255,.88);
  box-shadow:0 1px 2px rgba(15,23,42,.035);
}
.dark .cc-today-card { border-color:rgba(255,255,255,.085); background:rgba(21,26,37,.88); }
.cc-today-card-body { padding:1rem; }
.cc-inline-progress { height:.45rem; overflow:hidden; border-radius:999px; background:#e2e8f0; }
.dark .cc-inline-progress { background:rgba(255,255,255,.07); }
.cc-inline-progress > span { display:block; height:100%; border-radius:inherit; }
.cc-cycle-rail { display:flex; flex-wrap:wrap; justify-content:center; gap:.65rem; }
.cc-cycle-day { width:5rem; border-radius:.8rem; }
.cc-source-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:.65rem; }
.cc-status-line { display:flex; align-items:flex-start; justify-content:space-between; gap:.75rem; }
.cc-status-line > * { min-width:0; }
.cc-first-action { scroll-margin-top:5rem; }

@media (max-width:639px) {
  .cc-dashboard-metrics {
    display:flex !important;
    overflow-x:auto;
    gap:.65rem !important;
    scroll-snap-type:x mandatory;
    scrollbar-width:none;
    padding:.05rem .1rem .55rem;
  }
  .cc-dashboard-metrics::-webkit-scrollbar { display:none; }
  .cc-dashboard-metrics > * { flex:0 0 9.75rem; scroll-snap-align:start; }
  .cc-cycle-rail { flex-wrap:nowrap; justify-content:flex-start; overflow-x:auto; scroll-snap-type:x mandatory; scrollbar-width:none; padding-bottom:.4rem; }
  .cc-cycle-rail::-webkit-scrollbar { display:none; }
  .cc-cycle-day { flex:0 0 4.75rem; scroll-snap-align:start; }
  .cc-source-grid {
    display:flex;
    overflow-x:auto;
    gap:.65rem;
    scroll-snap-type:x mandatory;
    scrollbar-width:none;
    padding:.05rem .05rem .5rem;
  }
  .cc-source-grid::-webkit-scrollbar { display:none; }
  .cc-source-grid > * { flex:0 0 7.75rem; scroll-snap-align:start; }
  .cc-status-line { flex-direction:column; }
  .cc-status-line .cc-badge { align-self:flex-start; }
  .cc-today-card-body { padding:.85rem; }
}


/* v43 — Neon Iconography & Accent Typography
   Neon is deliberately confined to icons, brand/display typography and active states.
   Body copy, tables and form text remain crisp Inter without glow. */
:root {
  --cc-display-font: "Oxanium", "Inter", ui-sans-serif, system-ui, sans-serif;
  --cc-neon-cyan: #06b6d4;
  --cc-neon-blue: #3b82f6;
  --cc-neon-violet: #8b5cf6;
  --cc-neon-magenta: #d946ef;
  --cc-neon-amber: #d97706;
  --cc-neon-emerald: #059669;
}
.dark {
  --cc-neon-cyan: #22d3ee;
  --cc-neon-blue: #60a5fa;
  --cc-neon-violet: #a78bfa;
  --cc-neon-magenta: #e879f9;
  --cc-neon-amber: #fbbf24;
  --cc-neon-emerald: #34d399;
}

/* Accent typography: hard glyph edges + restrained halo behind the glyphs. */
.cc-brand-name,
.cc-neon-brand-inline,
.cc-page-title,
.cc-display-title,
.cc-display-heading,
#current-page-title {
  font-family: var(--cc-display-font);
  font-optical-sizing: auto;
}
.cc-brand-name,
.cc-neon-brand-inline {
  font-weight: 800;
  letter-spacing: .015em;
  background: linear-gradient(90deg, #0e7490 0%, #4f46e5 52%, #a21caf 100%);
  -webkit-background-clip: text;
  background-clip: text;
  color: transparent !important;
}
.dark .cc-brand-name,
.dark .cc-neon-brand-inline {
  background-image: linear-gradient(90deg, #67e8f9 0%, #a5b4fc 50%, #f0abfc 100%);
  filter: drop-shadow(0 0 7px rgba(34,211,238,.18)) drop-shadow(0 0 12px rgba(217,70,239,.10));
}
.cc-page-title,
.cc-display-title,
.cc-display-heading,
#current-page-title {
  font-weight: 700;
  letter-spacing: -.012em;
}
.dark .cc-page-title,
.dark .cc-display-title,
.dark .cc-display-heading,
.dark #current-page-title {
  text-shadow: 0 0 14px color-mix(in srgb, var(--cc-intro-accent, #22d3ee) 18%, transparent);
}
.cc-page-kicker {
  font-family: var(--cc-display-font);
  font-weight: 700;
  letter-spacing: .12em;
}
html:not(.dark) .cc-page-kicker { color:color-mix(in srgb, var(--cc-intro-accent, #4f46e5) 68%, #0f172a 32%); }
.dark .cc-page-kicker {
  text-shadow: 0 0 9px color-mix(in srgb, var(--cc-intro-accent, #22d3ee) 35%, transparent);
}

/* Neon icon cells in the primary navigation. Text itself remains normal Inter. */
.cc-nav-item > i:first-child,
.cc-nav-subitem > i:first-child,
.cc-nav-group > summary > i:first-child {
  width: 1.7rem !important;
  height: 1.7rem;
  flex: 0 0 1.7rem;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border-radius: .5rem;
  background: color-mix(in srgb, currentColor 7%, transparent);
  border: 1px solid color-mix(in srgb, currentColor 16%, transparent);
  text-shadow: 0 0 7px color-mix(in srgb, currentColor 52%, transparent);
  box-shadow: inset 0 0 8px color-mix(in srgb, currentColor 6%, transparent);
  transition: transform .16s ease, background-color .16s ease, border-color .16s ease, box-shadow .16s ease, text-shadow .16s ease;
}
.cc-nav-subitem > i:first-child { width:1.55rem !important; height:1.55rem; flex-basis:1.55rem; border-radius:.45rem; }
.cc-nav-item:hover > i:first-child,
.cc-nav-subitem:hover > i:first-child,
.cc-nav-group > summary:hover > i:first-child {
  transform: translateY(-1px);
  background: color-mix(in srgb, currentColor 11%, transparent);
  border-color: color-mix(in srgb, currentColor 28%, transparent);
  text-shadow: 0 0 9px color-mix(in srgb, currentColor 70%, transparent);
  box-shadow: 0 0 12px color-mix(in srgb, currentColor 15%, transparent), inset 0 0 9px color-mix(in srgb, currentColor 8%, transparent);
}
.nav-link.active > i:first-child,
.cc-nav-group[open] > summary > i:first-child {
  background: color-mix(in srgb, currentColor 13%, transparent);
  border-color: color-mix(in srgb, currentColor 34%, transparent);
  text-shadow: 0 0 10px color-mix(in srgb, currentColor 76%, transparent);
  box-shadow: 0 0 14px color-mix(in srgb, currentColor 19%, transparent), inset 0 0 10px color-mix(in srgb, currentColor 10%, transparent);
}
.dark .nav-link.active {
  box-shadow: inset 0 0 0 1px rgba(129,140,248,.18), 0 0 18px rgba(99,102,241,.07) !important;
}

/* Page-leading icon: more cyber/neon, while retaining the page's semantic accent color. */
.cc-page-intro-icon {
  text-shadow: 0 0 9px color-mix(in srgb, var(--cc-intro-accent, #6366f1) 58%, transparent);
  box-shadow:
    inset 0 0 0 1px color-mix(in srgb, var(--cc-intro-accent, #6366f1) 10%, transparent),
    0 0 14px color-mix(in srgb, var(--cc-intro-accent, #6366f1) 10%, transparent);
}
.dark .cc-page-intro-icon {
  background: color-mix(in srgb, var(--cc-intro-accent, #6366f1) 12%, rgba(2,6,23,.32));
  border-color: color-mix(in srgb, var(--cc-intro-accent, #6366f1) 33%, transparent);
  text-shadow: 0 0 8px color-mix(in srgb, var(--cc-intro-accent, #6366f1) 82%, transparent), 0 0 16px color-mix(in srgb, var(--cc-intro-accent, #6366f1) 38%, transparent);
  box-shadow: 0 0 18px color-mix(in srgb, var(--cc-intro-accent, #6366f1) 17%, transparent), inset 0 0 12px color-mix(in srgb, var(--cc-intro-accent, #6366f1) 12%, transparent);
}
.dark .cc-page-intro {
  box-shadow: 0 1px 2px rgba(0,0,0,.15), 0 0 24px color-mix(in srgb, var(--cc-intro-accent, #6366f1) 5%, transparent);
}

/* Neon icon containers used in Dashboard/landing cards. */
.cc-feature-card .w-10.h-10,
.cc-metric-card .w-10.h-10,
.cc-action-tile .w-9.h-9,
.cc-empty-icon {
  border:1px solid color-mix(in srgb, currentColor 17%, transparent);
  text-shadow:0 0 8px color-mix(in srgb, currentColor 55%, transparent);
  box-shadow:inset 0 0 10px color-mix(in srgb, currentColor 6%, transparent), 0 0 12px color-mix(in srgb, currentColor 8%, transparent);
}
.dark .cc-feature-card .w-10.h-10,
.dark .cc-metric-card .w-10.h-10,
.dark .cc-action-tile .w-9.h-9,
.dark .cc-empty-icon {
  border-color:color-mix(in srgb, currentColor 29%, transparent);
  text-shadow:0 0 9px color-mix(in srgb, currentColor 76%, transparent);
  box-shadow:0 0 14px color-mix(in srgb, currentColor 14%, transparent), inset 0 0 10px color-mix(in srgb, currentColor 8%, transparent);
}

/* Small CTA icons get a light halo, but button labels never blur. */
.dark .cc-btn > i,
.dark .cc-btn > .fas,
.dark .cc-btn > .fab,
.dark .cc-btn > .fa-solid,
.dark .cc-btn > .fa-brands {
  text-shadow:0 0 8px currentColor;
}

/* Cyber accent line for primary page surfaces. */
.dark .cc-page-intro::before {
  content:"";
  position:absolute;
  inset:0 auto auto 1.1rem;
  width:min(10rem, 36%);
  height:1px;
  z-index:1;
  background:linear-gradient(90deg, transparent, color-mix(in srgb, var(--cc-intro-accent, #22d3ee) 78%, white 8%), transparent);
  box-shadow:0 0 8px color-mix(in srgb, var(--cc-intro-accent, #22d3ee) 45%, transparent);
  pointer-events:none;
}

/* Keep the effect quieter on light mode and small screens. */
html:not(.dark) .cc-nav-item > i:first-child,
html:not(.dark) .cc-nav-subitem > i:first-child,
html:not(.dark) .cc-nav-group > summary > i:first-child { text-shadow:none; box-shadow:inset 0 0 7px color-mix(in srgb,currentColor 5%,transparent); }
html:not(.dark) .cc-page-intro-icon { text-shadow:none; }

@media (max-width:639px) {
  .cc-nav-item > i:first-child,
  .cc-nav-group > summary > i:first-child { width:1.65rem !important; height:1.65rem; flex-basis:1.65rem; }
  .cc-nav-subitem > i:first-child { width:1.5rem !important; height:1.5rem; flex-basis:1.5rem; }
  .cc-display-title { letter-spacing:-.018em; }
}

@media (prefers-reduced-motion: reduce) {
  .cc-nav-item > i:first-child,
  .cc-nav-subitem > i:first-child,
  .cc-nav-group > summary > i:first-child { transform:none !important; }
}

/* v44 — Neon Dashboard 2.0 + controlled neon polish */
.cc-dashboard-neon-hero {
  position: relative;
  overflow: hidden;
  border: 1px solid rgba(99,102,241,.22);
  border-radius: 1.35rem;
  padding: 1.25rem;
  background:
    linear-gradient(135deg, rgba(255,255,255,.96), rgba(248,250,252,.92)),
    radial-gradient(circle at 85% 10%, rgba(34,211,238,.10), transparent 38%);
  box-shadow: 0 16px 48px rgba(15,23,42,.07), inset 0 0 0 1px rgba(255,255,255,.5);
}
.dark .cc-dashboard-neon-hero {
  border-color: rgba(34,211,238,.16);
  background:
    linear-gradient(135deg, rgba(7,11,25,.97), rgba(12,9,27,.95)),
    radial-gradient(circle at 82% 14%, rgba(34,211,238,.10), transparent 42%),
    radial-gradient(circle at 18% 90%, rgba(217,70,239,.075), transparent 42%);
  box-shadow: 0 18px 60px rgba(0,0,0,.27), 0 0 28px rgba(34,211,238,.025), inset 0 0 0 1px rgba(255,255,255,.025);
}
.cc-cyber-grid {
  position:absolute;
  inset:0;
  pointer-events:none;
  opacity:.30;
  background-image:
    linear-gradient(rgba(99,102,241,.055) 1px, transparent 1px),
    linear-gradient(90deg, rgba(99,102,241,.055) 1px, transparent 1px);
  background-size: 34px 34px;
  mask-image: linear-gradient(90deg, transparent 0, #000 35%, #000 100%);
}
.dark .cc-cyber-grid {
  opacity:.34;
  background-image:
    linear-gradient(rgba(34,211,238,.04) 1px, transparent 1px),
    linear-gradient(90deg, rgba(129,140,248,.045) 1px, transparent 1px);
}
.cc-dashboard-hero-orb { position:absolute; border-radius:999px; filter:blur(18px); pointer-events:none; }
.cc-dashboard-hero-orb-a { width:16rem; height:16rem; right:-5rem; top:-7rem; background:rgba(34,211,238,.10); }
.cc-dashboard-hero-orb-b { width:13rem; height:13rem; left:28%; bottom:-9rem; background:rgba(217,70,239,.08); }
.dark .cc-dashboard-hero-orb-a { background:rgba(34,211,238,.11); }
.dark .cc-dashboard-hero-orb-b { background:rgba(217,70,239,.085); }

.cc-dashboard-hero-copy { display:flex; min-width:0; flex-direction:column; justify-content:center; padding:.35rem 0; }
.cc-neon-kicker {
  display:inline-flex;
  align-items:center;
  gap:.5rem;
  width:max-content;
  font-family:var(--cc-display-font);
  font-size:.7rem;
  line-height:1rem;
  font-weight:750;
  letter-spacing:.16em;
  text-transform:uppercase;
  color:#0e7490;
}
.dark .cc-neon-kicker { color:#67e8f9; text-shadow:0 0 9px rgba(34,211,238,.17); }
.cc-neon-dot { width:.42rem; height:.42rem; border-radius:999px; background:#06b6d4; box-shadow:0 0 0 3px rgba(6,182,212,.10); }
.dark .cc-neon-dot { background:#22d3ee; box-shadow:0 0 7px rgba(34,211,238,.52),0 0 0 3px rgba(34,211,238,.09); }
.cc-dashboard-hero-title {
  margin-top:.65rem;
  max-width:43rem;
  font-family:var(--cc-display-font);
  font-size:clamp(1.55rem,3.1vw,2.35rem);
  line-height:1.08;
  font-weight:780;
  letter-spacing:-.035em;
  color:#0f172a;
}
.cc-dashboard-hero-title > span {
  color:#4f46e5;
  background:linear-gradient(90deg,#0891b2,#4f46e5 48%,#c026d3);
  -webkit-background-clip:text;
  background-clip:text;
  -webkit-text-fill-color:transparent;
}
.dark .cc-dashboard-hero-title { color:#f8fafc; }
.dark .cc-dashboard-hero-title > span { background-image:linear-gradient(90deg,#67e8f9,#a78bfa 52%,#f0abfc); }
.cc-dashboard-hero-lead { margin-top:.65rem; max-width:40rem; color:#64748b; font-size:.875rem; line-height:1.45rem; font-weight:520; }
.dark .cc-dashboard-hero-lead { color:#a7b1c2; }

.cc-neon-cta {
  color:#ecfeff;
  border-color:rgba(34,211,238,.42);
  background:linear-gradient(110deg,#0e7490,#4f46e5 62%,#7e22ce);
  box-shadow:0 9px 22px rgba(79,70,229,.16),0 0 0 1px rgba(255,255,255,.05) inset;
}
.cc-neon-cta:hover { color:white; box-shadow:0 12px 27px rgba(79,70,229,.21),0 0 18px rgba(34,211,238,.10); }
.dark .cc-neon-cta { background:linear-gradient(110deg,rgba(8,145,178,.88),rgba(79,70,229,.9) 62%,rgba(126,34,206,.9)); box-shadow:0 10px 25px rgba(79,70,229,.25),0 0 17px rgba(34,211,238,.07),0 0 0 1px rgba(255,255,255,.04) inset; }
.cc-dashboard-next-draw { display:grid; grid-template-columns:auto auto; align-items:baseline; column-gap:.45rem; row-gap:.02rem; padding:.48rem .72rem; border:1px solid #e2e8f0; border-radius:.8rem; background:rgba(255,255,255,.58); }
.dark .cc-dashboard-next-draw { border-color:rgba(167,139,250,.18); background:rgba(10,13,25,.46); }
.cc-dashboard-next-draw-label { grid-column:1/-1; font-size:.6rem; line-height:.8rem; text-transform:uppercase; letter-spacing:.11em; font-weight:800; color:#94a3b8; }
.cc-dashboard-next-draw strong { color:#0f172a; font-family:var(--cc-display-font); font-size:.82rem; }
.dark .cc-dashboard-next-draw strong { color:#f8fafc; }
.cc-dashboard-next-draw > span:last-child { color:#64748b; font-size:.69rem; font-weight:650; }
.dark .cc-dashboard-next-draw > span:last-child { color:#94a3b8; }

.cc-today-flow { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:.65rem; align-self:stretch; }
.cc-today-step {
  --cc-step:#06b6d4;
  position:relative;
  min-width:0;
  min-height:11.2rem;
  overflow:hidden;
  border:1px solid color-mix(in srgb,var(--cc-step) 24%,#e2e8f0 76%);
  border-radius:1rem;
  padding:.9rem;
  background:linear-gradient(160deg, color-mix(in srgb,var(--cc-step) 5%,#fff 95%), rgba(255,255,255,.92));
  box-shadow:0 5px 20px rgba(15,23,42,.035);
  transition:transform .16s ease,border-color .16s ease,box-shadow .16s ease;
}
.cc-today-step::before { content:""; position:absolute; inset:0 auto auto 0; width:58%; height:1px; background:linear-gradient(90deg,var(--cc-step),transparent); opacity:.48; }
.cc-today-step:hover { transform:translateY(-2px); border-color:color-mix(in srgb,var(--cc-step) 45%,transparent); box-shadow:0 10px 26px color-mix(in srgb,var(--cc-step) 8%,rgba(15,23,42,.06)); }
.dark .cc-today-step { border-color:color-mix(in srgb,var(--cc-step) 25%,rgba(255,255,255,.06)); background:linear-gradient(160deg,color-mix(in srgb,var(--cc-step) 7%,rgba(10,13,25,.96)),rgba(8,11,22,.93)); box-shadow:inset 0 0 0 1px rgba(255,255,255,.012),0 8px 24px rgba(0,0,0,.12); }
.dark .cc-today-step:hover { border-color:color-mix(in srgb,var(--cc-step) 42%,transparent); box-shadow:0 0 18px color-mix(in srgb,var(--cc-step) 6%,transparent),0 10px 26px rgba(0,0,0,.16); }
.cc-today-step-cyan { --cc-step:#06b6d4; --cc-step-text:#0e7490; }
.cc-today-step-magenta { --cc-step:#d946ef; --cc-step-text:#a21caf; }
.cc-today-step-amber { --cc-step:#d97706; --cc-step-text:#b45309; }
.dark .cc-today-step-cyan { --cc-step:#22d3ee; --cc-step-text:#67e8f9; }
.dark .cc-today-step-magenta { --cc-step:#e879f9; --cc-step-text:#f0abfc; }
.dark .cc-today-step-amber { --cc-step:#fbbf24; --cc-step-text:#fcd34d; }
.cc-today-step-head { display:flex; align-items:center; justify-content:space-between; gap:.6rem; }
.cc-today-step-number { font-family:var(--cc-display-font); font-size:.63rem; font-weight:750; letter-spacing:.12em; color:#94a3b8; }
.cc-today-step-icon { width:2.2rem; height:2.2rem; border-radius:.7rem; display:flex; align-items:center; justify-content:center; color:var(--cc-step); background:color-mix(in srgb,var(--cc-step) 9%,transparent); border:1px solid color-mix(in srgb,var(--cc-step) 19%,transparent); }
.dark .cc-today-step-icon { text-shadow:0 0 7px color-mix(in srgb,var(--cc-step) 56%,transparent); box-shadow:0 0 11px color-mix(in srgb,var(--cc-step) 8%,transparent),inset 0 0 8px color-mix(in srgb,var(--cc-step) 6%,transparent); }
.cc-today-step-label { margin-top:.85rem; font-size:.69rem; line-height:1rem; letter-spacing:.09em; text-transform:uppercase; font-weight:850; color:var(--cc-step-text,var(--cc-step)); }
.cc-today-step-value { margin-top:.16rem; font-family:var(--cc-display-font); font-size:1.05rem; line-height:1.3rem; font-weight:780; letter-spacing:-.02em; color:#0f172a; }
.dark .cc-today-step-value { color:#f8fafc; }
.cc-today-step-meta { margin-top:.26rem; min-height:2rem; font-size:.7rem; line-height:1rem; font-weight:550; color:#64748b; }
.dark .cc-today-step-meta { color:#98a4b7; }
.cc-neon-progress { height:.28rem; margin-top:.7rem; overflow:hidden; border-radius:999px; background:#e2e8f0; }
.dark .cc-neon-progress { background:rgba(255,255,255,.07); }
.cc-neon-progress > span { display:block; height:100%; border-radius:inherit; background:linear-gradient(90deg,#06b6d4,#6366f1); box-shadow:0 0 7px rgba(34,211,238,.24); }
.cc-status-pulse { position:absolute; right:.9rem; bottom:.85rem; width:.48rem; height:.48rem; border-radius:999px; background:#94a3b8; box-shadow:0 0 0 4px rgba(148,163,184,.10); }
.cc-status-success { background:#10b981; box-shadow:0 0 0 4px rgba(16,185,129,.10),0 0 7px rgba(16,185,129,.25); }
.cc-status-magenta { background:#d946ef; box-shadow:0 0 0 4px rgba(217,70,239,.10),0 0 7px rgba(217,70,239,.25); }
.cc-status-amber { background:#f59e0b; box-shadow:0 0 0 4px rgba(245,158,11,.10),0 0 7px rgba(245,158,11,.25); }
.cc-ticket-notches { position:absolute; right:.85rem; bottom:.68rem; display:flex; gap:.2rem; }
.cc-ticket-notches span { display:block; width:.2rem; height:.55rem; border-radius:999px; background:color-mix(in srgb,var(--cc-step) 56%,transparent); box-shadow:0 0 5px color-mix(in srgb,var(--cc-step) 14%,transparent); }

.cc-dashboard-kpi-v44 { gap:.75rem; }
.cc-neon-metric { --cc-metric-accent:#06b6d4; position:relative; overflow:hidden; padding:1rem; }
.cc-neon-metric::after { content:""; position:absolute; right:-2rem; top:-2.2rem; width:6rem; height:6rem; border-radius:999px; background:var(--cc-metric-accent); opacity:.055; filter:blur(3px); pointer-events:none; }
.dark .cc-neon-metric { box-shadow:0 0 18px color-mix(in srgb,var(--cc-metric-accent) 3%,transparent),inset 0 1px 0 rgba(255,255,255,.018); }
.dark .cc-neon-metric::after { opacity:.065; }
.cc-neon-metric-cyan { --cc-metric-accent:#06b6d4; }
.cc-neon-metric-emerald { --cc-metric-accent:#059669; }
.cc-neon-metric-violet { --cc-metric-accent:#7c3aed; }
.cc-neon-metric-magenta { --cc-metric-accent:#c026d3; }
.dark .cc-neon-metric-cyan { --cc-metric-accent:#22d3ee; }
.dark .cc-neon-metric-emerald { --cc-metric-accent:#34d399; }
.dark .cc-neon-metric-violet { --cc-metric-accent:#a78bfa; }
.dark .cc-neon-metric-magenta { --cc-metric-accent:#e879f9; }
.cc-neon-metric-icon { position:relative; z-index:1; width:2.25rem; height:2.25rem; margin-bottom:.65rem; display:flex; align-items:center; justify-content:center; border-radius:.72rem; color:var(--cc-metric-accent); background:color-mix(in srgb,var(--cc-metric-accent) 8%,transparent); border:1px solid color-mix(in srgb,var(--cc-metric-accent) 17%,transparent); }
.dark .cc-neon-metric-icon { text-shadow:0 0 7px color-mix(in srgb,var(--cc-metric-accent) 55%,transparent); box-shadow:0 0 11px color-mix(in srgb,var(--cc-metric-accent) 7%,transparent),inset 0 0 8px color-mix(in srgb,var(--cc-metric-accent) 5%,transparent); }
.cc-metric-unit { font-family:Inter,ui-sans-serif,system-ui,sans-serif; font-size:.68rem; font-weight:700; letter-spacing:0; color:#64748b; }
.dark .cc-metric-unit { color:#94a3b8; }

.cc-earn-neon-card {
  --cc-earn-accent:#6366f1;
  position:relative;
  display:block;
  min-width:0;
  overflow:hidden;
  border:1px solid color-mix(in srgb,var(--cc-earn-accent) 15%,#e2e8f0 85%);
  border-radius:1rem;
  padding:1.1rem;
  background:rgba(255,255,255,.88);
  box-shadow:0 1px 2px rgba(15,23,42,.035);
  transition:transform .17s ease,border-color .17s ease,box-shadow .17s ease,background-color .17s ease;
}
.cc-earn-neon-card::before { content:""; position:absolute; inset:0 0 auto 0; height:1px; background:linear-gradient(90deg,transparent,var(--cc-earn-accent),transparent); opacity:.28; }
.cc-earn-neon-card:hover { transform:translateY(-2px); border-color:color-mix(in srgb,var(--cc-earn-accent) 36%,transparent); box-shadow:0 12px 30px color-mix(in srgb,var(--cc-earn-accent) 8%,rgba(15,23,42,.06)); }
.dark .cc-earn-neon-card { border-color:color-mix(in srgb,var(--cc-earn-accent) 18%,rgba(255,255,255,.06)); background:rgba(14,18,31,.86); }
.dark .cc-earn-neon-card:hover { border-color:color-mix(in srgb,var(--cc-earn-accent) 36%,transparent); box-shadow:0 0 19px color-mix(in srgb,var(--cc-earn-accent) 5%,transparent),0 13px 32px rgba(0,0,0,.16); }
.cc-earn-neon-emerald { --cc-earn-accent:#10b981; }
.cc-earn-neon-violet { --cc-earn-accent:#7c3aed; }
.cc-earn-neon-cyan { --cc-earn-accent:#06b6d4; }
.dark .cc-earn-neon-emerald { --cc-earn-accent:#34d399; }
.dark .cc-earn-neon-violet { --cc-earn-accent:#a78bfa; }
.dark .cc-earn-neon-cyan { --cc-earn-accent:#22d3ee; }

/* Slightly stronger active navigation, with sharp text and glow kept on the frame/icon. */
.dark .nav-link.active,
.dark .cc-nav-group[open] > summary {
  border:1px solid rgba(129,140,248,.16);
  box-shadow:inset 0 0 0 1px rgba(129,140,248,.06),0 0 15px rgba(99,102,241,.045) !important;
}

@media (max-width:1199px) {
  .cc-today-flow { grid-template-columns:repeat(3,minmax(10rem,1fr)); overflow-x:auto; scrollbar-width:none; scroll-snap-type:x proximity; padding-bottom:.15rem; }
  .cc-today-flow::-webkit-scrollbar { display:none; }
  .cc-today-step { scroll-snap-align:start; }
}
@media (max-width:639px) {
  .cc-dashboard-neon-hero { padding:1rem; border-radius:1.15rem; }
  .cc-cyber-grid { background-size:28px 28px; opacity:.26; }
  .cc-dashboard-hero-title { font-size:1.52rem; }
  .cc-dashboard-hero-lead { font-size:.8rem; line-height:1.28rem; }
  .cc-dashboard-next-draw { width:100%; }
  .cc-today-flow { grid-template-columns:repeat(3,82%); margin-inline:-.08rem; }
  .cc-today-step { min-height:10.5rem; }
  .cc-dashboard-kpi-v44 { grid-template-columns:repeat(4,78%); display:grid; overflow-x:auto; scroll-snap-type:x mandatory; scrollbar-width:none; padding-bottom:.18rem; }
  .cc-dashboard-kpi-v44::-webkit-scrollbar { display:none; }
  .cc-dashboard-kpi-v44 > * { scroll-snap-align:start; }
  .cc-earn-neon-card { padding:1rem; }
}
@media (prefers-reduced-motion: reduce) {
  .cc-today-step,.cc-earn-neon-card,.cc-neon-cta { transition:none !important; }
  .cc-today-step:hover,.cc-earn-neon-card:hover,.cc-neon-cta:hover { transform:none !important; }
}


/* v45 — Neon Calibration I: preserve neon identity while keeping text edges crisp. */
@media (max-width:639px) {
  .dark .cc-dashboard-neon-hero { box-shadow:0 14px 38px rgba(0,0,0,.24),0 0 20px rgba(34,211,238,.018),inset 0 0 0 1px rgba(255,255,255,.022); }
  .dark .cc-today-step-icon,
  .dark .cc-neon-metric-icon { text-shadow:none; }
  .dark .cc-today-step-icon { box-shadow:0 0 9px color-mix(in srgb,var(--cc-step) 6%,transparent),inset 0 0 7px color-mix(in srgb,var(--cc-step) 5%,transparent); }
  .dark .cc-neon-metric-icon { box-shadow:0 0 9px color-mix(in srgb,var(--cc-metric-accent) 5%,transparent),inset 0 0 7px color-mix(in srgb,var(--cc-metric-accent) 4%,transparent); }
}

/* v46 — Daily Missions UX 2.0 + Choco Draw UX 2.0 */
.cc-missions-v46 { position:relative; overflow:hidden; }
.cc-mission-overview { display:flex; align-items:flex-start; justify-content:space-between; gap:1rem; }
.cc-mission-score { flex:0 0 auto; min-width:5.8rem; padding:.62rem .75rem; border:1px solid rgba(99,102,241,.18); border-radius:.9rem; background:rgba(99,102,241,.06); text-align:center; }
.cc-mission-score strong { display:block; font-family:var(--cc-display-font); font-size:1.12rem; line-height:1.25rem; color:#4338ca; }
.cc-mission-score span { display:block; margin-top:.12rem; font-size:.62rem; font-weight:800; text-transform:uppercase; letter-spacing:.08em; color:#64748b; }
.cc-mission-score.is-complete { border-color:rgba(16,185,129,.22); background:rgba(16,185,129,.07); }
.cc-mission-score.is-complete strong { color:#047857; }
.dark .cc-mission-score { border-color:rgba(129,140,248,.16); background:rgba(99,102,241,.08); }
.dark .cc-mission-score strong { color:#a5b4fc; }
.dark .cc-mission-score span { color:#94a3b8; }
.dark .cc-mission-score.is-complete { border-color:rgba(52,211,153,.18); background:rgba(16,185,129,.08); }
.dark .cc-mission-score.is-complete strong { color:#6ee7b7; }

.cc-mission-master-progress { height:.42rem; margin-top:1rem; overflow:hidden; border-radius:999px; background:#e2e8f0; }
.cc-mission-master-progress > span { display:block; height:100%; border-radius:inherit; background:linear-gradient(90deg,#06b6d4,#6366f1 58%,#a855f7); box-shadow:0 0 7px rgba(99,102,241,.16); transition:width .2s ease; }
.dark .cc-mission-master-progress { background:rgba(255,255,255,.075); }

.cc-unlock-path { display:grid; grid-template-columns:minmax(0,1fr) auto minmax(0,1fr) auto minmax(0,1fr); align-items:center; gap:.5rem; margin-top:1rem; }
.cc-unlock-path-wide { margin-top:0; }
.cc-unlock-step { min-width:0; display:flex; align-items:center; gap:.62rem; padding:.68rem .75rem; border:1px solid #e2e8f0; border-radius:.9rem; background:rgba(248,250,252,.78); }
.cc-unlock-step-icon { width:2rem; height:2rem; flex:0 0 2rem; display:flex; align-items:center; justify-content:center; border-radius:.65rem; background:#f1f5f9; color:#94a3b8; }
.cc-unlock-step > span:last-child { display:block; min-width:0; }
.cc-unlock-step b { display:block; color:#334155; font-size:.72rem; line-height:.95rem; }
.cc-unlock-step small { display:block; margin-top:.1rem; color:#94a3b8; font-size:.62rem; line-height:.86rem; white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
.cc-unlock-step.is-active { border-color:rgba(99,102,241,.28); background:rgba(99,102,241,.055); }
.cc-unlock-step.is-active .cc-unlock-step-icon { color:#4f46e5; background:rgba(99,102,241,.10); }
.cc-unlock-step.is-active b { color:#3730a3; }
.cc-unlock-step.is-done { border-color:rgba(16,185,129,.24); background:rgba(16,185,129,.055); }
.cc-unlock-step.is-done .cc-unlock-step-icon { color:#059669; background:rgba(16,185,129,.10); }
.cc-unlock-step.is-done b { color:#047857; }
.cc-unlock-step.is-locked { opacity:.68; }
.cc-unlock-connector { width:1.7rem; height:2px; border-radius:999px; background:#e2e8f0; }
.cc-unlock-connector.is-on { background:linear-gradient(90deg,#10b981,#6366f1); }
.dark .cc-unlock-step { border-color:rgba(255,255,255,.075); background:rgba(255,255,255,.025); }
.dark .cc-unlock-step-icon { background:rgba(255,255,255,.045); color:#64748b; }
.dark .cc-unlock-step b { color:#cbd5e1; }
.dark .cc-unlock-step small { color:#8793a7; }
.dark .cc-unlock-step.is-active { border-color:rgba(129,140,248,.22); background:rgba(99,102,241,.065); }
.dark .cc-unlock-step.is-active .cc-unlock-step-icon { color:#a5b4fc; background:rgba(99,102,241,.12); }
.dark .cc-unlock-step.is-active b { color:#c7d2fe; }
.dark .cc-unlock-step.is-done { border-color:rgba(52,211,153,.19); background:rgba(16,185,129,.07); }
.dark .cc-unlock-step.is-done .cc-unlock-step-icon { color:#6ee7b7; background:rgba(16,185,129,.11); }
.dark .cc-unlock-step.is-done b { color:#a7f3d0; }
.dark .cc-unlock-connector { background:rgba(255,255,255,.08); }

.cc-mission-next-action { margin-top:1rem; display:flex; align-items:center; justify-content:space-between; gap:1rem; padding:.78rem .85rem; border:1px solid rgba(99,102,241,.16); border-radius:.9rem; background:rgba(99,102,241,.045); }
.cc-mission-next-action > div { min-width:0; }
.cc-mission-next-action b { display:block; color:#3730a3; font-size:.78rem; }
.cc-mission-next-action span { display:block; margin-top:.12rem; color:#64748b; font-size:.68rem; line-height:1rem; }
.cc-mission-next-action.is-success { border-color:rgba(16,185,129,.18); background:rgba(16,185,129,.055); }
.cc-mission-next-action.is-success b { color:#047857; }
.dark .cc-mission-next-action { border-color:rgba(129,140,248,.16); background:rgba(99,102,241,.055); }
.dark .cc-mission-next-action b { color:#c7d2fe; }
.dark .cc-mission-next-action span { color:#94a3b8; }
.dark .cc-mission-next-action.is-success { border-color:rgba(52,211,153,.17); background:rgba(16,185,129,.065); }
.dark .cc-mission-next-action.is-success b { color:#a7f3d0; }

.cc-mission-grid-v46 { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:.75rem; margin-top:1rem; }
.cc-mission-item-v46 { min-width:0; padding:.85rem; border:1px solid #e2e8f0; border-radius:.9rem; background:rgba(248,250,252,.72); }
.cc-mission-item-v46.is-done { border-color:rgba(16,185,129,.22); background:rgba(16,185,129,.045); }
.cc-mission-item-v46.is-optional { opacity:.78; }
.cc-mission-item-top { display:flex; align-items:center; gap:.65rem; }
.cc-mission-icon { width:2.05rem; height:2.05rem; flex:0 0 2.05rem; display:flex; align-items:center; justify-content:center; border-radius:.65rem; color:#4f46e5; background:rgba(99,102,241,.09); border:1px solid rgba(99,102,241,.12); }
.cc-mission-item-v46.is-done .cc-mission-icon { color:#059669; background:rgba(16,185,129,.10); border-color:rgba(16,185,129,.16); }
.cc-mission-name { color:#0f172a; font-weight:800; font-size:.78rem; line-height:1.05rem; white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
.cc-mission-counter { margin-top:.12rem; color:#64748b; font-size:.65rem; line-height:.9rem; }
.cc-mission-item-footer { display:flex; align-items:center; justify-content:space-between; gap:.65rem; margin-top:.65rem; color:#64748b; font-size:.62rem; line-height:.9rem; }
.cc-mission-link { display:inline-flex; align-items:center; gap:.35rem; flex:0 0 auto; color:#4f46e5; font-size:.64rem; font-weight:850; }
.cc-mission-link:hover { color:#3730a3; }
.cc-mission-reset-note { display:flex; align-items:flex-start; gap:.45rem; color:#64748b; font-size:.65rem; line-height:1rem; }
.cc-mission-reset-note i { margin-top:.14rem; color:#94a3b8; }
.dark .cc-mission-item-v46 { border-color:rgba(255,255,255,.075); background:rgba(255,255,255,.022); }
.dark .cc-mission-item-v46.is-done { border-color:rgba(52,211,153,.17); background:rgba(16,185,129,.055); }
.dark .cc-mission-icon { color:#a5b4fc; background:rgba(99,102,241,.10); border-color:rgba(129,140,248,.13); }
.dark .cc-mission-item-v46.is-done .cc-mission-icon { color:#6ee7b7; background:rgba(16,185,129,.10); border-color:rgba(52,211,153,.14); }
.dark .cc-mission-name { color:#e5e7eb; }
.dark .cc-mission-counter,.dark .cc-mission-item-footer,.dark .cc-mission-reset-note { color:#94a3b8; }
.dark .cc-mission-link { color:#a5b4fc; }
.dark .cc-mission-link:hover { color:#c7d2fe; }

.cc-draw-journey-card,.cc-draw-hero-v46 { border:1px solid rgba(124,58,237,.18); border-radius:1.15rem; background:linear-gradient(145deg,rgba(255,255,255,.96),rgba(248,250,252,.91)); box-shadow:0 10px 30px rgba(15,23,42,.045); }
.cc-draw-journey-card { padding:1rem; }
.cc-draw-journey-head { display:flex; align-items:flex-start; justify-content:space-between; gap:1rem; }
.cc-draw-journey-head h3 { margin-top:.28rem; font-family:var(--cc-display-font); font-size:1.1rem; font-weight:760; color:#0f172a; }
.cc-draw-journey-head p { margin-top:.3rem; max-width:44rem; color:#64748b; font-size:.72rem; line-height:1.08rem; }
.dark .cc-draw-journey-card,.dark .cc-draw-hero-v46 { border-color:rgba(167,139,250,.16); background:linear-gradient(145deg,rgba(13,10,28,.92),rgba(9,13,25,.94)); box-shadow:0 12px 36px rgba(0,0,0,.18); }
.dark .cc-draw-journey-head h3 { color:#f8fafc; }
.dark .cc-draw-journey-head p { color:#94a3b8; }

.cc-draw-hero-v46 { position:relative; overflow:hidden; display:grid; grid-template-columns:minmax(0,1fr) minmax(12rem,17rem); gap:1rem; padding:1.05rem; }
.cc-draw-hero-v46::after { content:""; position:absolute; width:13rem; height:13rem; right:-5rem; top:-6rem; border-radius:999px; background:rgba(34,211,238,.07); filter:blur(8px); pointer-events:none; }
.cc-draw-hero-copy { position:relative; z-index:1; min-width:0; }
.cc-draw-hero-title { margin-top:.38rem; font-family:var(--cc-display-font); font-size:clamp(1.35rem,2.4vw,1.9rem); font-weight:780; letter-spacing:-.025em; color:#0f172a; }
.cc-draw-hero-copytext { margin-top:.4rem; max-width:39rem; color:#64748b; font-size:.78rem; line-height:1.18rem; }
.dark .cc-draw-hero-title { color:#f8fafc; }
.dark .cc-draw-hero-copytext { color:#a1adbf; }
.cc-draw-countdown-panel { position:relative; z-index:1; align-self:stretch; display:flex; flex-direction:column; justify-content:center; padding:.9rem; border:1px solid rgba(99,102,241,.16); border-radius:.95rem; background:rgba(99,102,241,.055); text-align:right; }
.cc-draw-countdown-label { color:#64748b; font-size:.62rem; line-height:.9rem; font-weight:800; text-transform:uppercase; letter-spacing:.1em; }
.cc-draw-countdown-value { margin-top:.25rem; font-family:var(--cc-display-font); font-size:1.35rem; line-height:1.6rem; font-weight:780; color:#4f46e5; letter-spacing:-.02em; }
.cc-draw-countdown-meta { margin-top:.22rem; color:#64748b; font-size:.65rem; line-height:.95rem; }
.dark .cc-draw-countdown-panel { border-color:rgba(129,140,248,.15); background:rgba(99,102,241,.075); }
.dark .cc-draw-countdown-label,.dark .cc-draw-countdown-meta { color:#94a3b8; }
.dark .cc-draw-countdown-value { color:#c4b5fd; }
.cc-draw-journey { margin-top:0; padding:.72rem; border:1px solid #e2e8f0; border-radius:1rem; background:rgba(248,250,252,.64); }
.dark .cc-draw-journey { border-color:rgba(255,255,255,.075); background:rgba(255,255,255,.02); }

.cc-ticket-rail-v46 { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:.6rem; margin-top:1rem; }
.cc-ticket-v46 { position:relative; overflow:hidden; padding:.8rem; border:1px solid rgba(124,58,237,.17); border-radius:.85rem; background:rgba(124,58,237,.045); text-align:center; }
.cc-ticket-v46::before,.cc-ticket-v46::after { content:""; position:absolute; width:.56rem; height:.56rem; top:50%; transform:translateY(-50%); border-radius:999px; background:#fff; border:1px solid #e2e8f0; }
.cc-ticket-v46::before { left:-.3rem; }.cc-ticket-v46::after { right:-.3rem; }
.cc-ticket-v46.is-today { border-color:rgba(245,158,11,.32); background:rgba(245,158,11,.07); box-shadow:0 0 0 2px rgba(245,158,11,.055); }
.cc-ticket-date { display:block; color:#64748b; font-size:.58rem; font-weight:850; text-transform:uppercase; letter-spacing:.08em; }
.cc-ticket-v46 strong { display:block; margin-top:.18rem; font-family:var(--cc-display-font); font-size:1.02rem; color:#7c3aed; }
.cc-ticket-v46 small { display:block; margin-top:.15rem; color:#94a3b8; font-size:.58rem; line-height:.82rem; }
.cc-ticket-v46.is-today strong { color:#b45309; }
.dark .cc-ticket-v46 { border-color:rgba(167,139,250,.15); background:rgba(124,58,237,.06); }
.dark .cc-ticket-v46::before,.dark .cc-ticket-v46::after { background:#0b1020; border-color:rgba(255,255,255,.08); }
.dark .cc-ticket-v46.is-today { border-color:rgba(251,191,36,.24); background:rgba(245,158,11,.08); }
.dark .cc-ticket-date,.dark .cc-ticket-v46 small { color:#94a3b8; }
.dark .cc-ticket-v46 strong { color:#c4b5fd; }.dark .cc-ticket-v46.is-today strong { color:#fcd34d; }

.cc-draw-times { display:flex; flex-wrap:wrap; justify-content:flex-end; gap:.55rem; }
.cc-draw-times span { display:flex; flex-direction:column; gap:.08rem; min-width:7.8rem; padding:.5rem .62rem; border:1px solid #e2e8f0; border-radius:.72rem; color:#475569; font-size:.64rem; }
.cc-draw-times b { color:#94a3b8; font-size:.56rem; text-transform:uppercase; letter-spacing:.07em; }
.dark .cc-draw-times span { border-color:rgba(255,255,255,.075); color:#cbd5e1; }.dark .cc-draw-times b { color:#7f8aa0; }
.cc-prize-rail-v46 { display:flex; gap:.55rem; overflow-x:auto; scrollbar-width:none; padding-bottom:.12rem; }
.cc-prize-rail-v46::-webkit-scrollbar { display:none; }
.cc-prize-chip-v46 { min-width:6.1rem; flex:1 0 6.1rem; padding:.65rem; border:1px solid rgba(124,58,237,.16); border-radius:.78rem; background:rgba(124,58,237,.045); text-align:center; }
.cc-prize-chip-v46 span { display:block; color:#94a3b8; font-size:.58rem; font-weight:850; }
.cc-prize-chip-v46 strong { display:block; margin-top:.08rem; color:#7c3aed; font-family:var(--cc-display-font); font-size:.95rem; }
.cc-prize-chip-v46 small { display:block; margin-top:.08rem; color:#64748b; font-size:.6rem; }
.dark .cc-prize-chip-v46 { border-color:rgba(167,139,250,.15); background:rgba(124,58,237,.055); }.dark .cc-prize-chip-v46 strong { color:#c4b5fd; }.dark .cc-prize-chip-v46 small { color:#94a3b8; }

.cc-fair-steps-v46 { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:.7rem; margin-top:1rem; }
.cc-fair-step { display:flex; align-items:flex-start; gap:.65rem; padding:.8rem; border:1px solid #e2e8f0; border-radius:.86rem; background:rgba(248,250,252,.72); }
.cc-fair-step > span { width:2rem; height:2rem; flex:0 0 2rem; display:flex; align-items:center; justify-content:center; border-radius:.65rem; color:#94a3b8; background:#f1f5f9; }
.cc-fair-step b { display:block; color:#334155; font-size:.72rem; line-height:.95rem; }
.cc-fair-step small { display:block; margin-top:.14rem; color:#64748b; font-size:.62rem; line-height:.92rem; }
.cc-fair-step.is-done { border-color:rgba(16,185,129,.18); background:rgba(16,185,129,.045); }
.cc-fair-step.is-done > span { color:#059669; background:rgba(16,185,129,.10); }
.cc-fair-step.is-done b { color:#047857; }
.cc-fair-step.is-pending > span { color:#d97706; background:rgba(245,158,11,.09); }
.dark .cc-fair-step { border-color:rgba(255,255,255,.075); background:rgba(255,255,255,.022); }
.dark .cc-fair-step > span { background:rgba(255,255,255,.045); color:#7f8aa0; }
.dark .cc-fair-step b { color:#cbd5e1; }.dark .cc-fair-step small { color:#94a3b8; }
.dark .cc-fair-step.is-done { border-color:rgba(52,211,153,.16); background:rgba(16,185,129,.055); }.dark .cc-fair-step.is-done > span { color:#6ee7b7; background:rgba(16,185,129,.10); }.dark .cc-fair-step.is-done b { color:#a7f3d0; }
.dark .cc-fair-step.is-pending > span { color:#fcd34d; background:rgba(245,158,11,.08); }

.cc-draw-advanced { border:1px solid #e2e8f0; border-radius:.85rem; overflow:hidden; background:rgba(248,250,252,.7); }
.cc-draw-advanced summary { list-style:none; cursor:pointer; display:flex; align-items:center; justify-content:space-between; gap:1rem; padding:.75rem .85rem; color:#475569; font-size:.7rem; font-weight:850; }
.cc-draw-advanced summary::-webkit-details-marker { display:none; }
.cc-draw-advanced summary span { display:inline-flex; align-items:center; gap:.45rem; }
.cc-draw-advanced[open] summary > i:last-child { transform:rotate(180deg); }
.cc-draw-advanced-body { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:.65rem; padding:.8rem; border-top:1px solid #e2e8f0; }
.cc-hash-box { min-width:0; padding:.7rem; border-radius:.72rem; background:#fff; border:1px solid #eef2f7; }
.cc-hash-box b { display:block; margin-bottom:.35rem; color:#64748b; font-size:.58rem; text-transform:uppercase; letter-spacing:.07em; }
.cc-hash-box code { display:block; overflow-wrap:anywhere; color:#0e7490; font-size:.62rem; line-height:.95rem; }
.cc-hash-box span,.cc-hash-box small { display:block; color:#64748b; font-size:.62rem; line-height:.92rem; }
.dark .cc-draw-advanced { border-color:rgba(255,255,255,.075); background:rgba(255,255,255,.018); }.dark .cc-draw-advanced summary { color:#cbd5e1; }.dark .cc-draw-advanced-body { border-top-color:rgba(255,255,255,.07); }.dark .cc-hash-box { background:rgba(0,0,0,.16); border-color:rgba(255,255,255,.055); }.dark .cc-hash-box b,.dark .cc-hash-box span,.dark .cc-hash-box small { color:#94a3b8; }.dark .cc-hash-box code { color:#67e8f9; }

.cc-winner-list-v46 { margin-top:.25rem; divide-y:1px; }
.cc-winner-row-v46 { display:flex; align-items:center; justify-content:space-between; gap:1rem; padding:.72rem 0; border-bottom:1px solid #eef2f7; }
.cc-winner-row-v46:last-child { border-bottom:0; }
.cc-winner-row-v46 > div:first-child { min-width:0; }
.cc-winner-row-v46 b { display:block; color:#0f172a; font-size:.75rem; }
.cc-winner-row-v46 span { display:block; margin-top:.08rem; color:#94a3b8; font-size:.62rem; }
.cc-winner-row-v46 > div:last-child { flex:0 0 auto; text-align:right; }
.cc-winner-row-v46 strong { display:block; color:#059669; font-size:.72rem; }
.cc-winner-row-v46 small { display:block; margin-top:.08rem; color:#94a3b8; font-size:.58rem; }
.dark .cc-winner-row-v46 { border-bottom-color:rgba(255,255,255,.06); }.dark .cc-winner-row-v46 b { color:#e5e7eb; }.dark .cc-winner-row-v46 strong { color:#6ee7b7; }

@media (max-width:900px) {
  .cc-unlock-path { grid-template-columns:1fr; gap:.45rem; }
  .cc-unlock-connector { width:2px; height:.75rem; margin-left:1rem; }
  .cc-draw-hero-v46 { grid-template-columns:1fr; }
  .cc-draw-countdown-panel { text-align:left; }
  .cc-fair-steps-v46 { grid-template-columns:1fr; }
}
@media (max-width:639px) {
  .cc-mission-overview,.cc-mission-next-action,.cc-draw-journey-head,.cc-section-head { align-items:flex-start; }
  .cc-mission-overview,.cc-mission-next-action,.cc-draw-journey-head { flex-direction:column; }
  .cc-mission-score { min-width:0; width:100%; text-align:left; display:flex; align-items:baseline; justify-content:space-between; }
  .cc-mission-score span { margin-top:0; }
  .cc-mission-grid-v46 { grid-template-columns:1fr; }
  .cc-mission-item-footer { align-items:flex-start; }
  .cc-ticket-rail-v46 { display:flex; overflow-x:auto; scroll-snap-type:x mandatory; scrollbar-width:none; }
  .cc-ticket-rail-v46::-webkit-scrollbar { display:none; }
  .cc-ticket-v46 { min-width:72%; scroll-snap-align:start; }
  .cc-draw-times { justify-content:flex-start; width:100%; }
  .cc-draw-times span { flex:1 1 45%; }
  .cc-draw-advanced-body { grid-template-columns:1fr; }
  .cc-winner-row-v46 { align-items:flex-start; }
}
@media (prefers-reduced-motion: reduce) {
  .cc-mission-master-progress > span,.cc-draw-advanced summary > i:last-child { transition:none !important; }
}
