/*
Signal Labs
Area: Signal Schedule
File: schedule/app-shell.css
Version: v5.12.0
Purpose: Desktop-first application shell, theme tokens, and connected flyout navigation for all Schedule pages.
*/
:root,
:root[data-schedule-theme="light"]{
  --ss-app-bg:#edf2f7;
  --ss-app-panel:#ffffff;
  --ss-app-panel-soft:#f8fafc;
  --ss-app-panel-strong:#e8eef6;
  --ss-app-border:#d7e0ec;
  --ss-app-border-strong:#b8c6d8;
  --ss-app-text:#0f1f33;
  --ss-app-muted:#5f6f84;
  --ss-app-accent:#4f46e5;
  --ss-app-accent-soft:#eef2ff;
  --ss-app-danger:#b42318;
  --ss-app-warning:#b45309;
  --ss-app-good:#047857;
  --ss-sidebar-bg:#101827;
  --ss-sidebar-bg-2:#172236;
  --ss-sidebar-text:#edf4ff;
  --ss-sidebar-muted:#9baac0;
  --ss-sidebar-active:#60a5fa;
  --ss-shadow:0 12px 28px rgba(15,23,42,.08);
  --ss-sidebar-w:236px;
  --ss-toolbar-h:74px;
}
:root[data-schedule-theme="midnight"]{
  --ss-app-bg:#07111f;--ss-app-panel:#101c2e;--ss-app-panel-soft:#0d1727;--ss-app-panel-strong:#17243a;--ss-app-border:#23344f;--ss-app-border-strong:#36506f;--ss-app-text:#e7edf7;--ss-app-muted:#9fb0c6;--ss-app-accent:#38bdf8;--ss-app-accent-soft:#0b3349;--ss-app-danger:#f87171;--ss-app-warning:#fbbf24;--ss-app-good:#34d399;--ss-sidebar-bg:#030712;--ss-sidebar-bg-2:#0f172a;--ss-sidebar-text:#e5edf7;--ss-sidebar-muted:#94a3b8;--ss-sidebar-active:#38bdf8;--ss-shadow:0 18px 42px rgba(0,0,0,.35);
}
:root[data-schedule-theme="slate"]{
  --ss-app-bg:#111827;--ss-app-panel:#1f2937;--ss-app-panel-soft:#172033;--ss-app-panel-strong:#273449;--ss-app-border:#374151;--ss-app-border-strong:#4b5563;--ss-app-text:#f3f4f6;--ss-app-muted:#cbd5e1;--ss-app-accent:#a78bfa;--ss-app-accent-soft:#312e81;--ss-app-danger:#fca5a5;--ss-app-warning:#facc15;--ss-app-good:#86efac;--ss-sidebar-bg:#0b1120;--ss-sidebar-bg-2:#111827;--ss-sidebar-text:#f8fafc;--ss-sidebar-muted:#94a3b8;--ss-sidebar-active:#a78bfa;--ss-shadow:0 18px 42px rgba(0,0,0,.32);
}
:root[data-schedule-theme="cad"]{
  --ss-app-bg:#020605;--ss-app-panel:#07100d;--ss-app-panel-soft:#081813;--ss-app-panel-strong:#0d211b;--ss-app-border:#174237;--ss-app-border-strong:#1f6b56;--ss-app-text:#d9ffe9;--ss-app-muted:#8bd5af;--ss-app-accent:#00ff88;--ss-app-accent-soft:#003d24;--ss-app-danger:#ff5252;--ss-app-warning:#ffd166;--ss-app-good:#00ff88;--ss-sidebar-bg:#000403;--ss-sidebar-bg-2:#06110e;--ss-sidebar-text:#d9ffe9;--ss-sidebar-muted:#73b895;--ss-sidebar-active:#00ff88;--ss-shadow:0 0 0 1px rgba(0,255,136,.08),0 18px 42px rgba(0,0,0,.45);
}
:root[data-schedule-theme="high-contrast"]{
  --ss-app-bg:#000;--ss-app-panel:#050505;--ss-app-panel-soft:#111;--ss-app-panel-strong:#1a1a1a;--ss-app-border:#fff;--ss-app-border-strong:#fff;--ss-app-text:#fff;--ss-app-muted:#fff;--ss-app-accent:#ffff00;--ss-app-accent-soft:#222200;--ss-app-danger:#ff7777;--ss-app-warning:#ffff00;--ss-app-good:#00ff66;--ss-sidebar-bg:#000;--ss-sidebar-bg-2:#000;--ss-sidebar-text:#fff;--ss-sidebar-muted:#fff;--ss-sidebar-active:#ffff00;--ss-shadow:none;
}
html{background:var(--ss-app-bg);} 
body[data-signal-area="Signal Schedule"]{margin:0;min-height:100vh;background:var(--ss-app-bg);color:var(--ss-app-text);overflow-x:hidden;}
body[data-signal-area="Signal Schedule"] #sl-header,body[data-signal-area="Signal Schedule"] #sl-footer{display:none !important;}
body[data-signal-area="Signal Schedule"] .schedule-subnav{position:fixed;inset:0 auto 0 0;width:var(--ss-sidebar-w);z-index:50;display:flex;flex-direction:column;gap:0;background:linear-gradient(180deg,var(--ss-sidebar-bg),var(--ss-sidebar-bg-2));border-right:1px solid rgba(255,255,255,.08);color:var(--ss-sidebar-text);padding:0;box-shadow:16px 0 40px rgba(15,23,42,.16);}
body[data-signal-area="Signal Schedule"] .schedule-subnav__label{display:block;padding:20px 18px 16px;border-bottom:1px solid rgba(255,255,255,.09);background:rgba(255,255,255,.03);}
body[data-signal-area="Signal Schedule"] .schedule-subnav__label span:first-child{display:block;font-size:1.02rem;font-weight:900;letter-spacing:.015em;color:#fff;}
body[data-signal-area="Signal Schedule"] .schedule-subnav__role{display:inline-flex;margin-top:8px;padding:4px 9px;border-radius:999px;background:rgba(96,165,250,.14);color:#dbeafe;font-size:.68rem;font-weight:800;text-transform:uppercase;letter-spacing:.08em;}
body[data-signal-area="Signal Schedule"] .schedule-subnav__links{display:flex;flex-direction:column;gap:4px;overflow:visible;padding:14px 10px 22px;}
body[data-signal-area="Signal Schedule"] .schedule-subnav__group{display:none;}
body[data-signal-area="Signal Schedule"] .schedule-subnav a{color:var(--ss-sidebar-text);text-decoration:none;}
.schedule-nav-item{position:relative;}
.schedule-nav-primary{display:flex;align-items:center;gap:10px;min-height:38px;padding:0 10px;border-radius:8px;font-size:.9rem;font-weight:750;border:1px solid transparent;color:var(--ss-sidebar-text);}
.schedule-nav-icon{width:20px;text-align:center;opacity:.9;}
.schedule-nav-caret{margin-left:auto;color:var(--ss-sidebar-muted);font-size:1.1rem;}
.schedule-nav-primary:hover,.schedule-nav-item.is-active>.schedule-nav-primary{background:rgba(255,255,255,.08);border-color:rgba(255,255,255,.12);color:#fff;}
.schedule-nav-item.is-active>.schedule-nav-primary{box-shadow:inset 3px 0 0 var(--ss-sidebar-active);}
.schedule-nav-item:has(.schedule-nav-flyout):hover>.schedule-nav-primary,.schedule-nav-item:has(.schedule-nav-flyout):focus-within>.schedule-nav-primary{border-top-right-radius:0;border-bottom-right-radius:0;border-right-color:transparent;background:rgba(255,255,255,.1);}
.schedule-nav-flyout{position:absolute;left:calc(100% - 1px);top:0;min-width:252px;display:none;flex-direction:column;gap:0;padding:0;background:linear-gradient(180deg,color-mix(in srgb,var(--ss-sidebar-bg-2) 96%,#fff 4%),var(--ss-sidebar-bg-2));border:1px solid rgba(255,255,255,.14);border-radius:0 10px 10px 0;box-shadow:16px 18px 42px rgba(0,0,0,.3);z-index:80;overflow:hidden;}
.schedule-nav-item:hover .schedule-nav-flyout,.schedule-nav-item:focus-within .schedule-nav-flyout{display:flex;}
.schedule-nav-flyout__heading{padding:11px 14px 10px;color:var(--ss-sidebar-muted);font-size:.7rem;font-weight:900;letter-spacing:.1em;text-transform:uppercase;border-bottom:1px solid rgba(255,255,255,.1);background:rgba(255,255,255,.035);}
.schedule-nav-flyout__link{display:flex;align-items:center;min-height:36px;padding:0 14px;border-radius:0;border-bottom:1px solid rgba(255,255,255,.055);font-size:.84rem;font-weight:750;color:var(--ss-sidebar-text);}
.schedule-nav-flyout__link:last-child{border-bottom:0;}
.schedule-nav-flyout__link:hover,.schedule-nav-flyout__link[aria-current="page"]{background:rgba(96,165,250,.16);color:#fff;box-shadow:inset 3px 0 0 var(--ss-sidebar-active);}
:root[data-schedule-theme="cad"] .schedule-nav-flyout__link:hover,:root[data-schedule-theme="cad"] .schedule-nav-flyout__link[aria-current="page"]{background:rgba(0,255,136,.12);}
:root[data-schedule-theme="high-contrast"] .schedule-nav-flyout{border-color:#fff;}
.schedule-app-toolbar{position:sticky;top:0;z-index:20;margin-left:var(--ss-sidebar-w);min-height:var(--ss-toolbar-h);display:flex;align-items:center;justify-content:space-between;gap:18px;padding:13px 28px;background:color-mix(in srgb,var(--ss-app-panel) 92%,transparent);backdrop-filter:blur(12px);border-bottom:1px solid var(--ss-app-border);box-shadow:0 10px 28px rgba(15,23,42,.05);}
.schedule-app-toolbar__eyebrow{margin:0 0 2px;color:var(--ss-app-muted);font-size:.72rem;font-weight:900;letter-spacing:.1em;text-transform:uppercase;}.schedule-app-toolbar h1{margin:0;font-size:1.35rem;line-height:1.15;color:var(--ss-app-text);}.schedule-app-toolbar__meta{display:flex;align-items:center;gap:10px;flex-wrap:wrap;justify-content:flex-end;}.schedule-app-chip{display:inline-flex;align-items:center;gap:6px;border:1px solid var(--ss-app-border);background:var(--ss-app-panel-soft);border-radius:999px;padding:7px 10px;font-size:.78rem;font-weight:800;color:var(--ss-app-text);}.schedule-app-chip--good{background:color-mix(in srgb,var(--ss-app-good) 15%,var(--ss-app-panel));color:var(--ss-app-good);border-color:color-mix(in srgb,var(--ss-app-good) 42%,var(--ss-app-border));}.schedule-app-chip--warn{background:color-mix(in srgb,var(--ss-app-warning) 14%,var(--ss-app-panel));color:var(--ss-app-warning);border-color:color-mix(in srgb,var(--ss-app-warning) 44%,var(--ss-app-border));}
.schedule-theme-picker{display:inline-flex;align-items:center;gap:8px;border:1px solid var(--ss-app-border);background:var(--ss-app-panel-soft);border-radius:12px;padding:6px 8px;color:var(--ss-app-text);font-size:.78rem;font-weight:850;}.schedule-theme-picker select{appearance:auto;border:0;background:transparent;color:var(--ss-app-text);font:inherit;outline:0;}
body[data-signal-area="Signal Schedule"] main,body[data-signal-area="Signal Schedule"] .schedule-shell,body[data-signal-area="Signal Schedule"] .weekly-board-shell,body[data-signal-area="Signal Schedule"] .daily-board-shell,body[data-signal-area="Signal Schedule"] .assignments-shell,body[data-signal-area="Signal Schedule"] .assignment-generator-shell,body[data-signal-area="Signal Schedule"] .conflict-shell,body[data-signal-area="Signal Schedule"] .mandation-shell,body[data-signal-area="Signal Schedule"] .seniority-shell,body[data-signal-area="Signal Schedule"] .qualifications-shell{max-width:none !important;width:auto !important;margin-left:var(--ss-sidebar-w) !important;margin-right:0 !important;padding:24px 28px 36px !important;box-sizing:border-box;}
body[data-signal-area="Signal Schedule"] section,body[data-signal-area="Signal Schedule"] article{box-sizing:border-box;}body[data-signal-area="Signal Schedule"] [class*="hero"],body[data-signal-area="Signal Schedule"] [class*="card"],body[data-signal-area="Signal Schedule"] [class*="panel"],body[data-signal-area="Signal Schedule"] [class*="notice"],body[data-signal-area="Signal Schedule"] [class*="summary"],body[data-signal-area="Signal Schedule"] [class*="toolbar"]:not(.schedule-app-toolbar){border-color:var(--ss-app-border) !important;}body[data-signal-area="Signal Schedule"] [class*="card"],body[data-signal-area="Signal Schedule"] [class*="panel"],body[data-signal-area="Signal Schedule"] [class*="hero"]{background:var(--ss-app-panel) !important;color:var(--ss-app-text) !important;border-radius:14px !important;box-shadow:var(--ss-shadow) !important;}body[data-signal-area="Signal Schedule"] h1,body[data-signal-area="Signal Schedule"] h2,body[data-signal-area="Signal Schedule"] h3,body[data-signal-area="Signal Schedule"] strong{color:var(--ss-app-text);} body[data-signal-area="Signal Schedule"] p,body[data-signal-area="Signal Schedule"] small,body[data-signal-area="Signal Schedule"] li{color:inherit;}body[data-signal-area="Signal Schedule"] table{width:100%;border-collapse:separate;border-spacing:0;background:var(--ss-app-panel);border:1px solid var(--ss-app-border);border-radius:14px;overflow:hidden;}body[data-signal-area="Signal Schedule"] th{background:var(--ss-app-panel-strong);color:var(--ss-app-text);font-size:.78rem;text-align:left;text-transform:uppercase;letter-spacing:.06em;}body[data-signal-area="Signal Schedule"] th,body[data-signal-area="Signal Schedule"] td{padding:10px 12px;border-bottom:1px solid var(--ss-app-border);}body[data-signal-area="Signal Schedule"] tr:last-child td{border-bottom:0;}body[data-signal-area="Signal Schedule"] button,body[data-signal-area="Signal Schedule"] .schedule-link-button,body[data-signal-area="Signal Schedule"] a[class*="button"]{border-radius:10px;font-weight:800;}body[data-signal-area="Signal Schedule"] #schedule-footer{margin-left:var(--ss-sidebar-w);}body[data-signal-area="Signal Schedule"] .schedule-footer{max-width:none;border-radius:0;background:var(--ss-sidebar-bg-2);color:var(--ss-sidebar-text);}
@media (max-width: 900px){:root{--ss-sidebar-w:0px;}body[data-signal-area="Signal Schedule"] .schedule-subnav{position:relative;width:auto;max-height:none;}body[data-signal-area="Signal Schedule"] .schedule-subnav__links{overflow:auto;}.schedule-nav-flyout{position:static;display:flex;margin:0 0 8px 12px;background:rgba(255,255,255,.04);box-shadow:none;border-radius:8px;}.schedule-nav-caret{display:none;}.schedule-app-toolbar{margin-left:0;position:relative;align-items:flex-start;flex-direction:column;}body[data-signal-area="Signal Schedule"] main,body[data-signal-area="Signal Schedule"] .schedule-shell,body[data-signal-area="Signal Schedule"] .weekly-board-shell{margin-left:0 !important;padding:18px !important;}body[data-signal-area="Signal Schedule"] #schedule-footer{margin-left:0;}}


/* v3.6.1 full-replacement stabilization: Schedule app shell owns layout. */
:root {
  --bg: var(--ss-app-bg);
  --surface: var(--ss-app-panel);
  --surface-soft: var(--ss-app-panel-soft);
  --border: var(--ss-app-border);
  --text: var(--ss-app-text);
  --muted: var(--ss-app-muted);
  --accent: var(--ss-app-accent);
  --shadow-toolbar: var(--ss-shadow);
}

body[data-signal-area="Signal Schedule"] {
  font-family: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif !important;
  background: var(--ss-app-bg) !important;
  color: var(--ss-app-text) !important;
}

body[data-signal-area="Signal Schedule"] .schedule-shell,
body[data-signal-area="Signal Schedule"] main[class*="shell"] {
  max-width: none !important;
  width: auto !important;
  margin-left: var(--ss-sidebar-w) !important;
  margin-right: 0 !important;
  padding: 24px 32px 48px !important;
}

body[data-signal-area="Signal Schedule"] .schedule-hero,
body[data-signal-area="Signal Schedule"] .schedule-card,
body[data-signal-area="Signal Schedule"] .schedule-placeholder-hero,
body[data-signal-area="Signal Schedule"] .schedule-placeholder-card {
  background: var(--ss-app-panel) !important;
  color: var(--ss-app-text) !important;
  border: 1px solid var(--ss-app-border) !important;
  border-radius: 14px !important;
  box-shadow: var(--ss-shadow) !important;
}

body[data-signal-area="Signal Schedule"] .schedule-hero {
  min-height: unset !important;
  padding: 28px 32px !important;
  margin: 0 0 18px !important;
}

body[data-signal-area="Signal Schedule"] .schedule-hero--compact {
  display: grid !important;
  grid-template-columns: minmax(420px, 1fr) minmax(320px, 520px) !important;
  gap: 24px !important;
  align-items: start !important;
}

body[data-signal-area="Signal Schedule"] .schedule-hero h1 {
  font-size: clamp(2.4rem, 4vw, 4.2rem) !important;
  line-height: .95 !important;
  color: var(--ss-app-text) !important;
}

body[data-signal-area="Signal Schedule"] .schedule-subtitle,
body[data-signal-area="Signal Schedule"] p {
  color: var(--ss-app-muted);
}

body[data-signal-area="Signal Schedule"] .schedule-kicker {
  color: var(--ss-app-accent) !important;
  letter-spacing: .12em;
  text-transform: uppercase;
  font-size: .75rem !important;
  font-weight: 900 !important;
}

body[data-signal-area="Signal Schedule"] .schedule-card {
  padding: 20px !important;
  margin: 16px 0 !important;
}

body[data-signal-area="Signal Schedule"] .schedule-dashboard-grid {
  margin-top: 18px !important;
}

.schedule-status-grid,
.schedule-module-grid,
.schedule-rule-grid {
  display: grid;
  gap: 12px;
}

.schedule-status-grid {
  grid-template-columns: repeat(2, minmax(0, 1fr));
}

.schedule-status-grid > div,
.schedule-rule-grid > div,
.schedule-module-card,
.schedule-table-list a {
  border: 1px solid var(--ss-app-border);
  background: var(--ss-app-panel-soft);
  color: var(--ss-app-text);
  border-radius: 12px;
}

.schedule-status-grid > div {
  padding: 16px;
}

.schedule-status-grid strong {
  display: block;
  font-size: 1.35rem;
  line-height: 1;
}

.schedule-status-grid span {
  display: block;
  margin-top: 6px;
  color: var(--ss-app-muted);
  font-size: .85rem;
  font-weight: 750;
}

.schedule-section-head {
  display: flex;
  justify-content: space-between;
  align-items: start;
  gap: 16px;
  margin-bottom: 14px;
}

.schedule-section-head h2 {
  margin: 0;
  font-size: 1.2rem;
}

.schedule-section-head p {
  margin: 4px 0 0;
}

.schedule-module-grid {
  grid-template-columns: repeat(3, minmax(0, 1fr));
}

.schedule-module-card {
  display: flex;
  flex-direction: column;
  gap: 8px;
  padding: 15px;
  text-decoration: none;
  min-height: 112px;
}

.schedule-module-card:hover,
.schedule-module-card:focus-visible {
  border-color: var(--ss-app-accent);
  box-shadow: inset 3px 0 0 var(--ss-app-accent);
}

.schedule-module-card span {
  font-weight: 900;
}

.schedule-module-card strong {
  color: var(--ss-app-muted);
  font-size: .92rem;
  line-height: 1.35;
}

.schedule-module-card.is-primary {
  background: color-mix(in srgb, var(--ss-app-accent) 14%, var(--ss-app-panel-soft));
  border-color: color-mix(in srgb, var(--ss-app-accent) 42%, var(--ss-app-border));
}

.schedule-workspace-split {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 16px;
}

.schedule-table-list {
  display: grid;
  gap: 8px;
}

.schedule-table-list a {
  display: grid;
  grid-template-columns: minmax(160px, .4fr) 1fr;
  gap: 12px;
  padding: 12px;
  text-decoration: none;
}

.schedule-table-list a:hover,
.schedule-table-list a:focus-visible {
  border-color: var(--ss-app-accent);
}

.schedule-table-list b {
  color: var(--ss-app-text);
}

.schedule-table-list span {
  color: var(--ss-app-muted);
}

.schedule-rule-grid {
  grid-template-columns: repeat(4, minmax(0, 1fr));
}

.schedule-rule-grid > div {
  padding: 14px;
  color: var(--ss-app-muted);
  line-height: 1.45;
}

body[data-signal-area="Signal Schedule"] .schedule-footer {
  margin-left: var(--ss-sidebar-w) !important;
  max-width: none !important;
  width: auto !important;
  border-radius: 0 !important;
}

@media (max-width: 1180px) {
  .schedule-module-grid,
  .schedule-rule-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
  .schedule-workspace-split,
  body[data-signal-area="Signal Schedule"] .schedule-hero--compact {
    grid-template-columns: 1fr !important;
  }
}

@media (max-width: 760px) {
  body[data-signal-area="Signal Schedule"] .schedule-shell,
  body[data-signal-area="Signal Schedule"] main[class*="shell"],
  body[data-signal-area="Signal Schedule"] .schedule-footer {
    margin-left: 0 !important;
  }
  .schedule-module-grid,
  .schedule-rule-grid,
  .schedule-status-grid {
    grid-template-columns: 1fr;
  }
  .schedule-table-list a {
    grid-template-columns: 1fr;
  }
}


/* v3.6.1 Dense Tables & Workspace */
:root,
:root[data-schedule-theme="light"] {
  --ss-app-bg: #f4f7fb;
  --ss-app-panel: #ffffff;
  --ss-app-panel-soft: #f8fafc;
  --ss-app-panel-strong: #eef3f8;
  --ss-app-panel-raised: #ffffff;
  --ss-app-border: #d8e2ee;
  --ss-app-border-strong: #b9c8db;
  --ss-app-text: #102033;
  --ss-app-muted: #5d6d82;
  --ss-app-accent: #2563eb;
  --ss-app-accent-2: #0ea5e9;
  --ss-app-accent-soft: #eaf2ff;
  --ss-app-danger: #dc2626;
  --ss-app-warning: #b45309;
  --ss-app-good: #047857;
  --ss-app-info: #0369a1;
  --ss-app-disabled: #94a3b8;
  --ss-sidebar-bg: #101827;
  --ss-sidebar-bg-2: #162238;
  --ss-sidebar-text: #f4f8ff;
  --ss-sidebar-muted: #a8b5c9;
  --ss-sidebar-active: #60a5fa;
  --ss-shadow: 0 12px 28px rgba(15, 23, 42, .08);
  --ss-shadow-soft: 0 8px 20px rgba(15, 23, 42, .06);
}
:root[data-schedule-theme="midnight"] {
  --ss-app-bg: #07101d;
  --ss-app-panel: #111c2d;
  --ss-app-panel-soft: #0b1626;
  --ss-app-panel-strong: #1a2940;
  --ss-app-panel-raised: #15243a;
  --ss-app-border: #263a58;
  --ss-app-border-strong: #3c5a7f;
  --ss-app-text: #edf4ff;
  --ss-app-muted: #a9bbd3;
  --ss-app-accent: #38bdf8;
  --ss-app-accent-2: #60a5fa;
  --ss-app-accent-soft: #0b3550;
  --ss-app-danger: #fb7185;
  --ss-app-warning: #fbbf24;
  --ss-app-good: #34d399;
  --ss-app-info: #7dd3fc;
  --ss-app-disabled: #64748b;
  --ss-sidebar-bg: #020617;
  --ss-sidebar-bg-2: #0b1220;
  --ss-sidebar-text: #f8fbff;
  --ss-sidebar-muted: #9fb0c7;
  --ss-sidebar-active: #38bdf8;
  --ss-shadow: 0 18px 44px rgba(0, 0, 0, .34);
  --ss-shadow-soft: 0 12px 30px rgba(0, 0, 0, .22);
}
:root[data-schedule-theme="slate"] {
  --ss-app-bg: #141a24;
  --ss-app-panel: #202938;
  --ss-app-panel-soft: #192231;
  --ss-app-panel-strong: #2a3547;
  --ss-app-panel-raised: #263244;
  --ss-app-border: #3c485a;
  --ss-app-border-strong: #59677b;
  --ss-app-text: #f5f7fb;
  --ss-app-muted: #c2ccda;
  --ss-app-accent: #a78bfa;
  --ss-app-accent-2: #60a5fa;
  --ss-app-accent-soft: #332b68;
  --ss-app-danger: #fca5a5;
  --ss-app-warning: #fde047;
  --ss-app-good: #86efac;
  --ss-app-info: #93c5fd;
  --ss-app-disabled: #94a3b8;
  --ss-sidebar-bg: #0b1120;
  --ss-sidebar-bg-2: #111827;
  --ss-sidebar-text: #f8fafc;
  --ss-sidebar-muted: #a6b2c4;
  --ss-sidebar-active: #a78bfa;
}
:root[data-schedule-theme="cad"] {
  --ss-app-bg: #020605;
  --ss-app-panel: #06110e;
  --ss-app-panel-soft: #081a15;
  --ss-app-panel-strong: #0d241d;
  --ss-app-panel-raised: #0a1d17;
  --ss-app-border: #185443;
  --ss-app-border-strong: #23a06f;
  --ss-app-text: #dcffec;
  --ss-app-muted: #91d9b4;
  --ss-app-accent: #00ff88;
  --ss-app-accent-2: #6ee7b7;
  --ss-app-accent-soft: #003d25;
  --ss-app-danger: #ff5f5f;
  --ss-app-warning: #ffd166;
  --ss-app-good: #00ff88;
  --ss-app-info: #86efac;
  --ss-app-disabled: #5b8d76;
  --ss-shadow: 0 0 0 1px rgba(0,255,136,.08), 0 18px 42px rgba(0,0,0,.42);
}
:root[data-schedule-theme="high-contrast"] {
  --ss-app-bg: #000000;
  --ss-app-panel: #050505;
  --ss-app-panel-soft: #111111;
  --ss-app-panel-strong: #1f1f1f;
  --ss-app-panel-raised: #0c0c0c;
  --ss-app-border: #ffffff;
  --ss-app-border-strong: #ffffff;
  --ss-app-text: #ffffff;
  --ss-app-muted: #ffffff;
  --ss-app-accent: #ffff00;
  --ss-app-accent-2: #00ffff;
  --ss-app-accent-soft: #222200;
  --ss-app-danger: #ff7777;
  --ss-app-warning: #ffff00;
  --ss-app-good: #00ff66;
  --ss-app-info: #00ffff;
  --ss-app-disabled: #ffffff;
  --ss-shadow: none;
  --ss-shadow-soft: none;
}

body[data-signal-area="Signal Schedule"] .schedule-app-toolbar {
  background: color-mix(in srgb, var(--ss-app-panel) 94%, transparent) !important;
  box-shadow: 0 8px 24px rgba(15, 23, 42, .06) !important;
}
body[data-signal-area="Signal Schedule"] [class*="card"],
body[data-signal-area="Signal Schedule"] [class*="panel"],
body[data-signal-area="Signal Schedule"] [class*="hero"] {
  background: linear-gradient(180deg, var(--ss-app-panel), color-mix(in srgb, var(--ss-app-panel) 86%, var(--ss-app-panel-soft) 14%)) !important;
  border: 1px solid var(--ss-app-border) !important;
  box-shadow: var(--ss-shadow-soft) !important;
}
body[data-signal-area="Signal Schedule"] [class*="summary"],
body[data-signal-area="Signal Schedule"] [class*="stat"],
body[data-signal-area="Signal Schedule"] [class*="metric"],
.schedule-status-grid > div,
.schedule-rule-grid > div,
.schedule-module-card,
.schedule-table-list a {
  background: var(--ss-app-panel-soft) !important;
  border-color: var(--ss-app-border) !important;
  color: var(--ss-app-text) !important;
}
.schedule-module-card.is-primary,
body[data-signal-area="Signal Schedule"] .is-primary {
  background: color-mix(in srgb, var(--ss-app-accent) 13%, var(--ss-app-panel)) !important;
  border-color: color-mix(in srgb, var(--ss-app-accent) 52%, var(--ss-app-border)) !important;
}
body[data-signal-area="Signal Schedule"] table tr:nth-child(even) td {
  background: color-mix(in srgb, var(--ss-app-panel-soft) 75%, transparent) !important;
}
body[data-signal-area="Signal Schedule"] table tr:hover td {
  background: color-mix(in srgb, var(--ss-app-accent) 9%, var(--ss-app-panel)) !important;
}
body[data-signal-area="Signal Schedule"] button,
body[data-signal-area="Signal Schedule"] .schedule-link-button,
body[data-signal-area="Signal Schedule"] a[class*="button"] {
  border: 1px solid var(--ss-app-border) !important;
  background: var(--ss-app-panel-strong) !important;
  color: var(--ss-app-text) !important;
}
body[data-signal-area="Signal Schedule"] button:not(:disabled):hover,
body[data-signal-area="Signal Schedule"] .schedule-link-button:hover,
body[data-signal-area="Signal Schedule"] a[class*="button"]:hover {
  border-color: var(--ss-app-accent) !important;
  box-shadow: inset 0 0 0 1px color-mix(in srgb, var(--ss-app-accent) 55%, transparent) !important;
}
.schedule-app-chip--good { color: var(--ss-app-good) !important; }
.schedule-app-chip--warn { color: var(--ss-app-warning) !important; }
body[data-signal-area="Signal Schedule"] [class*="danger"],
body[data-signal-area="Signal Schedule"] [class*="conflict"],
body[data-signal-area="Signal Schedule"] [class*="expired"] { border-color: color-mix(in srgb, var(--ss-app-danger) 48%, var(--ss-app-border)) !important; }
body[data-signal-area="Signal Schedule"] [class*="warning"],
body[data-signal-area="Signal Schedule"] [class*="pending"] { border-color: color-mix(in srgb, var(--ss-app-warning) 48%, var(--ss-app-border)) !important; }
body[data-signal-area="Signal Schedule"] [class*="success"],
body[data-signal-area="Signal Schedule"] [class*="active"] { border-color: color-mix(in srgb, var(--ss-app-good) 46%, var(--ss-app-border)) !important; }
.schedule-nav-flyout {
  background: var(--ss-sidebar-bg-2) !important;
  border-color: rgba(255,255,255,.16) !important;
  box-shadow: 18px 22px 44px rgba(0,0,0,.28) !important;
}
.schedule-nav-flyout__link:hover,
.schedule-nav-flyout__link[aria-current="page"] {
  background: color-mix(in srgb, var(--ss-sidebar-active) 16%, transparent) !important;
}

/* v3.6.1 Dense Tables & Workspace */
:root {
  --ss-density-gap: 14px;
  --ss-row-h: 42px;
  --ss-inspector-w: 360px;
  --ss-radius: 10px;
  --ss-radius-sm: 6px;
}

body[data-signal-area="Signal Schedule"] .schedule-app-toolbar {
  min-height: 62px;
  padding-top: 10px;
  padding-bottom: 10px;
}

body[data-signal-area="Signal Schedule"] main,
body[data-signal-area="Signal Schedule"] main[class*="shell"] {
  padding-top: 18px !important;
  padding-left: 24px !important;
  padding-right: 24px !important;
}

body[data-signal-area="Signal Schedule"] .schedule-section,
body[data-signal-area="Signal Schedule"] [class*="card"],
body[data-signal-area="Signal Schedule"] [class*="panel"],
body[data-signal-area="Signal Schedule"] [class*="hero"] {
  border-radius: var(--ss-radius) !important;
}

body[data-signal-area="Signal Schedule"] [class*="hero"] {
  min-height: 0 !important;
  padding: 22px 24px !important;
  margin-bottom: var(--ss-density-gap) !important;
}

body[data-signal-area="Signal Schedule"] [class*="hero"] h1,
body[data-signal-area="Signal Schedule"] .schedule-hero h1 {
  font-size: clamp(2rem, 2.6vw, 3.1rem) !important;
  line-height: 1.02 !important;
}

body[data-signal-area="Signal Schedule"] [class*="card"],
body[data-signal-area="Signal Schedule"] [class*="panel"] {
  padding: 18px !important;
  margin: 12px 0 !important;
}

.schedule-workspace {
  display: block;
}

.schedule-workspace-grid {
  display: grid;
  grid-template-columns: minmax(0, 1fr) var(--ss-inspector-w);
  gap: var(--ss-density-gap);
  align-items: start;
}

.schedule-inspector-panel,
body[data-signal-area="Signal Schedule"] [data-inspector],
body[data-signal-area="Signal Schedule"] .inspector-panel {
  position: sticky;
  top: calc(var(--ss-toolbar-h) + 16px);
  max-height: calc(100vh - var(--ss-toolbar-h) - 32px);
  overflow: auto;
  background: var(--ss-app-panel) !important;
  border: 1px solid var(--ss-app-border) !important;
  border-radius: var(--ss-radius) !important;
  box-shadow: var(--ss-shadow-soft) !important;
}

.schedule-data-table,
body[data-signal-area="Signal Schedule"] table {
  width: 100%;
  border-collapse: separate;
  border-spacing: 0;
  font-size: .86rem;
  color: var(--ss-app-text);
  background: var(--ss-app-panel);
  border: 1px solid var(--ss-app-border);
  border-radius: var(--ss-radius);
  overflow: hidden;
}

.schedule-table-scroll {
  overflow: auto;
  border-radius: var(--ss-radius);
}

.schedule-data-table th,
.schedule-data-table td,
body[data-signal-area="Signal Schedule"] table th,
body[data-signal-area="Signal Schedule"] table td {
  padding: 9px 11px !important;
  min-height: var(--ss-row-h);
  border-bottom: 1px solid var(--ss-app-border);
  vertical-align: middle;
}

.schedule-data-table th,
body[data-signal-area="Signal Schedule"] table th {
  position: sticky;
  top: 0;
  z-index: 2;
  background: var(--ss-app-panel-strong) !important;
  color: var(--ss-app-text) !important;
  font-size: .72rem;
  line-height: 1.1;
  font-weight: 900;
  text-transform: uppercase;
  letter-spacing: .07em;
}

.schedule-data-table td,
body[data-signal-area="Signal Schedule"] table td {
  background: var(--ss-app-panel) !important;
}

.schedule-data-table tbody tr:nth-child(even) td,
body[data-signal-area="Signal Schedule"] table tbody tr:nth-child(even) td {
  background: color-mix(in srgb, var(--ss-app-panel-soft) 78%, var(--ss-app-panel) 22%) !important;
}

.schedule-data-table tbody tr:hover td,
body[data-signal-area="Signal Schedule"] table tbody tr:hover td {
  background: color-mix(in srgb, var(--ss-app-accent) 10%, var(--ss-app-panel)) !important;
}

.schedule-data-table tbody tr.is-selected td,
body[data-signal-area="Signal Schedule"] table tbody tr.is-selected td {
  background: color-mix(in srgb, var(--ss-app-accent) 17%, var(--ss-app-panel)) !important;
  box-shadow: inset 3px 0 0 var(--ss-app-accent);
}

.schedule-command-bar {
  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
  gap: 12px !important;
  padding: 10px !important;
  border: 1px solid var(--ss-app-border) !important;
  background: var(--ss-app-panel-soft) !important;
  border-radius: var(--ss-radius) !important;
}

.schedule-control,
.schedule-theme-menu__option,
body[data-signal-area="Signal Schedule"] input,
body[data-signal-area="Signal Schedule"] select,
body[data-signal-area="Signal Schedule"] textarea {
  border: 1px solid var(--ss-app-border) !important;
  background: var(--ss-app-panel-soft) !important;
  color: var(--ss-app-text) !important;
  border-radius: var(--ss-radius-sm) !important;
}

.schedule-control {
  min-height: 34px;
  display: inline-flex;
  align-items: center;
  gap: 8px;
  padding: 0 10px;
  font-weight: 850;
  cursor: pointer;
}

.schedule-control:hover,
.schedule-control:focus-visible {
  border-color: var(--ss-app-accent) !important;
  outline: none;
}

.schedule-control__label {
  color: var(--ss-app-muted);
  font-size: .72rem;
  text-transform: uppercase;
  letter-spacing: .06em;
}

.schedule-control__caret {
  margin-left: 2px;
  transform: rotate(90deg);
  color: var(--ss-app-muted);
}

.schedule-theme-menu {
  position: relative;
  display: inline-flex;
}

.schedule-theme-menu__button[aria-expanded="true"] {
  border-bottom-left-radius: 0 !important;
  border-bottom-right-radius: 0 !important;
  border-color: var(--ss-app-accent) !important;
}

.schedule-theme-menu__panel {
  position: absolute;
  top: calc(100% - 1px);
  right: 0;
  min-width: 174px;
  display: none;
  flex-direction: column;
  background: var(--ss-app-panel) !important;
  border: 1px solid var(--ss-app-accent) !important;
  border-radius: var(--ss-radius-sm) 0 var(--ss-radius-sm) var(--ss-radius-sm);
  box-shadow: var(--ss-shadow);
  z-index: 90;
  overflow: hidden;
}

.schedule-theme-menu.is-open .schedule-theme-menu__panel {
  display: flex;
}

.schedule-theme-menu__option {
  appearance: none;
  width: 100%;
  min-height: 38px;
  display: flex;
  align-items: center;
  gap: 9px;
  padding: 0 12px;
  border: 0 !important;
  border-bottom: 1px solid var(--ss-app-border) !important;
  border-radius: 0 !important;
  background: var(--ss-app-panel) !important;
  color: var(--ss-app-text) !important;
  font-weight: 850;
  text-align: left;
  cursor: pointer;
}

.schedule-theme-menu__option:last-child {
  border-bottom: 0 !important;
}

.schedule-theme-menu__option:hover,
.schedule-theme-menu__option:focus-visible,
.schedule-theme-menu__option[aria-selected="true"] {
  background: color-mix(in srgb, var(--ss-app-accent) 16%, var(--ss-app-panel)) !important;
  outline: none;
}

.schedule-theme-menu__check {
  width: 18px;
  color: transparent;
  font-weight: 900;
}

.schedule-theme-menu__option[aria-selected="true"] .schedule-theme-menu__check {
  color: var(--ss-app-accent);
}

.schedule-dense-grid {
  gap: 10px !important;
}

body[data-signal-area="Signal Schedule"] [class*="summary"] > *,
body[data-signal-area="Signal Schedule"] [class*="stat"] > *,
body[data-signal-area="Signal Schedule"] [class*="metric"] > * {
  border-radius: var(--ss-radius-sm) !important;
}

.schedule-status-pill,
body[data-signal-area="Signal Schedule"] [class*="badge"],
body[data-signal-area="Signal Schedule"] [class*="status"] {
  display: inline-flex;
  align-items: center;
  gap: 5px;
  min-height: 22px;
  padding: 3px 8px;
  border-radius: 999px;
  font-size: .72rem;
  font-weight: 900;
  line-height: 1;
}

body[data-signal-area="Signal Schedule"] [class*="warning"],
body[data-signal-area="Signal Schedule"] [class*="pending"] {
  color: var(--ss-app-warning) !important;
}

body[data-signal-area="Signal Schedule"] [class*="danger"],
body[data-signal-area="Signal Schedule"] [class*="conflict"],
body[data-signal-area="Signal Schedule"] [class*="expired"] {
  color: var(--ss-app-danger) !important;
}

body[data-signal-area="Signal Schedule"] [class*="success"],
body[data-signal-area="Signal Schedule"] [class*="active"],
body[data-signal-area="Signal Schedule"] [class*="approved"] {
  color: var(--ss-app-good) !important;
}

@media (min-width: 1320px) {
  body[data-signal-area="Signal Schedule"] main,
  body[data-signal-area="Signal Schedule"] main[class*="shell"] {
    padding-left: 28px !important;
    padding-right: 28px !important;
  }
}

@media (max-width: 1040px) {
  .schedule-workspace-grid {
    grid-template-columns: 1fr;
  }
  .schedule-inspector-panel,
  body[data-signal-area="Signal Schedule"] [data-inspector],
  body[data-signal-area="Signal Schedule"] .inspector-panel {
    position: relative;
    top: auto;
    max-height: none;
  }
}


/* v3.6.1 Footer stabilization */
body[data-signal-area="Signal Schedule"] .schedule-footer {
  display: block !important;
  margin-left: var(--ss-sidebar-w) !important;
  margin-top: 28px !important;
  padding: 0 !important;
  width: auto !important;
  max-width: none !important;
  border-top: 1px solid var(--ss-app-border) !important;
  background: var(--ss-sidebar-bg-2) !important;
  color: var(--ss-sidebar-text) !important;
  box-shadow: none !important;
}

body[data-signal-area="Signal Schedule"] .schedule-footer__inner {
  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
  gap: 18px !important;
  padding: 18px 28px !important;
}

body[data-signal-area="Signal Schedule"] .schedule-footer__brand {
  display: flex !important;
  flex-direction: column !important;
  gap: 2px !important;
}

body[data-signal-area="Signal Schedule"] .schedule-footer__title {
  color: var(--ss-sidebar-text) !important;
  font-size: .84rem !important;
  font-weight: 900 !important;
  line-height: 1.2 !important;
}

body[data-signal-area="Signal Schedule"] .schedule-footer__meta {
  color: var(--ss-sidebar-muted) !important;
  font-size: .74rem !important;
  font-weight: 700 !important;
}

body[data-signal-area="Signal Schedule"] .schedule-footer__links {
  display: flex !important;
  align-items: center !important;
  gap: 10px !important;
  flex-wrap: wrap !important;
}

body[data-signal-area="Signal Schedule"] .schedule-footer__links a {
  color: var(--ss-sidebar-text) !important;
  text-decoration: none !important;
  font-size: .78rem !important;
  font-weight: 850 !important;
}

body[data-signal-area="Signal Schedule"] .schedule-footer__links a:hover,
body[data-signal-area="Signal Schedule"] .schedule-footer__links a:focus-visible {
  color: var(--ss-app-accent) !important;
}

body[data-signal-area="Signal Schedule"] .schedule-footer__dot {
  color: var(--ss-sidebar-muted) !important;
}

@media (max-width: 760px) {
  body[data-signal-area="Signal Schedule"] .schedule-footer__inner {
    align-items: flex-start !important;
    flex-direction: column !important;
  }
}


/* v5.12 Visibility & View Engine helpers */
body[data-signal-area="Signal Schedule"] .schedule-footer__identity{display:flex;align-items:center;gap:10px;color:var(--ss-app-muted);font-size:.88rem;white-space:nowrap;}
body[data-signal-area="Signal Schedule"] .view-engine-board{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;}
body[data-signal-area="Signal Schedule"] .view-engine-card{border:1px solid var(--ss-app-border);border-radius:14px;background:rgba(255,255,255,.035);padding:16px;}
body[data-signal-area="Signal Schedule"] .view-engine-card strong{display:block;font-size:1.8rem;margin-bottom:4px;}
body[data-signal-area="Signal Schedule"] .layer-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;}
body[data-signal-area="Signal Schedule"] .layer-pill{display:flex;align-items:center;justify-content:space-between;gap:12px;border:1px solid var(--ss-app-border);border-radius:12px;padding:12px;background:rgba(255,255,255,.035);}
body[data-signal-area="Signal Schedule"] .layer-toggle{width:42px;height:22px;border-radius:999px;background:#2563eb;box-shadow:inset 20px 0 0 rgba(255,255,255,.35);}
body[data-signal-area="Signal Schedule"] .filter-chip-grid{display:flex;flex-wrap:wrap;gap:8px;}
body[data-signal-area="Signal Schedule"] .filter-chip{border:1px solid var(--ss-app-border);border-radius:999px;padding:7px 10px;background:rgba(255,255,255,.04);font-weight:800;font-size:.82rem;}
@media (max-width:1100px){body[data-signal-area="Signal Schedule"] .view-engine-board,body[data-signal-area="Signal Schedule"] .layer-grid{grid-template-columns:repeat(2,minmax(0,1fr));}body[data-signal-area="Signal Schedule"] .schedule-footer__identity{white-space:normal;}}
@media (max-width:700px){body[data-signal-area="Signal Schedule"] .view-engine-board,body[data-signal-area="Signal Schedule"] .layer-grid{grid-template-columns:1fr;}}
