/* 工作台：以“从最近编辑的台词继续处理”为唯一首屏任务。 */
.app { grid-template-columns: 248px minmax(0, 1fr); }
.sidebar { padding: var(--space-2); gap: var(--space-3); background: var(--color-nav); color: var(--color-text-primary); border-right: 1px solid var(--color-border-default); }
.brand { padding: var(--space-2) var(--space-2) var(--space-3); border-bottom: 1px solid var(--color-border-default); }
.brand-lockup { display: flex; align-items: center; gap: var(--space-2); }
.brand-symbol { width: 32px; height: 32px; display: grid; place-items: center; border: 1px solid var(--color-border-default); border-radius: 8px; background: var(--color-surface-base); color: var(--color-text-primary); font-size: 14px; font-weight: var(--weight-bold); box-shadow: var(--shadow-card); }
.brand h1 { color: var(--color-text-primary); font-size: 16px; line-height: 1.2; }
.brand p { margin: var(--space-1) 0 0; color: var(--color-text-tertiary); font-size: 11px; letter-spacing: 0; }
.nav { gap: var(--space-1); }
.nav button { min-height: 36px; padding: 0 var(--space-2); border-radius: 8px; color: var(--color-text-secondary); font-weight: var(--weight-medium); }
.nav button:hover { background: var(--color-nav-hover); color: var(--color-text-primary); }
.nav button.active { background: var(--color-nav-active); color: var(--color-text-primary); box-shadow: inset 0 0 0 1px var(--color-border-default); }
.mark { width: 22px; height: 22px; color: var(--color-text-secondary); background: var(--color-surface-subtle); border-radius: 6px; font-weight: var(--weight-medium); }
.side-card { margin: auto var(--space-1) var(--space-1); padding: var(--space-3); border: 1px solid var(--color-border-default); border-radius: var(--radius-card); background: var(--color-surface-base); box-shadow: var(--shadow-card); }
.side-card strong { color: var(--color-text-primary); }
.side-card span { color: var(--color-text-secondary); }

.topbar { height: 56px; flex-basis: 56px; padding: 0 var(--space-4); background: rgb(255 255 255 / 88%); border-bottom: 1px solid var(--color-border-default); }
.topbar h2 { font-size: var(--font-title); font-weight: var(--weight-bold); }
.content { padding: var(--space-3) var(--space-4) var(--space-4); background: var(--color-surface-page); }

#dashboard.active { grid-template-rows: 176px minmax(0, 1fr); gap: var(--space-3); }
.dashboard-hero { min-width: 0; border: 1px solid var(--color-border-default); border-radius: var(--radius-card); background: var(--color-surface-base); box-shadow: var(--shadow-card); padding: var(--space-4); display: grid; grid-template-columns: minmax(0, 1fr) 220px 132px; align-items: center; gap: var(--space-4); overflow: hidden; }
.hero-main { min-width: 0; }
.eyebrow { display: inline-flex; align-items: center; gap: var(--space-2); color: var(--color-text-secondary); font-size: var(--font-helper); font-weight: var(--weight-medium); }
.status-dot { width: 8px; height: 8px; border-radius: 999px; background: var(--color-state-success); box-shadow: 0 0 0 3px rgb(21 128 61 / 12%); }
.dashboard-hero h3 { margin: var(--space-2) 0; color: var(--color-text-primary); font-size: var(--font-title); line-height: 1.3; }
.dashboard-hero p { max-width: 620px; margin: 0; color: var(--color-text-secondary); font-size: var(--font-body); line-height: var(--line-height-body); }
.hero-meta { display: flex; gap: var(--space-3); margin-top: var(--space-3); color: var(--color-text-secondary); font-size: var(--font-helper); }
.hero-meta span { display: inline-flex; align-items: center; min-height: 24px; padding: 0 var(--space-2); border: 1px solid var(--color-border-default); border-radius: 999px; background: var(--color-surface-muted); }
.hero-meta span + span { padding-left: var(--space-2); border-left: 1px solid var(--color-border-default); }
.hero-script-state { display: flex; align-items: center; gap: var(--space-2); min-width: 0; padding: var(--space-3); border: 1px solid var(--color-border-default); border-radius: var(--radius-card); background: var(--color-surface-muted); }
.script-state-icon { width: 36px; height: 36px; display: grid; place-items: center; border-radius: 8px; background: var(--color-state-success-soft); color: var(--color-state-success); font-size: 14px; font-weight: var(--weight-bold); }
.hero-script-state strong { display: block; color: var(--color-text-primary); font-size: var(--font-body); }
.hero-script-state p { margin: var(--space-1) 0 0; color: var(--color-text-secondary); font-size: var(--font-helper); }
.hero-action { display: flex; flex-direction: column; align-items: stretch; gap: var(--space-2); min-width: 128px; }
.hero-action .btn.primary { min-height: 40px; box-shadow: none; }

.dashboard-workspace { min-height: 0; display: grid; grid-template-columns: minmax(0, 1fr) 312px; gap: var(--space-3); }
.dashboard-primary-column, .dashboard-side-column { min-width: 0; min-height: 0; }
.dashboard-primary-column { display: grid; grid-template-rows: auto auto auto minmax(0, 1fr); gap: var(--space-2); }
.section-heading { display: flex; justify-content: space-between; align-items: center; min-height: 40px; }
.section-heading h3 { margin: 0; color: var(--color-text-primary); font-size: 16px; font-weight: var(--weight-bold); }
.section-heading p { margin: var(--space-1) 0 0; color: var(--color-text-secondary); font-size: var(--font-helper); }
.section-heading.compact { min-height: auto; align-items: flex-start; }
.readiness-list { border: 1px solid var(--color-border-default); border-radius: var(--radius-card); background: var(--color-surface-base); overflow: hidden; box-shadow: var(--shadow-card); }
.readiness-item { min-height: 68px; padding: var(--space-2) var(--space-3); display: grid; grid-template-columns: 32px minmax(0, 1fr) auto; align-items: center; gap: var(--space-3); border-bottom: 1px solid var(--color-border-default); }
.readiness-item:last-child { border-bottom: 0; }
.readiness-item.is-warning { background: linear-gradient(90deg, var(--color-state-warning-soft), #fff 44%); }
.readiness-item.is-complete { background: linear-gradient(90deg, var(--color-state-success-soft), #fff 44%); }
.readiness-icon { width: 32px; height: 32px; display: grid; place-items: center; border: 1px solid var(--color-border-default); border-radius: 8px; background: var(--color-surface-muted); color: var(--color-text-secondary); font-size: var(--font-helper); font-weight: var(--weight-bold); }
.is-warning .readiness-icon { color: var(--color-state-warning); background: #fff7ed; border-color: #fed7aa; }
.is-complete .readiness-icon { color: var(--color-state-success); background: #f0fdf4; border-color: #bbf7d0; }
.readiness-content { min-width: 0; }
.readiness-content strong, .script-row strong { display: block; color: var(--color-text-primary); font-size: var(--font-body); font-weight: var(--weight-medium); }
.readiness-content span, .script-row span { display: block; margin-top: var(--space-1); color: var(--color-text-secondary); font-size: var(--font-helper); white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.recent-heading { margin-top: var(--space-2); }
.recent-scripts { min-height: 0; border: 1px solid var(--color-border-default); border-radius: var(--radius-card); background: var(--color-surface-base); overflow: hidden; box-shadow: var(--shadow-card); }
.script-row { min-height: 60px; display: grid; grid-template-columns: 32px minmax(0, 1fr) auto auto; align-items: center; gap: var(--space-3); padding: var(--space-2) var(--space-3); border-bottom: 1px solid var(--color-border-default); }
.script-row:last-child { border-bottom: 0; }
.script-row-icon { width: 32px; height: 32px; display: grid; place-items: center; border: 1px solid var(--color-border-default); border-radius: 8px; color: var(--color-text-secondary); background: var(--color-surface-muted); font-size: var(--font-helper); font-weight: var(--weight-bold); }

.dashboard-side-column { display: grid; grid-template-rows: auto auto minmax(0, 1fr); gap: var(--space-3); }
.dashboard-card { min-width: 0; border: 1px solid var(--color-border-default); border-radius: var(--radius-card); background: var(--color-surface-base); padding: var(--space-3); box-shadow: var(--shadow-card); overflow: hidden; }
.member-stack { display: flex; align-items: center; margin-top: var(--space-3); }
.avatar { width: 30px; height: 30px; display: grid; place-items: center; margin-right: -6px; border: 2px solid #fff; border-radius: 999px; color: #fff; font-size: var(--font-helper); font-weight: var(--weight-bold); }
.avatar-a { background: #0f172a; }.avatar-b { background: #475569; }.avatar-c { background: #64748b; }
.member-more { width: 30px; height: 30px; display: grid; place-items: center; margin-left: var(--space-2); border-radius: 999px; background: var(--color-surface-subtle); color: var(--color-text-secondary); font-size: var(--font-helper); }
.session-divider { height: 1px; margin: var(--space-3) 0; background: var(--color-border-default); }
.device-row { display: flex; align-items: center; gap: var(--space-2); }
.device-row strong, .device-row small { display: block; font-size: var(--font-helper); }
.device-row small { margin-top: var(--space-1); color: var(--color-text-secondary); }
.device-indicator { color: var(--color-state-success); font-size: 16px; }
.quota-value { color: var(--color-text-primary); font-size: 20px; font-weight: var(--weight-bold); }.quota-value span { color: var(--color-text-secondary); font-size: var(--font-helper); font-weight: var(--weight-regular); }
.quota-track { height: 6px; overflow: hidden; margin: var(--space-3) 0 var(--space-2); border-radius: 999px; background: var(--color-surface-subtle); }.quota-track span { display: block; width: 38%; height: 100%; border-radius: inherit; background: var(--color-action-primary); }
.quota-copy { margin: 0 0 var(--space-3); color: var(--color-text-secondary); font-size: var(--font-helper); }
.notice-card ul { display: grid; gap: var(--space-3); margin: var(--space-3) 0 0; padding: 0; list-style: none; }.notice-card li { display: grid; gap: var(--space-1); }.notice-card li span { color: var(--color-text-primary); font-size: var(--font-helper); line-height: 1.5; }.notice-card time { color: var(--color-text-tertiary); font-size: var(--font-helper); }

@media (max-width: 1180px) {
  #dashboard.active { grid-template-rows: auto minmax(0, 1fr); }
  .dashboard-hero { grid-template-columns: minmax(0, 1fr) auto; }.hero-action { grid-column: 1 / -1; flex-direction: row; align-items: center; }.dashboard-workspace { grid-template-columns: minmax(0, 1fr) 272px; }
}

/* 低高度笔记本：保留首屏决策信息，次级动态在自身区域滚动。 */
@media (max-height: 760px) {
  #dashboard.active { grid-template-rows: 168px minmax(0, 1fr); }
  .dashboard-hero { padding: var(--space-3) var(--space-4); gap: var(--space-4); }
  .hero-meta { margin-top: var(--space-2); }
  .dashboard-workspace { overflow: hidden; }
  .dashboard-primary-column { grid-template-rows: 40px 192px 40px 74px; align-content: start; }
  .readiness-item { min-height: 64px; padding: var(--space-2) var(--space-3); }
  .recent-scripts { overflow: hidden; }
  .recent-scripts .script-row:nth-child(n + 2),
  .notice-card { display: none; }
  .dashboard-side-column { min-height: 0; overflow: hidden; grid-template-rows: auto auto; align-content: start; }
  .dashboard-card { padding: var(--space-2) var(--space-3); }
  .member-stack { margin-top: var(--space-2); }
  .session-divider { margin: var(--space-2) 0; }
  .quota-track { margin: var(--space-2) 0; }
  .quota-copy { margin-bottom: var(--space-2); }
  .notice-card ul { margin-top: var(--space-2); gap: var(--space-2); }
}
