:root {
  --ink: #f4fff8;
  --paper: #050505;
  --card: #101411;
  --line: rgba(255, 255, 255, .12);
  --muted: #8b968f;
  --mint: #63ffa9;
  --mint-2: #3eea92;
  --mint-dim: rgba(99, 255, 169, .14);
  --accent: #63ffa9;
  --teal: var(--mint);
  --teal-2: var(--mint-2);
  --gold: #63ffa9;
  --danger: #ff6b6b;
  --ok: #63ffa9;
  --on-mint: #04140c;
  --shadow: 0 12px 40px rgba(0, 0, 0, .45);
  --glow: 0 0 24px rgba(99, 255, 169, .28);
  --nav: rgba(5, 5, 5, .92);
  --input: #0a0c0b;
  --loader: #000;
}

html {
  scroll-behavior: smooth;
  color-scheme: dark;
}
html[data-bs-theme="light"] {
  color-scheme: light;
  --ink: #14261c;
  --paper: #f4f8f5;
  --card: #ffffff;
  --line: #d5e4da;
  --muted: #5e7367;
  --mint: #2fd887;
  --mint-2: #1fc276;
  --mint-dim: #e7f8ee;
  --accent: #0c8a55;
  --teal: var(--accent);
  --teal-2: #0a7348;
  --on-mint: #062414;
  --shadow: 0 10px 30px rgba(20, 38, 28, .08);
  --glow: 0 8px 24px rgba(47, 216, 135, .18);
  --nav: #ffffff;
  --input: #ffffff;
  --loader: #f4f8f5;
}

body.sc-body {
  background:
    radial-gradient(720px 380px at 8% -8%, rgba(99, 255, 169, .12), transparent 55%),
    radial-gradient(640px 420px at 100% 0%, rgba(99, 255, 169, .06), transparent 50%),
    var(--paper);
  color: var(--ink);
  font-family: Nunito, "Segoe UI", system-ui, sans-serif;
  min-height: 100vh;
  display: flex;
  flex-direction: column;
}

.text-muted, .form-text, .small.text-muted { color: var(--muted) !important; }

.sc-brand {
  display: inline-flex;
  align-items: center;
  gap: .55rem;
  font-weight: 800;
  letter-spacing: .02em;
  color: var(--ink);
  text-decoration: none;
}
.sc-brand:hover { color: var(--mint); }
.sc-brand-logo { height: 36px; width: auto; display: block; }
.sc-brand-mark { height: 34px; width: 34px; border-radius: 999px; display: block; }

.navbar.sc-nav {
  background: var(--nav);
  backdrop-filter: blur(16px);
  border-bottom: 1px solid var(--line);
  box-shadow: 0 1px 0 rgba(99, 255, 169, .12);
}
.navbar .nav-link {
  color: var(--muted);
  font-weight: 700;
  border-radius: 999px;
  padding: .4rem .85rem !important;
}
.navbar .nav-link:hover, .navbar .nav-link.active {
  color: var(--on-mint);
  background: var(--mint);
  box-shadow: var(--glow);
}
.navbar-toggler { border-color: var(--line); }
html[data-bs-theme="dark"] .navbar-toggler-icon { filter: invert(1); }
.offcanvas { background: var(--card); color: var(--ink); }
html[data-bs-theme="dark"] .btn-close { filter: invert(1); }

.sc-acting-banner {
  position: sticky;
  top: 56px;
  z-index: 1025;
  background: var(--mint);
  color: var(--on-mint);
  text-align: center;
  padding: .9rem 1rem;
  font-size: 1.2rem;
  font-weight: 800;
  letter-spacing: .02em;
  box-shadow: var(--glow);
}
.sc-acting-kicker {
  display: block;
  font-size: .72rem;
  font-weight: 800;
  letter-spacing: .14em;
  text-transform: uppercase;
  opacity: .8;
  margin-bottom: .15rem;
}
.sc-acting-banner strong {
  display: inline-block;
  text-transform: uppercase;
  letter-spacing: .06em;
  font-size: 1.35rem;
}
.sc-acting-banner a {
  color: var(--on-mint);
  margin-left: .85rem;
  text-decoration: underline;
  font-weight: 700;
  font-size: .85rem;
  letter-spacing: 0;
}

.sc-sync-bar {
  background: var(--card);
  color: #fff;
  padding: .7rem 0 .85rem;
  border-bottom: 1px solid rgba(99, 255, 169, .2);
}

.sc-hero-photo {
  background: var(--paper);
  border: 1px solid var(--line);
  border-radius: 1.25rem;
  overflow: hidden;
}
.sc-hero-photo .carousel-inner {
  min-height: 280px;
  background: var(--paper);
}
.sc-hero-photo img {
  width: 100%;
  max-height: 420px;
  object-fit: contain;
  background: var(--paper);
}
.sc-thumbs { display: flex; flex-wrap: wrap; gap: .4rem; padding: .75rem; }
.sc-thumbs .sc-thumb { width: 52px; height: 52px; padding: 0; border: 0; border-radius: .7rem; overflow: hidden; background: #1a1a1a; }

.sc-page { animation: sc-rise .45s ease both; }
@keyframes sc-rise {
  from { opacity: 0; transform: translateY(10px); }
  to { opacity: 1; transform: none; }
}

.sc-card {
  background: var(--card);
  border: 1px solid var(--line);
  border-radius: 1.25rem;
  box-shadow: var(--shadow);
}
.sc-card + .sc-card { margin-top: 1rem; }
.sc-card-head {
  display: flex;
  align-items: center;
  gap: .75rem;
  padding: 1rem 1.25rem .25rem;
}
.sc-card-head .ico {
  width: 2.25rem;
  height: 2.25rem;
  border-radius: 999px;
  display: grid;
  place-items: center;
  background: var(--mint-dim);
  color: var(--mint);
  font-size: 1.1rem;
  box-shadow: 0 0 16px rgba(99, 255, 169, .18);
}
.sc-card .card-body { padding: 1rem 1.25rem 1.25rem; }

.stat-card { transition: transform .2s ease, box-shadow .2s ease; }
.stat-card:hover { transform: translateY(-2px); box-shadow: var(--glow); }

.chip {
  display: inline-flex;
  align-items: center;
  font-size: .72rem;
  font-weight: 800;
  padding: .22rem .55rem;
  border-radius: 999px;
  letter-spacing: .02em;
  text-transform: uppercase;
}
.chip-dirty, .chip-queued { background: rgba(96, 165, 250, .18); color: #93c5fd; }
.chip-clean, .chip-completed, .chip-active, .chip-connected { background: var(--mint-dim); color: var(--mint); }
.chip-error, .chip-failed { background: rgba(255, 107, 107, .16); color: #ff8a8a; }
.chip-exporting, .chip-paused { background: rgba(250, 204, 21, .14); color: #facc15; }
.chip-running { background: var(--mint-dim); color: var(--mint); box-shadow: 0 0 12px rgba(99, 255, 169, .2); }
.chip-disconnected { background: rgba(255, 255, 255, .08); color: #c5cdc8; }

.form-control, .form-select, .form-floating > .form-control {
  border-color: var(--line);
  border-radius: .9rem;
  padding: .65rem .85rem;
  background: var(--input);
  color: var(--ink);
}
.form-control::placeholder { color: #6c766f; }
.form-control:focus, .form-select:focus {
  border-color: var(--mint);
  box-shadow: 0 0 0 .2rem rgba(99, 255, 169, .2), var(--glow);
  background: var(--input);
  color: var(--ink);
}
.form-check-input {
  background-color: var(--input);
  border-color: #4a524c;
  width: 1.15rem;
  height: 1.15rem;
  cursor: pointer;
}
.form-check-input:checked {
  background-color: var(--mint);
  border-color: var(--mint);
  box-shadow: 0 0 10px rgba(99, 255, 169, .45);
}
.form-switch .form-check-input { width: 2.6em; height: 1.35em; cursor: pointer; }
.form-switch .form-check-input:focus { box-shadow: 0 0 0 .2rem rgba(99, 255, 169, .2); }

.sc-switch-row {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 1rem;
  padding: .7rem 0;
  border-bottom: 1px dashed var(--line);
}
.sc-switch-row:last-child { border-bottom: 0; }
.sc-switch-row h6 { margin: 0; font-size: .95rem; }
.sc-switch-row small { color: var(--muted); }

.btn { border-radius: 999px; font-weight: 800; }
.btn-coop {
  --bs-btn-bg: var(--mint);
  --bs-btn-border-color: var(--mint);
  --bs-btn-hover-bg: var(--mint-2);
  --bs-btn-hover-border-color: var(--mint-2);
  --bs-btn-color: var(--on-mint);
  --bs-btn-hover-color: var(--on-mint);
  --bs-btn-active-bg: #2fd887;
  --bs-btn-active-color: var(--on-mint);
  --bs-btn-disabled-bg: #1c2a22;
  --bs-btn-disabled-border-color: #1c2a22;
  --bs-btn-disabled-color: #6c766f;
  border-radius: 999px;
  font-weight: 800;
  box-shadow: 0 0 0 0 rgba(99, 255, 169, 0);
  transition: box-shadow .2s ease, transform .2s ease, background .2s ease;
}
.btn-coop:hover { box-shadow: var(--glow); }
.btn-outline-coop {
  --bs-btn-color: var(--mint);
  --bs-btn-border-color: var(--mint);
  --bs-btn-hover-bg: var(--mint);
  --bs-btn-hover-color: var(--on-mint);
  --bs-btn-hover-border-color: var(--mint);
  border-radius: 999px;
  font-weight: 800;
}
.btn-outline-secondary {
  --bs-btn-color: #d5ddd8;
  --bs-btn-border-color: var(--line);
  --bs-btn-hover-bg: rgba(255, 255, 255, .08);
  --bs-btn-hover-color: #fff;
  --bs-btn-hover-border-color: #fff;
  border-radius: 999px;
}
.btn-outline-danger { border-radius: 999px; }

.sc-savebar, .sc-paybar {
  position: sticky;
  bottom: 0;
  z-index: 20;
  background: var(--nav);
  backdrop-filter: blur(16px);
  border-top: 1px solid rgba(99, 255, 169, .22);
  padding: .95rem 0;
  margin-top: 1.5rem;
  box-shadow: 0 -12px 40px rgba(0, 0, 0, .45);
}
.sc-pay-total {
  font-size: 1.85rem;
  font-weight: 900;
  color: var(--mint);
  letter-spacing: -.02em;
  text-shadow: 0 0 18px rgba(99, 255, 169, .45);
  line-height: 1.1;
}
.sc-pay-row.is-picked {
  background: rgba(99, 255, 169, .08);
  box-shadow: inset 3px 0 0 var(--mint);
}

.sc-preview {
  background: var(--input);
  border: 1px dashed var(--line);
  border-radius: .9rem;
  padding: .75rem 1rem;
  font-family: ui-monospace, Consolas, monospace;
  font-size: .9rem;
}

.table { --bs-table-bg: transparent; --bs-table-color: var(--ink); --bs-table-border-color: var(--line); --bs-table-hover-bg: rgba(99, 255, 169, .06); --bs-table-hover-color: var(--ink); color: var(--ink); }
.table thead th {
  font-size: .75rem;
  text-transform: uppercase;
  letter-spacing: .04em;
  color: var(--muted);
  font-weight: 800;
  background: transparent;
  border-bottom-color: var(--line);
}
.table td, .table th { border-color: var(--line); }
.table-hover tbody tr { transition: background .15s ease; }

.nav-pills .nav-link { color: var(--muted); font-weight: 700; border-radius: 999px; }
.nav-pills .nav-link.active { background: var(--mint); color: var(--on-mint); }

.replace-card { position: relative; animation: sc-rise .3s ease both; background: var(--input); border: 1px solid var(--line); border-radius: 1.15rem; }
.replace-card .btn-kill {
  position: absolute;
  top: -.5rem;
  right: -.5rem;
  width: 1.8rem;
  height: 1.8rem;
  padding: 0;
  border-radius: 999px;
}
.replace-num {
  width: 1.75rem;
  height: 1.75rem;
  border-radius: 999px;
  background: var(--mint-dim);
  color: var(--mint);
  display: grid;
  place-items: center;
  font-weight: 800;
  font-size: .8rem;
  flex-shrink: 0;
}
.replace-flow { color: var(--muted); font-size: 1.25rem; justify-content: center; }
.replace-empty {
  border: 1px dashed var(--line);
  border-radius: 1rem;
  padding: 1.1rem 1.2rem;
  background: transparent;
}
.sc-search-select { position: relative; }
.sc-search-panel {
  position: absolute;
  z-index: 30;
  left: 0;
  right: 0;
  top: calc(100% + .35rem);
  background: var(--card);
  border: 1px solid var(--line);
  border-radius: 1rem;
  padding: .6rem;
  max-height: 240px;
  overflow: auto;
  box-shadow: var(--shadow);
}
.sc-search-opt {
  display: block;
  width: 100%;
  text-align: left;
  border: 0;
  background: transparent;
  color: inherit;
  padding: .45rem .7rem;
  border-radius: .7rem;
}
.sc-search-opt:hover,
.sc-search-opt.is-on { background: var(--mint-dim); }

.login-wrap { min-height: 0; flex: 1; display: grid; place-items: center; padding: 1.5rem; width: 100%; }
.login-card { width: min(440px, 100%); position: relative; }
.login-toolbar {
  position: fixed;
  top: 1rem;
  right: 1rem;
  z-index: 30;
}
.login-logo { width: min(280px, 100%); height: auto; display: block; margin: 0 auto 1.25rem; }

.progress { background: #1a1f1c; }
.progress-bar { background: var(--mint); box-shadow: 0 0 12px rgba(99, 255, 169, .45); }

.choices__inner {
  background: var(--input) !important;
  border-color: var(--line) !important;
  border-radius: .9rem !important;
  min-height: 46px;
  color: var(--ink) !important;
  box-shadow: none !important;
}
.choices__input,
.choices__input--cloned {
  background: transparent !important;
  color: var(--ink) !important;
}
.choices__placeholder {
  color: var(--muted) !important;
  opacity: 1 !important;
}
.choices__list--multiple .choices__item {
  background-color: var(--mint) !important;
  border-color: var(--mint) !important;
  color: var(--on-mint) !important;
}
.choices__list--dropdown,
.choices__list[aria-expanded] {
  background: var(--card) !important;
  border: 1px solid var(--line) !important;
  color: var(--ink) !important;
  z-index: 40;
}
.choices__list--dropdown .choices__item,
.choices__list[aria-expanded] .choices__item {
  color: var(--ink) !important;
  background: transparent !important;
}
.choices__list--dropdown .choices__item--selectable.is-highlighted,
.choices__list[aria-expanded] .choices__item--selectable.is-highlighted {
  background: var(--mint-dim) !important;
  color: var(--ink) !important;
}
.choices[data-type*=select-multiple] .choices__button {
  background-color: transparent !important;
  border-color: rgba(4, 20, 12, .25) !important;
}
.choices.is-focused .choices__inner,
.choices.is-open .choices__inner {
  border-color: var(--accent) !important;
  box-shadow: 0 0 0 .2rem rgba(99, 255, 169, .18) !important;
}

[x-cloak] { display: none !important; }

.sc-choice {
  display: block;
  border: 2px solid var(--line);
  border-radius: 1.15rem;
  padding: 1rem 1.1rem;
  cursor: pointer;
  background: var(--input);
  transition: transform .18s ease, box-shadow .18s ease, border-color .18s ease, background .18s ease;
  height: 100%;
}
.sc-choice:hover { border-color: var(--mint-2); }
.sc-choice.is-on {
  border-color: var(--mint);
  background: linear-gradient(180deg, rgba(99, 255, 169, .16), rgba(99, 255, 169, .04));
  box-shadow: 0 0 0 4px rgba(99, 255, 169, .12), var(--glow);
  transform: translateY(-2px) scale(1.015);
}
.sc-choice .tick {
  width: 1.35rem;
  height: 1.35rem;
  border-radius: 999px;
  border: 2px solid var(--line);
  display: grid;
  place-items: center;
  font-size: .7rem;
  color: transparent;
  transition: .18s ease;
}
.sc-choice.is-on .tick {
  background: var(--mint);
  border-color: var(--mint);
  color: var(--on-mint);
}

.sc-calc {
  background: var(--card);
  color: #fff;
  border: 1px solid rgba(99, 255, 169, .28);
  border-radius: 1.25rem;
  padding: 1.1rem 1.2rem;
  position: sticky;
  top: 5.5rem;
  box-shadow: var(--glow);
}
.sc-calc .muted { color: rgba(255, 255, 255, .7); }
.sc-calc .chip-ex {
  border: 1px solid rgba(255, 255, 255, .2);
  background: rgba(255, 255, 255, .06);
  color: #fff;
  border-radius: 999px;
  padding: .2rem .7rem;
  font-size: .8rem;
}
.sc-calc .chip-ex.is-on { background: var(--mint); color: var(--on-mint); }
.sc-calc-result {
  background: rgba(0, 0, 0, .35);
  border-radius: .95rem;
  padding: .9rem;
}
.sc-calc input.form-control { background: var(--input); }

.sc-thumb {
  width: 56px;
  height: 56px;
  border-radius: .85rem;
  overflow: hidden;
  border: 1px solid var(--line);
  padding: 0;
  background: #1a1a1a;
}
.sc-thumb img { width: 100%; height: 100%; object-fit: cover; }
.sc-thumb:hover { outline: 3px solid rgba(99, 255, 169, .45); }
.price-from { color: var(--muted); text-decoration: line-through; font-size: .8rem; }
.price-to { font-weight: 800; }
.modal-content { border-radius: 1.25rem; border: 1px solid var(--line); background: var(--card); color: var(--ink); }
.carousel-item img { max-height: 70vh; object-fit: contain; margin: 0 auto; }

.sc-pdp {
  display: grid;
  grid-template-columns: minmax(0, 1.05fr) minmax(0, .95fr);
  gap: 1.75rem;
  align-items: start;
}
@media (max-width: 991px) {
  .sc-pdp { grid-template-columns: 1fr; }
}
.sc-pdp-carousel {
  position: relative;
  background: var(--paper);
}
.sc-pdp-carousel .carousel-inner {
  min-height: 420px;
  display: flex;
  align-items: center;
}
.sc-pdp-carousel .carousel-item { width: 100%; }
.sc-pdp-carousel img {
  width: 100%;
  max-height: 520px;
  object-fit: contain;
}
.sc-pdp-count {
  position: absolute;
  right: .85rem;
  bottom: .85rem;
  background: rgba(0, 0, 0, .72);
  color: #fff;
  font-size: .8rem;
  font-weight: 800;
  padding: .2rem .55rem;
  border-radius: 999px;
}
.sc-pdp-empty {
  min-height: 420px;
  display: grid;
  place-content: center;
  text-align: center;
  color: var(--muted);
}
.sc-pdp-empty i { font-size: 2.2rem; }
.sc-thumbs {
  display: flex;
  flex-wrap: nowrap;
  gap: .45rem;
  padding: .75rem;
  overflow-x: auto;
}
.sc-thumb.is-on { outline: 3px solid var(--mint); }
.sc-pdp-field {
  border-top: 1px dashed var(--line);
  padding: .85rem 0;
}
.sc-pdp-price .h3 { font-weight: 800; }

.sc-inc-row {
  display: grid;
  grid-template-columns: 1fr 1fr 1.2fr auto;
  gap: .6rem;
  align-items: end;
  background: var(--input);
  border: 1px solid var(--line);
  border-radius: .95rem;
  padding: .75rem;
}
@media (max-width: 767px) {
  .sc-inc-row { grid-template-columns: 1fr 1fr; }
}
.sc-fallback {
  background: var(--input);
  border-radius: .95rem;
  padding: 1rem;
}

.sc-paywall {
  position: fixed;
  inset: 0;
  z-index: 2000;
  background: rgba(0, 0, 0, .72);
  display: grid;
  place-items: center;
  padding: 1.25rem;
}
.sc-paywall-card {
  width: min(440px, 100%);
  background: var(--card);
  border: 1px solid rgba(99, 255, 169, .25);
  border-radius: 1.4rem;
  padding: 2rem 1.6rem 1.4rem;
  text-align: center;
  box-shadow: var(--glow), var(--shadow);
}
.sc-paywall-mark {
  width: 3.4rem;
  height: 3.4rem;
  margin: 0 auto 1rem;
  border-radius: 999px;
  overflow: hidden;
  display: grid;
  place-items: center;
  background: #000;
  box-shadow: var(--glow);
}
.sc-paywall-mark img { width: 100%; height: 100%; object-fit: cover; }
.sc-paywall-kicker {
  text-transform: uppercase;
  letter-spacing: .12em;
  font-size: .72rem;
  font-weight: 800;
  color: var(--mint);
  margin-bottom: .35rem;
}
.sc-paywall h2 { font-weight: 800; margin-bottom: .75rem; }
.sc-paywall-debt {
  background: var(--mint-dim);
  color: var(--mint);
  border-radius: .8rem;
  padding: .6rem .8rem;
  font-weight: 800;
}

.sc-store-pill {
  max-width: 160px;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
  font-size: .78rem;
  font-weight: 800;
  color: var(--on-mint);
  background: var(--mint);
  border-radius: 999px;
  padding: .2rem .7rem;
}

.sc-loader {
  position: fixed;
  inset: 0;
  z-index: 4000;
  display: grid;
  place-items: center;
  background: var(--loader);
  transition: opacity .35s ease, visibility .35s ease;
}
.sc-loader-msg {
  margin-top: 1rem;
  color: var(--muted);
  font-weight: 700;
}
.sc-nodes {
  width: 84px;
  height: 84px;
  position: relative;
}
.sc-nodes b {
  position: absolute;
  left: 50%;
  top: 50%;
  width: 14px;
  height: 14px;
  margin: -7px;
  border-radius: 999px;
  background: var(--mint);
  box-shadow: 0 0 12px var(--mint);
  animation: sc-node-pulse 1.15s ease-in-out infinite;
}
.sc-nodes b:nth-child(1) { transform: translate(0, 0) scale(1.15); animation-delay: 0s; }
.sc-nodes b:nth-child(2) { transform: translate(28px, 0); animation-delay: .12s; }
.sc-nodes b:nth-child(3) { transform: translate(20px, 20px); animation-delay: .24s; }
.sc-nodes b:nth-child(4) { transform: translate(0, 28px); animation-delay: .36s; }
.sc-nodes b:nth-child(5) { transform: translate(-20px, 20px); animation-delay: .48s; }
.sc-nodes b:nth-child(6) { transform: translate(-28px, 0); animation-delay: .6s; }
.sc-nodes b:nth-child(7) { transform: translate(-20px, -20px); animation-delay: .72s; }
.sc-nodes b:nth-child(8) { transform: translate(0, -28px); animation-delay: .84s; }
.sc-nodes b:nth-child(9) { transform: translate(20px, -20px); animation-delay: .96s; }
@keyframes sc-node-pulse {
  0%, 100% { opacity: .25; filter: saturate(.6); }
  50% { opacity: 1; filter: saturate(1.2); }
}

.alert-warning {
  background: rgba(250, 204, 21, .12);
  border-color: rgba(250, 204, 21, .28);
  color: #ffe08a;
}
.alert-light {
  background: var(--card);
  border-color: var(--line);
  color: var(--ink);
}

.swal2-popup {
  background: var(--card) !important;
  color: var(--ink) !important;
  border: 1px solid rgba(99, 255, 169, .22) !important;
  border-radius: 1.15rem !important;
}
.swal2-title, .swal2-html-container { color: var(--ink) !important; }

.sc-brand img,
.sc-brand-logo,
.sc-brand-mark,
.login-logo,
.sc-paywall-mark img {
  filter: none !important;
  -webkit-filter: none !important;
  mix-blend-mode: normal !important;
  color-scheme: only light;
  forced-color-adjust: none;
}

.sc-theme-btn {
  border-radius: 999px;
  border: 1px solid var(--line);
  color: var(--ink);
  background: transparent;
  display: inline-flex;
  align-items: center;
  gap: .4rem;
  font-weight: 800;
}
.sc-theme-btn:hover { border-color: var(--accent); color: var(--accent); }
html[data-bs-theme="dark"] [data-theme-icon="light"] { display: none; }
html[data-bs-theme="light"] [data-theme-icon="dark"] { display: none; }

.sc-credit {
  margin-top: auto;
  padding: 1.25rem 1rem 1.6rem;
  text-align: center;
  font-size: .82rem;
  font-weight: 700;
  color: var(--muted);
}
.sc-credit a {
  color: var(--accent);
  text-decoration: none;
  font-weight: 800;
}
.sc-credit a:hover { text-decoration: underline; }

.sc-hp {
  position: absolute !important;
  left: -9999px !important;
  width: 1px;
  height: 1px;
  overflow: hidden;
}

body.sc-body > main { flex: 1 0 auto; width: 100%; }

/* —— Light theme: designed, not inverted —— */
html[data-bs-theme="light"] body.sc-body {
  background:
    radial-gradient(900px 520px at -8% -20%, #d9f8e8 0%, transparent 58%),
    radial-gradient(720px 420px at 110% -10%, #eef6f1 0%, transparent 52%),
    linear-gradient(180deg, #fbfefc 0%, #f3f7f4 100%);
}
html[data-bs-theme="light"] .navbar.sc-nav {
  background: rgba(255, 255, 255, .86);
  border-bottom: 1px solid #e3eee7;
  box-shadow: 0 8px 24px rgba(20, 38, 28, .04);
}
html[data-bs-theme="light"] .navbar .nav-link {
  color: #4f6558;
}
html[data-bs-theme="light"] .navbar .nav-link:hover {
  color: #0c8a55;
  background: #e7f8ee;
  box-shadow: none;
}
html[data-bs-theme="light"] .navbar .nav-link.active {
  color: #062414;
  background: #63ffa9;
  box-shadow: none;
}
html[data-bs-theme="light"] .sc-card {
  border-color: #e3eee7;
  box-shadow: 0 12px 32px rgba(20, 38, 28, .06);
}
html[data-bs-theme="light"] .sc-card-head .ico {
  background: #e7f8ee;
  color: #0c8a55;
  box-shadow: none;
}
html[data-bs-theme="light"] .chip-dirty,
html[data-bs-theme="light"] .chip-queued { background: #e8f1ff; color: #1e4fad; }
html[data-bs-theme="light"] .chip-clean,
html[data-bs-theme="light"] .chip-completed,
html[data-bs-theme="light"] .chip-active,
html[data-bs-theme="light"] .chip-connected { background: #e7f8ee; color: #0c8a55; }
html[data-bs-theme="light"] .chip-error,
html[data-bs-theme="light"] .chip-failed { background: #fdecec; color: #b42318; }
html[data-bs-theme="light"] .chip-exporting,
html[data-bs-theme="light"] .chip-paused { background: #fff6d8; color: #8a6400; }
html[data-bs-theme="light"] .chip-running { background: #e7f8ee; color: #0c8a55; box-shadow: none; }
html[data-bs-theme="light"] .chip-disconnected { background: #eef2f0; color: #4f6558; }
html[data-bs-theme="light"] .form-control,
html[data-bs-theme="light"] .form-select,
html[data-bs-theme="light"] .form-floating > .form-control {
  background: #fff;
  border-color: #d5e4da;
  color: #14261c;
}
html[data-bs-theme="light"] .form-control:focus,
html[data-bs-theme="light"] .form-select:focus {
  border-color: #2fd887;
  box-shadow: 0 0 0 .2rem rgba(47, 216, 135, .18);
}
html[data-bs-theme="light"] .form-check-input { border-color: #b7cfc2; }
html[data-bs-theme="light"] .form-check-input:checked {
  background-color: #2fd887;
  border-color: #2fd887;
  box-shadow: none;
}
html[data-bs-theme="light"] .btn-coop {
  --bs-btn-bg: #63ffa9;
  --bs-btn-border-color: #63ffa9;
  --bs-btn-hover-bg: #4af099;
  --bs-btn-hover-border-color: #4af099;
  box-shadow: 0 8px 18px rgba(47, 216, 135, .22);
}
html[data-bs-theme="light"] .btn-coop:hover { box-shadow: 0 10px 22px rgba(47, 216, 135, .3); }
html[data-bs-theme="light"] .btn-outline-coop {
  --bs-btn-color: #0c8a55;
  --bs-btn-border-color: #b7e7cb;
  --bs-btn-hover-bg: #e7f8ee;
  --bs-btn-hover-color: #0a7348;
  --bs-btn-hover-border-color: #2fd887;
}
html[data-bs-theme="light"] .btn-outline-secondary {
  --bs-btn-color: #3f5348;
  --bs-btn-border-color: #d5e4da;
  --bs-btn-hover-bg: #f3f7f4;
  --bs-btn-hover-color: #14261c;
  --bs-btn-hover-border-color: #b7cfc2;
}
html[data-bs-theme="light"] .sc-paybar,
html[data-bs-theme="light"] .sc-savebar {
  background: rgba(255, 255, 255, .94);
  border-top: 1px solid #e3eee7;
  box-shadow: 0 -10px 30px rgba(20, 38, 28, .06);
}
html[data-bs-theme="light"] .sc-pay-total {
  color: #0c8a55;
  text-shadow: none;
}
html[data-bs-theme="light"] .sc-pay-row.is-picked {
  background: #eefbf4;
  box-shadow: inset 3px 0 0 #2fd887;
}
html[data-bs-theme="light"] .table thead th { color: #5e7367; }
html[data-bs-theme="light"] .progress { background: #e3eee7; }
html[data-bs-theme="light"] .progress-bar { box-shadow: none; background: #2fd887; }
html[data-bs-theme="light"] .sc-choice {
  background: #fff;
  border-color: #d5e4da;
}
html[data-bs-theme="light"] .sc-choice.is-on {
  background: linear-gradient(180deg, #f2fbf6, #fff);
  box-shadow: 0 0 0 4px rgba(47, 216, 135, .12);
}
html[data-bs-theme="light"] .sc-calc {
  background: #14261c;
  color: #f4fff8;
  border-color: transparent;
  box-shadow: 0 18px 40px rgba(20, 38, 28, .16);
}
html[data-bs-theme="light"] .sc-sync-bar {
  background: #14261c;
  color: #f4fff8;
}
html[data-bs-theme="light"] .sc-thumb,
html[data-bs-theme="light"] .sc-thumbs .sc-thumb { background: #eef3f0; }
html[data-bs-theme="light"] .alert-warning {
  background: #fff8e6;
  border-color: #f3e2b0;
  color: #7a5b00;
}
html[data-bs-theme="light"] .sc-paywall { background: rgba(244, 248, 245, .72); }
html[data-bs-theme="light"] .sc-paywall-card {
  border-color: #e3eee7;
  box-shadow: 0 24px 50px rgba(20, 38, 28, .12);
}
html[data-bs-theme="light"] .sc-paywall-mark { background: #e7f8ee; box-shadow: none; }
html[data-bs-theme="light"] .sc-paywall-kicker,
html[data-bs-theme="light"] .sc-paywall-debt { color: #0c8a55; }
html[data-bs-theme="light"] .sc-nodes b { box-shadow: 0 0 0 4px rgba(47, 216, 135, .18); }
html[data-bs-theme="light"] .stat-card:hover { box-shadow: 0 16px 36px rgba(20, 38, 28, .1); }
html[data-bs-theme="light"] .sc-acting-banner {
  box-shadow: 0 8px 20px rgba(47, 216, 135, .25);
  top: 58px;
}
html[data-bs-theme="light"] .offcanvas {
  background: #fff;
  color: #14261c;
}
html[data-bs-theme="light"] .login-card {
  border-color: #e3eee7;
  box-shadow: 0 24px 60px rgba(20, 38, 28, .08);
}
html[data-bs-theme="light"] .sc-brand:hover { color: #0c8a55; }
