/* Shared lavender and blush theme, based on the user's review-dashboard reference. */
:root {
  --ink: #1d2945;
  --muted: #7885a0;
  --line: #e9e5f0;
  --canvas: #f7f6fa;
  --card: #fff;
  --blue: #8662ad;
  --blue2: #76519e;
  --soft: #f3ecfa;
  --nav: #f7f1fa;
}
body { background: var(--canvas); }
main, main:has(.hero) { background: radial-gradient(circle at 95% 0%, #fbf2f9 0, transparent 30%), var(--canvas); }
main { padding-top: 28px; }
.sidebar { color: var(--ink); background: #f8f3fa; border-right: 1px solid #e8ddee; }
.brand { padding-bottom: 30px; }
.brand small, .sidebar-foot small { color: #8a7d9e; }
.nav-item { color: #675d79; border: 1px solid transparent; border-radius: 12px; }
.nav-item:hover { color: #4b356b; background: #efe4f5; }
.nav-item.active { color: #50346f; background: #e9d9f3; border-color: #dcc4eb; box-shadow: 0 4px 12px #a982c321; }
.sidebar-foot { border-top-color: #e7dceb; }
.topbar { align-items: center; margin-bottom: 24px; }
.eyebrow, .guide-kicker, .course-kicker { color: #8c69b1; }
.topbar h1 { font-size: clamp(25px, 2.2vw, 32px); letter-spacing: -.025em; }
.page { padding-bottom: 10px; }
.section-intro { border-bottom-color: var(--line); }
.section-intro h2, .panel-head h2, .panel-head h3 { letter-spacing: -.02em; }
.panel, .metric, .project, .project-banner, .editor-card, .library-card,
.course-head, .ai-connect, .course-switcher, .course-current-label, .flow-step,
.content-type, .funnel-card, .history-box, .automation-output, .material-photo {
  border-color: var(--line);
  box-shadow: 0 8px 24px #35264d0a;
}
.panel, .editor-card { border-radius: 18px; }
.metric, .library-card, .content-type, .funnel-card, .automation-output { border-radius: 16px; }
.panel:hover, .metric:hover, .library-card:hover { border-color: #ded1e9; }
.metric { background: linear-gradient(145deg, #fff, #fdfaff); }
.metric strong, .review-crm-summary b { color: #3f3159; }
.metric-icon, .library-symbol, .file-ext { color: var(--blue); background: var(--soft); }
.project-banner, main:has(.hero) .project-banner { background: linear-gradient(120deg, #fff, #fbf6fd) !important; }
.project-banner:after { border-color: #edddf5; }
.countdown { color: #493260; background: #efe1f4; }
.countdown small, .countdown p { color: #736282; }
.progress i, .bar i, .review-rank i, .review-chart-track i, .history-mini-row .review-chart-track i {
  background: linear-gradient(90deg, #aa8ed0, #e7b4d4);
}
.btn { border-radius: 11px; transition: background .16s, border-color .16s, box-shadow .16s, transform .16s; }
.btn.primary { color: #493260; border-color: #d5b8e5; background: #ddc7ec; box-shadow: 0 6px 16px #b996cb24; }
.btn.primary:hover { color: #3d2856; background: #cfade4; box-shadow: 0 8px 18px #b996cb32; }
.btn.secondary { color: #5d4a78; border-color: #e0d7e9; background: #fff; }
.btn.secondary:hover { border-color: #b99cd4; background: #fcf8ff; }
.btn.ghost { color: var(--blue); background: var(--soft); }
.btn.danger { color: #a94355; background: #fff1f3; }
.btn:disabled { opacity: .55; cursor: not-allowed; transform: none; box-shadow: none; }
.link-btn, .upload-label, .automation-time { color: var(--blue); }
.badge, .tag.blue, .mode-chip, .workflow-kind, .course-tab.active, .output-tabs button.active,
.review-tabs button.active { color: #68459e; background: #f2eafa; border-color: #decaed; }
.flow-step.active, .content-type.active { border-color: #cbb1e2; background: #f9f3fd; }
.flow-step.done { border-color: #d9cfe8; background: #faf7fc; }
.filter-bar, .mode-banner, .automation-row, .file-row, .live-file, .library-group,
.history-box, .review-contact-card { border-color: var(--line); background: #fdfbff; }
.filter-bar button:hover { background: #f3ecfa; color: var(--blue); }
.filter-bar button.active { color: #493260; background: #ddc7ec; box-shadow: 0 4px 10px #b996cb24; }
.filter-bar button.active.ordered { background: #597e74; }
.course-switcher select { color: #5b447b; border-color: #d8c9e6; background: #fdfaff; }
.course-current-label strong { color: #523c74; }
.course-head, .ai-connect { background: linear-gradient(120deg, #fff, #fbf6fd); }
.course-head p { color: var(--muted); }
.live-hero { color: #493260; border-color: #e1cfeb; background: linear-gradient(120deg, #fbf7fd, #edddf4 72%, #f6e6f2); box-shadow: 0 10px 25px #aa8bb819; }
.live-kicker { color: #8662ad; }
.live-hero p { color: #776786; }
.live-status { color: #604276; border-color: #dcc5e9; background: #ffffffa8; }
.phase-number { color: #493260; background: #ddc7ec; }
.transcript-panel { border-top-color: #bd9ed8; }
.live-output, .sales-summary { border-top-color: var(--blue); }
.insight { border-left-color: var(--blue); background: #faf5fd; }
.insight p { color: #645970; }
.sop-flow { color: var(--blue); }
.sop-flow span { border-color: #e2d2ed; background: #f9f3fc; }
.review-dashboard .metric { background: linear-gradient(145deg, #fff, #fcf8ff); }
.enrollment-visual { --ev-blue: #b397d3; --ev-muted: #867a96; }
.enrollment-visual .ev-person small { color: #8662ad; }
.review-weiban { border-color: #e5d9ea; background: linear-gradient(145deg, #fdfaff, #fff); }
.review-weiban-grid>div { border-color: var(--line); }
.review-weiban .weiban-summary>div { background: #f5ecf8; }
.review-weiban .weiban-summary strong, .weiban-lead strong { color: #7652a7; }
.weiban-priority { padding: 17px 18px; border: 1px solid #e7ddea; border-radius: 14px; background: #fff; }
.weiban-priority h4 { margin: 0 0 5px; font-size: 16px; }
.weiban-priority>p { margin: 0 0 10px; color: #7d748b; font-size: 12px; }
.weiban-priority-list, .weiban-more-list { max-height: 350px; overflow-y: auto; overscroll-behavior: contain; scrollbar-gutter: stable; padding-right: 10px; }
.weiban-more { margin-top: 12px; border: 1px solid #e7ddea; border-radius: 13px; background: #fff; }
.weiban-more summary { padding: 14px 18px; color: #674b87; font-size: 14px; font-weight: 750; cursor: pointer; }
.weiban-more summary span { display: block; margin-top: 4px; color: #887e94; font-size: 12px; font-weight: 400; }
.weiban-more[open] summary { border-bottom: 1px solid #eee6f2; }
.weiban-more-list { padding: 0 18px; }
.weiban-more-list .weiban-lead:last-child { border-bottom: 0; }
@media (max-width: 680px) { .weiban-priority-list, .weiban-more-list { max-height: 300px; } }
.history-course-card { border-color: #e7dfea; background: linear-gradient(145deg, #fff, #fdfaff); }
.research-direction-row { display: grid; grid-template-columns: minmax(140px, 1.3fr) minmax(100px, 2fr) 55px; align-items: center; gap: 12px; margin: 12px 0; font-size: 13px; }
.research-direction-row>span { overflow: hidden; white-space: nowrap; text-overflow: ellipsis; }
.research-direction-row>b { text-align: right; color: #7652a7; }
.research-direction-note { margin: 14px 0 0!important; color: #887e94!important; font-size: 12px!important; }
.research-direction details { margin-top: 16px; border-top: 1px solid #eee6f2; }
.research-direction summary { padding: 12px 0; color: #674b87; cursor: pointer; }
.research-direction-all { max-height: 300px; overflow-y: auto; }
.research-direction-all>div { display: flex; justify-content: space-between; gap: 18px; padding: 8px 0; border-bottom: 1px solid #f1eaf4; font-size: 13px; }
.research-direction-all>div span { overflow-wrap: anywhere; }
@media (max-width: 680px) { .research-direction-row { grid-template-columns: minmax(95px, 1fr) minmax(70px, 1fr) 45px; gap: 7px; font-size: 12px; } }
label { color: #5e6079; }
input, select, textarea { color: var(--ink); border-color: #e2ddeb; background: #fdfcff; }
input:hover, select:hover, textarea:hover { border-color: #c9b4dc; }
input:focus, select:focus, textarea:focus { outline: 3px solid #eee0f8; border-color: #a77fc8; background: #fff; }
:is(button, a, summary):focus-visible { outline: 3px solid #d2afe9; outline-offset: 2px; }
.sop-textarea { background: #fdfaff; }
.table-wrap, .manual-table-wrap { border-color: var(--line); }
.review-dashboard .review-pane .table-wrap { height: 360px; max-height: 360px; overflow: auto; overscroll-behavior: contain; scrollbar-gutter: stable; }
.review-dashboard .review-pane th { position: sticky; top: 0; z-index: 1; box-shadow: 0 1px 0 #eee6f2; }
@media (max-width: 680px) { .review-dashboard .review-pane .table-wrap { height: 320px; max-height: 320px; } }
th { color: #665779; background: #f9f5fc; }
th, td { border-bottom-color: #f0ebf3; }
tbody tr:hover { background: #fdf9ff; }
.empty { color: var(--muted); border-color: #dccfe7; background: #fdfaff; }
.toast { background: #332544; }
@media (max-width: 680px) {
  .sidebar { height: 72px; padding: 7px 8px; }
  .sidebar nav { justify-content: flex-start; gap: 5px; overflow-x: auto; scrollbar-width: thin; }
  .sidebar .nav-item { flex: 0 0 75px; display: grid; justify-items: center; gap: 1px; padding: 5px 3px; }
  .sidebar .nav-item:nth-child(n+6) { display: grid; }
  .sidebar .nav-label { display: block; white-space: nowrap; font-size: 10px; }
  main { padding-bottom: 104px; }
  .topbar { align-items: flex-start; }
}
