/* Editorial calendar skin: inherits the Media Assignment Desk / Event Planning Desk tokens. */
.editorial-app {
  --ec-surface: var(--bg-sidebar);
  --ec-card: var(--bg-card);
  --ec-raised: var(--bg-hover);
  --ec-ink: var(--text-primary);
  --ec-muted: var(--text-secondary);
  --ec-line: var(--border-color);
  --ec-accent: var(--primary-blue);
  --ec-warning: var(--warning);
  --ec-danger: var(--danger);
  --ec-success: var(--success);
  min-height: 100dvh;
}
.editorial-app .sidebar { width: 240px; background: var(--bg-sidebar); border-color: var(--border-color); }
.editorial-app .sidebar-header { padding: 1rem; border-color: var(--border-color); }
.editorial-app .logo-text { color: var(--text-primary); }
.editorial-app .logo-icon { background: linear-gradient(135deg, var(--primary-blue), var(--info)); border-radius: 8px; }
.desk-label { padding: 14px 20px 6px; color: var(--text-secondary); font-size: 9px; font-weight: 700; letter-spacing: .09em; }
.editorial-app .sidebar-nav { padding: .5rem; }
.editorial-app .sidebar-nav .desk-label { padding: .75rem .85rem .25rem; }
.editorial-app .nav-item { color: var(--text-secondary); font-size: .85rem; gap: .7rem; border-radius: 7px; padding: .68rem .85rem; margin-bottom: .2rem; }
.editorial-app .nav-item i { color: var(--text-secondary); width: 18px; font-size: .85rem; }
.editorial-app .nav-item:hover { background: var(--bg-hover); color: var(--text-primary); }
.editorial-app .nav-item.active { background: var(--primary-blue); color: white; font-weight: 600; }
.editorial-app .nav-item.active i { color: white; }
.nav-count { margin-left: auto; padding: 2px 6px; border-radius: 10px; background: rgba(255,255,255,.14); color: inherit; font-size: 10px; }
.editorial-app .nav-divider { background: var(--border-color); margin: .65rem 0; }
.editorial-app .sidebar-footer { border-color: var(--border-color); }
.editorial-app .user-avatar { background: var(--primary-blue); color: white; }
.editorial-app .user-role { color: var(--text-secondary); }
.command-intro { display: flex; align-items: end; justify-content: space-between; gap: 24px; margin: 4px 0 14px; }
.command-intro h2 { margin: 5px 0 0; color: var(--ec-ink); font-size: clamp(1.35rem, 2vw, 1.85rem); letter-spacing: -.035em; }
.command-intro p { max-width: 440px; margin: 0; color: var(--ec-muted); font-size: .9rem; line-height: 1.6; }
.command-grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); grid-auto-rows: 1fr; gap: 12px; align-items: stretch; }
.command-card { display: flex; min-width: 0; min-height: 184px; flex-direction: column; padding: 15px; border: 1px solid var(--ec-line); border-radius: 10px; background: var(--ec-card); color: var(--ec-ink); text-decoration: none; box-shadow: 0 5px 18px rgba(15, 23, 42, .035); transition: border-color .16s ease, transform .16s ease, box-shadow .16s ease; }
.command-card:hover { transform: translateY(-2px); border-color: var(--ec-accent); box-shadow: 0 10px 24px rgba(15, 23, 42, .08); }
.command-card:focus-visible { outline: 3px solid color-mix(in srgb, var(--ec-accent) 45%, transparent); outline-offset: 3px; }
.command-card-icon { display: grid; width: 34px; height: 34px; margin-bottom: 12px; place-items: center; border-radius: 9px; background: color-mix(in srgb, var(--ec-accent) 11%, var(--ec-card)); color: var(--ec-accent); font-size: .9rem; }
.command-card > .eyebrow { color: var(--ec-muted); font-size: .62rem; letter-spacing: .1em; }
.command-card h2 { margin: 6px 0; font-size: .94rem; line-height: 1.3; }
.command-card p { margin: 0; color: var(--ec-muted); font-size: .7rem; line-height: 1.45; }
.command-card-footer { display: flex; align-items: baseline; gap: 7px; margin-top: auto; padding-top: 12px; color: var(--ec-muted); font-size: .66rem; }
.command-card-footer strong { color: var(--ec-ink); font-size: 1.2rem; line-height: 1; }
.command-card-footer i { margin-left: auto; align-self: center; color: var(--ec-accent); }
.dashboard-panel { min-width: 0; padding: 15px; border: 1px solid var(--ec-line); border-radius: 10px; background: var(--ec-card); color: var(--ec-ink); }
.pipeline-health { margin-top: 12px; }
.dashboard-panel-heading { display: flex; align-items: flex-start; justify-content: space-between; gap: 14px; }
.dashboard-panel-heading h2 { margin: 4px 0 0; font-size: 1rem; letter-spacing: -.015em; }
.dashboard-panel-heading p { margin: 5px 0 0; color: var(--ec-muted); font-size: .72rem; }
.compact-heading { align-items: center; }
.risk-total { flex: 0 0 auto; padding: 5px 8px; border: 1px solid color-mix(in srgb, var(--ec-danger) 35%, var(--ec-line)); border-radius: 999px; background: color-mix(in srgb, var(--ec-danger) 10%, transparent); color: var(--ec-danger); font-size: .68rem; font-weight: 700; }
.pipeline-stage-grid { display: grid; grid-template-columns: repeat(5, minmax(0, 1fr)); gap: 8px; margin-top: 14px; }
.pipeline-stage { display: grid; min-width: 0; grid-template-columns: 1fr auto; align-items: center; gap: 3px 8px; padding: 10px 11px; border: 1px solid var(--ec-line); border-radius: 8px; background: var(--ec-surface); }
.pipeline-stage > span { overflow: hidden; color: var(--ec-muted); font-size: .64rem; font-weight: 700; text-overflow: ellipsis; white-space: nowrap; }
.pipeline-stage strong { grid-column: 1; grid-row: 2; font-size: 1.15rem; line-height: 1; }
.pipeline-stage small { grid-column: 2; grid-row: 2; color: var(--ec-muted); font-size: .6rem; text-align: right; }
.pipeline-stage-risk strong { color: var(--ec-danger); }
.next-episode { display: flex; align-items: center; justify-content: space-between; gap: 18px; margin-top: 11px; padding: 11px 12px; border: 1px solid var(--ec-line); border-radius: 8px; background: color-mix(in srgb, var(--ec-accent) 5%, var(--ec-surface)); }
.next-episode-copy { min-width: 0; }
.next-episode-copy h3 { margin: 4px 0 2px; font-size: .82rem; }
.next-episode-copy p { color: var(--ec-muted); font-size: .66rem; }
.episode-capacity { width: min(230px, 38%); flex: 0 0 auto; text-align: right; }
.episode-capacity > strong { display: block; font-size: 1rem; line-height: 1.2; }
.episode-capacity > span { display: block; margin-top: 2px; color: var(--ec-muted); font-size: .61rem; }
.episode-capacity-track { height: 5px; margin-top: 7px; overflow: hidden; border-radius: 99px; background: var(--ec-raised); }
.episode-capacity-track[hidden] { display: none; }
.episode-capacity-track span { display: block; width: 0; height: 100%; border-radius: inherit; background: var(--ec-accent); transition: width .2s ease; }
.dashboard-lower-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; margin-top: 12px; }
.dashboard-lower-grid > .dashboard-panel { min-height: 180px; }
.dashboard-panel-heading .dashboard-link { flex: 0 0 auto; color: var(--ec-accent); font-size: .67rem; text-decoration: none; }
.dashboard-panel-heading .dashboard-link i { margin-left: 3px; }
.dashboard-list { display: grid; gap: 2px; margin-top: 9px; }
.dashboard-story-row,.commitment-row,.activity-row { display: flex; width: 100%; min-width: 0; align-items: center; gap: 9px; padding: 8px 2px; border: 0; border-top: 1px solid var(--ec-line); background: transparent; color: var(--ec-ink); text-align: left; cursor: pointer; }
.dashboard-story-row:hover,.commitment-row:hover,.activity-row:hover { background: color-mix(in srgb, var(--ec-accent) 5%, transparent); }
.dashboard-row-copy,.commitment-copy,.activity-copy { display: grid; min-width: 0; gap: 3px; flex: 1; }
.dashboard-row-copy strong,.commitment-copy strong,.activity-copy strong { overflow: hidden; font-size: .71rem; font-weight: 650; text-overflow: ellipsis; white-space: nowrap; }
.dashboard-row-copy small,.commitment-copy small,.activity-copy small { overflow: hidden; color: var(--ec-muted); font-size: .62rem; text-overflow: ellipsis; white-space: nowrap; }
.dashboard-story-row > i,.commitment-row > i,.activity-row > i { flex: 0 0 auto; color: var(--ec-muted); font-size: .64rem; }
.dashboard-exception-tags { display: flex; max-width: 48%; flex-wrap: wrap; justify-content: flex-end; gap: 3px; }
.dashboard-exception-tags span { padding: 3px 5px; border-radius: 5px; background: color-mix(in srgb, var(--ec-danger) 10%, transparent); color: var(--ec-danger); font-size: .56rem; font-weight: 650; }
.ready-assignment { margin-top: 12px; padding-top: 10px; border-top: 1px solid var(--ec-line); }
.ready-assignment-heading { display: flex; align-items: center; justify-content: space-between; gap: 8px; }
.ready-assignment-heading h3 { font-size: .76rem; }
.subtle-count { color: var(--ec-muted); font-size: .68rem; }
.ready-story .ready-label { flex: 0 0 auto; color: var(--ec-success); font-size: .62rem; font-weight: 700; }
.ready-assignment .dashboard-list { margin-top: 5px; }
.commitment-row { align-items: flex-start; }
.commitment-date { width: 72px; flex: 0 0 auto; color: var(--ec-ink); font-size: .65rem; font-weight: 650; }
.commitment-date small { display: block; margin-top: 3px; color: var(--ec-muted); font-size: .59rem; font-weight: 400; }
.commitment-copy { padding-right: 4px; }
.commitment-copy strong { white-space: normal; }
.activity-panel { grid-column: 1 / -1; }
.activity-feed { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); column-gap: 16px; margin-top: 8px; }
.activity-row { align-items: flex-start; }
.activity-marker { display: grid; width: 15px; height: 15px; flex: 0 0 auto; place-items: center; color: var(--ec-accent); font-size: 6px; }
.dashboard-empty { padding: 12px 2px 6px; color: var(--ec-muted); font-size: .68rem; line-height: 1.45; }
.editorial-app .main-content { background: var(--bg-dark); min-width: 0; }
.editorial-header { min-height: 78px; padding: .75rem 1.25rem; gap: 1rem; background: var(--bg-sidebar); border-color: var(--border-color); }
.editorial-header .header-left { gap: 1.6rem; align-items: center; }
.desk-heading { min-width: 176px; }
.eyebrow { display: block; color: var(--text-secondary); font-size: 9px; font-weight: 700; letter-spacing: .08em; text-transform: uppercase; }
.desk-heading h1 { margin-top: 3px; color: var(--text-primary); font-size: 1.2rem; line-height: 1.2; font-weight: 600; }
.view-tabs { align-self: center; gap: .35rem; }
.editorial-header .tab-btn { color: var(--text-secondary); background: transparent; text-decoration: none; border: 1px solid var(--border-color); border-radius: 6px; padding: .45rem .75rem; font-size: .78rem; }
.editorial-header .tab-btn:hover { color: var(--text-primary); border-color: var(--primary-blue); background: var(--bg-hover); }
.editorial-header .tab-btn.active { background: var(--primary-blue); border-color: var(--primary-blue); color: white; }
.editorial-header .header-right { flex-wrap: wrap; justify-content: flex-end; gap: .85rem; }
.editorial-header .header-right > .theme-toggle,
.editorial-header .header-right > .btn-primary { flex: 0 0 auto; }
.editorial-header .theme-btn { white-space: nowrap; }
.edition-mark { display: flex; align-items: center; gap: 7px; color: var(--text-secondary); font-size: 10px; white-space: nowrap; }
.edition-dot { width: 7px; height: 7px; background: var(--success); border-radius: 50%; }
.editorial-app .btn-primary { background: var(--primary-blue); color: white; border: 0; border-radius: 6px; padding: .6rem 1rem; font-size: .82rem; font-weight: 600; white-space: nowrap; }
.editorial-app .btn-primary:hover { background: var(--primary-dark); }
.editorial-app .btn-secondary { color: var(--text-primary); background: var(--bg-card); border: 1px solid var(--border-color); border-radius: 6px; padding: .48rem .8rem; font-size: .78rem; }
.editorial-app .btn-secondary:hover { background: var(--bg-hover); border-color: var(--primary-blue); }
.editorial-app .btn-danger { background: var(--danger); border-radius: 6px; }
.editorial-body { padding: 1.1rem 1.25rem 2rem; }
.view-panel { display: none; animation: panelIn .16s ease-out both; }
.view-panel.active { display: block; }
@keyframes panelIn { from { opacity: .5; transform: translateY(3px); } to { opacity: 1; transform: translateY(0); } }
.global-notice { padding: .65rem .8rem; margin-bottom: .8rem; border: 1px solid var(--warning); border-radius: 6px; color: var(--text-primary); background: rgba(255,203,0,.1); font-size: .8rem; }
.global-notice.error { border-color: var(--danger); background: rgba(228,66,88,.12); }
.welcome-strip { display: grid; grid-template-columns: 140px minmax(200px,1fr) auto; align-items: center; gap: 1rem; margin-bottom: 1.1rem; padding: .85rem 1rem; background: var(--bg-sidebar); border: 1px solid var(--border-color); border-left: 3px solid var(--primary-blue); border-radius: 7px; }
.welcome-index { color: var(--primary-blue); font-size: 10px; font-weight: 700; }
.welcome-index span { color: var(--text-secondary); font-size: 9px; }
.welcome-copy h2 { margin: 0 0 4px; font-size: 1rem; font-weight: 600; }
.welcome-copy p { margin: 0; color: var(--text-secondary); font-size: .76rem; }
.text-button { padding: 6px; border: 0; background: transparent; color: var(--primary-blue); cursor: pointer; font-size: .75rem; font-weight: 600; }
.text-button:hover { color: var(--info); }
.section-toolbar { display: flex; justify-content: space-between; align-items: end; gap: .9rem; margin: 0 0 .8rem; }
.section-toolbar h2 { margin: 3px 0 0; color: var(--text-primary); font-size: 1.2rem; font-weight: 600; }
.subtle-count { display: inline-flex; min-width: 21px; height: 19px; vertical-align: 2px; align-items: center; justify-content: center; margin-left: 4px; padding: 0 5px; border-radius: 10px; background: var(--bg-hover); color: var(--text-secondary); font-size: 10px; }
.toolbar-controls { display: flex; flex-wrap: wrap; align-items: center; gap: .4rem; }
.filter-select { min-height: 32px; padding: 0 25px 0 9px; border: 1px solid var(--border-color); border-radius: 6px; color: var(--text-primary); background: var(--bg-card); font-size: .75rem; }
.filter-select option { background: var(--bg-sidebar); color: var(--text-primary); }
.search-field { display: flex; width: 185px; height: 32px; align-items: center; gap: 7px; padding: 0 9px; border: 1px solid var(--border-color); border-radius: 6px; background: var(--bg-card); color: var(--text-secondary); }
.search-field input { width: 100%; border: 0; outline: 0; background: transparent; color: var(--text-primary); font-size: .75rem; }
.idea-layout { display: grid; grid-template-columns: minmax(0,1fr) 230px; gap: .8rem; align-items: start; }
.idea-list-panel,.aside-card,.calendar-grid-shell,.agenda-panel,.table-shell,.team-banner,.appointment-card,.feed-card,.story-card { border: 1px solid var(--border-color); border-radius: 7px; background: var(--bg-sidebar); }
.idea-list-panel { overflow: hidden; }
.list-column-head { display: grid; grid-template-columns: minmax(190px,1fr) 155px 110px 20px; gap: .7rem; padding: .55rem .75rem; background: var(--bg-card); color: var(--text-secondary); font-size: 9px; font-weight: 700; letter-spacing: .06em; text-transform: uppercase; }
.idea-row { display: grid; grid-template-columns: minmax(190px,1fr) 155px 110px 20px; align-items: center; gap: .7rem; padding: .7rem .75rem; border-top: 1px solid var(--border-color); cursor: pointer; transition: background .12s; }
.idea-row:hover { background: var(--bg-hover); }
.idea-main { min-width: 0; }
.idea-title { overflow: hidden; color: var(--text-primary); font-size: .84rem; font-weight: 600; text-overflow: ellipsis; white-space: nowrap; }
.idea-excerpt { display: block; overflow: hidden; margin-top: 3px; color: var(--text-secondary); font-size: .68rem; text-overflow: ellipsis; white-space: nowrap; }
.idea-meta { color: var(--text-secondary); font-size: .68rem; }
.idea-meta strong { display: block; margin-bottom: 2px; color: var(--text-primary); font-size: .73rem; font-weight: 600; }
.status-pill,.priority-pill { display: inline-flex; align-items: center; padding: 3px 7px; border: 1px solid rgba(0,200,117,.24); border-radius: 12px; background: rgba(0,200,117,.12); color: var(--success); font-size: 9px; font-weight: 600; text-transform: uppercase; letter-spacing: .025em; white-space: nowrap; }
.status-pill.submitted,.status-pill.under_review { border-color: rgba(255,203,0,.25); background: rgba(255,203,0,.11); color: var(--warning); }
.status-pill.draft,.status-pill.todo { border-color: var(--border-color); background: var(--bg-card); color: var(--text-secondary); }
.status-pill.rejected,.status-pill.cancelled,.status-pill.blocked { border-color: rgba(228,66,88,.28); background: rgba(228,66,88,.12); color: var(--danger); }
.status-pill.in_production,.status-pill.in_progress { border-color: rgba(87,155,252,.3); background: rgba(87,155,252,.13); color: var(--info); }
.status-pill.paused,.status-pill.review { border-color: rgba(255,203,0,.25); background: rgba(255,203,0,.11); color: var(--warning); }
.row-chevron { color: var(--text-secondary); font-size: 10px; }
.pipeline-aside { display: grid; gap: .7rem; }
.aside-card { padding: .8rem; }
.pipeline-stat { display: flex; align-items: baseline; gap: .45rem; margin: .6rem 0; }
.pipeline-stat strong { color: var(--text-primary); font-size: 2rem; line-height: 1; }
.pipeline-stat span { color: var(--text-secondary); font-size: .7rem; }
.pipeline-rule { height: 1px; margin: .6rem 0; background: var(--border-color); }
.aside-card p { margin: 0; color: var(--text-secondary); font-size: .72rem; line-height: 1.5; }
.guide-steps { margin: 4px 0 0; padding: 0; list-style: none; }
.guide-steps li { display: flex; gap: .55rem; padding: .55rem 0; border-top: 1px solid var(--border-color); color: var(--text-secondary); font-size: .68rem; line-height: 1.4; }
.guide-steps li b { color: var(--primary-blue); font-size: 9px; }
.calendar-toolbar { display: flex; justify-content: space-between; align-items: center; gap: .8rem; margin-bottom: .7rem; }
.calendar-nav { display: flex; align-items: center; gap: .45rem; }
.calendar-nav h2 { min-width: 175px; margin: 0; text-align: center; color: var(--text-primary); font-size: 1.15rem; font-weight: 600; }
.editorial-app .nav-btn { width: 31px; height: 31px; border: 1px solid var(--border-color); border-radius: 6px; background: var(--bg-card); color: var(--text-primary); }
.editorial-app .nav-btn:hover { border-color: var(--primary-blue); background: var(--bg-hover); }
.calendar-layout { display: grid; grid-template-columns: minmax(0,1fr) 245px; gap: .75rem; }
.calendar-grid-shell { overflow: hidden; }
.calendar-weekdays,.calendar-month-grid { display: grid; grid-template-columns: repeat(7,minmax(0,1fr)); }
.calendar-weekdays { border-bottom: 1px solid var(--border-color); background: var(--bg-card); }
.calendar-weekdays span { padding: .55rem 4px; color: var(--text-secondary); text-align: center; font-size: 9px; font-weight: 700; text-transform: uppercase; }
.cal-cell { min-height: 90px; padding: 5px; border-right: 1px solid var(--border-color); border-bottom: 1px solid var(--border-color); background: var(--bg-sidebar); cursor: pointer; }
.cal-cell:nth-child(7n) { border-right: 0; }
.cal-cell:hover { background: var(--bg-hover); }
.cal-cell.other-month { background: var(--bg-dark); }
.cal-cell.other-month .day-num { opacity: .45; }
.cal-cell.today { background: rgba(0,115,234,.1); }
.day-num { display: inline-flex; width: 21px; height: 21px; align-items: center; justify-content: center; border-radius: 50%; color: var(--text-secondary); font-size: 10px; }
.cal-cell.today .day-num { background: var(--primary-blue); color: white; }
.cal-event { display: block; width: 100%; overflow: hidden; margin-top: 3px; padding: 4px 5px; border: 0; border-left: 3px solid var(--success); border-radius: 3px; background: rgba(0,200,117,.12); color: var(--text-primary); cursor: pointer; text-align: left; font-size: 9px; }
.cal-event-title,.cal-event-meta { display: block; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.cal-event-title { font-weight: 700; }
.cal-event-meta { margin-top: 2px; color: var(--text-secondary); font-size: 8px; }
.cal-event.ready { border-left-color: var(--warning); background: rgba(255,203,0,.12); }
.cal-event.in_production { border-left-color: var(--info); background: rgba(87,155,252,.12); }
.cal-event.paused { border-left-color: #a0aec0; background: rgba(160,174,192,.13); }
.cal-event.cancelled { opacity: .5; text-decoration: line-through; }
.more-events { padding: 3px 4px; color: var(--text-secondary); font-size: 9px; }
.agenda-panel { display: flex; min-height: 100%; flex-direction: column; padding: .8rem; }
.agenda-heading { padding-bottom: .55rem; border-bottom: 1px solid var(--border-color); }
.agenda-heading h3 { margin: 3px 0 0; color: var(--text-primary); font-size: 1rem; font-weight: 600; }
.agenda-item { display: block; width: 100%; padding: .6rem 0; border: 0; border-bottom: 1px solid var(--border-color); background: transparent; color: inherit; cursor: pointer; text-align: left; }
.agenda-item:hover strong { color: var(--primary-blue); }
.agenda-item:focus-visible,.cal-event:focus-visible { outline: 2px solid var(--primary-blue); outline-offset: 2px; }
.agenda-date { color: var(--info); font-size: 9px; font-weight: 600; text-transform: uppercase; }
.agenda-item strong { display: block; margin: 3px 0; color: var(--text-primary); font-size: .8rem; }
.agenda-meta { color: var(--text-secondary); font-size: .67rem; }
.agenda-readiness { display: block; margin-top: 4px; color: var(--text-primary); font-size: .66rem; font-weight: 600; }
.agenda-alert { display: block; margin-top: 3px; color: var(--warning); font-size: .64rem; }
.agenda-task-digest { display: flex; flex-wrap: wrap; gap: 3px; margin-top: 4px; }
.calendar-task-state { color: var(--text-secondary); font-size: 8px; }
.calendar-task-state.blocked { color: var(--danger); }
.calendar-task-state.todo { color: var(--warning); }
.agenda-empty { margin: auto 0; padding: 1.2rem .4rem; color: var(--text-secondary); text-align: center; font-size: .72rem; line-height: 1.5; }
.btn-wide { width: 100%; margin-top: auto; }
.calendar-legend { display: flex; flex-wrap: wrap; gap: 1rem; margin: .65rem 2px; color: var(--text-secondary); font-size: .67rem; }
.calendar-legend span { display: flex; align-items: center; gap: 5px; }
.legend-dot { display: inline-block; width: 8px; height: 8px; border-radius: 2px; background: var(--success); }
.legend-dot.ready { background: var(--warning); }.legend-dot.production { background: var(--info); }.legend-dot.paused { background: #a0aec0; }
.attention-band { display: flex; flex-wrap: wrap; gap: .45rem; margin: 0 0 .65rem; }
.attention-chip { padding: .45rem .65rem; border: 1px solid rgba(228,66,88,.3); border-radius: 5px; background: rgba(228,66,88,.12); color: var(--danger); font-size: .7rem; }
.attention-chip.neutral { border-color: var(--border-color); background: var(--bg-sidebar); color: var(--text-secondary); }
.editorial-table { width: 100%; min-width: 760px; border-collapse: collapse; color: var(--text-primary); font-size: .72rem; }
.editorial-table th { position: sticky; top: 0; padding: .55rem .65rem; background: var(--bg-card); color: var(--text-secondary); text-align: left; font-size: 9px; font-weight: 700; letter-spacing: .05em; text-transform: uppercase; }
.editorial-table td { padding: .6rem .65rem; border-top: 1px solid var(--border-color); color: var(--text-secondary); vertical-align: middle; }
.editorial-table tbody tr:hover { background: var(--bg-hover); }
.table-story { color: var(--primary-blue); cursor: pointer; font-weight: 600; }
.table-title { color: var(--text-primary); font-weight: 600; }
.task-due.overdue { color: var(--danger); font-weight: 700; }
.task-subline { margin-top: 3px; color: var(--warning); font-size: 9px; }
.table-actions { white-space: nowrap; }
.icon-action { padding: 5px 7px; border: 0; background: transparent; color: var(--text-secondary); cursor: pointer; }
.icon-action:hover { color: var(--primary-blue); }
.linked-work { margin-top: 1.4rem; }
.compact-toolbar { align-items: center; margin-bottom: .6rem; }
.compact-toolbar h2 { font-size: 1.05rem; }
.readonly-label { color: var(--text-secondary); font-size: 9px; font-weight: 700; letter-spacing: .07em; }
.external-list { display: grid; gap: 5px; }
.external-row { display: grid; grid-template-columns: minmax(150px,1fr) 145px 100px 90px; align-items: center; gap: .7rem; padding: .6rem .7rem; border: 1px solid var(--border-color); border-radius: 5px; background: var(--bg-sidebar); color: var(--text-secondary); font-size: .68rem; }
.external-row a { color: var(--primary-blue); text-decoration: none; font-weight: 600; }
.external-row a:hover { text-decoration: underline; }
.appointment-note { display: flex; gap: .55rem; margin-bottom: .7rem; padding: .6rem .75rem; border: 1px solid var(--border-color); border-radius: 5px; background: var(--bg-card); color: var(--text-secondary); font-size: .72rem; }
.appointment-note i { color: var(--info); }
.appointment-list { display: grid; gap: .45rem; }
.appointment-card { display: grid; grid-template-columns: 65px minmax(0,1fr) 140px auto; align-items: center; gap: .7rem; padding: .65rem .75rem; }
.appointment-date-block { border-right: 1px solid var(--border-color); }
.appointment-date-block strong { display: block; color: var(--text-primary); font-size: 1.25rem; }
.appointment-date-block span { color: var(--text-secondary); font-size: 9px; text-transform: uppercase; }
.appointment-title { color: var(--text-primary); font-size: .85rem; font-weight: 600; }
.appointment-meta { margin-top: 4px; color: var(--text-secondary); font-size: .68rem; line-height: 1.45; }
.appointment-time-line { display: block; }
.appointment-time-line strong { color: var(--text-primary); font-weight: 600; }
.appointment-actions { display: flex; justify-content: end; gap: 4px; }
.team-banner { display: flex; align-items: center; gap: .7rem; margin-bottom: .7rem; padding: .75rem .85rem; }
.team-seal { display: grid; width: 32px; height: 32px; flex: 0 0 auto; place-items: center; border-radius: 50%; background: rgba(0,115,234,.14); color: var(--primary-blue); }
.team-banner strong { color: var(--text-primary); font-size: .82rem; }
.team-banner p { margin: 3px 0 0; color: var(--text-secondary); font-size: .68rem; }
.team-roster { display: grid; grid-template-columns: repeat(auto-fill,minmax(225px,1fr)); gap: .45rem; }
.member-card { display: flex; align-items: center; gap: .6rem; padding: .65rem; border: 1px solid var(--border-color); border-radius: 5px; background: var(--bg-sidebar); }
.member-avatar { display: grid; width: 31px; height: 31px; flex: 0 0 auto; place-items: center; border-radius: 50%; background: rgba(0,115,234,.15); color: var(--primary-blue); font-size: 10px; font-weight: 700; }
.member-info { min-width: 0; flex: 1; }
.member-name { color: var(--text-primary); font-size: .74rem; font-weight: 600; }
.member-role { margin-top: 2px; color: var(--text-secondary); font-size: .66rem; text-transform: capitalize; }
.member-team { margin-top: 2px; color: var(--info); font-size: 9px; }
.feed-intro { display: flex; align-items: center; gap: .65rem; margin-bottom: .7rem; padding: .65rem .8rem; border-left: 3px solid var(--info); background: var(--bg-card); color: var(--text-secondary); font-size: .72rem; }
.feed-intro p { margin: 0; line-height: 1.45; }
.feed-symbol { color: var(--info); }
.feed-toolbar { display: flex; gap: .65rem; margin-bottom: .65rem; padding: .65rem; border: 1px solid var(--border-color); border-radius: 6px; background: var(--bg-card); }
.feed-filters { display: flex; flex: 1; flex-wrap: wrap; gap: .4rem; }
.feed-filters .filter-select { min-width: 142px; }
.feed-filters .filter-input { min-width: 190px; min-height: 32px; flex: 1; padding: 0 9px; border: 1px solid var(--border-color); border-radius: 6px; color: var(--text-primary); background: var(--bg-dark); font: inherit; font-size: .75rem; }
.feed-container { display: grid; grid-template-columns: minmax(210px,250px) minmax(0,1fr); align-items: start; gap: .65rem; }
.feed-sources-panel,.feed-articles-panel { min-width: 0; padding: .7rem; border: 1px solid var(--border-color); border-radius: 6px; background: var(--bg-card); }
.feed-sources-panel h3,.feed-articles-panel h3 { display: flex; align-items: center; gap: .45rem; margin: 0 0 .55rem; color: var(--text-primary); font-size: .8rem; font-weight: 600; }
.feed-sources-panel h3 i { color: var(--info); }
.feed-articles-panel h3 i { color: var(--primary-blue); }
.feed-result-count { margin-left: auto; color: var(--text-secondary); font-size: .65rem; font-weight: 400; }
.sources-list { display: grid; gap: .3rem; max-height: 580px; overflow-y: auto; }
.feed-source-item { display: flex; width: 100%; align-items: center; gap: .5rem; padding: .45rem; border: 1px solid transparent; border-radius: 5px; background: var(--bg-dark); color: var(--text-primary); cursor: pointer; text-align: left; }
.feed-source-item:hover,.feed-source-item.active { border-color: var(--primary-blue); background: rgba(0,115,234,.1); }
.feed-source-icon { display: grid; width: 27px; height: 27px; flex: 0 0 auto; place-items: center; border-radius: 5px; background: var(--bg-card); color: var(--info); font-size: .65rem; }
.feed-source-info { display: grid; min-width: 0; flex: 1; gap: 2px; }
.feed-source-name { overflow: hidden; color: var(--text-primary); font-size: .67rem; font-weight: 600; text-overflow: ellipsis; white-space: nowrap; }
.feed-source-count { color: var(--text-secondary); font-size: .59rem; }
.feed-source-error { padding: .5rem; color: var(--danger); font-size: .68rem; }
.feed-list { display: grid; gap: .45rem; }
.feed-card { display: grid; grid-template-columns: minmax(0,1fr) auto; gap: .7rem; padding: .7rem .8rem; }
.feed-card-actions { display: flex; align-items: center; justify-content: flex-end; gap: .35rem; }
.feed-source { color: var(--info); font-size: 9px; font-weight: 700; text-transform: uppercase; letter-spacing: .05em; }
.feed-card h3 { margin: 3px 0 4px; color: var(--text-primary); font-size: .9rem; font-weight: 600; }
.feed-card p { margin: 0 0 5px; color: var(--text-secondary); font-size: .72rem; line-height: 1.45; }
.feed-card a { color: var(--primary-blue); font-size: .68rem; text-decoration: none; }
.feed-card a:hover { text-decoration: underline; }
.feed-card .btn-secondary { align-self: center; white-space: nowrap; }
.story-toolbar { display: flex; align-items: center; gap: .7rem; margin-bottom: .7rem; }
.story-id { color: var(--text-secondary); font-size: 9px; }
.story-toolbar-actions { display: flex; gap: .4rem; margin-left: auto; }
.story-workspace { display: grid; grid-template-columns: minmax(0,1fr); gap: .7rem; }
.story-workspace-tabs { display: flex; flex-wrap: wrap; gap: .35rem; padding: .25rem; border: 1px solid var(--border-color); border-radius: 7px; background: var(--bg-sidebar); }
.story-workspace-tab { display: inline-flex; align-items: center; gap: .4rem; padding: .48rem .7rem; border: 1px solid transparent; border-radius: 5px; background: transparent; color: var(--text-secondary); cursor: pointer; font: inherit; font-size: .72rem; }
.story-workspace-tab:hover,.story-workspace-tab[aria-selected="true"] { border-color: var(--border-color); background: var(--bg-card); color: var(--text-primary); }
.story-workspace-tab[aria-selected="true"] { box-shadow: inset 0 -2px var(--primary-blue); }
.research-tab-count { min-width: 1.2rem; padding: 1px 5px; border-radius: 10px; background: var(--bg-dark); color: var(--text-secondary); font-size: .62rem; text-align: center; }
.story-workspace-panel { min-width: 0; }
.story-workspace-columns { display: grid; grid-template-columns: minmax(0,1fr) 270px; align-items: start; gap: .75rem; }
.story-main,.story-side { display: grid; gap: .7rem; }
.story-card { padding: .85rem; }
.story-masthead { border-left: 3px solid var(--primary-blue); }
.story-masthead h2 { margin: 6px 0; color: var(--text-primary); font-size: clamp(1.25rem,2.3vw,1.8rem); line-height: 1.13; }
.story-subline { display: flex; flex-wrap: wrap; gap: 6px; color: var(--text-secondary); font-size: .68rem; }
.story-card-heading { display: flex; justify-content: space-between; align-items: center; gap: .5rem; margin-bottom: .6rem; }
.story-card-heading h3 { margin: 2px 0 0; color: var(--text-primary); font-size: .96rem; font-weight: 600; }
.story-pitch { color: var(--text-secondary); font-size: .76rem; line-height: 1.55; white-space: pre-wrap; }
.source-link { display: inline-flex; align-items: center; gap: 5px; color: var(--primary-blue); font-size: .68rem; overflow-wrap: anywhere; text-decoration: none; }
.source-link:hover { text-decoration: underline; }
.planning-form-grid { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: .6rem; }
.field { display: flex; min-width: 0; flex-direction: column; gap: 4px; }
.field.full { grid-column: 1/-1; }
.field label { color: var(--text-secondary); font-size: 9px; font-weight: 700; letter-spacing: .04em; text-transform: uppercase; }
.field input,.field textarea,.field select,.modal-form input,.modal-form textarea,.modal-form select { width: 100%; min-height: 32px; padding: .42rem .55rem; border: 1px solid var(--border-color); border-radius: 5px; outline: 0; background: var(--bg-dark); color: var(--text-primary); font-family: inherit; font-size: .76rem; }
.field textarea,.modal-form textarea { min-height: 74px; resize: vertical; line-height: 1.45; }
.field input:focus,.field textarea:focus,.field select:focus,.modal-form input:focus,.modal-form textarea:focus,.modal-form select:focus { border-color: var(--primary-blue); box-shadow: 0 0 0 2px rgba(0,115,234,.13); }
.story-tasks { display: grid; gap: .4rem; }
.story-task-row { display: grid; grid-template-columns: minmax(0,1fr) auto auto; align-items: center; gap: .45rem; padding: .55rem; border: 1px solid var(--border-color); border-radius: 5px; background: var(--bg-dark); font-size: .68rem; }
.story-task-row strong { display: block; color: var(--text-primary); font-size: .72rem; }
.story-task-row span { color: var(--text-secondary); font-size: .64rem; }
.story-task-heading-actions { display: flex; align-items: center; gap: .4rem; }
.story-task-view-toggle { display: inline-flex; padding: 2px; border: 1px solid var(--border-color); border-radius: 5px; background: var(--bg-dark); }
.story-task-view-toggle button { padding: .3rem .5rem; border: 0; border-radius: 4px; background: transparent; color: var(--text-secondary); cursor: pointer; font: inherit; font-size: .63rem; }
.story-task-view-toggle button[aria-pressed="true"] { background: var(--bg-card); color: var(--text-primary); box-shadow: 0 0 0 1px var(--border-color); }
.story-task-timeline { display: grid; gap: .2rem; padding: .25rem 0; }
.story-task-timeline[hidden],.story-tasks[hidden] { display: none !important; }
.story-timeline-item { display: grid; grid-template-columns: 92px 16px minmax(0,1fr); align-items: stretch; gap: .45rem; min-height: 76px; }
.story-timeline-date { display: flex; flex-direction: column; align-items: flex-end; gap: 2px; padding-top: .65rem; text-align: right; }
.story-timeline-date span,.story-timeline-date small { color: var(--text-secondary); font-size: .59rem; }
.story-timeline-date strong { color: var(--text-primary); font-size: .68rem; }
.story-timeline-marker { position: relative; display: flex; justify-content: center; padding-top: .78rem; }
.story-timeline-marker::before { position: absolute; top: 0; bottom: 0; width: 1px; background: var(--border-color); content: ""; }
.story-timeline-marker::after { z-index: 1; width: 9px; height: 9px; border: 2px solid var(--bg-card); border-radius: 50%; background: var(--primary-blue); box-shadow: 0 0 0 1px var(--primary-blue); content: ""; }
.story-timeline-card { min-width: 0; align-self: start; padding: .55rem .65rem; border: 1px solid var(--border-color); border-radius: 5px; background: var(--bg-dark); }
.story-timeline-heading { display: flex; align-items: center; justify-content: space-between; gap: .4rem; }
.story-timeline-heading strong { color: var(--text-primary); font-size: .72rem; }
.story-timeline-card p { margin: .3rem 0; color: var(--text-secondary); font-size: .63rem; }
.story-timeline-dependency { display: block; margin: .2rem 0; color: var(--info); font-size: .61rem; }
.story-timeline-card .story-task-actions { margin-top: .4rem; }
.story-timeline-unscheduled { margin: .35rem 0 0 108px; padding: .6rem; border: 1px dashed var(--border-color); border-radius: 5px; }
.story-timeline-unscheduled h4 { margin: 0 0 .35rem; color: var(--text-secondary); font-size: .68rem; }
.story-timeline-unscheduled-row { display: flex; align-items: center; gap: .5rem; padding: .35rem 0; border-top: 1px solid var(--border-color); color: var(--text-primary); font-size: .65rem; }
.story-timeline-unscheduled-row small { margin-left: auto; color: var(--text-secondary); }
.story-attachment { margin-top: 3px; color: var(--info); font-size: .64rem; }
.story-section-actions { display: flex; align-items: center; gap: .4rem; }
.story-section-actions h3 { flex: 1; }
.mini-button { padding: .32rem .52rem; border: 1px solid var(--border-color); border-radius: 5px; background: var(--bg-card); color: var(--text-primary); cursor: pointer; font-size: .68rem; }
.mini-button:hover { border-color: var(--primary-blue); color: var(--primary-blue); }
.mini-danger { color: var(--danger); }
.file-link-list { display: flex; flex-wrap: wrap; gap: 5px; margin-top: 7px; }
.file-link { padding: 4px 6px; border: 1px solid var(--border-color); border-radius: 4px; background: var(--bg-dark); color: var(--text-secondary); font-size: 9px; text-decoration: none; }
.story-side .story-card { padding: .75rem; }
.story-side .field { margin: .55rem 0; }
.story-side-note { color: var(--text-secondary); font-size: .68rem; line-height: 1.5; }
.research-desk { display: grid; gap: .65rem; }
.research-intro,.research-copyright-note { margin: 0; color: var(--text-secondary); font-size: .7rem; line-height: 1.5; }
.research-connect-card,.research-pairing-code,.research-connection-row { display: flex; align-items: center; justify-content: space-between; gap: .75rem; padding: .7rem; border: 1px solid var(--border-color); border-radius: 6px; background: var(--bg-dark); }
.research-connect-card strong,.research-pairing-code strong,.research-connection-row strong { color: var(--text-primary); font-size: .74rem; }
.research-connect-card p,.research-pairing-code small,.research-connection-row small { display: block; margin: 3px 0 0; color: var(--text-secondary); font-size: .65rem; line-height: 1.45; }
.research-pairing-code { flex-wrap: wrap; border-color: rgba(0,115,234,.45); }
.research-pairing-code code { flex: 1 1 100%; padding: .55rem; overflow-wrap: anywhere; border-radius: 4px; background: var(--bg-sidebar); color: var(--text-primary); font-size: .68rem; user-select: all; }
.research-connections { display: grid; gap: .4rem; }
.research-connections h4 { margin: 0; color: var(--text-secondary); font-size: .68rem; }
.research-connection-row { padding: .5rem .65rem; }
.research-article-list { display: grid; gap: .55rem; }
.research-article-card { min-width: 0; padding: .8rem; border: 1px solid var(--border-color); border-radius: 6px; background: var(--bg-sidebar); }
.research-article-heading { display: flex; align-items: flex-start; justify-content: space-between; gap: .5rem; }
.research-article-heading h3 { margin: 3px 0 0; color: var(--text-primary); font-size: .9rem; line-height: 1.35; }
.research-citation { display: flex; flex-wrap: wrap; gap: .3rem .65rem; margin-top: .45rem; color: var(--text-secondary); font-size: .63rem; }
.research-citation a { color: var(--primary-blue); text-decoration: none; }
.research-citation a:hover { text-decoration: underline; }
.research-summary { margin: .55rem 0; color: var(--text-secondary); font-size: .71rem; line-height: 1.5; }
.research-reader { margin-top: .55rem; border-top: 1px solid var(--border-color); }
.research-reader summary { padding-top: .55rem; color: var(--primary-blue); cursor: pointer; font-size: .68rem; }
.research-reader-content { max-width: 75ch; padding: .6rem 0 .1rem; color: var(--text-secondary); font-size: .72rem; line-height: 1.65; overflow-wrap: anywhere; }
.research-reader-content h4 { margin: .9rem 0 .35rem; color: var(--text-primary); font-size: .82rem; }
.research-reader-content p { margin: .5rem 0; white-space: pre-wrap; }
.research-reader-content blockquote { margin: .65rem 0; padding: .25rem .7rem; border-left: 3px solid var(--primary-blue); color: var(--text-primary); }
.research-reader-content ul { padding-left: 1.35rem; }
.research-reader-image { margin: .8rem 0; }
.research-reader-image img { display: block; max-width: min(100%, 720px); max-height: 520px; border-radius: 5px; object-fit: contain; }
.research-reader-image figcaption { margin-top: .25rem; color: var(--text-secondary); font-size: .62rem; }
.research-error { margin: 0; color: var(--danger); font-size: .68rem; }
.research-article-card { padding: 1rem; border-radius: 9px; background: var(--bg-card); transition: border-color .16s ease, box-shadow .16s ease; }
.research-article-card:hover { border-color: color-mix(in srgb, var(--primary-blue) 48%, var(--border-color)); box-shadow: 0 8px 22px rgba(0,0,0,.08); }
.research-article-heading h3 { font-size: 1rem; line-height: 1.45; }
.research-citation { gap: .4rem .8rem; font-size: .7rem; line-height: 1.45; }
.research-summary { max-width: 78ch; font-size: .82rem; line-height: 1.7; }
.research-card-actions { display: flex; justify-content: flex-end; margin-top: .7rem; }
.research-open-button,.research-reader-original { display: inline-flex; align-items: center; justify-content: center; gap: .45rem; min-height: 38px; padding: .5rem .75rem; border: 1px solid color-mix(in srgb, var(--primary-blue) 35%, var(--border-color)); border-radius: 6px; background: color-mix(in srgb, var(--primary-blue) 9%, var(--bg-card)); color: var(--primary-blue); font: inherit; font-size: .74rem; font-weight: 700; text-decoration: none; cursor: pointer; transition: background .16s ease, border-color .16s ease, transform .16s ease; }
.research-open-button:hover,.research-reader-original:hover { transform: translateY(-1px); border-color: var(--primary-blue); background: color-mix(in srgb, var(--primary-blue) 15%, var(--bg-card)); }
.research-open-button:focus-visible,.research-reader-toolbar button:focus-visible,.research-reader-original:focus-visible { outline: 3px solid color-mix(in srgb, var(--primary-blue) 48%, transparent); outline-offset: 3px; }
.task-research-list { margin-top: .75rem; }
.task-refresh-status { display: flex; align-items: center; gap: .6rem; margin: .75rem 0; padding: .65rem .8rem; border: 1px solid color-mix(in srgb, var(--warning) 45%, var(--border-color)); border-radius: 7px; background: color-mix(in srgb, var(--warning) 9%, var(--bg-card)); color: var(--text-secondary); font-size: .74rem; line-height: 1.5; }
.task-refresh-status i { color: var(--warning); }
.research-reader-open { overflow: hidden; }
.research-reader-overlay { position: fixed; z-index: 12000; inset: 0; overflow-y: auto; overscroll-behavior: contain; background: var(--bg-dark); color: var(--text-primary); }
.research-reader-overlay[hidden] { display: none !important; }
.research-reader-shell { min-height: 100vh; }
.research-reader-toolbar { position: sticky; z-index: 1; top: 0; display: grid; grid-template-columns: 1fr auto 1fr; align-items: center; gap: 1rem; min-height: 62px; padding: .65rem clamp(1rem, 4vw, 3rem); border-bottom: 1px solid var(--border-color); background: color-mix(in srgb, var(--bg-dark) 92%, transparent); backdrop-filter: blur(14px); }
.research-reader-back { justify-self: start; }
.research-reader-toolbar-label { color: var(--text-secondary); font-size: .67rem; font-weight: 800; letter-spacing: .12em; }
.research-reader-toolbar-label i { margin-right: .35rem; color: var(--primary-blue); }
.research-reader-original { justify-self: end; min-height: 34px; padding: .4rem .65rem; }
.research-reader-article { width: min(100% - 2rem, 790px); margin: 0 auto; padding: clamp(2.5rem, 7vw, 5.5rem) 0 4rem; }
.research-reader-kicker { color: var(--primary-blue); font-size: .75rem; font-weight: 800; letter-spacing: .09em; text-transform: uppercase; }
.research-reader-kicker span { padding: 0 .25rem; color: var(--text-secondary); }
.research-reader-article h1 { max-width: 22ch; margin: 1rem 0 1.25rem; color: var(--text-primary); font-family: Georgia, "Times New Roman", serif; font-size: clamp(2.15rem, 5vw, 3.6rem); font-weight: 600; letter-spacing: -.035em; line-height: 1.12; }
.research-reader-byline { display: flex; flex-wrap: wrap; gap: .45rem 1rem; padding-bottom: 1.25rem; border-bottom: 1px solid var(--border-color); color: var(--text-secondary); font-size: .78rem; }
.research-reader-summary { margin: 1.5rem 0 2rem; padding: 1rem 1.25rem; border-left: 3px solid var(--primary-blue); background: color-mix(in srgb, var(--primary-blue) 7%, var(--bg-card)); color: var(--text-primary); font-size: 1.03rem; line-height: 1.7; }
.research-reader-article-body { color: var(--text-primary); font-family: Georgia, "Times New Roman", serif; font-size: 1.08rem; line-height: 1.88; overflow-wrap: anywhere; }
.research-reader-article-body p { margin: 1.25rem 0; white-space: pre-wrap; }
.research-reader-article-body h2 { margin: 2.5rem 0 .85rem; color: var(--text-primary); font-family: inherit; font-size: 1.55rem; font-weight: 600; letter-spacing: -.02em; line-height: 1.3; }
.research-reader-article-body blockquote { margin: 1.8rem 0; padding: .25rem 0 .25rem 1.25rem; border-left: 3px solid var(--primary-blue); color: var(--text-primary); font-size: 1.2rem; font-style: italic; line-height: 1.65; }
.research-reader-article-body ul { padding-left: 1.5rem; }
.research-reader-article-body li { margin: .45rem 0; padding-left: .2rem; }
.research-reader-image { margin: 2rem 0; }
.research-reader-image img { width: 100%; max-width: 100%; max-height: 660px; border: 1px solid var(--border-color); border-radius: 9px; background: var(--bg-card); object-fit: contain; }
.research-reader-image figcaption { margin-top: .55rem; color: var(--text-secondary); font-family: inherit; font-size: .78rem; line-height: 1.5; }
.research-reader-footer { display: flex; flex-wrap: wrap; justify-content: space-between; gap: .75rem; margin-top: 3rem; padding-top: 1rem; border-top: 1px solid var(--border-color); color: var(--text-secondary); font-family: Arial, sans-serif; font-size: .72rem; line-height: 1.5; }
.research-reader-footer a { color: var(--primary-blue); text-decoration: none; }
.research-reader-footer a:hover { text-decoration: underline; }
@media (max-width: 680px) {
  .research-reader-toolbar { grid-template-columns: 1fr auto; gap: .5rem; min-height: 56px; padding: .55rem .75rem; }
  .research-reader-toolbar-label { display: none; }
  .research-reader-original { min-height: 34px; padding: .38rem .5rem; font-size: .68rem; }
  .research-reader-article { width: calc(100% - 2rem); padding-top: 2.5rem; }
  .research-reader-article h1 { font-size: clamp(2rem, 11vw, 2.65rem); }
  .research-reader-article-body { font-size: 1rem; line-height: 1.78; }
  .research-reader-footer { flex-direction: column; }
}
.story-readiness { margin-top: .85rem; padding-top: .7rem; border-top: 1px solid var(--border-color); }
.readiness-heading,.readiness-foot { display: flex; align-items: center; justify-content: space-between; gap: .5rem; color: var(--text-secondary); font-size: .68rem; }
.readiness-heading strong { color: var(--text-primary); }
.readiness-heading > strong { font-size: 1.05rem; }
.readiness-track { height: 8px; overflow: hidden; margin: 7px 0 5px; border-radius: 10px; background: var(--bg-dark); }
.readiness-track span { display: block; height: 100%; border-radius: inherit; background: var(--primary-blue); transition: width .2s ease; }
.readiness-foot { font-size: .62rem; }
.readiness-alerts { display: flex; flex-wrap: wrap; gap: 5px; margin-top: 8px; }
.readiness-alerts span { padding: 3px 6px; border: 1px solid rgba(228,66,88,.3); border-radius: 10px; background: rgba(228,66,88,.1); color: var(--danger); font-size: 9px; }
.story-detail-grid { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: .6rem; margin-top: .65rem; }
.story-detail-grid > div { display: grid; gap: 3px; padding: .55rem; border: 1px solid var(--border-color); border-radius: 5px; background: var(--bg-dark); }
.story-detail-grid strong { color: var(--text-primary); font-size: .65rem; }
.story-detail-grid span { color: var(--text-secondary); font-size: .68rem; line-height: 1.4; white-space: pre-wrap; }
.story-task-copy { min-width: 0; }
.story-task-copy > span { display: block; margin-top: 3px; }
.story-task-row.overdue { border-left: 3px solid var(--danger); }
.story-task-note { margin: 6px 0 0; color: var(--text-secondary); font-size: .68rem; line-height: 1.45; white-space: pre-wrap; }
.story-task-note strong { display: inline; color: var(--text-primary); font-size: inherit; }
.task-due-overdue { color: var(--danger) !important; font-weight: 700; }
.my-tasks-intro { margin: -.25rem 0 .8rem; color: var(--text-secondary); font-size: .75rem; line-height: 1.5; }
.my-task-summary { display: flex; flex-wrap: wrap; gap: .45rem; margin-bottom: .7rem; }
.my-task-stat { display: flex; align-items: baseline; gap: .35rem; padding: .5rem .7rem; border: 1px solid var(--border-color); border-radius: 6px; background: var(--bg-card); }
.my-task-stat strong { color: var(--text-primary); font-size: 1rem; }
.my-task-stat span { color: var(--text-secondary); font-size: .65rem; }
.my-task-stat.overdue strong { color: var(--danger); }
.my-task-list { display: grid; gap: .55rem; }
.my-task-card { display: grid; grid-template-columns: minmax(0,1fr) auto; align-items: center; gap: .8rem; padding: .8rem; border: 1px solid var(--border-color); border-radius: 7px; background: var(--bg-card); }
.my-task-card.overdue { border-left: 3px solid var(--danger); }
.my-task-card-main { min-width: 0; }
.my-task-card-top { display: flex; align-items: center; justify-content: space-between; gap: .5rem; }
.my-task-card-top .eyebrow { color: var(--text-secondary); font-size: 9px; text-transform: capitalize; }
.my-task-card h3 { margin: .4rem 0 .3rem; color: var(--text-primary); font-size: .95rem; font-weight: 650; }
.my-task-story,.my-task-scheduled,.my-task-deadline,.my-task-file-state { display: flex; align-items: center; gap: .35rem; margin-top: .25rem; color: var(--text-secondary); font-size: .68rem; }
.my-task-story i,.my-task-scheduled i,.my-task-deadline i,.my-task-file-state i { width: 12px; color: var(--info); }
.my-task-story strong { color: var(--text-primary); font-weight: 600; }
.my-task-file-state.missing { color: var(--danger); }
.my-task-file-state.missing i { color: var(--danger); }
.my-task-note { margin: .45rem 0 0; color: var(--text-secondary); font-size: .68rem; line-height: 1.45; white-space: pre-wrap; }
.my-task-note strong { color: var(--text-primary); }
.my-task-actions { display: flex; flex-wrap: wrap; justify-content: flex-end; gap: .35rem; }
.my-task-empty { border: 1px solid var(--border-color); border-radius: 7px; background: var(--bg-card); }
.student-work-toolbar { margin-bottom: .85rem; }
.student-work-grid { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); align-items: start; gap: .9rem; }
.student-work-column { min-width: 0; padding: .9rem; border: 1px solid var(--border-color); border-radius: 8px; background: var(--bg-sidebar); }
.student-work-column-header { display: flex; align-items: center; justify-content: space-between; gap: .6rem; margin-bottom: .25rem; }
.student-work-column-header h2 { margin: .2rem 0 0; color: var(--text-primary); font-size: 1.05rem; }
.student-work-column-header .toolbar-controls { flex: 0 0 auto; }
.student-work-intro { margin: .45rem 0 .75rem; color: var(--text-secondary); font-size: .72rem; line-height: 1.5; }
.my-story-list { display: grid; gap: .6rem; }
.my-story-card { min-width: 0; padding: .8rem; border: 1px solid var(--border-color); border-radius: 7px; background: var(--bg-card); }
.my-story-card-top { display: flex; align-items: center; justify-content: space-between; gap: .5rem; }
.my-story-card-top .eyebrow { color: var(--text-secondary); font-size: 9px; }
.my-story-card h3 { margin: .45rem 0 .5rem; color: var(--text-primary); font-size: .94rem; line-height: 1.35; }
.my-story-meta,.my-story-task-state { display: flex; align-items: center; gap: .4rem; margin-top: .3rem; color: var(--text-secondary); font-size: .69rem; line-height: 1.45; }
.my-story-meta i,.my-story-task-state i { width: 13px; color: var(--info); text-align: center; }
.my-story-task-state:not(.has-tasks) { color: var(--text-secondary); }
.my-story-task-state:not(.has-tasks) i { color: var(--primary-blue); }
.my-story-actions { display: flex; justify-content: flex-start; margin-top: .7rem; }
.my-story-actions .btn-primary { min-height: 34px; padding: .45rem .7rem; font-size: .7rem; }
.student-work-column .my-task-summary { margin-bottom: .6rem; }
.student-work-column .my-task-card { grid-template-columns: minmax(0,1fr); }
.student-work-column .my-task-actions { justify-content: flex-start; }
@media (max-width: 1000px) {
  .student-work-grid { grid-template-columns: minmax(0,1fr); }
}
.task-progress-context { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: .5rem; padding: .65rem; border: 1px solid var(--border-color); border-radius: 6px; background: var(--bg-card); }
.task-progress-context > div { display: grid; gap: 3px; }
.task-progress-context span { color: var(--text-secondary); font-size: 9px; text-transform: uppercase; letter-spacing: .04em; }
.task-progress-context strong { color: var(--text-primary); font-size: .72rem; }
.story-task-actions { display: flex; flex-wrap: wrap; justify-content: end; gap: 4px; }
.story-owner-label { color: var(--text-secondary); font-size: .62rem; text-align: right; }
.story-deadline { display: grid; grid-template-columns: 84px minmax(0,1fr) auto; align-items: center; gap: .6rem; padding: .55rem .2rem; border-top: 1px solid var(--border-color); }
.story-deadline.overdue { border-left: 3px solid var(--danger); padding-left: .5rem; }
.deadline-date { color: var(--text-primary); font-size: .7rem; font-weight: 700; }
.story-deadline.overdue .deadline-date { color: var(--danger); }
.story-deadline strong,.story-deadline small { display: block; }
.story-deadline strong { color: var(--text-primary); font-size: .7rem; }
.story-deadline small { margin-top: 3px; color: var(--text-secondary); font-size: .62rem; }
.deadline-list { margin-top: .3rem; }
.activity-list,.asset-list,.note-list { display: grid; gap: .45rem; }
.activity-item { display: grid; grid-template-columns: 17px minmax(0,1fr); gap: .5rem; padding: .5rem 0; border-top: 1px solid var(--border-color); }
.activity-marker { padding-top: 4px; color: var(--primary-blue); font-size: 7px; }
.activity-item p { margin: 0; color: var(--text-primary); font-size: .72rem; line-height: 1.45; }
.activity-item span:not(.activity-marker) { display: block; margin-top: 3px; color: var(--text-secondary); font-size: .62rem; }
.asset-row { display: grid; grid-template-columns: 18px minmax(0,1fr) auto; align-items: center; gap: .55rem; padding: .55rem; border: 1px solid var(--border-color); border-radius: 5px; background: var(--bg-dark); color: var(--text-secondary); text-decoration: none; }
.asset-row > i:first-child { color: var(--info); }
.asset-row strong,.asset-row small { display: block; overflow-wrap: anywhere; }
.asset-row strong { color: var(--text-primary); font-size: .7rem; }
.asset-row small { margin-top: 3px; color: var(--text-secondary); font-size: .62rem; }
.asset-row:hover { border-color: var(--primary-blue); }
.note-entry { padding: .55rem; border-left: 2px solid var(--info); background: var(--bg-dark); }
.note-entry strong { color: var(--text-primary); font-size: .68rem; }
.note-entry p { margin: 4px 0 0; color: var(--text-secondary); font-size: .7rem; line-height: 1.5; white-space: pre-wrap; }
.note-entry small { display: block; margin-top: 4px; color: var(--text-secondary); font-size: 9px; }
.compact-empty { padding: .9rem .6rem; }
.story-side-metric { display: flex; align-items: baseline; justify-content: space-between; gap: .5rem; padding: .55rem 0; border-top: 1px solid var(--border-color); }
.story-side-metric strong { color: var(--text-primary); font-size: 1rem; }
.story-side-metric span { color: var(--text-secondary); font-size: .66rem; }
.empty-state { padding: 2rem 1rem; color: var(--text-secondary); text-align: center; font-size: .72rem; }
.empty-state i { display: block; margin-bottom: .6rem; color: var(--info); font-size: 1.5rem; opacity: .8; }
.empty-state strong { display: block; margin-bottom: .35rem; color: var(--text-primary); font-size: .95rem; }
.skeleton-row { height: 43px; margin: 6px; border-radius: 5px; background: linear-gradient(90deg,var(--bg-card) 25%,var(--bg-hover) 38%,var(--bg-card) 62%); background-size: 400% 100%; animation: shimmer 1.2s ease infinite; }
@keyframes shimmer { 0% { background-position: 100% 0; } 100% { background-position: 0 0; } }
.toast-region { position: fixed; z-index: 5000; right: 18px; bottom: 18px; display: grid; gap: 6px; }
.toast { max-width: 350px; padding: .65rem .85rem; border: 1px solid var(--border-color); border-radius: 6px; background: var(--bg-sidebar); color: var(--text-primary); box-shadow: 0 6px 20px rgba(0,0,0,.25); font-size: .75rem; animation: panelIn .18s ease-out; }
.toast.error { border-color: var(--danger); }
.modal-backdrop { position: fixed; z-index: 3000; inset: 0; display: flex; align-items: center; justify-content: center; padding: 16px; background: rgba(0,0,0,.68); }
.modal-dialog { width: min(640px,100%); max-height: min(90dvh,900px); overflow: auto; border: 1px solid var(--border-color); border-radius: 10px; background: var(--bg-sidebar); color: var(--text-primary); box-shadow: 0 20px 60px rgba(0,0,0,.48); animation: panelIn .16s ease-out; }
.modal-dialog.wide { width: min(780px,100%); }
.modal-head { display: flex; align-items: center; justify-content: space-between; gap: .6rem; padding: .85rem 1rem; border-bottom: 1px solid var(--border-color); }
.modal-head h2 { margin: 0; color: var(--text-primary); font-size: 1rem; font-weight: 600; }
.modal-close { width: 30px; height: 30px; border: 0; background: transparent; color: var(--text-secondary); cursor: pointer; font-size: 1rem; }
.modal-close:hover { color: var(--text-primary); }
.modal-body { padding: .9rem 1rem; }
.modal-foot { display: flex; justify-content: flex-end; gap: .45rem; padding: .7rem 1rem; border-top: 1px solid var(--border-color); }
.modal-form { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: .65rem; }
.modal-form .field { gap: 4px; }
.modal-form .field label { color: var(--text-secondary); font-size: 9px; font-weight: 700; letter-spacing: .04em; text-transform: uppercase; }
.modal-form .full { grid-column: 1/-1; }
.modal-error { display: none; grid-column: 1/-1; padding: .5rem .6rem; border-radius: 5px; background: rgba(228,66,88,.13); color: var(--danger); font-size: .72rem; }
.modal-error.visible { display: block; }
.modal-help { color: var(--text-secondary); font-size: 9px; line-height: 1.45; }
.check-row { display: flex; align-items: center; gap: 6px; color: var(--text-secondary); font-size: .68rem; }
.availability-result { grid-column: 1/-1; padding: .55rem .65rem; border: 1px solid var(--border-color); border-radius: 5px; background: var(--bg-card); color: var(--text-secondary); font-size: .68rem; line-height: 1.5; }
.availability-result.conflict { border-color: var(--danger); background: rgba(228,66,88,.12); color: var(--text-primary); }
.conflict-list { margin: .55rem 0 0; padding-left: 1.2rem; color: var(--danger); font-size: .72rem; line-height: 1.6; }
.story-planner-dialog { display: flex; flex-direction: column; overflow: hidden; }
.story-planner-dialog .modal-head { flex: 0 0 auto; }
.story-planner-dialog .modal-body { display: flex; min-height: 0; flex: 1 1 auto; flex-direction: column; overflow-y: auto; padding: .75rem 1rem 0; }
.story-planner-dialog #storyPlannerContent { min-height: 0; flex: 1 0 auto; }
.story-planner-stepper { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: .45rem; margin: 0 0 .8rem; padding: 0; list-style: none; }
.story-planner-stepper li { display: flex; min-width: 0; align-items: center; gap: .45rem; padding: .45rem .55rem; border: 1px solid var(--border-color); border-radius: 6px; color: var(--text-secondary); font-size: .66rem; }
.story-planner-stepper li > span { display: grid; width: 22px; height: 22px; flex: 0 0 auto; place-items: center; border-radius: 50%; background: var(--bg-dark); font-size: .62rem; font-weight: 700; }
.story-planner-stepper li strong { overflow: hidden; font-size: inherit; font-weight: 600; text-overflow: ellipsis; white-space: nowrap; }
.story-planner-stepper li.active { border-color: color-mix(in srgb, var(--primary-blue) 55%, var(--border-color)); background: color-mix(in srgb, var(--primary-blue) 8%, var(--bg-card)); color: var(--text-primary); }
.story-planner-stepper li.active > span,.story-planner-stepper li.complete > span { background: var(--primary-blue); color: #fff; }
.story-planner-stepper li.complete { color: var(--success); }
.story-planner-stage { min-width: 0; }
.story-planner-stage h3 { margin: .15rem 0 .25rem; color: var(--text-primary); font-size: 1rem; }
.story-planner-intro { margin: 0 0 .85rem; color: var(--text-secondary); font-size: .72rem; line-height: 1.55; }
.story-planner-template-grid { display: grid; grid-template-columns: repeat(4,minmax(0,1fr)); gap: .5rem; margin-bottom: .75rem; }
.story-planner-template { display: flex; min-width: 0; min-height: 76px; flex-direction: column; align-items: flex-start; gap: .25rem; padding: .65rem; border: 1px solid var(--border-color); border-radius: 7px; background: var(--bg-dark); color: var(--text-secondary); text-align: left; cursor: pointer; transition: border-color .15s ease, background .15s ease; }
.story-planner-template strong { color: var(--text-primary); font-size: .7rem; }
.story-planner-template span { font-size: .62rem; line-height: 1.4; }
.story-planner-template:hover,.story-planner-template.active { border-color: var(--primary-blue); background: color-mix(in srgb, var(--primary-blue) 8%, var(--bg-dark)); }
.story-planner-template:focus-visible,.story-planner-dialog button:focus-visible,.story-planner-choice:focus-within { outline: 2px solid color-mix(in srgb, var(--primary-blue) 70%, transparent); outline-offset: 2px; }
.story-planner-task-list,.story-planner-review-list { display: grid; gap: .55rem; }
.story-planner-task-card,.story-planner-assignment-card,.story-planner-review-card { min-width: 0; padding: .75rem; border: 1px solid var(--border-color); border-radius: 7px; background: var(--bg-card); }
.story-planner-task-top,.story-planner-assignment-heading { display: flex; min-width: 0; align-items: center; justify-content: space-between; gap: .55rem; }
.story-planner-number { display: inline-flex; flex: 0 0 auto; align-items: center; gap: .25rem; color: var(--primary-blue); font-size: .58rem; font-weight: 800; letter-spacing: .08em; }
.story-planner-order-actions { display: flex; flex-wrap: wrap; justify-content: flex-end; gap: .3rem; }
.story-planner-order-actions .mini-button { font-size: .62rem; }
.story-planner-order-actions button:disabled { cursor: not-allowed; opacity: .48; }
.story-planner-task-fields { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: .6rem; margin-top: .65rem; }
.story-planner-task-fields .field { min-width: 0; }
.story-planner-task-fields .field label { color: var(--text-secondary); font-size: .61rem; font-weight: 700; }
.story-planner-task-fields .field input,.story-planner-task-fields .field textarea,.story-planner-task-fields .field select { min-height: 38px; font-size: .74rem; }
.story-planner-task-fields .field textarea { min-height: 62px; }
.story-planner-optional { color: var(--text-secondary); font-size: .58rem; font-weight: 500; text-transform: none; }
.story-planner-prerequisites { min-width: 0; margin: 0; padding: .55rem; border: 1px solid var(--border-color); border-radius: 6px; }
.story-planner-prerequisites legend { padding: 0 .25rem; color: var(--text-secondary); font-size: .63rem; font-weight: 700; }
.story-planner-choice { display: flex; align-items: center; gap: .5rem; padding: .4rem .35rem; border-top: 1px solid var(--border-color); cursor: pointer; }
.story-planner-choice:first-of-type { border-top: 0; }
.story-planner-choice input { width: 16px; min-height: 16px; flex: 0 0 auto; margin: 0; accent-color: var(--primary-blue); }
.story-planner-choice span { display: grid; min-width: 0; gap: 2px; }
.story-planner-choice strong { color: var(--text-primary); font-size: .67rem; }
.story-planner-choice small,.story-planner-independent,.story-planner-prerequisites .modal-help { color: var(--text-secondary); font-size: .6rem; line-height: 1.45; }
.story-planner-independent { margin: .3rem 0; }
.story-planner-prerequisites .modal-help { display: block; margin-top: .4rem; }
.story-planner-add { margin-top: .55rem; }
.story-planner-empty { display: grid; gap: .25rem; padding: 1rem; border: 1px dashed var(--border-color); border-radius: 7px; color: var(--text-secondary); text-align: center; }
.story-planner-empty strong { color: var(--text-primary); font-size: .74rem; }
.story-planner-empty span { font-size: .65rem; line-height: 1.45; }
.story-planner-assignment-card + .story-planner-assignment-card { margin-top: .55rem; }
.story-planner-assignment-heading { justify-content: flex-start; }
.story-planner-assignment-heading > strong { min-width: 0; margin-left: auto; color: var(--text-primary); font-size: .74rem; text-align: right; }
.story-planner-relation { margin: .4rem 0 0; color: var(--text-secondary); font-size: .62rem; line-height: 1.45; }
.story-planner-relation span { display: block; margin-top: .15rem; color: var(--primary-blue); }
.story-planner-assignee-note { padding-top: 1.15rem; color: var(--text-secondary); font-size: .62rem; line-height: 1.4; }
.story-planner-conflict { margin-top: .65rem; padding: .6rem; border: 1px solid color-mix(in srgb, var(--danger) 55%, var(--border-color)); border-radius: 6px; background: color-mix(in srgb, var(--danger) 9%, var(--bg-card)); color: var(--text-primary); font-size: .66rem; line-height: 1.5; }
.story-planner-conflict > strong { color: var(--danger); }
.story-planner-conflict ul { margin: .35rem 0 .55rem; padding-left: 1.1rem; }
.story-planner-conflict label { display: block; margin-bottom: .25rem; color: var(--text-primary); font-weight: 650; }
.story-planner-conflict textarea { width: 100%; min-height: 58px; padding: .45rem .55rem; border: 1px solid var(--border-color); border-radius: 5px; background: var(--bg-dark); color: var(--text-primary); font: inherit; resize: vertical; }
.story-planner-clear { margin-top: .55rem; color: var(--success); font-size: .64rem; }
.story-planner-review-card { display: grid; grid-template-columns: 52px minmax(0,1fr); gap: .5rem; }
.story-planner-review-card > div { display: grid; min-width: 0; gap: .25rem; }
.story-planner-review-card > div > strong { color: var(--text-primary); font-size: .74rem; }
.story-planner-review-card p,.story-planner-review-card small { margin: 0; color: var(--text-secondary); font-size: .63rem; line-height: 1.45; overflow-wrap: anywhere; }
.story-planner-review-card .story-planner-override-summary { color: var(--warning); }
.story-planner-save-progress { padding: .5rem .65rem; border-radius: 5px; background: color-mix(in srgb, var(--warning) 10%, var(--bg-card)); color: var(--text-secondary); font-size: .65rem; }
.story-planner-error { margin: 0 0 .65rem; padding: .55rem .65rem; border: 1px solid color-mix(in srgb, var(--danger) 45%, var(--border-color)); border-radius: 6px; background: color-mix(in srgb, var(--danger) 10%, var(--bg-card)); color: var(--text-primary); font-size: .68rem; line-height: 1.45; }
.story-planner-footer { position: sticky; z-index: 2; bottom: 0; display: flex; justify-content: space-between; gap: .5rem; margin: .9rem -1rem 0; padding: .65rem 1rem; border-top: 1px solid var(--border-color); background: color-mix(in srgb, var(--bg-sidebar) 94%, transparent); }
.story-planner-footer button { min-height: 38px; }
.story-planner-footer button:disabled { cursor: not-allowed; opacity: .55; }
.hidden { display: none !important; }
.task-workspace { display: grid; gap: .75rem; }
.task-workspace-topbar { display: flex; align-items: center; justify-content: space-between; gap: .6rem; }
.task-workspace-hero { display: flex; align-items: flex-start; justify-content: space-between; gap: 1rem; padding: 1rem; border: 1px solid var(--border-color); border-radius: 8px; background: var(--bg-sidebar); }
.task-workspace-hero h2 { margin: .25rem 0; color: var(--text-primary); font-size: 1.35rem; }
.task-workspace-hero p { margin: .35rem 0; color: var(--text-secondary); font-size: .75rem; }
.task-workspace-hero-actions { display: flex; flex-wrap: wrap; align-items: center; justify-content: flex-end; gap: .35rem; }
.task-story-link { border: 0; padding: 0; background: none; color: var(--info); font: inherit; cursor: pointer; text-decoration: underline; text-underline-offset: 2px; }
.task-deliverable-flag { display: inline-flex; gap: 5px; margin-top: .3rem; color: var(--warning); font-size: .68rem; }
.task-workspace-tabs { display: flex; overflow-x: auto; gap: 4px; padding-bottom: 3px; border-bottom: 1px solid var(--border-color); }
.task-workspace-tabs button { flex: 0 0 auto; display: inline-flex; align-items: center; gap: 7px; border: 0; border-bottom: 2px solid transparent; padding: .65rem .7rem; background: transparent; color: var(--text-secondary); font: inherit; font-size: .72rem; cursor: pointer; }
.task-workspace-tabs button.active { border-color: var(--info); color: var(--text-primary); font-weight: 700; }
.task-workspace-tabs button span { display: inline-grid; min-width: 17px; height: 17px; place-items: center; border-radius: 10px; background: var(--bg-card); color: var(--text-secondary); font-size: 9px; }
.task-workspace-panel { min-width: 0; }
.task-overview-grid { display: grid; grid-template-columns: repeat(4,minmax(0,1fr)); gap: .55rem; margin-bottom: .7rem; }
.task-overview-card { display: grid; gap: 4px; min-height: 82px; padding: .7rem; border: 1px solid var(--border-color); border-radius: 7px; background: var(--bg-sidebar); }
.task-overview-card .eyebrow { color: var(--text-secondary); font-size: 9px; }
.task-overview-card strong { color: var(--text-primary); font-size: 1.1rem; }
.task-overview-card > span:last-child { color: var(--text-secondary); font-size: .66rem; }
.task-workspace-columns,.task-notes-layout { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); align-items: start; gap: .7rem; }
.task-workspace-columns > section,.task-notes-layout > section,.task-workspace-subsection { min-width: 0; padding: .8rem; border: 1px solid var(--border-color); border-radius: 7px; background: var(--bg-sidebar); }
.task-workspace-section-head { display: flex; align-items: center; justify-content: space-between; gap: .6rem; margin-bottom: .6rem; }
.task-workspace-section-head h2,.task-workspace-subsection h2 { margin: 2px 0 0; color: var(--text-primary); font-size: .98rem; }
.task-workspace-section-head .work-item-actions { justify-content: flex-end; }
.task-workspace-help { margin: 0 0 .7rem; color: var(--text-secondary); font-size: .7rem; line-height: 1.5; }
.task-workspace-subsection + .task-workspace-subsection { margin-top: .7rem; }
.work-item-list { display: grid; gap: .45rem; }
.work-item-card { display: grid; grid-template-columns: minmax(0,1fr) auto; align-items: center; gap: .7rem; padding: .65rem; border: 1px solid var(--border-color); border-radius: 6px; background: var(--bg-dark); }
.work-item-card.overdue { border-left: 3px solid var(--danger); }
.work-item-main { min-width: 0; }
.work-item-head { display: flex; flex-wrap: wrap; align-items: center; gap: .35rem; }
.work-item-head .eyebrow { color: var(--text-secondary); font-size: 8px; }
.work-item-card h3 { margin: .25rem 0; color: var(--text-primary); font-size: .78rem; }
.work-item-summary { margin: .2rem 0; color: var(--text-secondary); font-size: .68rem; line-height: 1.45; white-space: pre-wrap; overflow-wrap: anywhere; }
.work-item-meta { display: flex; flex-wrap: wrap; gap: .45rem; margin-top: .28rem; color: var(--text-secondary); font-size: 9px; }
.work-item-meta i { color: var(--info); }
.work-item-actions { display: flex; flex-wrap: wrap; align-items: center; justify-content: flex-end; gap: .25rem; }
.work-item-actions .mini-button { padding: .3rem .45rem; }
.task-reminder-alert { display: flex; align-items: center; gap: .6rem; margin-bottom: .7rem; padding: .65rem .75rem; border: 1px solid var(--warning); border-radius: 6px; background: rgba(255,203,0,.1); color: var(--text-primary); }
.task-reminder-alert.late { border-color: var(--danger); background: rgba(228,66,88,.1); }
.task-reminder-alert > i { color: var(--warning); }
.task-reminder-alert.late > i { color: var(--danger); }
.task-reminder-alert div { display: grid; gap: 2px; flex: 1; }
.task-reminder-alert strong { font-size: .72rem; }
.task-reminder-alert span { color: var(--text-secondary); font-size: .65rem; }
.task-update-card,.task-current-progress { padding: .6rem; border: 1px solid var(--border-color); border-radius: 6px; background: var(--bg-dark); }
.task-update-card + .task-update-card,.task-current-progress { margin-top: .45rem; }
.task-update-card p,.task-current-progress p { margin: 0; color: var(--text-primary); font-size: .72rem; line-height: 1.5; white-space: pre-wrap; }
.task-update-card span { display: block; margin-top: .35rem; color: var(--text-secondary); font-size: 9px; }
.task-current-progress .eyebrow { display: block; margin-bottom: .25rem; color: var(--text-secondary); font-size: 8px; }
.task-notes-layout h3 { margin: 0 0 .5rem; color: var(--text-primary); font-size: .82rem; }
.task-workspace-subsection .task-workspace-section-head { margin-bottom: .5rem; }
@media (max-width: 1100px) {
  .editorial-app .sidebar { width: 220px; }
  .editorial-header { align-items: flex-start; }
  .editorial-header .header-left { flex-direction: column; align-items: flex-start; gap: .45rem; }
  .editorial-header .view-tabs { align-self: auto; }
  .edition-mark { display: none; }
  .idea-layout { grid-template-columns: minmax(0,1fr) 210px; }
  .calendar-layout { grid-template-columns: minmax(0,1fr) 225px; }
  .command-grid { grid-template-columns: repeat(2, minmax(0,1fr)); }
}
@media (max-width: 1100px) {
}
@media (max-width: 800px) {
  .editorial-app { display: block; }
  .editorial-app .sidebar { display: block; width: 100%; height: auto; border-right: 0; border-bottom: 1px solid var(--border-color); }
  .editorial-app .sidebar-header { padding: 9px 14px; border: 0; }
  .editorial-app .logo-icon { width: 29px; height: 29px; }
  .desk-label,.editorial-app .sidebar-footer { display: none; }
  .editorial-app .sidebar-nav { display: flex; overflow-x: auto; gap: 3px; padding: 0 8px 8px; }
  .editorial-app .sidebar-nav .nav-divider { display: none; }
  .editorial-app .nav-item { flex: 0 0 auto; padding: 8px 10px; font-size: 10px; }
  .editorial-app .nav-item i { width: auto; }
  .editorial-header { display: flex; align-items: center; padding: 10px 13px; }
  .editorial-header .header-left { flex: 1; }
  .desk-heading h1 { font-size: 1rem; }
  .editorial-header .view-tabs { display: none; }
  .editorial-header .header-right { gap: .45rem; }
  .editorial-body { padding: .8rem .7rem 1.5rem; }
  .command-intro { align-items: flex-start; flex-direction: column; gap: 7px; margin-bottom: 14px; }
  .command-intro p { font-size: .78rem; }
  .command-card { min-height: 165px; padding: 14px; }
  .command-card-icon { width: 32px; height: 32px; margin-bottom: 10px; }
  .pipeline-stage-grid { grid-template-columns: repeat(3, minmax(0,1fr)); }
  .dashboard-lower-grid { grid-template-columns: minmax(0,1fr); }
  .activity-panel { grid-column: auto; }
  .activity-feed { grid-template-columns: minmax(0,1fr); }
  .welcome-strip { grid-template-columns: 1fr auto; gap: 7px; padding: .7rem; }
  .welcome-index { grid-column: 1/-1; }
  .welcome-copy h2 { font-size: .95rem; }
  .welcome-copy p { font-size: .68rem; }
  .section-toolbar { align-items: flex-start; flex-direction: column; }
  .section-toolbar h2 { font-size: 1.1rem; }
  .toolbar-controls { width: 100%; }
  .filter-select { flex: 1; min-width: 120px; }
  .search-field { flex: 1; min-width: 140px; }
  .idea-layout,.calendar-layout,.story-workspace-columns { grid-template-columns: 1fr; }
  .pipeline-aside { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .list-column-head { display: none; }
  .idea-row { grid-template-columns: minmax(0,1fr) 95px; gap: .45rem; padding: .65rem; }
  .idea-row .submitted-by { display: none; }
  .idea-row .status-meta { justify-self: end; }
  .row-chevron { display: none; }
  .calendar-toolbar { align-items: flex-start; }
  .calendar-nav h2 { min-width: 145px; font-size: 1rem; }
  .cal-cell { min-height: 68px; padding: 3px; }
  .cal-event { padding: 3px; font-size: 8px; }
  .agenda-panel { min-height: initial; }
  .agenda-list { display: grid; grid-template-columns: repeat(auto-fit,minmax(160px,1fr)); gap: 0 10px; }
  .agenda-empty { padding: 12px; }
  .appointment-card { grid-template-columns: 56px minmax(0,1fr) auto; gap: .5rem; padding: .55rem; }
  .appointment-card .appointment-assignee { display: none; }
  .appointment-actions { grid-column: 2/-1; justify-content: flex-start; }
  .story-toolbar { flex-wrap: wrap; }
  .story-toolbar-actions { margin-left: auto; }
  .external-row { grid-template-columns: minmax(0,1fr) auto; }
  .external-row > :nth-child(2),.external-row > :nth-child(3) { display: none; }
}
@media (max-width: 520px) {
  .story-planner-dialog { width: 100%; max-height: calc(100dvh - 12px); border-radius: 8px; }
  .story-planner-dialog .modal-body { padding: .65rem .7rem 0; }
  .story-planner-stepper { gap: .25rem; }
  .story-planner-stepper li { flex-direction: column; gap: .25rem; padding: .35rem .2rem; text-align: center; }
  .story-planner-stepper li strong { width: 100%; font-size: .56rem; }
  .story-planner-template-grid { grid-template-columns: repeat(2,minmax(0,1fr)); gap: .4rem; }
  .story-planner-template { min-height: 68px; padding: .5rem; }
  .story-planner-task-card,.story-planner-assignment-card,.story-planner-review-card { padding: .6rem; }
  .story-planner-task-fields { grid-template-columns: minmax(0,1fr); gap: .5rem; }
  .story-planner-order-actions { gap: .2rem; }
  .story-planner-order-actions .mini-button { padding: .28rem .38rem; font-size: .58rem; }
  .story-planner-review-card { grid-template-columns: 1fr; gap: .25rem; }
  .story-planner-footer { margin-right: -.7rem; margin-left: -.7rem; padding-right: .7rem; padding-left: .7rem; }
  .command-grid { grid-template-columns: minmax(0, 1fr); gap: 10px; }
  .command-card { min-height: 150px; }
  .pipeline-stage-grid { grid-template-columns: repeat(2, minmax(0,1fr)); }
  .pipeline-stage { padding: 8px; }
  .pipeline-stage small { font-size: .56rem; }
  .next-episode { align-items: flex-start; flex-direction: column; gap: 10px; }
  .episode-capacity { width: 100%; text-align: left; }
  .dashboard-panel { padding: 12px; }
  .dashboard-panel-heading { align-items: flex-start; }
  .dashboard-exception-tags { max-width: 42%; }
  .editorial-header .header-right { gap: .35rem; }
  .editorial-header .theme-toggle { gap: .1rem; padding: .2rem; }
  .editorial-header .theme-btn { gap: .2rem; padding: .3rem .4rem; font-size: .65rem; }
  .editorial-header .header-right .btn-primary { padding: .5rem .6rem; font-size: .68rem; }
  .desk-heading .eyebrow { font-size: 8px; }
  .welcome-strip { grid-template-columns: 1fr; }
  .welcome-index { grid-column: auto; }
  .welcome-strip .text-button { justify-self: start; padding-left: 0; }
  .pipeline-aside { grid-template-columns: 1fr; }
  .cal-cell { min-height: 54px; }
  .cal-event { width: 7px; height: 7px; padding: 0; border: 0; border-radius: 50%; font-size: 0; }
  .more-events { display: none; }
  .calendar-weekdays span { font-size: 8px; }
  .calendar-nav { gap: 3px; }
  .calendar-nav h2 { min-width: 126px; font-size: .92rem; }
  .story-toolbar-actions { width: 100%; margin-left: 0; }
  .story-toolbar-actions button { flex: 1; }
  .planning-form-grid,.modal-form { grid-template-columns: 1fr; }
  .modal-form .full { grid-column: auto; }
  .story-task-row { grid-template-columns: minmax(0,1fr) auto; }
  .story-task-row > :nth-child(2) { display: inline-flex; }
  .story-task-actions,.story-owner-label { grid-column: 1/-1; justify-content: flex-start; }
  .story-detail-grid { grid-template-columns: 1fr; }
  .story-deadline { grid-template-columns: 64px minmax(0,1fr); }
  .story-deadline > .status-pill { grid-column: 2; justify-self: start; }
  .readiness-foot { align-items: flex-start; flex-direction: column; gap: 3px; }
  .feed-card { grid-template-columns: 1fr; }
  .feed-card-actions { flex-wrap: wrap; justify-content: flex-start; }
  .feed-card .btn-secondary { justify-self: start; }
  .feed-container { grid-template-columns: 1fr; }
  .sources-list { max-height: 260px; grid-template-columns: repeat(auto-fill,minmax(150px,1fr)); }
  .feed-toolbar { padding: .5rem; }
  .feed-filters { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); }
  .feed-filters .filter-select,.feed-filters .filter-input { min-width: 0; width: 100%; }
  .story-task-heading-actions { width: 100%; flex-wrap: wrap; justify-content: space-between; }
  .story-timeline-item { grid-template-columns: 70px 13px minmax(0,1fr); gap: .3rem; }
  .story-timeline-date strong { font-size: .61rem; }
  .story-timeline-unscheduled { margin-left: 83px; }
  .story-timeline-unscheduled-row { flex-wrap: wrap; }
  .story-timeline-unscheduled-row small { margin-left: 0; }
  .appointment-card { grid-template-columns: 48px minmax(0,1fr); }
  .appointment-date-block { grid-row: span 2; }
  .my-task-card { grid-template-columns: 1fr; }
  .my-task-actions { justify-content: flex-start; }
  .task-progress-context { grid-template-columns: 1fr; }
  .task-overview-grid { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .task-workspace-columns,.task-notes-layout { grid-template-columns: 1fr; }
  .task-workspace-hero { flex-direction: column; }
  .task-workspace-hero-actions { justify-content: flex-start; }
  .task-workspace-section-head { align-items: flex-start; flex-direction: column; }
  .task-workspace-section-head .work-item-actions { justify-content: flex-start; }
  .work-item-card { grid-template-columns: 1fr; }
  .work-item-actions { justify-content: flex-start; }
  .task-reminder-alert { align-items: flex-start; flex-wrap: wrap; }
}
@media (prefers-reduced-motion: reduce) {
  *,*::before,*::after { animation-duration: .01ms !important; transition-duration: .01ms !important; scroll-behavior: auto !important; }
}

/* Enterprise story development workspace */
.studio-columns { align-items: start; }
.studio-intro h3 { margin: .25rem 0 .4rem; color: var(--text-primary); font-size: 1.08rem; }
.studio-intro p,.studio-review-card p { color: var(--text-secondary); line-height: 1.55; }
.studio-format-note { padding: .65rem .75rem; border-left: 3px solid var(--primary-blue); border-radius: 4px; background: var(--bg-sidebar); color: var(--text-secondary); font-size: .76rem; line-height: 1.5; }
.studio-add-doc,.studio-action-row,.studio-review-actions,.studio-review-form > div { display: flex; flex-wrap: wrap; align-items: center; gap: .45rem; }
.studio-document { display: grid; gap: .7rem; padding: 1rem; border: 1px solid var(--border-color); border-radius: 8px; background: var(--bg-card); }
.studio-document + .studio-document { margin-top: .75rem; }
.studio-document-head { display: flex; align-items: flex-start; justify-content: space-between; gap: .75rem; }
.studio-document-head h4,.studio-review-card h4 { margin: .2rem 0 0; color: var(--text-primary); font-size: .92rem; }
.studio-template-picker { display: grid; gap: .35rem; padding: .65rem .75rem; border: 1px solid var(--border-color); border-radius: 6px; background: var(--bg-sidebar); }
.studio-template-picker > label { color: var(--text-primary); font-size: .72rem; font-weight: 700; }
.studio-template-picker > div { display: flex; flex-wrap: wrap; gap: .45rem; }
.studio-template-picker select { min-width: min(100%,250px); flex: 1; }
.studio-template-picker small { color: var(--text-muted); font-size: .68rem; line-height: 1.4; }
.studio-template-error { color: var(--danger) !important; }
.studio-rich-toolbar { display: flex; flex-wrap: wrap; align-items: center; gap: .25rem; padding: .35rem; border: 1px solid var(--border-color); border-bottom: 0; border-radius: 6px 6px 0 0; background: var(--bg-sidebar); }
.studio-rich-toolbar button { display: inline-grid; min-width: 30px; height: 30px; place-items: center; border: 1px solid transparent; border-radius: 4px; background: transparent; color: var(--text-primary); font: inherit; font-size: .72rem; cursor: pointer; }
.studio-rich-toolbar button:hover,.studio-rich-toolbar button:focus-visible { border-color: var(--border-color); background: var(--bg-card); outline: none; }
.studio-rich-toolbar > span { width: 1px; height: 20px; margin: 0 .2rem; background: var(--border-color); }
.studio-rich-editor { min-height: 260px; max-height: 65vh; overflow: auto; padding: .8rem; border: 1px solid var(--border-color); border-radius: 0 0 6px 6px; background: var(--bg-card); color: var(--text-primary); font: inherit; line-height: 1.65; white-space: pre-wrap; overflow-wrap: anywhere; }
.studio-rich-editor[contenteditable="true"]:focus { border-color: var(--primary-blue); outline: 2px solid color-mix(in srgb,var(--primary-blue) 18%,transparent); outline-offset: 1px; }
.studio-rich-editor[contenteditable="false"] { opacity: .9; }
.studio-rich-editor:empty::before { content: attr(data-placeholder); color: var(--text-muted); pointer-events: none; }
.studio-rich-editor p,.studio-rich-editor h2,.studio-rich-editor h3,.studio-rich-editor h4 { margin: 0 0 .65rem; }
.studio-rich-editor blockquote { margin: .5rem 0; padding: .25rem .75rem; border-left: 3px solid var(--primary-blue); color: var(--text-secondary); }
.studio-rich-editor ul,.studio-rich-editor ol { padding-left: 1.5rem; }
.studio-rich-editor a { color: var(--primary-blue); text-decoration: underline; text-underline-offset: 2px; }
.studio-rich-editor code,.studio-rich-editor pre { font-family: ui-monospace,SFMono-Regular,Menlo,monospace; }
.studio-rich-editor pre { overflow-x: auto; padding: .5rem; border-radius: 4px; background: var(--bg-sidebar); }
.studio-action-row input,.studio-review-actions textarea,.studio-review-form textarea,.studio-evidence-form input,.studio-evidence-form textarea,.studio-claim-form textarea,.studio-contributor-form select { min-width: 150px; flex: 1; }
.studio-review-actions textarea { min-width: 100%; }
.studio-status { display: inline-flex; align-items: center; padding: .25rem .5rem; border: 1px solid var(--border-color); border-radius: 999px; background: var(--bg-sidebar); color: var(--text-secondary); font-size: .65rem; font-weight: 700; white-space: nowrap; }
.studio-status.approved,.studio-status.verified { border-color: rgba(32,145,91,.4); background: rgba(32,145,91,.12); color: #29a96c; }
.studio-status.revision-requested,.studio-status.disputed { border-color: rgba(203,140,39,.42); background: rgba(203,140,39,.12); color: #d39a38; }
.studio-review-note { margin: 0; padding: .55rem .65rem; border-radius: 5px; background: var(--bg-sidebar); color: var(--text-secondary); font-size: .75rem; white-space: pre-wrap; }
.studio-details { padding-top: .55rem; border-top: 1px solid var(--border-color); }
.studio-details summary { cursor: pointer; color: var(--text-secondary); font-size: .76rem; font-weight: 700; }
.studio-history,.studio-comments { display: grid; gap: .4rem; margin-top: .55rem; }
.studio-history-item,.studio-comment { display: grid; grid-template-columns: auto 1fr; gap: .15rem .5rem; padding: .5rem; border-radius: 5px; background: var(--bg-sidebar); color: var(--text-secondary); font-size: .72rem; }
.studio-history-item small,.studio-comment small { grid-column: 2; color: var(--text-muted); }
.studio-comment p { grid-column: 1/-1; margin: 0; white-space: pre-wrap; }
.studio-muted,.studio-history-item small { color: var(--text-muted); font-size: .7rem; line-height: 1.45; }
.studio-side-title { display: block; margin-top: .55rem; color: var(--text-primary); }
.studio-side-link { display: inline-flex; margin-top: .55rem; text-decoration: none; }
.studio-claim-form,.studio-evidence-form,.studio-contributor-form { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: .65rem; align-items: end; }
.studio-field-wide { grid-column: 1/-1; }
.studio-claim-list,.studio-contributor-list { display: grid; gap: .7rem; }
.studio-claim { display: grid; gap: .55rem; padding: .85rem; border: 1px solid var(--border-color); border-radius: 7px; background: var(--bg-card); }
.studio-claim > header { display: flex; align-items: center; justify-content: space-between; gap: .5rem; }
.studio-claim-text { margin: 0; color: var(--text-primary); font-size: .87rem; font-weight: 600; line-height: 1.5; }
.studio-evidence-list { display: grid; gap: .35rem; }
.studio-evidence { display: flex; gap: .55rem; padding: .55rem; border-radius: 5px; background: var(--bg-sidebar); color: var(--text-secondary); font-size: .73rem; }
.studio-evidence span { display: grid; gap: .2rem; min-width: 0; }
.studio-evidence a { color: var(--primary-blue); overflow-wrap: anywhere; }
.studio-evidence small { color: var(--text-muted); white-space: pre-wrap; }
.studio-review-card { display: grid; grid-template-columns: minmax(0,1fr) minmax(230px,.75fr); gap: .85rem; padding: .8rem 0; border-bottom: 1px solid var(--border-color); }
.studio-review-card:last-child { border-bottom: 0; }
.studio-review-form { display: grid; align-content: start; gap: .4rem; }
.studio-review-form textarea { width: 100%; resize: vertical; }
.studio-checklist { display: grid; gap: .55rem; margin: .7rem 0; }
.studio-check { display: flex; gap: .5rem; align-items: flex-start; color: var(--text-secondary); font-size: .75rem; line-height: 1.4; }
.studio-check i { margin-top: .08rem; color: var(--text-muted); }
.studio-check.complete i { color: #29a96c; }
.studio-check small { color: var(--text-muted); }
.studio-channel-grid { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: .5rem; margin-bottom: .65rem; }
.studio-channel { display: flex; align-items: center; gap: .45rem; min-height: 38px; padding: .45rem .6rem; border: 1px solid var(--border-color); border-radius: 6px; background: var(--bg-sidebar); color: var(--text-primary); font-size: .76rem; cursor: pointer; }
.studio-channel input { accent-color: var(--primary-blue); }
.studio-contributor { display: flex; align-items: center; gap: .55rem; padding: .55rem; border: 1px solid var(--border-color); border-radius: 6px; }
.studio-contributor > span:nth-child(2) { display: grid; flex: 1; gap: .12rem; color: var(--text-primary); font-size: .76rem; }
.studio-contributor small { color: var(--text-muted); }
.studio-avatar { display: grid; width: 30px; height: 30px; place-items: center; border-radius: 50%; background: var(--bg-sidebar); color: var(--text-secondary); font-size: .65rem; font-weight: 700; }
.studio-handoff { width: 100%; margin: .5rem 0; background: #25834f; border-color: #25834f; }
.studio-handoff:hover { background: #1c6e41; }
.studio-readiness-card h3 { margin: .25rem 0; color: var(--text-primary); font-size: .95rem; }
@media (max-width: 720px) {
  .studio-review-card,.studio-claim-form,.studio-evidence-form,.studio-contributor-form { grid-template-columns: minmax(0,1fr); }
  .studio-field-wide { grid-column: auto; }
  .studio-channel-grid { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .studio-document-head { flex-direction: column; }
  .studio-template-picker > div { align-items: stretch; flex-direction: column; }
  .studio-template-picker select { width: 100%; }
  .studio-rich-editor { min-height: 220px; }
}
.pipeline-assessment { margin-top: 12px; }
.assessment-heading { align-items: center; }
.pipeline-filters { display: grid; grid-template-columns: minmax(180px,1.45fr) repeat(4,minmax(130px,1fr)); gap: 7px; margin-top: 14px; }
.pipeline-filters > label { min-width: 0; }
.pipeline-filters .filter-select { width: 100%; min-width: 0; height: 36px; }
.pipeline-search { display: flex; min-width: 0; align-items: center; gap: 7px; padding: 0 9px; border: 1px solid var(--ec-line); border-radius: 6px; background: var(--ec-surface); color: var(--ec-muted); }
.pipeline-search input { width: 100%; min-width: 0; height: 34px; border: 0; outline: 0; background: transparent; color: var(--ec-ink); font: inherit; font-size: .72rem; }
.pipeline-search input::placeholder { color: var(--ec-muted); }
.pipeline-assessment-meta { display: flex; align-items: center; justify-content: space-between; gap: 12px; margin: 10px 0 6px; color: var(--ec-muted); font-size: .66rem; }
.pipeline-assessment-meta label { display: flex; align-items: center; gap: 6px; cursor: pointer; }
.pipeline-assessment input[type="checkbox"],.pipeline-notice-recipient input { accent-color: var(--ec-accent); }
.pipeline-table-shell { max-height: 620px; overflow: auto; border: 1px solid var(--ec-line); border-radius: 7px; }
.pipeline-table { min-width: 1040px; margin: 0; }
.pipeline-table th { position: sticky; top: 0; z-index: 1; background: var(--ec-surface); }
.pipeline-table td { vertical-align: top; }
.pipeline-table td:first-child,.pipeline-table th:first-child { width: 48px; text-align: center; }
.pipeline-table td:last-child,.pipeline-table th:last-child { width: 72px; }
.pipeline-row-risk { background: color-mix(in srgb, var(--ec-danger) 3%, var(--ec-card)); }
.pipeline-story-cell { display: grid; min-width: 190px; gap: 5px; }
.pipeline-story-cell > strong,.pipeline-table td > strong { color: var(--ec-ink); font-size: .73rem; line-height: 1.35; }
.pipeline-story-cell small,.pipeline-table td small { display: block; margin-top: 3px; color: var(--ec-muted); font-size: .62rem; line-height: 1.4; }
.pipeline-stage-label { width: fit-content; padding: 3px 6px; border-radius: 5px; background: color-mix(in srgb, var(--ec-accent) 10%, var(--ec-card)); color: var(--ec-accent); font-size: .58rem; font-weight: 700; }
.pipeline-stage-label.assigned { background: color-mix(in srgb, var(--ec-success) 12%, var(--ec-card)); color: var(--ec-success); }
.pipeline-stage-label.pitch { background: color-mix(in srgb, var(--ec-warning) 12%, var(--ec-card)); color: var(--ec-warning); }
.pipeline-owner-list { display: block; max-width: 220px; overflow-wrap: anywhere; color: var(--ec-ink); font-size: .67rem; line-height: 1.4; }
.pipeline-signals { display: flex; min-width: 200px; flex-wrap: wrap; gap: 4px; }
.pipeline-signal { padding: 3px 5px; border-radius: 4px; background: color-mix(in srgb, var(--ec-warning) 12%, var(--ec-card)); color: var(--ec-warning); font-size: .56rem; line-height: 1.35; }
.pipeline-signal.risk { background: color-mix(in srgb, var(--ec-danger) 11%, var(--ec-card)); color: var(--ec-danger); }
.pipeline-clear { color: var(--ec-success); font-size: .61rem; }
.pipeline-pager { display: flex; align-items: center; justify-content: space-between; gap: 10px; margin-top: 9px; color: var(--ec-muted); font-size: .65rem; }
.pipeline-pager > div { display: flex; gap: 6px; }
.pipeline-pager .btn-secondary,.assessment-heading .btn-secondary { padding: .42rem .65rem; font-size: .68rem; }
.pipeline-pager button:disabled { cursor: not-allowed; opacity: .45; }
.pipeline-notice-note { display: flex; align-items: flex-start; gap: 7px; margin: 10px 0 0; color: var(--ec-muted); font-size: .63rem; line-height: 1.45; }
.pipeline-notice-note i { margin-top: 2px; color: var(--ec-accent); }
.pipeline-data-warning { margin-top: 9px; padding: 8px 10px; border: 1px solid color-mix(in srgb, var(--ec-warning) 35%, var(--ec-line)); border-radius: 6px; background: color-mix(in srgb, var(--ec-warning) 9%, var(--ec-card)); color: var(--ec-warning); font-size: .66rem; line-height: 1.45; }
.pipeline-notice-form .modal-help { padding: 8px 10px; border-radius: 6px; background: var(--bg-hover); color: var(--text-secondary); line-height: 1.5; }
.pipeline-notice-recipients { min-width: 0; grid-column: 1 / -1; margin: 0; padding: 10px; border: 1px solid var(--border-color); border-radius: 7px; }
.pipeline-notice-recipients legend { padding: 0 5px; color: var(--text-primary); font-size: .77rem; font-weight: 650; }
.pipeline-notice-recipients legend span { margin-left: 5px; color: var(--text-secondary); font-weight: 400; }
.pipeline-notice-recipient-list { display: grid; max-height: 220px; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 6px; overflow-y: auto; }
.pipeline-notice-recipient { display: flex; min-width: 0; align-items: flex-start; gap: 8px; padding: 7px; border: 1px solid var(--border-color); border-radius: 6px; }
.pipeline-notice-recipient span { display: grid; min-width: 0; gap: 3px; }
.pipeline-notice-recipient strong { color: var(--text-primary); font-size: .7rem; }
.pipeline-notice-recipient small { color: var(--text-secondary); font-size: .59rem; line-height: 1.35; }
@media (max-width: 900px) {
  .pipeline-filters { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .pipeline-search { grid-column: 1 / -1; }
}
@media (max-width: 620px) {
  .assessment-heading { align-items: flex-start; flex-direction: column; }
  .assessment-heading .btn-secondary { width: 100%; }
  .pipeline-filters { grid-template-columns: minmax(0,1fr); }
  .pipeline-search { grid-column: auto; }
  .pipeline-notice-recipient-list { grid-template-columns: minmax(0,1fr); }
}
.pipeline-assessment { margin-top: 10px; }
.pipeline-view-tabs { display: flex; gap: 4px; margin: 12px 0 10px; overflow-x: auto; border-bottom: 1px solid var(--ec-line); }
.pipeline-view-tabs [role="tab"] { display: inline-flex; min-height: 38px; align-items: center; gap: 6px; padding: 0 11px; border: 0; border-bottom: 2px solid transparent; background: transparent; color: var(--ec-muted); font: inherit; font-size: .7rem; font-weight: 650; white-space: nowrap; cursor: pointer; }
.pipeline-view-tabs [role="tab"]:hover { color: var(--ec-ink); }
.pipeline-view-tabs [role="tab"][aria-selected="true"] { border-bottom-color: var(--ec-accent); color: var(--ec-accent); }
.pipeline-view-tabs [role="tab"] span { min-width: 18px; padding: 2px 5px; border-radius: 999px; background: color-mix(in srgb, var(--ec-danger) 12%, var(--ec-card)); color: var(--ec-danger); font-size: .58rem; text-align: center; }
.pipeline-quick-filters { display: grid; grid-template-columns: repeat(auto-fit,minmax(140px,1fr)); gap: 7px; margin: 0 0 10px; }
.pipeline-metric { display: flex; min-width: 0; min-height: 54px; align-items: center; justify-content: space-between; gap: 8px; padding: 8px 10px; border: 1px solid var(--ec-line); border-radius: 7px; background: var(--ec-surface); color: var(--ec-muted); font: inherit; font-size: .66rem; text-align: left; cursor: pointer; transition: border-color .15s,background .15s; }
.pipeline-metric[hidden] { display: none; }
.pipeline-metric:hover,.pipeline-metric.active { border-color: var(--ec-accent); background: color-mix(in srgb, var(--ec-accent) 7%, var(--ec-surface)); color: var(--ec-ink); }
.pipeline-metric strong { color: var(--ec-ink); font-size: 1.05rem; font-variant-numeric: tabular-nums; }
.pipeline-metric[data-pipeline-metric="attention"] strong,.pipeline-metric[data-pipeline-metric="publication"] strong { color: var(--ec-danger); }
.pipeline-metric[data-pipeline-metric="schedule"] strong,.pipeline-metric[data-pipeline-metric="files"] strong { color: var(--ec-warning); }
.pipeline-metric:disabled { cursor: not-allowed; opacity: .65; }
.pipeline-overview { padding: 12px; border: 1px solid var(--ec-line); border-radius: 7px; background: var(--ec-surface); }
.pipeline-overview-copy { display: flex; align-items: baseline; justify-content: space-between; gap: 10px; margin-bottom: 8px; }
.pipeline-overview-copy strong { color: var(--ec-ink); font-size: .8rem; }
.pipeline-overview-copy span { color: var(--ec-muted); font-size: .64rem; text-align: right; }
.pipeline-overview-list { display: grid; gap: 5px; }
.pipeline-overview-row { display: flex; min-width: 0; align-items: center; justify-content: space-between; gap: 10px; padding: 8px 0; border-top: 1px solid var(--ec-line); }
.pipeline-overview-row > div { display: grid; min-width: 0; gap: 4px; }
.pipeline-overview-row strong { color: var(--ec-ink); font-size: .7rem; }
.pipeline-overview-row small { color: var(--ec-muted); font-size: .6rem; }
.pipeline-overview-row .pipeline-signals { min-width: 0; }
.pipeline-more-signals { color: var(--ec-muted); font-size: .58rem; }
.pipeline-list-toolbar { display: flex; align-items: center; gap: 8px; margin-top: 4px; }
.pipeline-list-toolbar .pipeline-search { flex: 1 1 260px; }
.pipeline-advanced-filters { position: relative; flex: 0 0 auto; }
.pipeline-advanced-filters summary { display: flex; min-height: 36px; align-items: center; gap: 6px; padding: 0 10px; border: 1px solid var(--ec-line); border-radius: 6px; background: var(--ec-surface); color: var(--ec-ink); font-size: .67rem; font-weight: 600; list-style: none; cursor: pointer; }
.pipeline-advanced-filters summary::-webkit-details-marker { display: none; }
.pipeline-advanced-filters[open] summary { border-color: var(--ec-accent); color: var(--ec-accent); }
.pipeline-advanced-filters .pipeline-filters { position: absolute; top: calc(100% + 6px); right: 0; z-index: 3; display: grid; width: min(640px,calc(100vw - 40px)); grid-template-columns: repeat(2,minmax(0,1fr)); gap: 7px; margin-top: 0; padding: 10px; border: 1px solid var(--ec-line); border-radius: 8px; background: var(--ec-card); box-shadow: 0 14px 35px rgba(15,23,42,.18); }
.pipeline-assessment-summary { flex: 0 1 auto; color: var(--ec-muted); font-size: .63rem; white-space: nowrap; }
.pipeline-assessment-meta { justify-content: flex-end; margin: 8px 0 5px; }
.pipeline-table td:last-child,.pipeline-table th:last-child { width: 132px; }
.pipeline-row-actions { display: flex; flex-wrap: wrap; gap: 4px; }
.pipeline-row-actions .table-btn { padding: 4px 6px; font-size: .59rem; }
.pipeline-detail-backdrop:not([hidden]) { position: fixed; inset: 0; z-index: 1200; background: rgba(10,18,30,.48); }
.pipeline-detail-tray:not([hidden]) { position: fixed; inset: 0 0 0 auto; z-index: 1201; display: flex; width: min(480px,94vw); height: 100dvh; flex-direction: column; border-left: 1px solid var(--ec-line); background: var(--ec-card); color: var(--ec-ink); box-shadow: -18px 0 48px rgba(10,18,30,.18); animation: pipeline-tray-in .18s ease-out; }
.pipeline-detail-tray[hidden],.pipeline-detail-backdrop[hidden] { display: none; }
@keyframes pipeline-tray-in { from { transform: translateX(24px); opacity: .7; } to { transform: translateX(0); opacity: 1; } }
.pipeline-detail-heading { display: flex; align-items: center; justify-content: space-between; gap: 12px; padding: 17px 18px 13px; border-bottom: 1px solid var(--ec-line); }
.pipeline-detail-heading h3 { margin: 4px 0 0; color: var(--ec-ink); font-size: 1rem; }
.pipeline-detail-content { flex: 1; overflow-y: auto; padding: 6px 18px 16px; }
.pipeline-detail-section { padding: 12px 0; border-bottom: 1px solid var(--ec-line); }
.pipeline-detail-section h4 { margin: 0 0 8px; color: var(--ec-ink); font-size: .75rem; }
.pipeline-detail-section p { margin: 7px 0; color: var(--ec-muted); font-size: .68rem; line-height: 1.5; overflow-wrap: anywhere; }
.pipeline-detail-section p strong { color: var(--ec-ink); }
.pipeline-detail-empty { color: var(--ec-muted); font-size: .67rem; }
.pipeline-detail-people,.pipeline-detail-tasks,.pipeline-detail-studio ul { display: grid; gap: 6px; margin: 0; padding: 0; list-style: none; }
.pipeline-detail-people li,.pipeline-detail-tasks li { display: grid; gap: 4px; padding: 8px; border: 1px solid var(--ec-line); border-radius: 6px; background: var(--ec-surface); }
.pipeline-detail-people li strong,.pipeline-detail-task-heading strong,.pipeline-detail-studio > strong { color: var(--ec-ink); font-size: .67rem; }
.pipeline-detail-people li small,.pipeline-detail-tasks li small { color: var(--ec-muted); font-size: .6rem; line-height: 1.4; }
.pipeline-detail-task-heading { display: flex; align-items: center; justify-content: space-between; gap: 8px; }
.pipeline-detail-missing { color: var(--ec-danger) !important; font-weight: 700; }
.pipeline-detail-studio li { display: flex; gap: 7px; color: var(--ec-muted); font-size: .65rem; line-height: 1.4; }
.pipeline-detail-studio li.complete i { color: var(--ec-success); }
.pipeline-detail-studio li.pending i { color: var(--ec-warning); }
.pipeline-detail-actions { padding: 12px 18px; border-top: 1px solid var(--ec-line); background: var(--ec-card); }
.pipeline-detail-actions button { width: 100%; }
body.pipeline-detail-open { overflow: hidden; }
@media (max-width: 780px) {
  .pipeline-quick-filters { grid-template-columns: repeat(3,minmax(0,1fr)); }
  .pipeline-list-toolbar { align-items: stretch; flex-wrap: wrap; }
  .pipeline-list-toolbar .pipeline-search { flex-basis: 100%; }
  .pipeline-advanced-filters .pipeline-filters { right: auto; left: 0; }
}
@media (max-width: 520px) {
  .pipeline-quick-filters { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .pipeline-overview-copy { align-items: flex-start; flex-direction: column; }
  .pipeline-overview-copy span { text-align: left; }
  .pipeline-advanced-filters { width: 100%; }
  .pipeline-advanced-filters summary { justify-content: center; }
  .pipeline-advanced-filters .pipeline-filters { width: 100%; grid-template-columns: minmax(0,1fr); }
  .pipeline-assessment-summary { width: 100%; }
}
