/* Redacted Silver. Loaded after neobrutalism-excalidash.css and overrides its tokens.
   Rebuilt from the 2026-05-19 notes (#000 bg, silver-blue vignette, silver glow);
   the original Style Guide note and ~/icarus-photo-locator no longer exist. */
:root, :root[data-theme="dark"], :root[data-theme="light"] {
  color-scheme: dark;
  --ed-bg: #000000; --ed-dot: transparent;
  --ed-surface: rgba(16,18,24,.82); --ed-surface-raised: #14161d; --ed-surface-sunk: #08090c;
  --ed-ink: #eef1f8; --ed-ink-soft: #a6aec2; --ed-ink-faint: #6d7488;
  --ed-line: rgba(200,210,240,.2); --ed-line-soft: rgba(200,210,240,.1); --ed-bw: 1px;
  --ed-sh-2: none; --ed-sh-3: none; --ed-sh-4: 0 0 24px rgba(140,150,185,.08);
  --ed-sh-6: 0 0 32px rgba(140,150,185,.1); --ed-sh-8: 0 0 40px rgba(140,150,185,.12);
  --ed-primary: #c8d2f0; --ed-primary-hi: #e3e8f8; --ed-primary-ink: #000000;
  --ed-success: #8fcfb0; --ed-success-hi: #a9dfc4; --ed-success-ink: #000000;
  --ed-danger: #e08a8a; --ed-danger-hi: #eda3a3; --ed-danger-ink: #000000;
  --ed-warning: #d8c48a; --ed-warning-ink: #000000;
  --ed-font: Inter, -apple-system, BlinkMacSystemFont, "Segoe UI", system-ui, sans-serif;
  --ed-font-display: var(--ed-font);
  --chart-shadow: transparent;
}
body {
  background: radial-gradient(ellipse 90% 60% at 50% 0%, rgba(140,150,185,.22), transparent 70%) no-repeat, #000 !important;
  background-attachment: fixed !important;
}
.ed-display, h1 { font-weight: 600; letter-spacing: -.02em; }
#themeToggle { display: none; }

/* Fade in on load and on every tab switch (sections toggle display via .active). */
@keyframes rd-fade { from { opacity: 0; transform: translateY(6px); } to { opacity: 1; transform: none; } }
main section.active { animation: rd-fade .4s ease-out both; }
.hdr, #tabs { animation: rd-fade .4s ease-out both; }
@media (prefers-reduced-motion: reduce) { main section.active, .hdr, #tabs { animation: none; } }

/* Dropdowns and date pickers. Closed state works everywhere; the open menu is styled
   only where appearance: base-select exists (Chrome 135+), else it falls back to the OS menu. */
select.ed-input, input[type="date"].ed-input {
  height: 42px; padding: 0 .9rem; border: 1px solid var(--ed-line); border-radius: 10px;
  background-color: rgba(200,210,240,.05); color: var(--ed-ink); box-shadow: none;
  font: 500 .9rem var(--ed-font); cursor: pointer; transition: border-color .15s, background-color .15s, box-shadow .15s;
}
select.ed-input {
  appearance: none; -webkit-appearance: none; padding-right: 2.3rem;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' fill='none' stroke='%23a6aec2' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M1 1.5l5 5 5-5'/%3E%3C/svg%3E");
  background-repeat: no-repeat; background-position: right .85rem center;
}
select.ed-input:hover, input[type="date"].ed-input:hover { border-color: rgba(200,210,240,.42); background-color: rgba(200,210,240,.09); }
select.ed-input:focus-visible, input[type="date"].ed-input:focus-visible { outline: none; border-color: var(--ed-primary); box-shadow: 0 0 0 3px rgba(200,210,240,.16); }
input[type="date"].ed-input { padding-right: 2.3rem; background-repeat: no-repeat; background-position: right .8rem center;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='14' height='14' fill='none' stroke='%23a6aec2' stroke-width='1.4' stroke-linecap='round'%3E%3Crect x='1' y='2.5' width='12' height='10.5' rx='2'/%3E%3Cpath d='M1 6h12M4.5 1v3M9.5 1v3'/%3E%3C/svg%3E"); }
input[type="date"].ed-input::-webkit-calendar-picker-indicator { display: none; }
.tx-grid .sec-title { align-items: center; }
select.ed-input option { background: #0d0f14; color: var(--ed-ink); }
@supports (appearance: base-select) {
  select.ed-input, select.ed-input::picker(select) { appearance: base-select; }
  select.ed-input { display: inline-flex; align-items: center; }
  select.ed-input::picker-icon { display: none; }
  select.ed-input::picker(select) {
    margin-top: 6px; padding: 6px; border: 1px solid var(--ed-line); border-radius: 12px;
    background: #0d0f14; box-shadow: 0 16px 48px rgba(0,0,0,.7), 0 0 24px rgba(140,150,185,.1);
  }
  select.ed-input option { padding: .55rem .75rem; border-radius: 8px; font: 500 .9rem var(--ed-font); cursor: pointer; }
  select.ed-input option::checkmark { display: none; }
  select.ed-input option:hover { background: rgba(200,210,240,.1); }
  select.ed-input option:checked { background: rgba(200,210,240,.16); color: var(--ed-primary-hi); }
}
@media (min-width: 1000px) { #growth { grid-template-columns: repeat(6, minmax(0, 1fr)); } }

/* Calendar popup, same look as the open dropdown menu. */
.cal { position: absolute; z-index: 50; width: 268px; padding: 10px; border: 1px solid var(--ed-line); border-radius: 12px;
  background: #0d0f14; box-shadow: 0 16px 48px rgba(0,0,0,.7), 0 0 24px rgba(140,150,185,.1); color: var(--ed-ink); font: 500 .85rem var(--ed-font); }
.cal[hidden] { display: none; }
.cal button { border: 0; background: none; color: inherit; font: inherit; cursor: pointer; border-radius: 8px; }
.cal button:hover { background: rgba(200,210,240,.1); }
.cal-head { display: flex; align-items: center; justify-content: space-between; margin-bottom: 8px; }
.cal-head button { width: 32px; height: 32px; font-size: 1.1rem; color: var(--ed-ink-soft); }
.cal-grid { display: grid; grid-template-columns: repeat(7, 1fr); gap: 2px; text-align: center; }
.cal-grid i { font-style: normal; font-size: .72rem; color: var(--ed-ink-faint); padding: 4px 0; }
.cal-grid button { height: 34px; }
.cal-grid button.today { box-shadow: inset 0 0 0 1px var(--ed-line); }
.cal-grid button.sel { background: rgba(200,210,240,.16); color: var(--ed-primary-hi); }
.cal-clear { width: 100%; margin-top: 6px; padding: .45rem; color: var(--ed-ink-soft) !important; }

/* Scrollbars: thin silver thumb, no track. */
::-webkit-scrollbar { width: 8px; height: 8px; }
::-webkit-scrollbar-track, ::-webkit-scrollbar-corner { background: transparent; }
::-webkit-scrollbar-thumb { border: 2px solid transparent; border-radius: 8px; background: rgba(200,210,240,.28) padding-box; }
::-webkit-scrollbar-thumb:hover { background: rgba(200,210,240,.55) padding-box; }

/* Statement tab only: 12px visible scrollbar thumb, longer minimum length. */
.st-scroll::-webkit-scrollbar { width: 16px; height: 16px; }
.st-scroll::-webkit-scrollbar-thumb { min-height: 140px; min-width: 140px; }

/* Fade in the calendar and dropdown menus each time they open. */
.cal:not([hidden]), select.ed-input::picker(select) { animation: rd-fade .18s ease-out; }
@media (prefers-reduced-motion: reduce) { .cal:not([hidden]), select.ed-input::picker(select) { animation: none; } }

/* Month header rows on the Brand Builder Scale tab. */
.tx-table tr.month td { background: var(--ed-surface-raised); color: var(--ed-primary-hi); font-weight: 600; }
.tx-table tr.month td[colspan] { font-size: 1.25rem; }

/* Chart series: analogous blues to violet, stepped in lightness so stacks stay readable.
   Whop stays the theme silver (--s-1). */
:root, :root[data-theme="dark"], :root[data-theme="light"] { --s-2: #7f8fd8; --s-3: #6a5bc4; }

/* Exclusions box on the Invoicing tab. */
.excl { display: flex; flex-wrap: wrap; align-items: center; gap: .5rem; margin-bottom: .75rem; }
.excl input { height: 42px; min-width: 340px; flex: 0 1 380px; padding: 0 .9rem; border: 1px solid var(--ed-line); border-radius: 10px; background: rgba(200,210,240,.05); color: var(--ed-ink); box-shadow: none; font: 500 .9rem var(--ed-font); }
.excl input:focus-visible { outline: none; border-color: var(--ed-primary); box-shadow: 0 0 0 3px rgba(200,210,240,.16); }
.excl-chips { display: flex; flex-wrap: wrap; gap: .4rem; }
.excl-chip { padding: .35rem .6rem; border: 1px solid var(--ed-line); border-radius: 8px; background: rgba(200,210,240,.1); color: var(--ed-ink); font: 500 .82rem var(--ed-font); cursor: pointer; text-transform: capitalize; }
.excl-chip b { color: var(--ed-primary-hi); }
.excl-chip.none { border-color: var(--ed-danger); color: var(--ed-danger); }

/* Exclusions autosuggest, same look as the open dropdown menu. */
.excl-wrap { position: relative; flex: 0 1 380px; min-width: 340px; }
.excl-wrap input { width: 100%; min-width: 0; }
.excl-suggest { position: absolute; z-index: 40; top: calc(100% + 6px); left: 0; right: 0; padding: 6px; border: 1px solid var(--ed-line); border-radius: 12px; background: #0d0f14; box-shadow: 0 16px 48px rgba(0,0,0,.7), 0 0 24px rgba(140,150,185,.1); animation: rd-fade .18s ease-out; }
.excl-suggest[hidden] { display: none; }
.excl-suggest button { display: block; width: 100%; padding: .5rem .75rem; border: 0; border-radius: 8px; background: none; color: var(--ed-ink); font: 500 .9rem var(--ed-font); text-align: left; cursor: pointer; }
.excl-suggest button:hover, .excl-suggest button.on { background: rgba(200,210,240,.14); color: var(--ed-primary-hi); }
