/* CryptoChoco UI baseline v40 */
:root {
  --cc-focus: #0A8FD6;
  --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: #0876B5; background: rgba(10,143,214,.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: #6EC8F3; background: rgba(10,143,214,.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: #0876B5 !important;
  font-weight: 700 !important;
  box-shadow: inset 0 0 0 1px rgba(10,143,214,.10);
  border-right: 0 !important;
}
.dark .nav-link.active { background: rgba(99, 102, 241, 0.16) !important; color: #6EC8F3 !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, #0A8FD6);
  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, #0A8FD6);
  background:color-mix(in srgb, var(--cc-intro-accent, #0A8FD6) 11%, transparent);
  border:1px solid color-mix(in srgb, var(--cc-intro-accent, #0A8FD6) 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, #0A8FD6); }
.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:#0876B5; background:rgba(10,143,214,.10); }
.dark .cc-admin-brand-badge { color:#6EC8F3; background:rgba(10,143,214,.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:#0876B5; color:#fff; box-shadow:0 7px 18px rgba(79,70,229,.16); }
.cc-btn-primary:hover { background:#0876B5; }
.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:#0876B5; background:#eef2ff; border-color:#B6E6FB; }
.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:#6EC8F3; background:rgba(10,143,214,.12); border-color:rgba(10,143,214,.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:#43B7EE; box-shadow:0 0 0 3px rgba(10,143,214,.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: #0876B5;
  --cc-link-readable-dark: #6EC8F3;
}

/* 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:#0876B5; }
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:#0876B5; }
html:not(.dark) body .text-violet-500 { color:#FF6B35; }
html:not(.dark) body .text-purple-500 { color:#D95A20; }
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 compatibility layer — legacy class names retained; colors normalized by Tropical Dark
   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: "Poppins", "Inter", ui-sans-serif, system-ui, sans-serif;
  --cc-neon-cyan: #06b6d4;
  --cc-neon-blue: #3b82f6;
  --cc-neon-violet: #FF6B35;
  --cc-neon-magenta: #FF6B35;
  --cc-neon-amber: #d97706;
  --cc-neon-emerald: #059669;
}
.dark {
  --cc-neon-cyan: #22d3ee;
  --cc-neon-blue: #60a5fa;
  --cc-neon-violet: #55B9EA;
  --cc-neon-magenta: #FF9A6C;
  --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%, #0876B5 52%, #FF6B35 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%, #6EC8F3 50%, #FFC08C 100%);
  filter: drop-shadow(0 0 7px rgba(34,211,238,.18)) drop-shadow(0 0 12px rgba(255,107,53,.08));
}
.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, #0876B5) 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(10,143,214,.18), 0 0 18px rgba(10,143,214,.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, #0A8FD6) 58%, transparent);
  box-shadow:
    inset 0 0 0 1px color-mix(in srgb, var(--cc-intro-accent, #0A8FD6) 10%, transparent),
    0 0 14px color-mix(in srgb, var(--cc-intro-accent, #0A8FD6) 10%, transparent);
}
.dark .cc-page-intro-icon {
  background: color-mix(in srgb, var(--cc-intro-accent, #0A8FD6) 12%, rgba(2,6,23,.32));
  border-color: color-mix(in srgb, var(--cc-intro-accent, #0A8FD6) 33%, transparent);
  text-shadow: 0 0 8px color-mix(in srgb, var(--cc-intro-accent, #0A8FD6) 82%, transparent), 0 0 16px color-mix(in srgb, var(--cc-intro-accent, #0A8FD6) 38%, transparent);
  box-shadow: 0 0 18px color-mix(in srgb, var(--cc-intro-accent, #0A8FD6) 17%, transparent), inset 0 0 12px color-mix(in srgb, var(--cc-intro-accent, #0A8FD6) 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, #0A8FD6) 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(10,143,214,.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(255,107,53,.055), 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(10,143,214,.055) 1px, transparent 1px),
    linear-gradient(90deg, rgba(10,143,214,.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(10,143,214,.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(255,107,53,.06); }
.dark .cc-dashboard-hero-orb-a { background:rgba(34,211,238,.11); }
.dark .cc-dashboard-hero-orb-b { background:rgba(255,107,53,.065); }

.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:#0876B5;
  background:linear-gradient(90deg,#0891b2,#0876B5 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,#55B9EA 52%,#FFC08C); }
.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,#0876B5 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(255,176,46,.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:#FF6B35; --cc-step-text:#FF6B35; }
.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:#FF9A6C; --cc-step-text:#FFC08C; }
.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,#0A8FD6); 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:#FF6B35; box-shadow:0 0 0 4px rgba(255,107,53,.08),0 0 7px rgba(255,107,53,.18); }
.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:#FF6B35; }
.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:#55B9EA; }
.dark .cc-neon-metric-magenta { --cc-metric-accent:#FF9A6C; }
.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:#0A8FD6;
  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:#FF6B35; }
.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:#55B9EA; }
.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(10,143,214,.16);
  box-shadow:inset 0 0 0 1px rgba(10,143,214,.06),0 0 15px rgba(10,143,214,.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(10,143,214,.18); border-radius:.9rem; background:rgba(10,143,214,.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:#0876B5; }
.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(10,143,214,.16); background:rgba(10,143,214,.08); }
.dark .cc-mission-score strong { color:#6EC8F3; }
.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,#0A8FD6 58%,#FFB02E); box-shadow:0 0 7px rgba(10,143,214,.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(10,143,214,.28); background:rgba(10,143,214,.055); }
.cc-unlock-step.is-active .cc-unlock-step-icon { color:#0876B5; background:rgba(10,143,214,.10); }
.cc-unlock-step.is-active b { color:#075F94; }
.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,#0A8FD6); }
.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(10,143,214,.22); background:rgba(10,143,214,.065); }
.dark .cc-unlock-step.is-active .cc-unlock-step-icon { color:#6EC8F3; background:rgba(10,143,214,.12); }
.dark .cc-unlock-step.is-active b { color:#B6E6FB; }
.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(10,143,214,.16); border-radius:.9rem; background:rgba(10,143,214,.045); }
.cc-mission-next-action > div { min-width:0; }
.cc-mission-next-action b { display:block; color:#075F94; 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(10,143,214,.16); background:rgba(10,143,214,.055); }
.dark .cc-mission-next-action b { color:#B6E6FB; }
.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:#0876B5; background:rgba(10,143,214,.09); border:1px solid rgba(10,143,214,.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:#0876B5; font-size:.64rem; font-weight:850; }
.cc-mission-link:hover { color:#075F94; }
.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:#6EC8F3; background:rgba(10,143,214,.10); border-color:rgba(10,143,214,.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:#6EC8F3; }
.dark .cc-mission-link:hover { color:#B6E6FB; }

.cc-draw-journey-card,.cc-draw-hero-v46 { border:1px solid rgba(255,107,53,.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(255,107,53,.16); background:linear-gradient(145deg,rgba(11,36,43,.92),rgba(8,29,34,.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(10,143,214,.16); border-radius:.95rem; background:rgba(10,143,214,.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:#0876B5; 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(10,143,214,.15); background:rgba(10,143,214,.075); }
.dark .cc-draw-countdown-label,.dark .cc-draw-countdown-meta { color:#94a3b8; }
.dark .cc-draw-countdown-value { color:#FFC14D; }
.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(255,107,53,.17); border-radius:.85rem; background:rgba(255,176,46,.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:#FF6B35; }
.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(255,176,46,.15); background:rgba(255,176,46,.055); }
.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:#FFC14D; }.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(255,107,53,.16); border-radius:.78rem; background:rgba(255,176,46,.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:#FF6B35; 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(255,176,46,.15); background:rgba(255,176,46,.05); }.dark .cc-prize-chip-v46 strong { color:#FFC14D; }.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; }
}

/* v98 — CryptoChoco Brand Palette & UI Refresh
   Brand roles:
   #1DD1A1 = rewards / money / success
   #0A8FD6 = navigation / technology / interactive UI
   Neutral content remains neutral for readability. */
:root {
  --cc-brand-green:#1DD1A1;
  --cc-brand-blue:#0A8FD6;
  --cc-brand-green-readable:#0B8467;
  --cc-brand-blue-readable:#0876B5;
  --cc-focus:#0A8FD6;
  --cc-link-readable:#0876B5;
  --cc-link-readable-dark:#49B8EF;
  --cc-neon-cyan:#0A8FD6;
  --cc-neon-blue:#0A8FD6;
  --cc-neon-violet:#0A8FD6;
  --cc-neon-magenta:#1DD1A1;
  --cc-neon-emerald:#1DD1A1;
}
.dark {
  --cc-neon-cyan:#32AEEA;
  --cc-neon-blue:#32AEEA;
  --cc-neon-violet:#32AEEA;
  --cc-neon-magenta:#1DD1A1;
  --cc-neon-emerald:#1DD1A1;
}

/* Brand typography: two-color identity, no generic purple. */
.cc-brand-name,
.cc-neon-brand-inline {
  background-image:linear-gradient(90deg,var(--cc-brand-green) 0%,var(--cc-brand-blue) 72%) !important;
  filter:none;
}
.dark .cc-brand-name,
.dark .cc-neon-brand-inline {
  background-image:linear-gradient(90deg,#43E4B8 0%,#38AEE8 76%) !important;
  filter:drop-shadow(0 0 8px rgba(29,209,161,.11)) drop-shadow(0 0 12px rgba(10,143,214,.08));
}

/* Core interactive language. */
.nav-link.active {
  background:rgba(10,143,214,.10) !important;
  color:var(--cc-brand-blue-readable) !important;
  box-shadow:inset 0 0 0 1px rgba(10,143,214,.13) !important;
}
.dark .nav-link.active,
.dark .cc-nav-group[open] > summary {
  color:#55B9EA !important;
  background:rgba(10,143,214,.12) !important;
  border-color:rgba(10,143,214,.20) !important;
  box-shadow:inset 0 0 0 1px rgba(10,143,214,.07),0 0 16px rgba(10,143,214,.05) !important;
}
.cc-nav-group[open] > summary { color:var(--cc-brand-blue-readable); background:rgba(10,143,214,.07); }
.cc-btn-primary { background:var(--cc-brand-blue); box-shadow:0 8px 20px rgba(10,143,214,.18); }
.cc-btn-primary:hover { background:#087DBD; }
.cc-btn-success { background:var(--cc-brand-green-readable); }
.cc-btn-success:hover { background:#08745B; }
.cc-control:focus { border-color:var(--cc-brand-blue); box-shadow:0 0 0 3px rgba(10,143,214,.13); }
.cc-badge-brand { color:var(--cc-brand-blue-readable); background:rgba(10,143,214,.08); border-color:rgba(10,143,214,.20); }
.dark .cc-badge-brand { color:#60C4F4; background:rgba(10,143,214,.12); border-color:rgba(10,143,214,.24); }
.cc-badge-success { color:#08745B; background:rgba(29,209,161,.10); border-color:rgba(29,209,161,.28); }
.dark .cc-badge-success { color:#51E5BE; background:rgba(29,209,161,.10); border-color:rgba(29,209,161,.22); }

/* Text semantics. Keep normal paragraphs neutral. */
.cc-money-text,
.cc-reward-text { color:var(--cc-brand-green-readable) !important; }
.dark .cc-money-text,
.dark .cc-reward-text { color:var(--cc-brand-green) !important; }
html:not(.dark) body .text-brand-primary { color:var(--cc-brand-blue-readable) !important; }
html:not(.dark) body .text-brand-accent { color:var(--cc-brand-green-readable) !important; }
.dark body .text-brand-primary { color:#43B7EE !important; }
.dark body .text-brand-accent { color:var(--cc-brand-green) !important; }
html:not(.dark) body .text-emerald-500 { color:var(--cc-brand-green-readable) !important; }
.dark body .text-emerald-500 { color:var(--cc-brand-green) !important; }
html:not(.dark) body .text-cyan-500,
html:not(.dark) body .text-indigo-500,
html:not(.dark) body .text-blue-500 { color:var(--cc-brand-blue-readable) !important; }
.dark body .text-cyan-500,
.dark body .text-indigo-500,
.dark body .text-blue-500 { color:#43B7EE !important; }

/* Main shell uses the dark mockup's deep navy surfaces when dark mode is active. */
.dark body { background-color:#0B0E14 !important; }
.dark #sidebar { background:rgba(10,15,23,.96) !important; border-right-color:rgba(10,143,214,.10) !important; }
.dark header { background:rgba(11,14,20,.82) !important; border-bottom-color:rgba(10,143,214,.09) !important; }
.dark .cc-card,
.dark .cc-metric-card,
.dark .cc-surface { background:rgba(15,21,31,.88); border-color:rgba(255,255,255,.075); }

/* Public landing/auth — visual match to the approved concept. */
#guest-home > .grid > .space-y-6 > .cc-surface:first-child {
  border-color:rgba(10,143,214,.14);
  background:
    radial-gradient(circle at 82% 18%,rgba(29,209,161,.08),transparent 30%),
    radial-gradient(circle at 12% 92%,rgba(10,143,214,.10),transparent 34%),
    rgba(255,255,255,.88);
}
.dark #guest-home > .grid > .space-y-6 > .cc-surface:first-child {
  border-color:rgba(10,143,214,.18);
  background:
    radial-gradient(circle at 82% 18%,rgba(29,209,161,.09),transparent 31%),
    radial-gradient(circle at 12% 92%,rgba(10,143,214,.12),transparent 36%),
    linear-gradient(145deg,rgba(10,17,26,.98),rgba(7,12,20,.97));
  box-shadow:0 24px 70px rgba(0,0,0,.30),0 0 32px rgba(10,143,214,.025);
}
#guest-home .cc-feature-card { border-color:rgba(10,143,214,.11); }
.dark #guest-home .cc-feature-card { background:rgba(8,14,22,.72) !important; border-color:rgba(10,143,214,.12) !important; }
#guest-home .cc-feature-card:hover { border-color:rgba(10,143,214,.30); box-shadow:0 14px 32px rgba(10,143,214,.08); }
.cc-cta-earn-v98 {
  background:linear-gradient(135deg,#1DD1A1,#14B98C);
  box-shadow:0 12px 28px rgba(29,209,161,.22);
}
.cc-cta-earn-v98:hover { background:linear-gradient(135deg,#2ADCB0,#0FAE82); box-shadow:0 15px 34px rgba(29,209,161,.28); }
.cc-auth-card-v98 { border-color:rgba(10,143,214,.15) !important; }
.dark .cc-auth-card-v98 { background:rgba(9,15,24,.94) !important; border-color:rgba(10,143,214,.18) !important; box-shadow:0 24px 70px rgba(0,0,0,.32),0 0 30px rgba(10,143,214,.03); }
.cc-auth-strip-v98 { background:linear-gradient(90deg,var(--cc-brand-blue),var(--cc-brand-green)); box-shadow:0 0 14px rgba(10,143,214,.18); }
.cc-auth-submit-v98 { background:linear-gradient(135deg,#0A8FD6,#0879B7); box-shadow:0 12px 28px rgba(10,143,214,.24); }
.cc-auth-submit-v98:hover { background:linear-gradient(135deg,#149BDF,#0874AE); box-shadow:0 15px 34px rgba(10,143,214,.29); }
.cc-social-x-v98 { border-color:rgba(10,143,214,.22); background:linear-gradient(145deg,#080D14,#0A1622 62%,#0B2631); box-shadow:0 8px 22px rgba(0,0,0,.16); }
.cc-social-x-v98:hover { border-color:rgba(29,209,161,.45); box-shadow:0 12px 28px rgba(29,209,161,.09); }
.cc-telegram-banner-v98 { background:linear-gradient(120deg,#0876B5,#0A8FD6 60%,#13A1DF); box-shadow:0 16px 38px rgba(10,143,214,.20); }

/* Dashboard — remove purple/magenta identity and keep the two-brand-color system. */
.cc-dashboard-neon-hero {
  border-color:rgba(10,143,214,.20);
  background:
    linear-gradient(135deg,rgba(255,255,255,.97),rgba(248,250,252,.93)),
    radial-gradient(circle at 82% 12%,rgba(29,209,161,.10),transparent 40%);
}
.dark .cc-dashboard-neon-hero {
  border-color:rgba(10,143,214,.20);
  background:
    radial-gradient(circle at 82% 12%,rgba(29,209,161,.09),transparent 38%),
    radial-gradient(circle at 16% 92%,rgba(10,143,214,.10),transparent 42%),
    linear-gradient(135deg,rgba(7,13,22,.98),rgba(8,17,26,.96));
  box-shadow:0 18px 58px rgba(0,0,0,.28),0 0 30px rgba(10,143,214,.025),inset 0 0 0 1px rgba(255,255,255,.02);
}
.cc-cyber-grid { background-image:linear-gradient(rgba(10,143,214,.05) 1px,transparent 1px),linear-gradient(90deg,rgba(10,143,214,.05) 1px,transparent 1px); }
.dark .cc-cyber-grid { background-image:linear-gradient(rgba(29,209,161,.025) 1px,transparent 1px),linear-gradient(90deg,rgba(10,143,214,.04) 1px,transparent 1px); }
.cc-dashboard-hero-orb-a { background:rgba(29,209,161,.11); }
.cc-dashboard-hero-orb-b { background:rgba(10,143,214,.09); }
.dark .cc-dashboard-hero-orb-a { background:rgba(29,209,161,.10); }
.dark .cc-dashboard-hero-orb-b { background:rgba(10,143,214,.10); }
.cc-dashboard-hero-title > span { background-image:linear-gradient(90deg,var(--cc-brand-green),var(--cc-brand-blue)) !important; }
.dark .cc-dashboard-hero-title > span { background-image:linear-gradient(90deg,#43E4B8,#43B7EE) !important; }
.cc-neon-kicker { color:var(--cc-brand-blue-readable); }
.dark .cc-neon-kicker { color:#43B7EE; text-shadow:0 0 9px rgba(10,143,214,.15); }
.cc-neon-dot { background:var(--cc-brand-green); box-shadow:0 0 0 3px rgba(29,209,161,.10),0 0 8px rgba(29,209,161,.18); }
.cc-neon-progress > span { background:linear-gradient(90deg,var(--cc-brand-green),var(--cc-brand-blue)); box-shadow:0 0 7px rgba(29,209,161,.20); }
.cc-today-step-cyan { --cc-step:#0A8FD6; --cc-step-text:#0876B5; }
.cc-today-step-magenta { --cc-step:#1DD1A1; --cc-step-text:#0B8467; }
.dark .cc-today-step-cyan { --cc-step:#32AEEA; --cc-step-text:#5CC4F3; }
.dark .cc-today-step-magenta { --cc-step:#1DD1A1; --cc-step-text:#51E5BE; }
.cc-neon-metric-cyan,
.cc-neon-metric-violet { --cc-metric-accent:#0A8FD6; }
.cc-neon-metric-emerald,
.cc-neon-metric-magenta { --cc-metric-accent:#1DD1A1; }
.dark .cc-neon-metric-cyan,
.dark .cc-neon-metric-violet { --cc-metric-accent:#32AEEA; }
.dark .cc-neon-metric-emerald,
.dark .cc-neon-metric-magenta { --cc-metric-accent:#1DD1A1; }
.cc-earn-neon-blue-v98,
.cc-earn-neon-violet,
.cc-earn-neon-cyan { --cc-earn-accent:#0A8FD6; }
.dark .cc-earn-neon-blue-v98,
.dark .cc-earn-neon-violet,
.dark .cc-earn-neon-cyan { --cc-earn-accent:#32AEEA; }
.cc-earn-neon-emerald { --cc-earn-accent:#1DD1A1; }
.dark .cc-earn-neon-emerald { --cc-earn-accent:#1DD1A1; }

/* Shared page intros now default to CryptoChoco Blue, while reward states stay green. */
.cc-page-intro { --cc-intro-accent:var(--cc-brand-blue); }
.cc-page-intro::after { background:var(--cc-intro-accent,var(--cc-brand-blue)); }
.cc-info-note { border-color:rgba(10,143,214,.24); background:rgba(10,143,214,.07); color:#075985; }
.dark .cc-info-note { border-color:rgba(10,143,214,.22); background:rgba(10,143,214,.08); color:#B6E6FB; }

/* Small-screen dark surfaces stay clean and avoid excessive glow. */
@media (max-width:639px) {
  .dark .cc-auth-card-v98,
  .dark #guest-home > .grid > .space-y-6 > .cc-surface:first-child { box-shadow:0 14px 38px rgba(0,0,0,.25); }
}


/* ========================================================================
   v99 — CryptoChoco Tropical Dark Design System
   Deep tropical surfaces + papaya warmth + blue navigation + green rewards.
   Default product language:
   BLUE   = navigation / technology / information
   GREEN  = money / rewards / success
   PAPAYA = brand / promotion / engagement
   GOLD   = bonus / tickets / streak
   RED    = danger / failure
   ======================================================================== */
:root {
  --cc-bg:#FFF7ED;
  --cc-bg-dark:#06191E;
  --cc-surface:#FFFFFF;
  --cc-surface-2:#FFF9F1;
  --cc-surface-dark:#0B242B;
  --cc-surface-dark-2:#103139;
  --cc-surface-dark-hover:#153D46;
  --cc-text:#263238;
  --cc-text-dark:#F4F7F8;
  --cc-muted:#647982;
  --cc-muted-dark:#A9BAC2;
  --cc-border:#E7DED2;
  --cc-border-dark:rgba(126,164,176,.16);
  --cc-brand-blue:#0A8FD6;
  --cc-brand-green:#1EA75A;
  --cc-brand-green-bright:#1DD1A1;
  --cc-brand-papaya:#FF6B35;
  --cc-brand-gold:#FFB02E;
  --cc-danger:#E84C4C;
  --cc-focus:#0A8FD6;
  --cc-radius:.875rem;
  --cc-shadow:0 8px 28px rgba(17,38,43,.08);
  --cc-display-font:"Poppins","Inter",ui-sans-serif,system-ui,sans-serif;
}

html { background:var(--cc-bg); }
html.dark { background:var(--cc-bg-dark); }
body {
  background-color:var(--cc-bg) !important;
  color:var(--cc-text);
}
.dark body {
  background-color:var(--cc-bg-dark) !important;
  color:var(--cc-text-dark);
  background-image:
    radial-gradient(circle at 8% -6%,rgba(255,107,53,.055),transparent 27rem),
    radial-gradient(circle at 100% 15%,rgba(30,167,90,.055),transparent 30rem);
  background-attachment:fixed;
}
body,button,input,select,textarea { font-family:"Inter",ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif; }
h1,h2,h3,.cc-display-title,.cc-display-heading,.cc-page-title,.cc-dashboard-hero-title,.cc-section-title { font-family:var(--cc-display-font); }

/* Tropical brand lockup: green Crypto -> papaya Choco. */
.cc-brand-name,.cc-neon-brand-inline {
  background-image:linear-gradient(90deg,var(--cc-brand-green) 0%,var(--cc-brand-green) 38%,var(--cc-brand-papaya) 72%,var(--cc-brand-gold) 100%) !important;
  -webkit-background-clip:text;
  background-clip:text;
  color:transparent !important;
}
.dark .cc-brand-name,.dark .cc-neon-brand-inline {
  background-image:linear-gradient(90deg,#44D985 0%,#44D985 40%,#FF7A45 74%,#FFC04D 100%) !important;
  filter:drop-shadow(0 0 9px rgba(30,167,90,.08));
}
.cc-brand-mark { background:#062128; box-shadow:0 8px 24px rgba(6,25,30,.20),inset 0 0 0 1px rgba(255,255,255,.07); }

/* Main shell */
.dark #sidebar { background:rgba(8,29,34,.975) !important; border-right-color:rgba(10,143,214,.14) !important; box-shadow:14px 0 42px rgba(0,0,0,.12); }
.dark header { background:rgba(8,29,34,.89) !important; border-bottom-color:rgba(126,164,176,.12) !important; box-shadow:0 6px 28px rgba(0,0,0,.09); }
.dark footer { background:rgba(8,29,34,.82) !important; border-color:rgba(126,164,176,.11) !important; }
.dark .bg-grid { opacity:.58; }

/* Navigation: deliberately not rainbow. */
.dark .nav-link,.dark .cc-nav-group > summary { color:#9FB3C0 !important; }
.dark .nav-link:hover,.dark .cc-nav-group > summary:hover { color:#49B8EF !important; background:rgba(10,143,214,.075) !important; }
.nav-link.active { color:#0876B5 !important; background:rgba(10,143,214,.09) !important; border:1px solid rgba(10,143,214,.12) !important; }
.dark .nav-link.active,.dark .cc-nav-group[open] > summary {
  color:#55B9EA !important;
  background:linear-gradient(90deg,rgba(10,143,214,.14),rgba(10,143,214,.065)) !important;
  border-color:rgba(10,143,214,.23) !important;
  box-shadow:inset 3px 0 0 #0A8FD6 !important;
}
.cc-nav-section-title,.cc-nav-subsection-title { color:#718891; }
.dark .cc-nav-section-title,.dark .cc-nav-subsection-title { color:#708991; }

/* Shared surfaces */
.cc-card,.cc-metric-card,.cc-surface,.cc-admin-module-brandbar {
  border-color:var(--cc-border);
  background:rgba(255,255,255,.92);
  box-shadow:var(--cc-shadow);
}
.dark .cc-card,.dark .cc-metric-card,.dark .cc-surface,.dark .cc-admin-module-brandbar {
  border-color:var(--cc-border-dark) !important;
  background:rgba(11,36,43,.91) !important;
  box-shadow:0 12px 34px rgba(0,0,0,.13);
}
.dark .cc-card:hover,.dark .cc-metric-card:hover { border-color:rgba(10,143,214,.22); }
.cc-metric-label { color:#718891; }
.dark .cc-metric-label { color:#8FA8B3; }
.dark .cc-metric-value,.dark .cc-section-title,.dark .cc-page-title { color:#F4F7F8; }

/* Button semantics */
.cc-btn-primary { background:var(--cc-brand-blue); color:#fff; box-shadow:0 8px 20px rgba(10,143,214,.18); }
.cc-btn-primary:hover { background:#0876B5; }
.cc-btn-success { background:var(--cc-brand-green); color:#fff; box-shadow:0 8px 20px rgba(30,167,90,.15); }
.cc-btn-success:hover { background:#178849; }
.cc-cta-earn-v99 {
  background:linear-gradient(135deg,var(--cc-brand-papaya),#FF8A3D 58%,var(--cc-brand-gold));
  box-shadow:0 13px 30px rgba(255,107,53,.23);
}
.cc-cta-earn-v99:hover { background:linear-gradient(135deg,#FF7A45,#FF9B43 62%,#FFC34A); box-shadow:0 16px 36px rgba(255,107,53,.28); }
.cc-control:focus { border-color:var(--cc-brand-blue); box-shadow:0 0 0 3px rgba(10,143,214,.13); }

/* Text semantics */
.cc-money-text,.cc-reward-text { color:#148B4D !important; }
.dark .cc-money-text,.dark .cc-reward-text { color:#32D477 !important; }
.dark body .text-brand-primary { color:#45B8EE !important; }
.dark body .text-brand-accent { color:#37D87B !important; }

/* Landing — distinctive tropical hero without turning the product into a casino. */
.cc-tropical-hero-v99 {
  min-height:27rem;
  border-color:rgba(30,167,90,.18) !important;
  background:
    radial-gradient(circle at 88% 18%,rgba(255,176,46,.16),transparent 17rem),
    radial-gradient(circle at 78% 55%,rgba(30,167,90,.12),transparent 20rem),
    linear-gradient(145deg,rgba(255,255,255,.98),rgba(255,247,237,.96)) !important;
}
.cc-tropical-hero-v99::before { content:none; display:none; }
.cc-tropical-hero-art-v103 {
  position:absolute;
  z-index:2;
  right:-.35rem;
  bottom:-.25rem;
  height:95%;
  width:auto;
  max-width:43%;
  object-fit:contain;
  object-position:right bottom;
  pointer-events:none;
  filter:drop-shadow(0 20px 34px rgba(0,0,0,.18));
}
.dark .cc-tropical-hero-art-v103 { filter:drop-shadow(0 24px 42px rgba(0,0,0,.30)); }
.cc-tropical-hero-v99::after {
  content:"";
  position:absolute;
  right:-4rem;
  bottom:-6rem;
  width:23rem;
  height:14rem;
  border-radius:72% 28% 68% 32% / 65% 55% 45% 35%;
  background:linear-gradient(135deg,rgba(30,167,90,.18),rgba(10,143,214,.09));
  transform:rotate(-18deg);
  pointer-events:none;
}
.dark .cc-tropical-hero-v99 {
  border-color:rgba(30,167,90,.20) !important;
  background:
    radial-gradient(circle at 88% 17%,rgba(255,107,53,.11),transparent 17rem),
    radial-gradient(circle at 78% 58%,rgba(30,167,90,.12),transparent 22rem),
    radial-gradient(circle at 10% 95%,rgba(10,143,214,.09),transparent 23rem),
    linear-gradient(145deg,#071E24 0%,#071A20 52%,#06161B 100%) !important;
  box-shadow:0 26px 70px rgba(0,0,0,.25),inset 0 0 0 1px rgba(255,255,255,.018);
}
#guest-home .cc-feature-card { border-radius:.9rem !important; }
.dark #guest-home .cc-feature-card { background:rgba(8,29,34,.78) !important; border-color:rgba(126,164,176,.13) !important; }
.dark #guest-home .cc-feature-card:hover { border-color:rgba(30,167,90,.30) !important; box-shadow:0 12px 28px rgba(0,0,0,.14); }
.cc-auth-strip-v98 { background:linear-gradient(90deg,var(--cc-brand-blue),var(--cc-brand-green),var(--cc-brand-papaya)); }
.dark .cc-auth-card-v98 { background:rgba(8,29,34,.96) !important; border-color:rgba(10,143,214,.18) !important; }

/* Page intros: technology blue by default, with a warm tropical halo. */
.cc-page-intro { --cc-intro-accent:var(--cc-brand-blue); border-radius:1rem; }
.dark .cc-page-intro {
  border-color:rgba(10,143,214,.16) !important;
  background:linear-gradient(120deg,rgba(11,36,43,.94),rgba(8,29,34,.92)) !important;
}
.cc-page-intro::before {
  content:""; position:absolute; left:36%; bottom:-4rem; width:14rem; height:7rem; border-radius:999px;
  background:rgba(255,107,53,.045); filter:blur(12px); pointer-events:none;
}

/* Dashboard: calmer tropical productivity hub. */
.cc-dashboard-neon-hero {
  border-radius:1rem;
  border-color:rgba(30,167,90,.16) !important;
  background:linear-gradient(135deg,rgba(255,255,255,.97),rgba(255,248,239,.94)) !important;
}
.dark .cc-dashboard-neon-hero {
  border-color:rgba(30,167,90,.18) !important;
  background:
    radial-gradient(circle at 85% 15%,rgba(30,167,90,.10),transparent 32%),
    radial-gradient(circle at 17% 100%,rgba(255,107,53,.055),transparent 32%),
    linear-gradient(135deg,#082128,#071B21) !important;
  box-shadow:0 16px 44px rgba(0,0,0,.17) !important;
}
.cc-dashboard-hero-title > span { background-image:linear-gradient(90deg,var(--cc-brand-green),var(--cc-brand-papaya),var(--cc-brand-gold)) !important; }
.dark .cc-dashboard-hero-title > span { background-image:linear-gradient(90deg,#36D77A,#FF7641,#FFC34A) !important; }
.cc-cyber-grid { opacity:.22; background-image:linear-gradient(rgba(10,143,214,.04) 1px,transparent 1px),linear-gradient(90deg,rgba(30,167,90,.035) 1px,transparent 1px); }
.cc-dashboard-hero-orb-a { background:rgba(30,167,90,.09); }
.cc-dashboard-hero-orb-b { background:rgba(255,107,53,.07); }
.cc-neon-progress > span { background:linear-gradient(90deg,var(--cc-brand-green),var(--cc-brand-gold),var(--cc-brand-papaya)); box-shadow:none; }
.cc-today-step-magenta { --cc-step:var(--cc-brand-papaya); --cc-step-text:#D94E1D; }
.dark .cc-today-step-magenta { --cc-step:#FF7A45; --cc-step-text:#FF9C78; }
.cc-earn-neon-violet { --cc-earn-accent:var(--cc-brand-papaya); }
.dark .cc-earn-neon-violet { --cc-earn-accent:#FF7A45; }

/* Daily mission -> Bonus -> Draw has warm progression rather than purple neon. */
.cc-mission-master-progress > span { background:linear-gradient(90deg,var(--cc-brand-green),var(--cc-brand-gold) 55%,var(--cc-brand-papaya)); box-shadow:none; }
.cc-mission-score { border-color:rgba(10,143,214,.17); background:rgba(10,143,214,.06); }
.cc-mission-score strong { color:#0876B5; }
.dark .cc-mission-score { border-color:rgba(10,143,214,.18); background:rgba(10,143,214,.07); }
.dark .cc-mission-score strong { color:#55B9EA; }
.cc-mission-icon,.cc-mission-link { color:#0876B5; }
.dark .cc-mission-icon,.dark .cc-mission-link { color:#55B9EA; }
.cc-mission-next-action { border-color:rgba(255,176,46,.20); background:rgba(255,176,46,.07); }
.cc-mission-next-action b { color:#A85B00; }
.dark .cc-mission-next-action { border-color:rgba(255,176,46,.18); background:rgba(255,176,46,.065); }
.dark .cc-mission-next-action b { color:#FFD078; }

.cc-draw-journey-card,.cc-draw-hero-v46 { border-color:rgba(255,107,53,.20); }
.cc-draw-hero-v46::after { background:rgba(255,176,46,.11); }
.cc-draw-countdown-panel { border-color:rgba(255,176,46,.22); background:rgba(255,176,46,.075); }
.cc-draw-countdown-value,.cc-ticket-v46 strong,.cc-prize-chip-v46 strong { color:#D95A20; }
.dark .cc-draw-journey-card,.dark .cc-draw-hero-v46 { border-color:rgba(255,107,53,.20); background:linear-gradient(145deg,rgba(12,39,45,.97),rgba(8,29,34,.94)); }
.dark .cc-draw-countdown-panel { border-color:rgba(255,176,46,.20); background:rgba(255,176,46,.065); }
.dark .cc-draw-countdown-value,.dark .cc-ticket-v46 strong,.dark .cc-prize-chip-v46 strong { color:#FFC14D; }

/* Marketplace family: Offerwalls / PTC / Shortlinks. */
.dark .ad-card,.dark [class*="group-hover:shadow-brand-primary"] { border-color:rgba(126,164,176,.14); }
.dark .ad-card:hover { border-color:rgba(10,143,214,.28); background:rgba(16,49,57,.94) !important; }

/* Financial surfaces stay restrained: no promotional glow. */
.dark input,.dark select,.dark textarea {
  background-color:#081D22 !important;
  border-color:rgba(126,164,176,.17) !important;
  color:#F4F7F8 !important;
}
.dark input:focus,.dark select:focus,.dark textarea:focus { border-color:rgba(10,143,214,.55) !important; box-shadow:0 0 0 3px rgba(10,143,214,.10) !important; }

/* Tables: operational and support-friendly. */
.dark table { color:#DCE7EA; }
.dark thead { background:rgba(16,49,57,.72); }
.dark tbody tr { border-color:rgba(126,164,176,.10); }
.dark tbody tr:hover { background:rgba(21,61,70,.42); }

/* Admin: neutral tropical operations shell; playful papaya stays mostly out of finance. */
.cc-admin-brand-badge { color:#0876B5; background:rgba(10,143,214,.09); }
.dark .cc-admin-brand-badge { color:#55B9EA; background:rgba(10,143,214,.11); }
.dark body .cc-admin-module-brandbar { background:rgba(11,36,43,.90) !important; }

/* Public / legal pages inherit the same tropical editorial shell. */
.dark main > section[class*="rounded-"] { border-color:rgba(126,164,176,.15) !important; }
.dark main > section[class*="rounded-"] h1,
.dark main > section[class*="rounded-"] h2 { color:#F4F7F8; }

/* Accessibility + motion restraint. */
:where(a,button,input,select,textarea,summary):focus-visible { outline-color:var(--cc-focus); }
@media (max-width:1023px) {
  .cc-tropical-hero-art-v103 { display:none !important; }
}
@media (max-width:639px) {
  .cc-tropical-hero-v99 { min-height:0; }
  .cc-tropical-hero-v99::after { opacity:.5; }
  .dark .cc-dashboard-neon-hero { box-shadow:0 12px 30px rgba(0,0,0,.16) !important; }
}
@media (prefers-reduced-motion:reduce) {
}


/* ========================================================================
   v100 — Tropical Dark UI Polish & Consistency
   Accessibility, touch targets, typography rhythm, numeric alignment and
   reduced-motion behavior. This layer does not change business semantics.
   ======================================================================== */
body { line-height:1.5; text-rendering:optimizeLegibility; }
h1,h2,h3,.cc-page-title,.cc-display-title,.cc-display-heading,.cc-dashboard-hero-title,.cc-section-title { letter-spacing:-.018em; }
.cc-page-kicker,.cc-nav-section-title,.cc-nav-subsection-title,.cc-metric-label { letter-spacing:.08em; }
.cc-money-text,.cc-reward-text,.cc-metric-value,table td,table th { font-variant-numeric:tabular-nums; }

/* Keep keyboard focus highly visible across both public and authenticated UI. */
:where(a,button,input,select,textarea,summary,[tabindex]):focus-visible {
  outline:3px solid rgba(10,143,214,.42) !important;
  outline-offset:2px;
}
.dark :where(a,button,input,select,textarea,summary,[tabindex]):focus-visible {
  outline-color:rgba(73,184,239,.62) !important;
}

/* Consistent touch targets without inflating compact data tables. */
.cc-btn,.cc-btn-primary,.cc-btn-success,.cc-btn-secondary,.nav-link,.cc-nav-group > summary { min-height:2.5rem; }
.cc-btn,.cc-btn-primary,.cc-btn-success,.cc-btn-secondary { display:inline-flex; align-items:center; justify-content:center; gap:.45rem; }
.nav-link,.cc-nav-group > summary { display:flex; align-items:center; }

/* Surface rhythm and calmer hover behavior. */
.cc-card,.cc-metric-card,.cc-surface { border-radius:var(--cc-radius); }
.cc-card,.cc-metric-card { transition:border-color .16s ease,background-color .16s ease,box-shadow .16s ease,transform .16s ease; }
.dark .cc-card:hover,.dark .cc-metric-card:hover { box-shadow:0 14px 34px rgba(0,0,0,.16); }
.cc-page-intro { overflow:hidden; }

/* Forms: same vertical rhythm in user and Admin surfaces. */
.cc-control,input:not([type="checkbox"]):not([type="radio"]),select,textarea { border-radius:.625rem; }
.cc-control,select,input:not([type="checkbox"]):not([type="radio"]) { min-height:2.625rem; }
textarea { min-height:5.5rem; }

/* Tables remain readable on dense Admin pages. */
table thead th { font-weight:700; letter-spacing:.015em; }
table tbody tr { transition:background-color .12s ease; }
.dark table tbody tr:hover { background-color:rgba(10,143,214,.035); }

@media (max-width:640px) {
  .cc-btn,.cc-btn-primary,.cc-btn-success,.cc-btn-secondary,.nav-link,.cc-nav-group > summary { min-height:2.75rem; }
  .cc-page-title { line-height:1.08; }
  .cc-page-kicker { letter-spacing:.06em; }
  .cc-tropical-hero-v99 { border-radius:1rem !important; }
}
@media (prefers-reduced-motion:reduce) {
  html:focus-within { scroll-behavior:auto; }
  *,*::before,*::after { animation-duration:.01ms !important; animation-iteration-count:1 !important; transition-duration:.01ms !important; scroll-behavior:auto !important; }
}

/* ========================================================================
   v111 — Product UX Consolidation (v105–v111 combined)
   Responsive audit fixes, landing/login conversion polish, unified Earn
   marketplace, Daily Journey, finance/trust UX, Admin density, public/legal
   editorial consistency and frontend accessibility/performance cleanup.
   Business/accounting semantics are intentionally untouched.
   ======================================================================== */
:root {
  --cc-content-max:80rem;
  --cc-header-h:4rem;
  --cc-touch:2.75rem;
  --cc-surface-soft:rgba(255,255,255,.72);
  --cc-surface-soft-dark:rgba(8,29,34,.72);
  --cc-ring-blue:rgba(10,143,214,.22);
  --cc-ring-green:rgba(30,167,90,.22);
  --cc-ring-papaya:rgba(255,107,53,.22);
}

/* Global layout + responsive hardening. */
.cc-app-shell-v111 main { min-width:0; }
.cc-app-shell-v111 #app-content { min-width:0; }
.cc-app-shell-v111 img, .cc-public-shell-v111 img { max-width:100%; }
.cc-app-shell-v111 iframe { max-width:100%; }
.cc-app-shell-v111 .cc-table-wrap, .cc-admin-shell-v111 .cc-table-wrap { -webkit-overflow-scrolling:touch; }
.cc-app-shell-v111 button, .cc-app-shell-v111 a, .cc-admin-shell-v111 button, .cc-admin-shell-v111 a { -webkit-tap-highlight-color:transparent; }
.cc-app-shell-v111 :where(p,li,td,th,.cc-page-description,.cc-section-copy) { overflow-wrap:anywhere; }

/* Landing and login conversion hierarchy. */
.cc-guest-layout-v111 { align-items:start; }
.cc-landing-hero-v111 { min-height:0; }
.cc-landing-hero-v111 .cc-display-title { max-width:58rem; text-wrap:balance; }
.cc-landing-hero-v111 p { max-width:49rem; }
.cc-earn-family-v111 > * { min-width:0; }
.cc-landing-journey-v111 { overflow:hidden; }
.cc-journey-grid-v111 {
  display:grid;
  grid-template-columns:minmax(0,1fr) auto minmax(0,1fr) auto minmax(0,1fr);
  align-items:stretch;
  gap:.65rem;
}
.cc-journey-step-v111 {
  position:relative;
  min-width:0;
  display:grid;
  grid-template-columns:auto 1fr;
  grid-template-areas:"num icon" "title title" "copy copy";
  gap:.35rem .55rem;
  padding:.9rem;
  border:1px solid rgba(10,143,214,.15);
  border-radius:.85rem;
  background:rgba(10,143,214,.045);
}
.cc-journey-step-v111 > span { grid-area:num; font-size:.65rem; font-weight:900; letter-spacing:.1em; color:var(--cc-brand-blue); }
.cc-journey-step-v111 > i { grid-area:icon; justify-self:end; color:var(--cc-brand-blue); }
.cc-journey-step-v111 > b { grid-area:title; color:var(--cc-text); font-size:.86rem; }
.cc-journey-step-v111 > small { grid-area:copy; color:var(--cc-muted); line-height:1.45; }
.dark .cc-journey-step-v111 { border-color:rgba(10,143,214,.18); background:rgba(10,143,214,.055); }
.dark .cc-journey-step-v111 > b { color:var(--cc-text-dark); }
.dark .cc-journey-step-v111 > small { color:var(--cc-muted-dark); }
.cc-journey-gold-v111 { border-color:rgba(255,176,46,.20); background:rgba(255,176,46,.055); }
.cc-journey-gold-v111 > span,.cc-journey-gold-v111 > i { color:#C97700; }
.dark .cc-journey-gold-v111 > span,.dark .cc-journey-gold-v111 > i { color:#FFC14D; }
.cc-journey-papaya-v111 { border-color:rgba(255,107,53,.20); background:rgba(255,107,53,.055); }
.cc-journey-papaya-v111 > span,.cc-journey-papaya-v111 > i { color:#D94E1D; }
.dark .cc-journey-papaya-v111 > span,.dark .cc-journey-papaya-v111 > i { color:#FF8C62; }
.cc-journey-arrow-v111 { display:flex; align-items:center; justify-content:center; color:#94a3b8; font-size:.75rem; }
.dark .cc-journey-arrow-v111 { color:#5f7780; }
.cc-trust-strip-v111 {
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:.7rem;
}
.cc-trust-strip-v146 { grid-template-columns:repeat(4,minmax(0,1fr)); }
.cc-trust-strip-v111 > div, .cc-trust-strip-v111 > a {
  display:flex; gap:.75rem; align-items:flex-start; padding:.85rem .95rem;
  border:1px solid var(--cc-border); border-radius:.85rem; background:var(--cc-surface-soft);
}
.dark .cc-trust-strip-v111 > div, .dark .cc-trust-strip-v111 > a { border-color:var(--cc-border-dark); background:var(--cc-surface-soft-dark); }
.cc-trust-strip-v111 > a { color:inherit; text-decoration:none; transition:border-color .18s ease, transform .18s ease; }
.cc-trust-strip-v111 > a:hover { border-color:rgba(10,143,214,.35); transform:translateY(-1px); }
.cc-trust-strip-v111 i { color:var(--cc-brand-green); margin-top:.12rem; }
.cc-trust-strip-v111 span { display:flex; flex-direction:column; min-width:0; }
.cc-trust-strip-v111 b { font-size:.78rem; color:var(--cc-text); }
.cc-trust-strip-v111 small { margin-top:.12rem; line-height:1.4; color:var(--cc-muted); }
.dark .cc-trust-strip-v111 b { color:var(--cc-text-dark); }
.dark .cc-trust-strip-v111 small { color:var(--cc-muted-dark); }
#guest-login-card { position:sticky; top:5.25rem; }
#guest-login-card .tab-button { min-height:2.75rem; }

/* Dashboard: clearer action-first hierarchy. */
.cc-dashboard-v111 .cc-dashboard-neon-hero { margin-bottom:1rem; }
.cc-dashboard-v111 .cc-dashboard-kpi-v44 { margin-bottom:1.25rem !important; }
.cc-dashboard-v111 .cc-daily-journey-v111 .cc-today-step { min-height:9rem; }
.cc-dashboard-v111 .cc-earn-family-v111 .cc-earn-neon-card { min-height:13rem; }
.cc-dashboard-v111 .cc-earn-family-v111 .cc-earn-neon-card:hover { transform:translateY(-2px); }

/* Unified Earn marketplace family — Offerwalls / PTC / Shortlinks. */
.cc-earn-page-v111 { margin-bottom:1rem; }
.cc-provider-card-v111 { min-width:0; }
.cc-provider-card-v111 > div,
.cc-provider-card-v111 .ad-card,
.cc-provider-card-v111 > a { border-radius:.85rem !important; }
.cc-provider-card-v111:hover { transform:translateY(-1px); }
.cc-provider-card-v111 :where(h3,.font-extrabold) { text-wrap:balance; }
.cc-provider-card-v111 .cc-btn, .ad-card .claim-btn { min-height:2.5rem; }
.dark .cc-provider-card-v111 > div,
.dark .cc-provider-card-v111 .ad-card { background:rgba(11,36,43,.92) !important; border-color:rgba(126,164,176,.14) !important; }
.dark .cc-provider-card-v111:hover > div,
.dark .cc-provider-card-v111:hover .ad-card { border-color:rgba(10,143,214,.30) !important; box-shadow:0 12px 28px rgba(0,0,0,.16); }

/* Daily Journey 2.0 — one family, warmer but not casino-like. */
.cc-daily-page-v111 .cc-page-intro { border-color:rgba(255,176,46,.18) !important; }
.cc-daily-page-v111 .cc-card,
.cc-daily-page-v111 .cc-today-card,
.cc-daily-page-v111 .cc-draw-hero-v46,
.cc-daily-page-v111 .cc-draw-journey-card { box-shadow:0 10px 28px rgba(0,0,0,.07); }
.dark .cc-daily-page-v111 .cc-card,
.dark .cc-daily-page-v111 .cc-today-card,
.dark .cc-daily-page-v111 .cc-draw-hero-v46,
.dark .cc-daily-page-v111 .cc-draw-journey-card { box-shadow:0 12px 32px rgba(0,0,0,.14); }
.cc-daily-page-v111 .cc-btn-primary { background:var(--cc-brand-blue); }
.cc-daily-page-v111 .cc-btn-success { background:var(--cc-brand-green); }

/* Trust & finance: quieter surfaces, explicit validation and financial alignment. */
.cc-finance-page-v111 { --cc-intro-accent:var(--cc-brand-green); }
.cc-finance-page-v111 .cc-page-intro { border-color:rgba(30,167,90,.17) !important; }
.cc-finance-page-v111 .cc-page-intro-icon { color:var(--cc-brand-green); }
.cc-finance-page-v111 :where(.cc-card,.cc-metric-card,[class*="rounded-2xl"]) { box-shadow:none; }
.cc-finance-page-v111 input,
.cc-finance-page-v111 select { font-variant-numeric:tabular-nums; }
.cc-finance-page-v111 .cc-btn-success { background:var(--cc-brand-green); }
.cc-finance-trust-v111 {
  display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:.7rem;
}
.cc-finance-trust-v111 > div {
  display:flex; align-items:flex-start; gap:.7rem; padding:.8rem .9rem;
  border:1px solid rgba(30,167,90,.16); border-radius:.8rem; background:rgba(30,167,90,.045);
}
.cc-finance-trust-v111 i { color:var(--cc-brand-green); margin-top:.15rem; }
.cc-finance-trust-v111 span { display:flex; flex-direction:column; }
.cc-finance-trust-v111 b { color:var(--cc-text); font-size:.78rem; }
.cc-finance-trust-v111 small { color:var(--cc-muted); line-height:1.4; margin-top:.1rem; }
.dark .cc-finance-trust-v111 > div { border-color:rgba(30,167,90,.18); background:rgba(30,167,90,.05); }
.dark .cc-finance-trust-v111 b { color:var(--cc-text-dark); }
.dark .cc-finance-trust-v111 small { color:var(--cc-muted-dark); }
.cc-revshare-user-v111 .text-cyan-500, .cc-revshare-user-v111 .text-sky-500 { color:var(--cc-brand-blue) !important; }
.dark .cc-revshare-user-v111 .text-cyan-500, .dark .cc-revshare-user-v111 .text-sky-500 { color:#55B9EA !important; }

/* Referrals: conversion-oriented but distinct from cash-out flows. */
.cc-referral-page-v111 .cc-page-intro { border-color:rgba(255,107,53,.15) !important; }
.cc-referral-page-v111 .cc-page-intro-icon { color:var(--cc-brand-papaya); }

/* Mobile navigation dock. */
.cc-mobile-dock-v111 {
  position:fixed; z-index:45; left:.65rem; right:.65rem; bottom:max(.65rem,env(safe-area-inset-bottom));
  display:grid; grid-template-columns:repeat(5,minmax(0,1fr)); gap:.25rem;
  padding:.38rem; border:1px solid rgba(126,164,176,.18); border-radius:1rem;
  background:rgba(8,29,34,.94); box-shadow:0 16px 44px rgba(0,0,0,.28); backdrop-filter:blur(18px);
}
.cc-mobile-dock-v111 button { min-width:0; min-height:3.15rem; display:flex; flex-direction:column; align-items:center; justify-content:center; gap:.22rem; border-radius:.75rem; color:#8FA8B3; font-size:.64rem; font-weight:800; }
.cc-mobile-dock-v111 button i { font-size:.92rem; }
.cc-mobile-dock-v111 button:hover,.cc-mobile-dock-v111 button:focus-visible { color:#55B9EA; background:rgba(10,143,214,.10); }

/* Admin Control Plane: denser, calmer, more predictable. */
.cc-admin-shell-v111 { --cc-radius:.75rem; }
.cc-admin-shell-v111 main { min-width:0; }
.cc-admin-shell-v111 :where(.rounded-\[2rem\],.rounded-3xl) { border-radius:1rem !important; }
.cc-admin-shell-v111 :where(.p-8,.md\:p-8) { }
.cc-admin-shell-v111 table { width:100%; }
.cc-admin-shell-v111 .cc-metric-card { min-height:7.25rem; }
.cc-admin-shell-v111 .cc-btn { white-space:nowrap; }
.cc-admin-shell-v111 .cc-page-intro { margin-bottom:1rem; }
.dark .cc-admin-shell-v111 aside { background:rgba(8,29,34,.985) !important; }
.dark .cc-admin-shell-v111 header { background:rgba(8,29,34,.94) !important; }
.dark .cc-admin-shell-v111 .bg-white\/80,
.dark .cc-admin-shell-v111 .dark\:bg-dark-800\/80 { background:rgba(11,36,43,.91) !important; }

/* Public/legal: readable editorial widths and less dashboard chrome. */
.cc-public-shell-v111 main { min-width:0; }
.cc-public-shell-v111 main > section:first-child { border-radius:1.25rem !important; }
.cc-public-shell-v111 article { min-width:0; }
.cc-public-shell-v111 article > section { border-radius:1rem !important; }
.cc-public-shell-v111 article p { max-width:76ch; }
.cc-public-shell-v111 h1 { text-wrap:balance; }
.cc-public-shell-v111 h2 { text-wrap:balance; }
.cc-public-shell-v111 nav a { min-height:2rem; display:inline-flex; align-items:center; }

/* Performance-friendly visual restraint. */
@media (hover:none) {
  .cc-card:hover,.cc-metric-card:hover,.cc-provider-card-v111:hover,.cc-earn-neon-card:hover { transform:none !important; }
}
@media (max-width:1023px) {
  #guest-login-card { position:static; top:auto; }
  .cc-guest-layout-v111 { grid-template-columns:minmax(0,1fr) !important; }
}
@media (max-width:767px) {
  .cc-app-shell-v111 main { padding-bottom:6rem !important; }
  .cc-dashboard-v111 .cc-dashboard-hero-title { font-size:1.55rem; line-height:1.12; }
  .cc-dashboard-v111 .cc-dashboard-hero-lead { font-size:.82rem; }
  .cc-admin-shell-v111 main { padding-left:1rem !important; padding-right:1rem !important; }
  .cc-public-shell-v111 main { padding-top:1.5rem !important; padding-bottom:2rem !important; }
}
@media (max-width:639px) {
  .cc-journey-grid-v111 { grid-template-columns:1fr; }
  .cc-journey-arrow-v111 { transform:rotate(90deg); min-height:.8rem; }
  .cc-trust-strip-v111, .cc-trust-strip-v146 { grid-template-columns:1fr; }
  .cc-finance-trust-v111 { grid-template-columns:1fr; }
  .cc-provider-card-v111 > div { padding:1rem !important; }
  .cc-page-intro-actions { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); }
  .cc-page-intro-actions .cc-btn { grid-column:1/-1; width:100%; }
  .cc-page-stat { min-width:0 !important; }
}
@media (min-width:768px) {
  .cc-mobile-dock-v111 { display:none !important; }
}
@media (prefers-reduced-data:reduce) {
  .bg-grid,.cc-dashboard-hero-orb,.cc-cyber-grid { display:none !important; }
}

/* Advertiser and external-service separation. */
.cc-advertiser-page-v111 { --cc-intro-accent:var(--cc-brand-papaya); }
.cc-advertiser-page-v111.cc-page-intro { border-color:rgba(255,107,53,.17) !important; }
.cc-advertiser-page-v111 .cc-page-intro-icon { color:var(--cc-brand-papaya); }
.cc-external-page-v111 { --cc-intro-accent:#708991; }
.cc-external-page-v111.cc-page-intro { border-color:rgba(126,164,176,.16) !important; }


/* ========================================================================
   v112 — Live Production Responsive & Support Polish
   Derived from real desktop/mobile production screenshots. Focuses on wide
   desktop utilisation, mobile overflow/safe areas, embed behaviour, support
   visibility, compact branding and ad/layout consistency. No business logic.
   ======================================================================== */
:root { --cc-content-live-max:92rem; --cc-wide-reading-max:80rem; }

/* Stable compact wordmark: never show a truncated domain-like label. */
.cc-compact-wordmark-v112 { display:inline-flex; align-items:baseline; min-width:0; white-space:nowrap; font-size:1rem; font-weight:850; letter-spacing:-.025em; line-height:1; color:#15965A; }
.cc-compact-wordmark-v112 strong { color:#E86A2E; font-weight:900; }
.dark .cc-compact-wordmark-v112 { color:#39D782; }
.dark .cc-compact-wordmark-v112 strong { color:#FF8659; }
.cc-compact-wordmark-mobile-v112 { font-size:.94rem; max-width:8.5rem; overflow:hidden; }

/* Use large monitors instead of leaving a large dead zone to the right. */
@media (min-width:1280px) {
  .cc-app-shell-v112 #app-content { max-width:86rem !important; }
  .cc-app-shell-v112 footer > div { max-width:86rem !important; }
  .cc-daily-page-v111 { max-width:80rem !important; }
  .cc-revshare-user-v111 { max-width:80rem !important; }
  .cc-finance-page-v111 { max-width:74rem !important; }
  .cc-finance-trust-v111 { max-width:74rem !important; }
  .cc-manual-faucet-main-v112 { max-width:58rem !important; }
  .cc-public-shell-v112 main { max-width:78rem !important; }
  .cc-public-shell-v112 header > div, .cc-public-shell-v112 footer > div { max-width:78rem !important; }
}
@media (min-width:1536px) {
  .cc-app-shell-v112 #app-content { max-width:var(--cc-content-live-max) !important; }
  .cc-app-shell-v112 footer > div { max-width:var(--cc-content-live-max) !important; }
  .cc-app-shell-v112 main { padding-left:2rem !important; padding-right:2rem !important; }
  .cc-dashboard-v111 .cc-dashboard-hero-title { font-size:2rem; }
  .cc-page-title { font-size:1.55rem; line-height:1.18; }
  .cc-section-title { font-size:1.1rem; }
  .cc-dashboard-v111 .cc-metric-value { font-size:1.45rem; }
  .cc-dashboard-v111 .cc-earn-family-v111 .cc-earn-neon-card { min-height:13.5rem; }
}
@media (min-width:1800px) {
  .cc-app-shell-v112 #app-content, .cc-app-shell-v112 footer > div { max-width:96rem !important; }
  .cc-daily-page-v111, .cc-revshare-user-v111 { max-width:84rem !important; }
}

/* Dashboard mobile: no clipped horizontal earning cards. */
@media (max-width:639px) {
  .cc-dashboard-v111 .cc-mobile-card-rail {
    display:grid !important; grid-template-columns:1fr !important; gap:.7rem !important;
    overflow:visible !important; padding:0 !important; margin:0 !important; scroll-snap-type:none !important;
  }
  .cc-dashboard-v111 .cc-mobile-card-rail > * { width:100% !important; max-width:none !important; flex:none !important; min-height:0 !important; }
  .cc-dashboard-v111 .cc-earn-family-v111 .cc-earn-neon-card { min-height:10.5rem; }
  .cc-dashboard-v111 .cc-action-tile { min-width:0; padding:.8rem !important; }
  .cc-dashboard-v111 .cc-dashboard-neon-hero { overflow:hidden; }
}

/* Daily pages: tighter vertical rhythm on phones without shrinking tap targets. */
@media (max-width:639px) {
  .cc-daily-page-v111 { margin-top:.75rem !important; }
  .cc-daily-page-v111 > * + * { margin-top:.75rem !important; }
  .cc-daily-page-v111 .cc-card, .cc-daily-page-v111 .cc-today-card { border-radius:.85rem !important; }
}

/* Offerwall core explanation becomes opt-in rather than blocking the first screen. */
.cc-offerwall-core-note-v112 { border:1px solid rgba(10,143,214,.15); border-radius:.85rem; background:rgba(10,143,214,.045); overflow:hidden; }
.cc-offerwall-core-note-v112 summary { list-style:none; cursor:pointer; display:flex; align-items:center; gap:.7rem; min-height:3rem; padding:.75rem .9rem; color:#526875; }
.cc-offerwall-core-note-v112 summary::-webkit-details-marker { display:none; }
.cc-offerwall-core-note-v112 summary > i:first-child { color:var(--cc-brand-blue); }
.cc-offerwall-core-note-v112 summary span { display:flex; flex-direction:column; flex:1; min-width:0; }
.cc-offerwall-core-note-v112 summary b { color:#24404B; font-size:.8rem; }
.cc-offerwall-core-note-v112 summary small { margin-top:.08rem; color:#718891; font-size:.69rem; }
.cc-offerwall-core-chevron-v112 { color:#718891; transition:transform .15s ease; }
.cc-offerwall-core-note-v112[open] .cc-offerwall-core-chevron-v112 { transform:rotate(180deg); }
.cc-offerwall-core-detail-v112 { padding:.2rem .9rem .9rem 2.35rem; color:#64748b; font-size:.75rem; line-height:1.45; }
.dark .cc-offerwall-core-note-v112 { border-color:rgba(10,143,214,.18); background:rgba(10,143,214,.055); }
.dark .cc-offerwall-core-note-v112 summary { color:#A9BAC2; }
.dark .cc-offerwall-core-note-v112 summary b { color:#DCE7EA; }
.dark .cc-offerwall-core-note-v112 summary small, .dark .cc-offerwall-core-detail-v112 { color:#8FA8B3; }

/* Embedded provider safe area: dock must never cover the provider UI. */
.cc-offer-embed-v112 { scroll-margin-top:5rem; }
@media (max-width:767px) {
  body.cc-offer-embed-active-v112 .cc-mobile-dock-v111 { display:none !important; }
  body.cc-offer-embed-active-v112 main { padding-bottom:1.25rem !important; }
  .cc-offer-embed-v112 iframe { height:calc(100dvh - 7rem) !important; min-height:34rem; }
}

/* Manual Faucet: keep ads from squeezing the actual product surface. */
.cc-manual-faucet-v112 { align-items:flex-start; }
.cc-manual-faucet-main-v112 { min-width:0; }
@media (max-width:1535px) { .cc-manual-faucet-v112 { max-width:62rem !important; } }
@media (max-width:639px) {
  .cc-manual-faucet-v112 { margin-top:.65rem !important; padding-inline:0 !important; }
  .cc-manual-faucet-main-v112 > div { padding:1.15rem !important; border-radius:1rem !important; }
  .cc-manual-faucet-main-v112 table th, .cc-manual-faucet-main-v112 table td { padding-left:.75rem !important; padding-right:.75rem !important; }
}

/* Sponsored inventory should sit inside the product grid rather than dictate it. */
.cc-sponsored-surface { max-width:100%; overflow:hidden; }
.cc-sponsored-surface iframe, .cc-sponsored-surface img { max-width:100%; }
@media (max-width:639px) { .cc-sponsored-surface { border-radius:.75rem !important; } }

/* Public/legal editorial surfaces: wider on desktop, comfortable on mobile. */
@media (max-width:639px) {
  .cc-public-shell-v112 main { padding-left:1rem !important; padding-right:1rem !important; }
  .cc-public-shell-v112 main > section:first-child { padding:1.25rem !important; }
  .cc-public-shell-v112 h1 { font-size:1.8rem !important; line-height:1.08 !important; }
}

/* Support email is a first-class operational contact. */
a[href^="mailto:support@cryptochoco.com"] { overflow-wrap:anywhere; }

/* v112 production screenshots: remove the last mobile horizontal clipping on
   the guest earning row and Dashboard today-flow. */
@media (max-width:639px) {
  #guest-earning-options.cc-mobile-card-rail {
    display:grid !important; grid-template-columns:1fr !important; gap:.7rem !important;
    overflow:visible !important; padding:0 !important; margin-top:1rem !important; margin-inline:0 !important;
    scroll-snap-type:none !important;
  }
  #guest-earning-options.cc-mobile-card-rail > * { width:100% !important; max-width:none !important; flex:none !important; }
  .cc-dashboard-v111 .cc-today-flow {
    grid-template-columns:1fr !important; overflow:visible !important; padding-bottom:0 !important; gap:.65rem !important;
  }
  .cc-dashboard-v111 .cc-today-step { min-height:0 !important; }
}

@media (min-width:640px) and (max-width:1023px){.cc-trust-strip-v146{grid-template-columns:repeat(2,minmax(0,1fr));}}

/* ========================================================================
   v167 — Conversion & Earnings Surface Polish
   Compact shared earning navigation, consistent reassurance/empty states,
   mobile-first density. Presentation only; no reward/accounting behavior.
   ======================================================================== */
.cc-earn-hub-v167 {
  display:flex; align-items:center; gap:.7rem; margin:-.35rem 0 1rem; padding:.48rem .55rem;
  border:1px solid rgba(10,143,214,.14); border-radius:1rem; background:rgba(255,255,255,.74);
  box-shadow:0 1px 2px rgba(15,23,42,.035); overflow:hidden;
}
.dark .cc-earn-hub-v167 { border-color:rgba(10,143,214,.18); background:rgba(11,36,43,.76); }
.cc-earn-hub-label-v167 { display:flex; align-items:center; gap:.42rem; flex:0 0 auto; padding:0 .35rem; font-size:.64rem; line-height:1; font-weight:900; letter-spacing:.1em; text-transform:uppercase; color:#718891; }
.cc-earn-hub-label-v167 i { color:var(--cc-brand-blue); }
.cc-earn-hub-scroll-v167 { display:flex; gap:.35rem; min-width:0; overflow-x:auto; scrollbar-width:none; padding:.05rem; }
.cc-earn-hub-scroll-v167::-webkit-scrollbar { display:none; }
.cc-earn-hub-item-v167 { display:inline-flex; align-items:center; justify-content:center; gap:.38rem; min-height:2.25rem; white-space:nowrap; border:1px solid transparent; border-radius:.72rem; padding:.46rem .7rem; font-size:.72rem; line-height:1; font-weight:800; color:#647982; background:transparent; transition:background .15s ease,border-color .15s ease,color .15s ease; }
.cc-earn-hub-item-v167:hover { color:#0876B5; background:rgba(10,143,214,.07); }
.cc-earn-hub-item-v167.is-active { color:#0876B5; border-color:rgba(10,143,214,.2); background:rgba(10,143,214,.1); }
.dark .cc-earn-hub-item-v167 { color:#A9BAC2; }
.dark .cc-earn-hub-item-v167:hover,.dark .cc-earn-hub-item-v167.is-active { color:#6DCCF6; background:rgba(10,143,214,.12); border-color:rgba(10,143,214,.22); }
.cc-earn-assurance-v167 { display:flex; flex-wrap:wrap; align-items:center; gap:.45rem 1rem; margin:-.2rem 0 1.1rem; padding:.05rem .15rem; color:#718891; font-size:.69rem; line-height:1.2; font-weight:700; }
.cc-earn-assurance-v167 span { display:inline-flex; align-items:center; gap:.34rem; }
.cc-earn-assurance-v167 i { color:#1EA75A; }
.cc-empty-actions-v167 { display:flex; flex-wrap:wrap; justify-content:center; gap:.5rem; margin-top:1rem; }
.cc-empty-state-v167 { min-height:13rem !important; padding:1.5rem !important; border-radius:1.2rem !important; }
.cc-empty-state-v167 .cc-empty-state-icon, .cc-empty-state-v167 > div:first-child { width:3.5rem !important; height:3.5rem !important; margin-bottom:.8rem !important; }
.cc-earn-page-v167 .cc-page-intro { margin-bottom:.85rem; }
.cc-earn-page-v167 .cc-section-head { margin-bottom:.75rem; }
.cc-earn-page-v167 .cc-provider-card-v111 > div { border-radius:1rem !important; }
.cc-earn-page-v167 .cc-provider-card-v111 h3 { text-wrap:balance; }
.cc-earn-page-v167 .cc-btn { min-height:2.45rem; }
.cc-withdraw-polish-v167 .cc-finance-trust-v111 { margin-top:.85rem !important; }
@media (max-width:767px) {
  .cc-earn-hub-v167 { align-items:stretch; margin:-.15rem 0 .8rem; padding:.4rem; border-radius:.85rem; }
  .cc-earn-hub-label-v167 { display:none; }
  .cc-earn-hub-scroll-v167 { width:100%; gap:.3rem; }
  .cc-earn-hub-item-v167 { min-height:2.55rem; padding:.52rem .7rem; font-size:.72rem; }
  .cc-earn-assurance-v167 { gap:.4rem .7rem; margin-bottom:.85rem; font-size:.66rem; }
  .cc-earn-page-v167 .cc-page-intro { margin-bottom:.7rem; }
  .cc-earn-page-v167 .cc-info-note { margin-bottom:.85rem !important; }
  .cc-empty-actions-v167 { display:grid; grid-template-columns:1fr 1fr; width:100%; }
  .cc-empty-actions-v167 .cc-btn { width:100%; }
}
@media (max-width:420px) {
  .cc-earn-hub-item-v167 span { display:none; }
  .cc-earn-hub-item-v167 { min-width:2.65rem; padding:.55rem .68rem; }
  .cc-empty-actions-v167 { grid-template-columns:1fr; }
}


/* v186 — mobile sidebar regression hotfix.
   Do not depend on generated Tailwind transform utilities for the primary drawer. */
@media (max-width:767px) {
  #sidebar { transform:translateX(-100%) !important; }
  #sidebar.cc-sidebar-open { transform:translateX(0) !important; }
}
@media (min-width:768px) {
  #sidebar { transform:translateX(0) !important; }
  #sidebar-overlay { display:none !important; }
}
@media (max-width:767px) {
  html.cc-sidebar-lock, html.cc-sidebar-lock body { overflow:hidden !important; }
}


/* ========================================================================
   v204 — UX density repair. Wide content remains available to data-heavy
   surfaces, while KPI / referral / survey / admin navigation components keep
   a compact information density on laptop and desktop widths.
   ======================================================================== */
.cc-dashboard-v111 .cc-dashboard-kpi-v44 .cc-neon-metric { padding:.78rem .85rem; }
.cc-dashboard-v111 .cc-dashboard-kpi-v44 .cc-neon-metric-icon { width:1.9rem; height:1.9rem; margin-bottom:.42rem; }
.cc-dashboard-v111 .cc-dashboard-kpi-v44 .cc-metric-value { font-size:1.18rem; line-height:1.35rem; }
.cc-dashboard-v111 .cc-dashboard-kpi-v44 .cc-metric-meta { font-size:.68rem; }
.cc-dashboard-v111 .cc-weekly-momentum-v204 { padding:.9rem 1rem; }
.cc-dashboard-v111 .cc-weekly-momentum-v204 .text-xl { font-size:1.05rem !important; line-height:1.25rem !important; }
.cc-dashboard-v111 .cc-earn-family-v111 .cc-earn-neon-card { min-height:9.4rem; padding:.9rem; }
.cc-dashboard-v111 .cc-earn-family-v111 .cc-earn-neon-card :where(.w-12,.h-12) { width:2.5rem !important; height:2.5rem !important; }

.cc-referral-hero-v204 { padding:1.15rem 1.35rem !important; }
.cc-referral-summary-v204 { gap:.7rem; }
.cc-referral-summary-v204 .cc-metric-card { padding:.85rem; min-height:0; }
.cc-referral-summary-v204 .cc-metric-value { font-size:1.3rem; line-height:1.45rem; }

:where(.cc-admin-shell-v111,.cc-admin-shell-v204) .cc-admin-kpi-grid-v204 > div { min-height:6.25rem; }
:where(.cc-admin-shell-v111,.cc-admin-shell-v204) .cc-admin-dashboard-charts .cc-admin-chart-card { min-height:0; }
:where(.cc-admin-shell-v111,.cc-admin-shell-v204) .cc-admin-module-brandbar { padding:.55rem .7rem; margin-bottom:.8rem; }
:where(.cc-admin-shell-v111,.cc-admin-shell-v204) .cc-admin-search-wrap { padding-top:.55rem; padding-bottom:.35rem; }
:where(.cc-admin-shell-v111,.cc-admin-shell-v204) .cc-admin-nav-compact [data-cc-nav-section] { margin-bottom:.55rem !important; }
:where(.cc-admin-shell-v111,.cc-admin-shell-v204) .cc-admin-nav-compact [data-cc-nav-section] > p { margin-bottom:.25rem !important; }
:where(.cc-admin-shell-v111,.cc-admin-shell-v204) .cc-admin-nav-compact--desktop .cc-admin-nav-grid-v204 { grid-template-columns:1fr !important; }
:where(.cc-admin-shell-v111,.cc-admin-shell-v204) .cc-admin-nav-compact--mobile .cc-admin-nav-grid-v204 { grid-template-columns:repeat(2,minmax(0,1fr)) !important; }
:where(.cc-admin-shell-v111,.cc-admin-shell-v204) .cc-admin-nav-compact .admin-nav { min-height:31px !important; padding:.35rem .48rem !important; }
:where(.cc-admin-shell-v111,.cc-admin-shell-v204) .cc-admin-nav-compact .admin-nav > span { text-overflow:ellipsis; overflow:hidden; white-space:nowrap; }

@media (min-width:768px) and (max-width:1279px) {
  .cc-dashboard-v111 .cc-dashboard-kpi-v44 { grid-template-columns:repeat(4,minmax(0,1fr)) !important; }
  :where(.cc-admin-shell-v111,.cc-admin-shell-v204) .cc-admin-kpi-grid-v204 { grid-template-columns:repeat(4,minmax(0,1fr)) !important; }
}
@media (min-width:1536px) {
  .cc-dashboard-v111 .cc-earn-family-v111 .cc-earn-neon-card { min-height:9.8rem; }
  .cc-dashboard-v111 .cc-dashboard-kpi-v44 .cc-metric-value { font-size:1.28rem; }
}
@media (max-width:639px) {
  .cc-referral-summary-v204 { grid-template-columns:repeat(2,minmax(0,1fr)) !important; }
  .cc-referral-summary-v204 .cc-metric-card { padding:.72rem; }
  .cc-referral-summary-v204 .cc-metric-value { font-size:1.12rem; }
  :where(.cc-admin-shell-v111,.cc-admin-shell-v204) .cc-admin-nav-compact--mobile .cc-admin-nav-grid-v204 { grid-template-columns:1fr !important; }
}

@media (min-width:1024px) {
  :where(.cc-admin-shell-v111,.cc-admin-shell-v204) main { padding:1.25rem !important; }
  :where(.cc-admin-shell-v111,.cc-admin-shell-v204) main .p-8 { padding:1.25rem !important; }
  :where(.cc-admin-shell-v111,.cc-admin-shell-v204) main .p-6 { padding:1rem !important; }
  :where(.cc-admin-shell-v111,.cc-admin-shell-v204) main .gap-6 { gap:1rem !important; }
  :where(.cc-admin-shell-v111,.cc-admin-shell-v204) main .space-y-6 > :not([hidden]) ~ :not([hidden]) { margin-top:1rem !important; }
  :where(.cc-admin-shell-v111,.cc-admin-shell-v204) main :where(.text-3xl) { font-size:1.55rem !important; line-height:1.8rem !important; }
  :where(.cc-admin-shell-v111,.cc-admin-shell-v204) main :where(.text-2xl) { line-height:1.6rem; }
  :where(.cc-admin-shell-v111,.cc-admin-shell-v204) main .rounded-2xl { border-radius:.85rem !important; }
}

/* CryptoChoco v585 — Earning Hub text hierarchy. */
.cc-earn-hub-v413{border-color:rgba(14,165,233,.18);background:rgba(248,251,255,.88)}
.cc-earn-hub-v413 .cc-earn-hub-label-v167{color:#52677a}
.cc-earn-hub-v413 .cc-earn-hub-label-v167 i{color:#089bd8}
.cc-earn-hub-v413 .cc-earn-hub-item-v167{color:#43586c;font-weight:850}
.cc-earn-hub-v413 .cc-earn-hub-item-v167:hover{color:#036f9f;background:rgba(14,165,233,.075)}
.cc-earn-hub-v413 .cc-earn-hub-item-v167.is-active{color:#037eae;border-color:rgba(14,165,233,.28);background:rgba(14,165,233,.11)}
.dark .cc-earn-hub-v413{background:#0c1a2b;border-color:rgba(125,160,198,.19)}
.dark .cc-earn-hub-v413 .cc-earn-hub-label-v167{color:#9fb4ca}
.dark .cc-earn-hub-v413 .cc-earn-hub-label-v167 i{color:#22c7f2}
.dark .cc-earn-hub-v413 .cc-earn-hub-item-v167{color:#c3d3e5}
.dark .cc-earn-hub-v413 .cc-earn-hub-item-v167 i{color:#8ea6bf}
.dark .cc-earn-hub-v413 .cc-earn-hub-item-v167:hover{color:#e9f5ff;background:rgba(34,199,242,.075)}
.dark .cc-earn-hub-v413 .cc-earn-hub-item-v167.is-active{color:#70dcff;background:rgba(14,165,233,.14);border-color:rgba(56,189,248,.35)}
.dark .cc-earn-hub-v413 .cc-earn-hub-item-v167.is-active i{color:#70dcff}
