:root{
  --theme-dark-bg-1:#07111d;
  --theme-dark-bg-2:#0b1826;
  --theme-dark-bg-3:#102235;
  --theme-dark-surface:rgba(15,31,48,.94);
  --theme-dark-surface-strong:rgba(18,39,60,.98);
  --theme-dark-surface-muted:rgba(13,27,43,.82);
  --theme-dark-border:rgba(185,213,232,.16);
  --theme-dark-border-soft:rgba(185,213,232,.09);
  --theme-dark-text:#edf6fc;
  --theme-dark-text-soft:#b8ccda;
  --theme-dark-text-faint:#8fa9bb;
  --theme-dark-accent:#6cc8e4;
  --theme-dark-accent-strong:#8bdcf2;
  --theme-dark-accent-soft:rgba(108,200,228,.16);
  --theme-dark-success:#62d69d;
  --theme-dark-danger:#ff7b8d;
  --theme-dark-warning:#f6c85f;
  --theme-dark-purple:#c69cff;
  --theme-dark-shadow:0 24px 70px rgba(0,0,0,.48);
}

html[data-theme="dark"]{
  color-scheme:dark;
  --bg-top:var(--theme-dark-bg-1);
  --bg-bottom:var(--theme-dark-bg-2);
  --bg-1:var(--theme-dark-bg-1);
  --bg-2:var(--theme-dark-bg-2);
  --text-main:var(--theme-dark-text);
  --text:var(--theme-dark-text);
  --text-soft:var(--theme-dark-text-soft);
  --text-faint:var(--theme-dark-text-faint);
  --card:var(--theme-dark-surface);
  --panel:var(--theme-dark-surface);
  --surface:var(--theme-dark-surface);
  --surface-strong:var(--theme-dark-surface-strong);
  --surface-muted:var(--theme-dark-surface-muted);
  --card-border:var(--theme-dark-border);
  --border:var(--theme-dark-border);
  --border-soft:var(--theme-dark-border-soft);
  --shadow:var(--theme-dark-shadow);
  --shadow-lg:0 28px 80px rgba(0,0,0,.56);
  --shadow-md:0 18px 44px rgba(0,0,0,.42);
  --accent:var(--theme-dark-accent);
  --accent-dark:var(--theme-dark-accent-strong);
  --accent-soft:var(--theme-dark-accent-soft);
  --blue:var(--theme-dark-accent);
  --blue-light:rgba(108,200,228,.18);
  --green:var(--theme-dark-success);
  --success:var(--theme-dark-success);
  --danger:var(--theme-dark-danger);
  --red:var(--theme-dark-danger);
  --warning:var(--theme-dark-warning);
  --purple:var(--theme-dark-purple);
  --ep:#4a2a1d;
  --mp:#18344e;
  --pb:#1d432d;
  --vy:#4c3c16;
}

html[data-theme="dark"] body{
  color:var(--text) !important;
  background:
    radial-gradient(circle at top left,rgba(108,200,228,.12),transparent 30%),
    radial-gradient(circle at bottom right,rgba(98,214,157,.08),transparent 26%),
    linear-gradient(145deg,var(--bg-1),var(--bg-2)) !important;
}

html[data-theme="dark"] a{color:inherit}

html[data-theme="dark"] header,
html[data-theme="dark"] .panel,
html[data-theme="dark"] .card,
html[data-theme="dark"] .section,
html[data-theme="dark"] .stat-card,
html[data-theme="dark"] .user-card,
html[data-theme="dark"] .provider-card,
html[data-theme="dark"] .pfile-item,
html[data-theme="dark"] .file-row,
html[data-theme="dark"] .match-wrap,
html[data-theme="dark"] .date-card,
html[data-theme="dark"] .orders-table-wrap,
html[data-theme="dark"] .calendar-section,
html[data-theme="dark"] .selected-section,
html[data-theme="dark"] .tbl-wrap,
html[data-theme="dark"] .table-wrap,
html[data-theme="dark"] .table-window,
html[data-theme="dark"] #session-bar{
  background:var(--surface) !important;
  border-color:var(--border) !important;
  color:var(--text) !important;
  box-shadow:var(--shadow-md) !important;
}

html[data-theme="dark"] body.lunch-agenda-page .panel,
html[data-theme="dark"] body.dev-page .section{
  background:transparent !important;
  border-color:transparent !important;
  box-shadow:none !important;
}

html[data-theme="dark"] .modal,
html[data-theme="dark"] dialog,
html[data-theme="dark"] [role="dialog"]{
  background:var(--surface-strong) !important;
  border-color:var(--border) !important;
  color:var(--text) !important;
  box-shadow:var(--shadow-lg) !important;
}

html[data-theme="dark"] .modal-backdrop{
  background:rgba(0,0,0,.62) !important;
}

html[data-theme="dark"] .eyebrow,
html[data-theme="dark"] .tool-label,
html[data-theme="dark"] .info-bar,
html[data-theme="dark"] .auth-url-box,
html[data-theme="dark"] .user-stat,
html[data-theme="dark"] .feed-item,
html[data-theme="dark"] .upload-result-item,
html[data-theme="dark"] .pfile-header,
html[data-theme="dark"] .upload-zone,
html[data-theme="dark"] .drop-zone,
html[data-theme="dark"] .file-input-label,
html[data-theme="dark"] .date-cell,
html[data-theme="dark"] .calendar-day,
html[data-theme="dark"] .order-card,
html[data-theme="dark"] .public-item,
html[data-theme="dark"] .date-banner,
html[data-theme="dark"] .warning-banner,
html[data-theme="dark"] .no-date-banner{
  background:var(--surface-muted) !important;
  border-color:var(--border-soft) !important;
  color:var(--text) !important;
}

html[data-theme="dark"] .eyebrow,
html[data-theme="dark"] .tool-label,
html[data-theme="dark"] #session-bar label,
html[data-theme="dark"] .selection-count strong,
html[data-theme="dark"] .drop-zone-text strong{
  color:var(--accent-dark) !important;
}

html[data-theme="dark"] .hero-sub,
html[data-theme="dark"] .lead,
html[data-theme="dark"] .info,
html[data-theme="dark"] .meta-line,
html[data-theme="dark"] .card-title,
html[data-theme="dark"] .step-title,
html[data-theme="dark"] .form-label,
html[data-theme="dark"] .modal-copy,
html[data-theme="dark"] .modal-subtitle,
html[data-theme="dark"] .tool-copy,
html[data-theme="dark"] .tool-cta,
html[data-theme="dark"] .feed-detail,
html[data-theme="dark"] .feed-ts,
html[data-theme="dark"] .user-meta,
html[data-theme="dark"] .pcard-count,
html[data-theme="dark"] .empty-note,
html[data-theme="dark"] .empty-state,
html[data-theme="dark"] .table-hint,
html[data-theme="dark"] .result-desc,
html[data-theme="dark"] .selection-count,
html[data-theme="dark"] .no-dates{
  color:var(--text-soft) !important;
}

html[data-theme="dark"] .date-label,
html[data-theme="dark"] .warn-title,
html[data-theme="dark"] .warn-body,
html[data-theme="dark"] .date-value,
html[data-theme="dark"] .no-date-banner span{
  color:var(--text-soft) !important;
}

html[data-theme="dark"] .public-item-text{
  color:var(--text) !important;
}

html[data-theme="dark"] .date-value{
  color:var(--text) !important;
}

html[data-theme="dark"] .date-banner{
  background:rgba(98,214,157,.13) !important;
  border-color:rgba(98,214,157,.28) !important;
}

html[data-theme="dark"] .warning-banner{
  background:rgba(246,200,95,.13) !important;
  border-color:rgba(246,200,95,.28) !important;
}

html[data-theme="dark"] .no-date-banner{
  background:rgba(108,200,228,.10) !important;
  border-color:rgba(108,200,228,.22) !important;
}

html[data-theme="dark"] h1,
html[data-theme="dark"] h2,
html[data-theme="dark"] h3,
html[data-theme="dark"] h4,
html[data-theme="dark"] .user-name,
html[data-theme="dark"] .result-name,
html[data-theme="dark"] .pcard-title,
html[data-theme="dark"] .modal-title,
html[data-theme="dark"] .stat-value,
html[data-theme="dark"] .user-stat strong{
  color:var(--text) !important;
}

html[data-theme="dark"] input,
html[data-theme="dark"] select,
html[data-theme="dark"] textarea,
html[data-theme="dark"] .kv-input,
html[data-theme="dark"] .field input,
html[data-theme="dark"] .field select,
html[data-theme="dark"] .field textarea{
  background:rgba(7,17,29,.92) !important;
  border-color:var(--border) !important;
  color:var(--text) !important;
  box-shadow:none !important;
}

html[data-theme="dark"] input::placeholder,
html[data-theme="dark"] textarea::placeholder{
  color:rgba(184,204,218,.64) !important;
}

html[data-theme="dark"] input:focus,
html[data-theme="dark"] select:focus,
html[data-theme="dark"] textarea:focus{
  border-color:var(--accent) !important;
  outline:2px solid rgba(108,200,228,.28) !important;
  outline-offset:1px;
}

html[data-theme="dark"] input[type="checkbox"],
html[data-theme="dark"] input[type="radio"]{
  accent-color:var(--accent);
}

html[data-theme="dark"] .btn-secondary,
html[data-theme="dark"] .btn-ghost,
html[data-theme="dark"] .hero-link,
html[data-theme="dark"] .back-link,
html[data-theme="dark"] .nav-btn,
html[data-theme="dark"] .icon-btn,
html[data-theme="dark"] .modal-close,
html[data-theme="dark"] .tool-card.disabled{
  background:rgba(18,39,60,.92) !important;
  border-color:var(--border) !important;
  color:var(--text-soft) !important;
}

html[data-theme="dark"] .btn-secondary:hover:not(:disabled),
html[data-theme="dark"] .btn-ghost:hover,
html[data-theme="dark"] .hero-link:hover,
html[data-theme="dark"] .back-link:hover,
html[data-theme="dark"] .nav-btn:hover:not(:disabled),
html[data-theme="dark"] .icon-btn:hover,
html[data-theme="dark"] .modal-close:hover{
  background:rgba(26,54,82,.98) !important;
  color:var(--text) !important;
}

html[data-theme="dark"] .tabs{
  background:rgba(12,26,42,.86) !important;
  border-color:var(--border) !important;
}

html[data-theme="dark"] .tab,
html[data-theme="dark"] .tab-btn{
  color:var(--text-soft) !important;
}

html[data-theme="dark"] .tab.active,
html[data-theme="dark"] .tab-btn.active{
  background:var(--surface-strong) !important;
  color:var(--accent-dark) !important;
  box-shadow:0 10px 28px rgba(0,0,0,.28) !important;
}

html[data-theme="dark"] .tab:hover:not(.active),
html[data-theme="dark"] .tab-btn:hover:not(.active){
  background:rgba(255,255,255,.06) !important;
  color:var(--text) !important;
}

html[data-theme="dark"] table{
  color:var(--text) !important;
}

html[data-theme="dark"] thead th,
html[data-theme="dark"] thead tr.filters th{
  background:rgba(8,19,32,.98) !important;
  color:var(--text-soft) !important;
  border-color:var(--border-soft) !important;
}

html[data-theme="dark"] td,
html[data-theme="dark"] th{
  border-color:var(--border-soft) !important;
}

html[data-theme="dark"] tbody tr{
  background:transparent !important;
}

html[data-theme="dark"] tbody tr:nth-child(even){
  background:rgba(255,255,255,.035) !important;
}

html[data-theme="dark"] tbody tr:hover,
html[data-theme="dark"] tbody tr.selected,
html[data-theme="dark"] tr:hover td{
  background:rgba(108,200,228,.10) !important;
}

html[data-theme="dark"] .badge,
html[data-theme="dark"] .badge-unknown,
html[data-theme="dark"] .badge.skip{
  background:rgba(255,255,255,.10) !important;
  color:var(--text-soft) !important;
}

html[data-theme="dark"] .badge-ok,
html[data-theme="dark"] .badge-summary,
html[data-theme="dark"] .badge.ok,
html[data-theme="dark"] .upload-result-item.ok{
  background:rgba(98,214,157,.16) !important;
  color:var(--success) !important;
}

html[data-theme="dark"] .badge-err,
html[data-theme="dark"] .badge-no,
html[data-theme="dark"] .badge-unmatched,
html[data-theme="dark"] .badge.no,
html[data-theme="dark"] .upload-result-item.err{
  background:rgba(255,123,141,.16) !important;
  color:var(--danger) !important;
}

html[data-theme="dark"] .badge.wait,
html[data-theme="dark"] .info-bar.warn{
  background:rgba(246,200,95,.16) !important;
  color:var(--warning) !important;
}

html[data-theme="dark"] .badge-tmc,
html[data-theme="dark"] .badge-full,
html[data-theme="dark"] .badge-mp,
html[data-theme="dark"] .badge.access{
  background:rgba(108,200,228,.16) !important;
  color:var(--accent-dark) !important;
}

html[data-theme="dark"] .badge-brickyard,
html[data-theme="dark"] .badge-ep{
  background:rgba(246,160,95,.16) !important;
  color:#f2b987 !important;
}

html[data-theme="dark"] .badge-xpots,
html[data-theme="dark"] .badge-pb,
html[data-theme="dark"] .badge.login,
html[data-theme="dark"] .badge.task{
  background:rgba(98,214,157,.16) !important;
  color:var(--success) !important;
}

html[data-theme="dark"] .badge-vy{
  background:rgba(246,200,95,.16) !important;
  color:var(--warning) !important;
}

html[data-theme="dark"] .badge.error{
  background:rgba(255,123,141,.16) !important;
  color:var(--danger) !important;
}

html[data-theme="dark"] .log-shell,
html[data-theme="dark"] #log-area{
  background:rgba(3,10,18,.94) !important;
  border-color:rgba(185,213,232,.12) !important;
}

html[data-theme="dark"] #log-area{
  color:#a9d8ff !important;
}

html[data-theme="dark"] #log-area span[style*="#4a5568"],
html[data-theme="dark"] [style*="color:#4a5568"]{
  color:var(--text-faint) !important;
}

html[data-theme="dark"] .tool-card{
  background:var(--surface) !important;
  border-color:var(--border) !important;
  color:var(--text) !important;
}

html[data-theme="dark"] .tool-card:hover{
  background:var(--surface-strong) !important;
  border-color:rgba(108,200,228,.34) !important;
}

html[data-theme="dark"] .tool-art,
html[data-theme="dark"] .tool-art.logo{
  background:linear-gradient(145deg,rgba(10,24,39,.98),rgba(17,38,59,.98)) !important;
  border-color:var(--border-soft) !important;
}

html[data-theme="dark"] .tool-art img{
  background:rgba(255,255,255,.92);
  border-radius:6px;
  padding:5px;
}

html[data-theme="dark"] .date-cell.empty{
  background:transparent !important;
}

html[data-theme="dark"] .date-cell.past,
html[data-theme="dark"] .calendar-day.past{
  background:rgba(255,255,255,.045) !important;
  color:rgba(184,204,218,.48) !important;
}

html[data-theme="dark"] .date-cell.today,
html[data-theme="dark"] .calendar-day.today{
  background:rgba(108,200,228,.18) !important;
  color:var(--accent-dark) !important;
  outline-color:var(--accent) !important;
}

html[data-theme="dark"] .date-cell.selected,
html[data-theme="dark"] .date-cell.active-date,
html[data-theme="dark"] .calendar-day.selected,
html[data-theme="dark"] .calendar-day.active-date{
  background:linear-gradient(135deg,#15835b,#1c9a6b) !important;
  color:#fff !important;
}

html[data-theme="dark"] .available-badge{
  background:rgba(98,214,157,.16) !important;
  color:var(--success) !important;
}

html[data-theme="dark"] .modal-backdrop [style*="background:#fff"],
html[data-theme="dark"] [style*="background:#fff"],
html[data-theme="dark"] [style*="background: #fff"],
html[data-theme="dark"] [style*="background:#ffffff"],
html[data-theme="dark"] [style*="background:rgba(255,255,255"],
html[data-theme="dark"] [style*="background: rgba(255,255,255"]{
  background:var(--surface-strong) !important;
  color:var(--text) !important;
  border-color:var(--border) !important;
}

html[data-theme="dark"] [style*="color:#555"],
html[data-theme="dark"] [style*="color: #555"],
html[data-theme="dark"] [style*="color:#666"],
html[data-theme="dark"] [style*="color: #666"],
html[data-theme="dark"] [style*="color:#7c8b99"],
html[data-theme="dark"] [style*="color:var(--text-faint)"]{
  color:var(--text-soft) !important;
}

html[data-theme="dark"] hr,
html[data-theme="dark"] .divider{
  background:var(--border-soft) !important;
  border-color:var(--border-soft) !important;
}

html[data-theme="dark"] ::selection{
  background:rgba(108,200,228,.32);
  color:var(--text);
}

#theme-toggle{
  position:fixed;top:14px;right:14px;z-index:9999;
  width:38px;height:38px;border-radius:50%;
  border:1.5px solid rgba(16,32,51,.15);
  background:rgba(255,255,255,.82);
  backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);
  cursor:pointer;display:flex;align-items:center;justify-content:center;
  box-shadow:0 2px 10px rgba(0,0,0,.12);
  transition:background .2s,border-color .2s,box-shadow .2s,color .2s;
  color:#102033;padding:0;
}

html[data-theme="dark"] #theme-toggle{
  border-color:var(--border);
  background:rgba(18,39,60,.94);
  color:var(--text);
  box-shadow:0 2px 14px rgba(0,0,0,.48);
}

#theme-toggle:hover{box-shadow:0 4px 16px rgba(0,0,0,.2)}
