/* NJA palette: Evening is the default; Paper is a one-tap alternative. */
html body #firmWorkspace[data-nja-mode="evening"] {
  --nja-ink: #F6F2E9;
  --nja-paper: #1B1815;
  --nja-white: #26221e;
  --nja-raised: #302b25;
  --nja-line: #4a4239;
  --nja-muted: #c2b8aa;
  --nja-forest: #5C6E4E;
  --nja-forest-dark: #4d6041;
  --nja-peach: #E8A87C;
  --nja-coral: #C1633C;
  --nja-agent: #B8842A;
  --bg-main: var(--nja-paper) !important;
  --bg-secondary: var(--nja-paper) !important;
  --surface: var(--nja-raised) !important;
  --surface-strong: #393229 !important;
  --panel: var(--nja-white) !important;
  --border: var(--nja-line) !important;
  --border-strong: #65594b !important;
  --text: var(--nja-ink) !important;
  --text-soft: #e0d8cc !important;
  --muted: var(--nja-muted) !important;
  --violet: var(--nja-forest) !important;
  --cyan: var(--nja-forest) !important;
  --gold: var(--nja-peach) !important;
  --success: var(--nja-coral) !important;
  --warning: var(--nja-peach) !important;
  --error: var(--nja-peach) !important;
  --font: Manrope, Arial, sans-serif !important;
  color: var(--nja-ink) !important;
  color-scheme: dark !important;
  background: var(--nja-paper) !important;
  font-family: Manrope, Arial, sans-serif !important;
}

html body #firmWorkspace[data-nja-mode="paper"] {
  --nja-ink: #29241f;
  --nja-paper: #F6F2E9;
  --nja-white: #fdfbf6;
  --nja-raised: #eee8dd;
  --nja-line: #d5cbbd;
  --nja-muted: #5d554c;
  --nja-forest: #5C6E4E;
  --nja-forest-dark: #43543a;
  --nja-peach: #b46e46;
  --nja-coral: #C1633C;
  --nja-agent: #B8842A;
  --bg-main: var(--nja-paper) !important;
  --bg-secondary: var(--nja-paper) !important;
  --surface: var(--nja-raised) !important;
  --surface-strong: var(--nja-white) !important;
  --panel: var(--nja-white) !important;
  --border: var(--nja-line) !important;
  --border-strong: #bdb09f !important;
  --text: var(--nja-ink) !important;
  --text-soft: #4b433a !important;
  --muted: var(--nja-muted) !important;
  --violet: var(--nja-forest) !important;
  --cyan: var(--nja-forest) !important;
  --gold: var(--nja-peach) !important;
  --success: var(--nja-coral) !important;
  --warning: var(--nja-peach) !important;
  --error: #a64f33 !important;
  --font: Manrope, Arial, sans-serif !important;
  color: var(--nja-ink) !important;
  color-scheme: light !important;
  background: var(--nja-paper) !important;
  font-family: Manrope, Arial, sans-serif !important;
}

html body[data-nja-mode="evening"], html body[data-nja-mode="paper"] {
  background: var(--nja-paper, #1B1815) !important;
  color: var(--nja-ink, #F6F2E9) !important;
  font-family: Manrope, Arial, sans-serif !important;
}
html body[data-nja-mode="evening"] { --nja-paper: #1B1815; --nja-ink: #F6F2E9; }
html body[data-nja-mode="paper"] { --nja-paper: #F6F2E9; --nja-ink: #29241f; }
html body #firmWorkspace :is(.entry-hero, .command-hero, .firm-os-hero) {
  background: #211e19 !important;
  border-color: #4a4239 !important;
  color: #F6F2E9 !important;
}
html body #firmWorkspace :is(.entry-hero, .command-hero, .firm-os-hero) :is(h1,h2,h3,strong) { color: #F6F2E9 !important; }
html body #firmWorkspace :is(.entry-hero, .command-hero, .firm-os-hero) :is(p,.note) { color: #d7cfc2 !important; }
html body #firmWorkspace .entry-hero h1 span { color: #a7b99a !important; -webkit-text-fill-color: #a7b99a !important; }
html body #firmWorkspace .entry-hero h1 { font-family: Fraunces, Georgia, serif !important; font-weight: 600 !important; line-height: 1.03 !important; }
html body #firmWorkspace .logo { background: var(--nja-raised) !important; }
html body #firmWorkspace .logo-mark { background: var(--nja-forest) !important; color: #F6F2E9 !important; }
html body #firmWorkspace :is(.btn.light, .light, .pill, .brand-pill) {
  background: var(--nja-raised) !important;
  border-color: var(--nja-line) !important;
  color: var(--nja-ink) !important;
}
html body #firmWorkspace :is(.pill.gold, .pill.amber) { color: var(--nja-peach) !important; background: var(--nja-raised) !important; border-color: var(--nja-line) !important; }
html body #firmWorkspace .pill.green { color: var(--nja-coral) !important; background: var(--nja-raised) !important; border-color: var(--nja-line) !important; }
html body #firmWorkspace .pill.red { color: var(--nja-peach) !important; background: var(--nja-raised) !important; border-color: var(--nja-line) !important; }
html body #firmWorkspace :is(.btn.primary, .btn.gold, .btn.green, .dark, .nav button.active) { background: var(--nja-forest) !important; border-color: var(--nja-forest) !important; color: #F6F2E9 !important; }
html body #firmWorkspace .btn.red { background: var(--nja-peach) !important; border-color: var(--nja-peach) !important; color: #1B1815 !important; }
html body #firmWorkspace :is(.card, .row, .project-card, .quick-action, .metric, .alert-card-v6, .sidebar, .topbar, .entry-panel, .role, .modal) {
  background: var(--nja-white) !important;
  border-color: var(--nja-line) !important;
  color: var(--nja-ink) !important;
}
html body #firmWorkspace :is(.input, .select, .textarea, .ai-command-form, .role) { background: var(--nja-raised) !important; color: var(--nja-ink) !important; border-color: var(--nja-line) !important; }
html body #firmWorkspace :is(input, textarea)::placeholder { color: var(--nja-muted) !important; opacity: 1 !important; }
html body #firmWorkspace :is(.card-copy, .page-copy, .note, .row-sub, .metric-sub, .role-desc, .logo-sub) { color: var(--nja-muted) !important; }
html body #firmWorkspace :is(.card-title, .page-title, .row-title, .role-name, .logo-title) { color: var(--nja-ink) !important; }
html body #firmWorkspace .role-icon { background: var(--nja-forest) !important; color: #F6F2E9 !important; }
html body #firmWorkspace .role.active { border-color: var(--nja-forest) !important; }
html body #firmWorkspace .entry-hero :is(.pill, .brand-pill) { background: #343f2f !important; border-color: #718465 !important; color: #F6F2E9 !important; }
html body #firmWorkspace .fcw-stable-skeleton-v78 { background: var(--nja-paper) !important; color: var(--nja-ink) !important; }
html body #firmWorkspace .fcw-stable-skeleton-card-v78 { background: var(--nja-white) !important; border-color: var(--nja-line) !important; }
html body #firmWorkspace .fcw-stable-skeleton-card-v78 span { color: var(--nja-muted) !important; }
html body #firmWorkspace .nja-loading { background: var(--nja-paper); color: var(--nja-ink); }

html body #firmWorkspace .nja-theme-toggle {
  flex: 0 0 auto;
  min-height: 44px;
  padding: 0 13px;
  border: 1px solid var(--nja-line);
  border-radius: 0;
  background: var(--nja-raised);
  color: var(--nja-ink);
  font: 600 11px/1 "IBM Plex Mono", monospace;
  cursor: pointer;
}
html body #firmWorkspace .nja-theme-toggle:hover { border-color: var(--nja-peach); }
html body #firmWorkspace .entry-hero > .nja-theme-toggle { align-self: flex-end; margin: 0 0 18px; }
html body #firmWorkspace .page-pills { align-items: center; }
html body #firmWorkspace .page-pills .nja-theme-toggle { margin-left: auto; }
html body #firmWorkspace .role-ai-coach-orb-v71 { background: var(--nja-agent) !important; color: #1B1815 !important; }
html body #firmWorkspace .role-ai-coach-v71 { background: var(--nja-white) !important; color: var(--nja-ink) !important; border-color: var(--nja-line) !important; }
html body #firmWorkspace [class*="card"] { border-radius: 0 !important; }
html body #firmWorkspace .project-card * { border-radius: 0 !important; }
html body #firmWorkspace :is(.ai-command-section-v52,.ai-native-metric-v49,.ai-signal-v49,.ai-summary-v49,.ai-health-card-v52,.ai-command-tab-v52) { border-radius: 0 !important; }

.nja-today, .nja-task-detail { display: none; }

@media (max-width: 767px) {
  html body #firmWorkspace .shell { padding-bottom: calc(105px + env(safe-area-inset-bottom)) !important; }
  html body #firmWorkspace .content { padding-bottom: 24px !important; }
  html body #firmWorkspace .topbar { padding: 10px 14px 12px !important; margin-bottom: 0 !important; border-bottom: 0 !important; }
  html body #firmWorkspace .topbar-inner { gap: 0 !important; }
  html body #firmWorkspace .topbar :is(.page-copy,.ai-command-form,.top-actions) { display: none !important; }
  html body #firmWorkspace .tag-row { display: flex !important; flex-wrap: wrap !important; overflow: visible !important; gap: 6px !important; }
  html body #firmWorkspace .page-pills { display: flex !important; align-items: center !important; flex-wrap: wrap !important; gap: 6px !important; }
  html body #firmWorkspace .page-pills .pill { font-size: 10px !important; }
  html body #firmWorkspace .page-pills .pill:nth-child(3) { display: none !important; }
  html body #firmWorkspace .page-pills .nja-theme-toggle { min-height: 36px; }
  html body #firmWorkspace[data-nja-tab="overview"] :is(.page-title,.page-copy,.ai-command-form,.top-actions,.command-strip) { display: none !important; }
  html body #firmWorkspace#firmWorkspace[data-nja-tab="overview"] .command-strip { display: none !important; }
  html body #firmWorkspace .entry-hero .tag-row { display: none !important; }
  html body #firmWorkspace .nja-today { display: block; margin: 0 0 14px; border: 1px solid var(--nja-line); border-top: 0; background: var(--nja-white); }
  html body #firmWorkspace .nja-today-head { padding: 20px 16px 16px; border-bottom: 1px solid var(--nja-line); }
  html body #firmWorkspace .nja-kicker { color: var(--nja-peach); font: 600 10px/1.4 "IBM Plex Mono", monospace; text-transform: uppercase; }
  html body #firmWorkspace .nja-today h2 { margin: 12px 0 6px; font: 600 31px/1.15 Fraunces, Georgia, serif; color: var(--nja-ink); overflow-wrap: anywhere; }
  html body #firmWorkspace .nja-today h2 em { font-style: normal; color: #a8bd97; }
  html body #firmWorkspace[data-nja-mode="paper"] .nja-today h2 em { color: var(--nja-forest); }
  html body #firmWorkspace .nja-today-head p { margin: 0; font-size: 12px; color: var(--nja-muted); }
  html body #firmWorkspace .nja-today-list { padding: 0 16px; }
  html body #firmWorkspace .nja-today-task { display: grid; grid-template-columns: 10px minmax(0,1fr) 22px; align-items: center; gap: 11px; width: 100%; min-height: 76px; padding: 12px 0; border: 0; border-bottom: 1px solid var(--nja-line); border-radius: 0; background: transparent; color: var(--nja-ink); text-align: left; }
  html body #firmWorkspace .nja-today-task:hover { background: var(--nja-raised); }
  html body #firmWorkspace .nja-task-dot { width: 9px; height: 9px; border-radius: 50%; background: var(--nja-forest); }
  html body #firmWorkspace .nja-task-dot.is-blocked { background: var(--nja-peach); }
  html body #firmWorkspace .nja-task-copy { min-width: 0; display: grid; gap: 4px; }
  html body #firmWorkspace .nja-task-copy strong { font-size: 13px; line-height: 1.35; color: var(--nja-ink); overflow-wrap: anywhere; }
  html body #firmWorkspace .nja-task-copy small { font-size: 10px; color: var(--nja-muted); overflow-wrap: anywhere; }
  html body #firmWorkspace .nja-task-arrow { color: var(--nja-muted); }
  html body #firmWorkspace .nja-task-arrow svg { width: 16px; height: 16px; }
  html body #firmWorkspace .nja-today-empty { padding: 20px 0; color: var(--nja-muted); font-size: 13px; }
  html body #firmWorkspace .nja-view-all { display: flex; align-items: center; justify-content: space-between; gap: 10px; width: 100%; min-height: 48px; padding: 0 16px; border: 0; background: transparent; color: var(--nja-ink); font: 700 12px/1.3 Manrope, sans-serif; text-align: left; }
  html body #firmWorkspace .nja-view-all svg { width: 16px; height: 16px; }
  html body #firmWorkspace .mobile-nav { left: 8px !important; right: 8px !important; bottom: calc(7px + env(safe-area-inset-bottom)) !important; width: auto !important; padding: 0 !important; border: 1px solid var(--nja-line) !important; border-radius: 22px !important; background: var(--nja-white) !important; box-shadow: 0 8px 22px #0006 !important; overflow: visible !important; }
  html body #firmWorkspace .mobile-nav-inner { display: flex !important; gap: 0 !important; overflow: visible !important; padding: 4px !important; }
  html body #firmWorkspace .mobile-nav button { flex: 1 1 0 !important; min-width: 0 !important; width: 100% !important; min-height: 56px !important; padding: 5px 1px !important; display: flex !important; flex-direction: column !important; align-items: center !important; justify-content: center !important; gap: 3px !important; border: 0 !important; border-radius: 16px !important; background: transparent !important; color: var(--nja-muted) !important; }
  html body #firmWorkspace .mobile-nav button.active { color: var(--nja-peach) !important; background: transparent !important; box-shadow: none !important; }
  html body #firmWorkspace .mobile-nav button svg { width: 19px !important; height: 19px !important; }
  html body #firmWorkspace .mobile-nav button small { display: block; max-width: 100%; font: 600 9px/1.1 Manrope, sans-serif; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
  html body #firmWorkspace .mobile-nav button.nja-agent-tab { flex: 0 0 58px !important; width: 52px !important; height: 52px !important; min-height: 52px !important; margin: -13px auto 3px !important; border: 1px solid #d5ab5f !important; border-radius: 50% !important; background: var(--nja-agent) !important; color: #1B1815 !important; box-shadow: 0 0 0 5px #B8842A20, 0 0 18px #B8842A55 !important; }
  html body #firmWorkspace .mobile-nav button.nja-agent-tab small { color: #1B1815 !important; }
  html body #firmWorkspace .nja-more-sheet { position: absolute; left: -1px; right: -1px; bottom: calc(100% + 8px); max-height: min(65vh,520px); overflow-y: auto; padding: 16px; border: 1px solid var(--nja-line); border-radius: 0; background: var(--nja-white); box-shadow: 0 10px 28px #0008; }
  html body #firmWorkspace .nja-more-head { display: flex; align-items: center; justify-content: space-between; padding-bottom: 10px; border-bottom: 1px solid var(--nja-line); }
  html body #firmWorkspace .nja-more-head strong { font: 600 22px/1.2 Fraunces, Georgia, serif; }
  html body #firmWorkspace .nja-more-head button { width: 44px !important; min-height: 44px !important; font-size: 23px !important; }
  html body #firmWorkspace .nja-more-grid { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 1px; margin-top: 10px; background: var(--nja-line); border: 1px solid var(--nja-line); }
  html body #firmWorkspace .nja-more-grid button { min-height: 54px !important; padding: 10px !important; flex-direction: row !important; justify-content: flex-start !important; gap: 8px !important; border-radius: 0 !important; background: var(--nja-white) !important; color: var(--nja-ink) !important; font-size: 11px !important; text-align: left !important; }
  html body #firmWorkspace .nja-more-grid button span { min-width: 0; white-space: normal !important; overflow-wrap: anywhere !important; line-height: 1.25 !important; }
  html body #firmWorkspace .nja-more-grid button { white-space: normal !important; }
  html body #firmWorkspace .nja-more-grid svg { flex: 0 0 18px; width: 18px !important; height: 18px !important; }
  html body #firmWorkspace .nja-more-actions { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 7px; margin-top: 16px; }
  html body #firmWorkspace .nja-more-actions .nja-kicker { grid-column: 1 / -1; }
  html body #firmWorkspace .nja-more-actions button { min-height: 45px !important; border: 1px solid var(--nja-line) !important; border-radius: 0 !important; background: var(--nja-raised) !important; color: var(--nja-ink) !important; font-size: 11px !important; }
  html body #firmWorkspace .row div:has(> [data-task-note]) { grid-template-columns: minmax(0,1fr) !important; }
  html body #firmWorkspace .row :is([data-task-note],[data-task-status],[data-task-progress],[data-add-task-update]) { width: 100% !important; min-width: 0 !important; }
  html body #firmWorkspace .nja-task-detail { position: fixed; inset: 0; z-index: 220; display: flex; flex-direction: column; min-height: 100dvh; padding: calc(20px + env(safe-area-inset-top)) 18px calc(20px + env(safe-area-inset-bottom)); background: var(--nja-paper); color: var(--nja-ink); overflow-y: auto; }
  html body #firmWorkspace .nja-task-detail-head { display: flex; align-items: center; gap: 13px; color: var(--nja-peach); font: 600 10px "IBM Plex Mono", monospace; text-transform: uppercase; }
  html body #firmWorkspace .nja-task-detail-head button { width: 44px; height: 44px; border: 1px solid var(--nja-line); border-radius: 50%; background: var(--nja-raised); color: var(--nja-ink); font-size: 22px; }
  html body #firmWorkspace .nja-task-detail h2 { margin: 25px 0 9px; font: 600 29px/1.18 Fraunces, Georgia, serif; overflow-wrap: anywhere; }
  html body #firmWorkspace .nja-task-meta { margin: 0 0 26px; color: var(--nja-muted); font-size: 12px; overflow-wrap: anywhere; }
  html body #firmWorkspace .nja-task-progress { display: grid; grid-template-columns: 1fr auto; gap: 8px; padding: 16px 0; border-top: 1px solid var(--nja-line); color: var(--nja-muted); font-size: 12px; }
  html body #firmWorkspace .nja-task-progress strong { color: var(--nja-ink); }
  html body #firmWorkspace .nja-task-progress > div { grid-column: 1 / -1; height: 5px; background: var(--nja-raised); }
  html body #firmWorkspace .nja-task-progress i { display: block; height: 100%; background: var(--nja-forest); }
  html body #firmWorkspace .nja-task-detail-status { padding: 16px; border: 1px solid var(--nja-line); background: var(--nja-white); }
  html body #firmWorkspace .nja-task-detail-status strong { display: block; margin: 10px 0 4px; font-size: 15px; }
  html body #firmWorkspace .nja-task-detail-status p { margin: 0; color: var(--nja-muted); font-size: 12px; line-height: 1.5; }
  html body #firmWorkspace .nja-task-detail-actions { display: flex; gap: 8px; margin-top: auto; padding-top: 30px; }
  html body #firmWorkspace .nja-task-detail-actions button { flex: 1; min-height: 50px; padding: 10px; border: 1px solid var(--nja-line); border-radius: 0; background: var(--nja-white); color: var(--nja-ink); font: 700 12px Manrope, sans-serif; }
  html body #firmWorkspace .nja-task-detail-actions button:last-child:not(:first-child) { border-color: var(--nja-coral); background: var(--nja-coral); color: #F6F2E9; }
}

@media (prefers-reduced-motion: reduce) {
  html body #firmWorkspace .mobile-nav button.nja-agent-tab { box-shadow: none !important; }
}

@media (min-width: 1200px) {
  html body #firmWorkspace .page-pills .pill:nth-child(2) { display: none !important; }
}
