/* Panda Studio — monochrome workspace. No external fonts or assets. */
:root {
  color-scheme: light;
  --bg: #f5f5f2; --surface: #fff; --surface2: #f1f1ee; --border: #deded8;
  --accent: #171918; --accent2: #272b28; --accent-soft: #e8e9e4; --on-accent: #fff;
  --text: #202420; --muted: #646961; --green: #344a3b; --yellow: #655d3d;
  --red: #923c36; --blue: #444c48;
}
body { font-family: 'Segoe UI Variable', 'Segoe UI', system-ui, sans-serif; font-size: 14px; }
#root { height: 100dvh; }
button, a, input, select, textarea { -webkit-tap-highlight-color: transparent; }
button, .btn, a { transition: background .16s ease, border-color .16s ease, color .16s ease; }
:focus-visible { outline: 2px solid #171918; outline-offset: 3px; }
.btn { border-radius: 9px; padding: 10px 16px; font-weight: 600; }
.btn-sm { padding: 7px 11px; font-size: 12px; }
.btn:hover { opacity: 1; }
.btn-primary:hover { background: #343a34; }
.btn-ghost { background: #fff; }
.btn-ghost:hover { background: #eaece6; border-color: #a9aea4; }
.btn:disabled { opacity: .55; }
.form-input, .qs-page select { background: #fafaf8; border-radius: 9px; padding: 10px 12px; }
.form-input:focus { box-shadow: 0 0 0 3px #20242012; }
.form-label, .qs-page .form-label, .auth-page .form-label { color: var(--muted); }
.studio-bar { min-height: 76px; height: 76px; padding: 0 32px; gap: 34px; background: #171918; border: 0; }
.studio-brand { color: #fff; gap: 12px; font-size: 17px; letter-spacing: -.4px; }
.studio-brand small { display: block; font-size: 10px; font-weight: 500; letter-spacing: 1.8px; color: #b9beb8; margin-top: 3px; }
.panda-mark { width: 44px; height: 44px; flex-shrink: 0; }
.studio-nav { gap: 6px; }
.studio-nav a { padding: 10px 16px; color: #c6cbc5; font-weight: 600; border-radius: 9px; }
.studio-nav a:hover { background: #303630; color: #fff; }
.studio-nav a.active { background: #fff; color: #171918; }
.studio-user { color: #e6e9e3; }
.studio-user:hover { color: #fff; text-decoration: underline; }
.studio-bar .btn-ghost { background: transparent; border-color: #535b52; color: #e6e9e3; }
.studio-bar .btn-ghost:hover { background: #303630; }
.studio-preview-tag { background: #323a31; color: #dadfd7; font-size: 10px; }
.studio-preview-tag:hover { background: #465044; }
.studio-bar :focus-visible { outline-color: #fff; }
.context-bar { height: 54px; padding: 0 32px; gap: 14px; background: #fff; }
.context-select { background: #f5f5f2; border-radius: 8px; padding: 7px 12px; }
.context-steps a { color: var(--muted); }
.context-steps a.active { color: var(--text); background: #e8e9e4; font-weight: 600; }
.qs-page { color: var(--text); padding: 36px clamp(20px, 4vw, 64px) 64px; }
.qs-page h1 { letter-spacing: -1.3px; font-size: clamp(26px, 3vw, 38px); font-weight: 650; }
.qs-page h2 { font-size: 18px; font-weight: 650; }
.qs-page p, .qs-page small, .qs-form-grid label, .qs-toolbar label, .qs-toolbar span,
.qs-time-fields label, .qs-script-snapshot { color: var(--muted); }
.qs-eyebrow { color: #61695d; letter-spacing: 1.8px; font-size: 10px; font-weight: 700; }
.qs-panel { background: #fff; border-color: var(--border); border-radius: 16px; padding: 26px; }
.qs-panel summary { padding: 2px 0; }
.qs-panel details { border-top: 1px solid var(--border); padding-top: 18px; }
.qs-row, .qs-comment { border-color: var(--border); }
.qs-version { background: #fff; border-color: var(--border); border-radius: 13px; padding: 22px 26px; margin: 10px 0; gap: 22px; }
.qs-version:hover { border-color: #858e80; background: #fcfcfa; }
.qs-episode { font-size: 20px; color: var(--text); font-variant-numeric: tabular-nums; min-width: 34px; }
.qs-back { color: #525a50; text-decoration-thickness: 1px; text-underline-offset: 4px; }
.qs-status, .badge { background: #f0f1ed; color: #535b4e; border: 1px solid #dcded7; font-weight: 600; }
.qs-status.pre_release, .badge-scripted, .badge-reviewed, .badge-generated, .badge-mixing, .badge-exported { background: #e9ebe5; color: #343c31; border-color: #c9cec1; }
.qs-status.changes_requested { background: #fff; color: #292e27; border: 1px dashed #5b6354; }
.qs-status.approved, .qs-status.published, .badge-published { background: #242b23; color: #fff; border-color: #242b23; }
.qs-status { padding: 7px 12px; font-size: 11px; }
.qs-page input[type=checkbox], .qs-page input[type=range] { accent-color: #232a22; }
.qs-page blockquote { border-color: #5e6a56; background: #f5f6f1; color: #414a3b; border-radius: 0 8px 8px 0; }
.qs-comment p { color: var(--text); }
.qs-reply { border-color: #c6cdc0; }
.spoken-word:hover { color: #000; background: #e5e9de; }
.active-word { color: #fff; background: #242b23; }
.spoken-word::selection { background: #343d2f; color: #fff; }
.qs-error { background: #faf0ed; color: #7e342d; border-color: #e3beb6; }
.qs-page :focus-visible, .auth-page :focus-visible, .context-bar :focus-visible { outline-color: #171918; }
.qs-transcript { line-height: 2; font-size: 16px; }
.qs-workspace { gap: 24px; }
.qs-player { overflow: hidden; }
.auth-page { background: #f1f2ed; background-image: radial-gradient(#d9ddd3 1px, transparent 1px); background-size: 22px 22px; }
.auth-card { width: min(510px, 100%); padding: 44px; border-color: #d9ddd3; border-radius: 24px; background: #fff; box-shadow: 0 18px 60px #2024200b; }
.auth-card > .panda-mark { width: 64px; height: 64px; margin-bottom: 16px; }
.auth-card h1 { font-size: 36px; font-weight: 650; letter-spacing: -1.3px; }
.auth-card p, .auth-card small, .auth-divider { color: var(--muted); }
.preview-help { background: #f3f4ee; border-color: #d6ddcc; border-radius: 12px; }
.preview-help a, .auth-card .preview-identity { color: #3d4d33; text-underline-offset: 3px; }
.modal { border-radius: 18px; padding: 28px; box-shadow: 0 20px 80px #0002; }
.modal-title { font-size: 20px; }
.production-dashboard { padding: 36px clamp(20px, 4vw, 64px) 64px !important; gap: 26px !important; }
.production-heading { justify-content: space-between; gap: 16px !important; }
.production-heading h1 { font-size: 34px !important; letter-spacing: -1.1px; font-weight: 650 !important; }
.production-heading p { margin-top: 9px; color: var(--muted); line-height: 1.6; }
.production-stats { display: grid !important; grid-template-columns: repeat(4, 1fr); gap: 14px !important; }
.production-stats > div { border-radius: 13px !important; padding: 21px 22px !important; }
.production-stats > div > div:last-child { font-size: 29px !important; font-weight: 600 !important; letter-spacing: -.7px; font-variant-numeric: tabular-nums; color: #252c22 !important; }
.production-table { border-radius: 15px !important; flex-shrink: 0; }
.production-row { grid-template-columns: 32px minmax(180px, 1fr) 180px 70px 85px 220px !important; padding: 17px 22px !important; gap: 14px !important; }
.production-row:first-child { padding-top: 13px !important; padding-bottom: 13px !important; background: #f7f8f3 !important; font-size: 10px !important; letter-spacing: 1px !important; }
.production-row:not(:first-child) > div:nth-child(2) > div:first-child { font-weight: 600 !important; }
.production-row:last-child { border-bottom: 0 !important; }
.production-row .badge { padding: 7px 10px !important; font-size: 11px; max-width: 100%; color: #3c4635; }
.production-row select:disabled { opacity: 1; cursor: default !important; }
.production-row > div:last-child { justify-content: flex-end; flex-wrap: wrap; }
audio { height: 40px; }
.qs-page a:not(.qs-version):not(.btn), .production-master a { color: #3e4539; text-underline-offset: 4px; }
.production-master { padding: 18px 28px !important; }
.production-master .qs-toolbar a { border: 1px solid var(--border); border-radius: 8px; padding: 7px 11px; text-decoration: none; font-size: 12px; }
.production-master .qs-toolbar a:hover { background: var(--surface2); }
@media (max-width: 1200px) {
  .studio-bar { padding: 0 22px; gap: 20px; }
  .production-row { grid-template-columns: 28px minmax(150px,1fr) 168px 65px 190px !important; gap: 10px !important; }
  .production-row > div:nth-child(5) { display: none; }
}
@media (max-width: 850px) {
  .studio-bar { height: auto; min-height: 76px; flex-wrap: wrap; padding: 16px 20px; gap: 14px; }
  .studio-account { width: 100%; margin-left: 0; }
  .studio-account .btn { margin-left: auto; }
  .production-stats { grid-template-columns: repeat(2,1fr); }
  .production-row { grid-template-columns: 25px minmax(0,1fr) 170px !important; }
  .production-row > div:nth-child(4), .production-row > div:nth-child(6) { display: none; }
  .production-workspace > div:last-child { overflow: auto !important; flex-direction: column; }
  .production-workspace > div:last-child > div:first-child { width: 100% !important; max-height: 180px; flex-shrink: 0; }
  .production-workspace > div:last-child > div:last-child { flex-shrink: 0; min-height: 360px; }
}
@media (max-width: 550px) {
  .studio-nav { width: 100%; }
  .studio-nav a { padding: 8px 12px; }
  .context-bar { padding: 10px 20px; height: auto; flex-wrap: wrap; }
  .production-heading { align-items: flex-start !important; flex-direction: column; }
  .production-heading h1 { font-size: 28px !important; }
  .production-stats > div { padding: 17px !important; }
  .production-row { grid-template-columns: 22px minmax(0,1fr) !important; padding: 15px !important; }
  .production-row:not(:first-child) > div:nth-child(3) { grid-column: 2; }
  .production-row:first-child > div:nth-child(3) { display: none; }
  .qs-panel { padding: 20px; }
  .qs-version { padding: 20px; }
  .auth-card { padding: 28px; }
  .auth-card h1 { font-size: 31px; }
  .qs-time-fields { flex-wrap: wrap; }
}
@media (prefers-reduced-motion: reduce) { *, *::before, *::after { transition: none !important; scroll-behavior: auto !important; } }

/* ST-01: central production workspace, shared canonical review data. */
.episode-overview { max-width: 1280px; margin: 0 auto; }
.episode-eyebrow { margin-top: 28px; text-transform: uppercase; letter-spacing: .12em; font-size: 12px; color: var(--muted); }
.episode-topic { color: var(--muted); }
.episode-overview-grid { display: grid; grid-template-columns: minmax(0, 1.4fr) minmax(0, 1fr); gap: 20px; }
.episode-overview-grid .qs-panel { margin: 0; }
.episode-issue-list, .episode-reviewer-list, .episode-version-list { padding: 0; margin: 0; list-style: none; }
.episode-issue-list li { padding: 18px 0; border-top: 1px solid var(--border); }
.episode-issue-body { white-space: pre-wrap; overflow-wrap: anywhere; }
.episode-reviewer-list li { display: flex; justify-content: space-between; gap: 12px; padding: 14px 0; border-top: 1px solid var(--border); flex-wrap: wrap; }
.episode-version-list .qs-version { margin: 12px 0 0; align-items: center; }
.episode-overview h1, .episode-overview .qs-version strong, .episode-overview .qs-version p { overflow-wrap: anywhere; }
@media (max-width: 750px) { .episode-overview-grid { grid-template-columns: minmax(0, 1fr); } .episode-version-list .qs-version { flex-wrap: wrap; } }

/* ST-02: URL-driven list filters and consciously separated version archive. */
.list-filter-panel { padding: 20px; background: var(--surface); border: 1px solid var(--border); border-radius: 16px; }
.list-search { display: flex; align-items: flex-end; gap: 12px; }
.list-search label { flex: 1; min-width: 0; }
.list-filter-panel label { display: flex; flex-direction: column; gap: 7px; font-size: 12px; color: var(--muted); }
.list-filter-controls { display: flex; align-items: flex-end; gap: 14px; flex-wrap: wrap; margin-top: 16px; }
.list-filter-controls > label { flex: 1; min-width: 170px; }
.list-filter-panel .form-input { width: 100%; min-width: 0; color: var(--text); }
.list-filter-controls .list-archive-toggle { flex-direction: row; align-items: center; align-self: center; gap: 9px; padding: 8px 0; }
.list-archive-toggle input { accent-color: #111; width: 17px; height: 17px; }
.list-result-count { margin: 15px 0 0; color: var(--muted); font-size: 12px; }
.list-section-title { font-size: 17px !important; margin: 26px 0 12px; }
.current-version { border-left: 4px solid var(--text); }
.review-archive { border-top: 1px solid var(--border); margin-top: 32px; padding-top: 4px; }
.archive-version { background: var(--surface2); border-style: dashed; }
.review-topic { color: var(--muted); font-size: 13px; }
@media (max-width: 650px) {
  .list-filter-panel { padding: 15px; }
  .list-search { align-items: stretch; flex-direction: column; }
  .list-filter-controls { gap: 12px; }
  .list-filter-controls > label { min-width: 0; flex-basis: 100%; }
  .list-filter-controls > button { width: 100%; }
  .qs-version-list .qs-version > div { min-width: 0; overflow-wrap: anywhere; }
}
.edit-conflict-dialog { width:min(1000px,95vw); max-height:90vh; overflow:auto; }
.edit-conflict-columns { display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1fr); gap:16px; }
.edit-conflict-columns pre { white-space:pre-wrap; overflow-wrap:anywhere; max-height:45vh; overflow:auto; padding:14px; background:var(--surface2); }
.edit-draft-note { position:fixed; z-index:100; bottom:16px; right:16px; width:min(420px,90vw); padding:16px; border:1px solid var(--border); background:var(--surface); box-shadow:0 8px 30px #0002; }
.edit-draft-note pre { max-height:160px; overflow:auto; white-space:pre-wrap; }
@media(max-width:650px){.edit-conflict-columns{grid-template-columns:minmax(0,1fr)}.edit-conflict-columns pre{max-height:25vh}}
/* ST-06: immutable audio/text comparison. */
.comparison-grid { display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1fr); gap:20px; }
.version-comparison audio { display:block; width:100%; margin:16px 0; }
.comparison-diff { white-space:pre-wrap; overflow-wrap:anywhere; max-height:480px; overflow:auto; line-height:1.8; }
.comparison-diff del { background:#eee; text-decoration:line-through; border-bottom:2px solid #666; }
.comparison-diff ins { background:#ddd; text-decoration:none; font-weight:700; border-bottom:2px solid #111; }
.version-comparison label { display:block; margin:12px 0; }
.version-comparison h1,.version-comparison p { overflow-wrap:anywhere; }
@media(max-width:750px){.comparison-grid {grid-template-columns:minmax(0,1fr)} }
.tasks-scope { margin: 22px 0; }
.tasks-grid { display: grid; grid-template-columns: repeat(auto-fit,minmax(min(100%,340px),1fr)); gap: 18px; }
.task-card { border: 1px solid var(--border); border-radius: 16px; padding: 22px; background: var(--surface); min-width: 0; }
.task-title { display: inline-block; color: var(--text); font-size: 22px; font-weight: 650; line-height: 1.3; overflow-wrap: anywhere; margin: 8px 0 16px; }
.task-statuses { display: flex; flex-direction: column; gap: 8px; font-size: 13px; }
.task-statuses > span { color: var(--muted); }
.task-due { font-size: 13px; }
.task-overdue { border-left: 4px solid #111; }
.overdue { font-weight: 700; }
.task-pending, .task-issues { padding-left: 18px; font-size: 13px; }
.task-issues a { display: flex; flex-direction: column; gap: 6px; color: var(--text); }
.task-issues li { margin: 12px 0; overflow-wrap: anywhere; }
.task-archive { border-top: 1px solid var(--border); margin-top: 32px; padding-top: 12px; }
.ownership-form { display: flex; gap: 14px; align-items: flex-end; flex-wrap: wrap; }
.ownership-form label { flex: 1; min-width: 220px; }
.ownership-form label, .review-deadline label { display: flex; flex-direction: column; gap: 8px; color: var(--muted); font-size: 12px; }
.ownership-form .form-input, .review-deadline .form-input { width: 100%; min-width: 0; }
.review-deadline { display: flex; align-items: flex-end; gap: 10px; flex-wrap: wrap; flex-basis: 100%; }
.review-deadline label { flex: 1; min-width: 0; }
.qs-comment:focus { outline: 3px solid #111; outline-offset: 3px; }
@media (max-width: 650px) { .task-card { padding: 18px; } .ownership-form { flex-direction: column; align-items: stretch; } .ownership-form label { min-width: 0; flex-basis: 100%; } .review-deadline { flex-direction: column; align-items: stretch; } .task-title { font-size: 20px; } }
.studio-nav { flex-wrap: wrap; min-width: 0; }
.precise-preview {padding:12px 28px;background:var(--surface);border-bottom:1px solid var(--border);flex-shrink:0;}
.preview-help {font-size:12px;color:var(--muted);margin:6px 0;}
@media(max-width:650px){.precise-preview{padding:12px 20px}.precise-preview .qs-toolbar{flex-wrap:wrap}}

.manuscript-dialog { width:min(1050px,94vw); max-height:90vh; overflow:auto; }
.manuscript-history-layout { display:grid; grid-template-columns:minmax(200px,1fr) minmax(0,2fr); gap:20px; }
.manuscript-history-list { padding:0; list-style:none; }
.manuscript-history-list button { width:100%; display:block; text-align:left; margin-bottom:8px; }
.manuscript-history-list small { display:block; }
.manuscript-history-text { white-space:pre-wrap; overflow-wrap:anywhere; max-height:45vh; overflow:auto; }
.manuscript-dirty { margin:0; padding:10px 20px; background:var(--surface2); font-size:13px; }
@media(max-width:650px){.manuscript-history-layout{grid-template-columns:minmax(0,1fr)}.manuscript-history-list{max-height:160px;overflow:auto}}

@media(max-width:650px){.manuscript-editor{flex-direction:column;overflow:auto!important;min-height:400px}.manuscript-sidebar{width:100%!important;max-height:170px;overflow:auto;flex-shrink:0}.manuscript-editor>div:last-child{min-height:360px;overflow:visible!important}.manuscript-editor [data-chunk] textarea{min-height:180px}}
.activity-list { list-style:none; margin:0; padding:0; }
.activity-list li { display:flex; justify-content:space-between; gap:16px; padding:18px 0; border-bottom:1px solid var(--border); overflow-wrap:anywhere; }
.activity-list small { display:block; margin-top:6px; color:var(--muted); }
.operations-grid { display:grid; grid-template-columns:repeat(auto-fit,minmax(min(100%,230px),1fr)); gap:18px; }
.activities-page { max-width:1100px; margin:auto; padding:30px 20px; }
@media(max-width:650px) { .activity-list li { flex-direction:column; } }


.quality-metrics{display:grid;grid-template-columns:minmax(110px,1fr) 2fr;gap:8px;margin:12px 0}.quality-metrics dd{margin:0;overflow-wrap:anywhere}.quality-anchors{list-style:none;padding:0;margin:12px 0}.quality-anchors button{white-space:normal;text-align:left}.audio-quality .qs-muted{overflow-wrap:anywhere}

.bulk-import { width:100%; max-width:1100px; margin:0 auto; padding:30px 24px; overflow:auto; }
.bulk-limits { color:var(--muted); font-size:13px; line-height:1.6; }
.bulk-file { margin-top:20px; }
.bulk-file h2,.bulk-hash { overflow-wrap:anywhere; }
.bulk-hash { color:var(--muted); font-size:11px; }
.bulk-file-input { width:100%; max-width:240px; display:block; margin-top:10px; }
.bulk-target { display:flex; flex-wrap:wrap; gap:14px; margin:18px 0; }
.bulk-target label { display:flex; flex-direction:column; gap:8px; flex:1; min-width:200px; }
.bulk-target select,.bulk-target input { width:100%; min-width:0; }
.bulk-confirm { display:flex; align-items:flex-start; gap:10px; font-size:13px; margin:18px 0; }
.bulk-confirm input { flex-shrink:0; margin-top:3px; }
.bulk-text { white-space:pre-wrap; overflow-wrap:anywhere; max-height:300px; overflow:auto; }
.bulk-duplicate { border-left:4px solid #111; padding-left:12px; }
@media(max-width:650px){.bulk-import{padding:24px 16px}.bulk-target{flex-direction:column}.bulk-target label{min-width:0}.bulk-file-input{max-width:100%}}
.idea-page{width:100%;min-width:0}.idea-form{display:grid;gap:12px;max-width:820px}.idea-form label{display:grid;gap:5px}.idea-form textarea{min-height:100px}.idea-form button{justify-self:start}.idea-source-editor{border:1px solid var(--border);border-radius:10px;min-width:0;padding:14px;display:grid;gap:10px}.idea-list,.idea-sources{list-style:none;padding:0;display:grid;gap:12px}.idea-sources li{display:grid;gap:6px;padding:10px 0;border-top:1px solid var(--border)}.idea-text{white-space:pre-wrap;overflow-wrap:anywhere}.idea-summary{padding:12px 0}.idea-page details{padding:10px 0;border-bottom:1px solid var(--border)}.idea-conflict,.idea-archive-confirm{border:1px solid var(--border);padding:14px}.idea-page a,.idea-page strong{overflow-wrap:anywhere}.idea-page .form-input{width:100%;min-width:0}@media(max-width:650px){.idea-form button{max-width:100%;white-space:normal}.idea-source-editor{padding:10px}}
/* ST-23 shared Panda presentation: one hierarchy and complete mobile controls. */
:root { --bg:#f5f5f5; --surface:#fff; --surface2:#f1f1f1; --border:#dedede; --accent:#171717; --accent2:#303030; --accent-soft:#ececec; --text:#202020; --muted:#595959; --green:#303030; --yellow:#555; --blue:#444; }
body { line-height:1.5; }
button,input,select,textarea { font:inherit; }
button,a,input,select,textarea { -webkit-tap-highlight-color:transparent; }
button:disabled { opacity:.6; }
:focus-visible { outline:3px solid #171717; outline-offset:3px; }
.btn { min-height:42px; border-radius:10px; letter-spacing:0; }
.btn-sm { min-height:38px; }
.btn-primary { box-shadow:0 2px 0 #0001; }
.form-input { min-height:42px; background:#fff; border-color:#bcbcbc; }
.form-label { color:var(--text); font-weight:600; font-size:13px; }
.form-help,.qs-muted { color:var(--muted); line-height:1.6; }
.studio-bar { height:auto; min-height:88px; padding:16px 28px; gap:24px; align-items:center; box-shadow:0 1px 0 #000; }
.studio-brand { flex-shrink:0; font-size:17px; }
.studio-nav { flex:1; gap:4px; }
.studio-nav a { font-size:13px; padding:9px 12px; white-space:nowrap; border-radius:9px; }
.studio-account { flex-wrap:wrap; justify-content:flex-end; gap:10px; margin-left:0; }
.studio-help-button { color:#fff; border:1px solid #777; font-size:12px; }
.studio-help-button:hover { background:#363636; }
.studio-preview-tag { border:1px solid #777; border-radius:6px; padding:3px 6px; }
.studio-skip { position:fixed; z-index:1000; top:8px; left:8px; transform:translateY(-160%); background:#fff; color:#111; border:2px solid #111; border-radius:8px; padding:12px 18px; }
.studio-skip:focus { transform:none; }
.context-bar { min-height:56px; height:auto; padding:10px 28px; gap:10px; }
.context-steps { flex-wrap:wrap; gap:8px; min-width:0; }
.context-steps a { padding:8px 10px; border-radius:8px; }
.context-select { max-width:100%; min-height:38px; }
.qs-page,.production-dashboard,.activities-page,.bulk-import,.ideas-page { width:100%; max-width:1440px; margin:0 auto; padding:36px clamp(20px,3vw,48px) 64px!important; min-width:0; }
.qs-page h1,.production-heading h1,.activities-page h1,.bulk-import h1,.ideas-page h1 { font-size:clamp(27px,2.8vw,36px)!important; font-weight:650; line-height:1.2; letter-spacing:-1px; margin:8px 0 18px; }
.qs-eyebrow,.workspace-eyebrow { font-size:11px; letter-spacing:.14em; color:var(--muted); font-weight:600; }
.qs-panel,.task-card,.list-filter-panel { border:1px solid var(--border); border-radius:16px; box-shadow:0 3px 12px #00000003; }
.qs-panel h2,.task-card h2 { margin-top:0; }
.qs-toolbar { gap:10px; flex-wrap:wrap; }
.qs-panel p,.task-card p { line-height:1.65; }
.qs-version { border-radius:12px; background:#fff; }
.qs-status,.badge { border:1px solid #d0d0d0; background:#f0f0f0!important; color:#262626!important; }
.qs-status.approved,.qs-status.published { background:#202020!important; color:#fff!important; border-color:#202020; }
.production-stats>div>div:last-child { color:#202020!important; }
.production-row:not(:first-child)>div { min-width:0; overflow-wrap:anywhere; }
.production-row select { max-width:100%; }
.production-row a { color:#151515; text-underline-offset:4px; }
.production-row:first-child { color:#535353; background:#fafafa!important; }
.production-master { padding:18px 24px!important; }
.production-master strong { font-size:16px; }
.precise-preview { padding:14px 24px; background:#f8f8f8; }
.production-workspace,.manuscript-editor { min-height:0; }
.manuscript-sidebar { background:#fafafa!important; }
.auth-page { background:#f3f3f3; background-image:radial-gradient(#ddd 1px,transparent 1px); padding:24px; overflow:auto; }
.auth-card { border:1px solid #d6d6d6; border-radius:24px; box-shadow:0 24px 80px #00000008; }
.auth-card h1 { font-size:36px; line-height:1.15; }
.auth-card p { line-height:1.7; }
.auth-card .btn-primary { width:100%; margin:14px 0; }
.auth-card small { display:block; line-height:1.6; }
.modal-overlay { padding:20px; overflow:auto; background:#0008; backdrop-filter:blur(3px); }
.modal { max-width:calc(100vw - 40px); max-height:calc(100dvh - 40px); overflow:auto; border:1px solid var(--border); }
.modal-title { margin:0 0 20px; }
.modal-actions { flex-wrap:wrap; gap:10px; }
.settings-drawer { width:min(420px,100%)!important; box-shadow:-16px 0 48px #0001; padding:26px!important; }
.studio-guide { width:min(720px,100%); }
.studio-guide h2 { font-size:26px; letter-spacing:-.6px; margin:10px 0 24px; }
.studio-guide-steps { padding-left:24px; }
.studio-guide-steps li { padding-left:6px; margin:20px 0; }
.studio-guide-steps h3 { font-size:16px; margin:0 0 6px; }
.studio-guide-steps p { margin:0; color:var(--muted); line-height:1.7; }
.quality-metrics { grid-template-columns:minmax(100px,1fr) 2fr; }
.word-alignment-import { border:1px solid var(--border); border-radius:12px; padding:16px; }
@media(max-width:1200px) {
 .studio-bar { flex-wrap:wrap; gap:12px 20px; }
 .studio-account { margin-left:auto; }
 .studio-nav { order:3; flex-basis:100%; }
}
@media(max-width:850px) {
 .production-row { grid-template-columns:28px minmax(0,1fr) minmax(110px,170px)!important; }
 .production-row:not(:first-child)>div:last-child { display:flex!important; grid-column:2/-1; justify-content:flex-start; gap:8px; padding-top:4px; }
}
@media(max-width:650px) {
 .studio-bar { padding:14px 16px; gap:12px; }
 .studio-brand { font-size:15px; }
 .studio-brand .panda-mark { width:36px; height:36px; }
 .studio-account { width:auto; flex:1; gap:6px; }
 .studio-account .btn { margin-left:0; }
 .studio-user { max-width:120px; overflow-wrap:anywhere; }
 .studio-help-button { flex-basis:100%; min-height:34px; order:3; }
 .studio-preview-tag { display:none; }
 .studio-nav { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:6px; width:100%; }
 .studio-nav a { display:flex; align-items:center; justify-content:center; white-space:normal; text-align:center; padding:8px 5px; min-height:42px; font-size:12px; background:#ffffff0c; }
 .context-bar { padding:10px 16px; }
 .context-steps { width:100%; }
 .context-steps a { font-size:12px; }
 .qs-page,.production-dashboard,.activities-page,.bulk-import,.ideas-page { padding:24px 16px 48px!important; }
 .qs-panel,.task-card { padding:18px; }
 .production-row { grid-template-columns:24px minmax(0,1fr)!important; padding:16px!important; }
 .production-row:not(:first-child)>div:nth-child(3) { grid-column:2; }
 .production-row:not(:first-child)>div:last-child { grid-column:2; }
 .production-row:first-child>div:not(:nth-child(2)) { display:none!important; }
 .production-row:first-child>div:nth-child(2) { grid-column:2; }
 .production-row .btn { min-height:42px; }
 .production-stats { gap:10px!important; }
 .production-stats>div { padding:16px!important; }
 .production-master,.precise-preview { padding:16px!important; }
 .production-workspace { overflow:auto!important; }
 .production-workspace>section { flex-shrink:0; }
 .production-workspace>.manuscript-editor { overflow:visible!important; flex-shrink:0; }
 .production-workspace>div:last-child { min-height:400px; flex-shrink:0; }
 .auth-page { padding:16px; align-items:flex-start; }
 .auth-card { padding:28px 22px; margin:auto; }
 .modal-overlay { padding:12px; }
 .modal { max-width:calc(100vw - 24px); max-height:calc(100dvh - 24px); padding:22px; }
 .settings-drawer { width:100%!important; }
 .studio-guide h2 { font-size:23px; }
 input[type=checkbox] { min-width:18px; min-height:18px; accent-color:#171717; }
}
.editor-load {padding:20px; margin:16px; align-self:flex-start;}
@media(max-width:650px){.production-workspace>*{flex-shrink:0!important}.production-workspace>.manuscript-editor{flex-basis:auto;min-height:580px}.production-workspace>.manuscript-editor>div:last-child{min-height:400px}.production-workspace .manuscript-history-toolbar{padding:12px 16px}}
.studio-menu-toggle{display:none}
.pronunciation-form{display:grid;gap:16px;max-width:900px}.pronunciation-form>label,.pronunciation-entries label{display:grid;gap:6px}.pronunciation-entries{display:grid;gap:14px}.pronunciation-entries fieldset{display:grid;gap:12px;min-width:0;border:1px solid var(--border);border-radius:12px;padding:16px}.pronunciation-entries .form-input{width:100%;min-width:0}.pronunciation-history{display:grid;gap:10px;list-style:none;padding:0}.pronunciation-history li{display:flex;align-items:center;gap:12px;flex-wrap:wrap;padding:12px;border-bottom:1px solid var(--border)}.pronunciation-history strong{overflow-wrap:anywhere}.replacement-comparison{border:1px solid var(--border);border-radius:12px;padding:12px;margin:12px 0}.replacement-comparison audio{width:100%;max-width:100%;height:40px}.production-jobs select{min-width:0;max-width:100%}.production-jobs label:has(select){display:grid}.replacement-comparison .btn{max-width:100%;white-space:normal}@media(max-width:650px){.pronunciation-entries fieldset{padding:12px}.pronunciation-history li>*{max-width:100%}}
@media(max-width:650px){.studio-menu-toggle{display:inline-flex;align-items:center;justify-content:center;margin-left:auto;min-width:64px}.studio-nav:not(.is-open){display:none}.studio-account{flex-basis:100%;align-items:center;justify-content:flex-start}.studio-account .studio-help-button{order:0;flex-basis:auto;flex:1;min-height:38px}.studio-account .studio-user{font-size:12px}.studio-bar{gap:8px;padding:12px 16px}.studio-nav{order:3}.studio-brand .panda-mark{width:32px;height:32px}}

/* ST-11 bounded Vienna planning; marks refer to the loaded page only. */
.calendar-page{max-width:1280px}.calendar-filters{display:flex;align-items:flex-end;gap:12px;flex-wrap:wrap;margin-bottom:16px}.calendar-filters label{display:flex;flex-direction:column;gap:7px;min-width:180px;flex:1}.calendar-filters input,.calendar-filters select{width:100%;min-width:0}.calendar-month,.calendar-weekdays{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:6px}.calendar-weekdays{margin:12px 0;text-align:center;font-size:12px;color:var(--muted)}.calendar-day{min-height:72px;border:1px solid var(--border);border-radius:10px;background:var(--surface);color:var(--text);font:inherit;cursor:pointer}.calendar-day strong,.calendar-day span{display:block}.calendar-day span{font-size:11px;margin-top:4px}.calendar-day.selected{background:var(--text);color:var(--surface)}.calendar-events{list-style:none;padding:0;display:grid;gap:14px}.calendar-events .qs-panel{margin:0}.calendar-events h2{overflow-wrap:anywhere}.calendar-overdue{border-left:4px solid var(--text)}.calendar-conflict{border:1px solid var(--border);border-radius:12px;padding:16px;margin-top:16px;overflow-wrap:anywhere}
@media(max-width:650px){.calendar-filters{gap:10px}.calendar-filters label{min-width:0;flex-basis:100%}.calendar-month,.calendar-weekdays{gap:3px}.calendar-day{min-height:52px;border-radius:7px}.calendar-day span{font-size:9px}.calendar-month{font-size:12px}.calendar-page .qs-panel{padding:16px}.calendar-filters>button{flex:1}.publication-plan .calendar-filters{flex-direction:column;align-items:stretch}}

.ownership-form > .vienna-fields { flex: 2; min-width: 0; }
.review-deadline > .vienna-fields { flex-basis: 100%; min-width: 0; }

.review-deadline { min-width: 0; width: 100%; }
@media (max-width: 650px) { .review-deadline { flex-wrap: nowrap; } .review-deadline > .vienna-fields, .ownership-form > .vienna-fields { flex: none; width: 100%; } }

/* ST16 private publication package editor */
.publication-page{max-width:1080px;min-width:0}.publication-form{display:grid;gap:18px;margin:24px 0}.publication-form label{display:grid;gap:7px;min-width:0}.publication-form textarea{min-height:110px}.publication-form .form-input{width:100%;min-width:0}.publication-form fieldset{min-width:0;border:1px solid var(--border);border-radius:12px;padding:16px}.publication-form legend{padding:0 8px;font-weight:700}.publication-row{display:flex;gap:12px;flex-wrap:wrap;align-items:end;margin:14px 0}.publication-row label{flex:1;min-width:160px}.publication-cover{display:block;width:auto;max-width:100%;height:auto;max-height:320px;object-fit:contain;margin:16px 0}.publication-values dd{margin:4px 0 18px;white-space:pre-wrap;overflow-wrap:anywhere}.publication-values dt{font-weight:700}.publication-page a,.publication-hash{overflow-wrap:anywhere}.publication-hash{font-family:monospace;font-size:11px;color:var(--muted)}.publication-confirm{border-top:1px solid var(--border);padding-top:14px;margin-top:16px}.publication-page details{padding:14px 0;border-top:1px solid var(--border)}.publication-page input[type=file]{max-width:100%}@media(max-width:650px){.publication-row{flex-direction:column;align-items:stretch}.publication-row label{min-width:0}.publication-form button,.publication-page .qs-toolbar button{white-space:normal}.publication-page fieldset{padding:12px}}

.publication-download{border-top:1px solid var(--border);padding-top:18px;margin-top:18px;min-width:0}.publication-download h3{margin-bottom:12px}.publication-download .qs-toolbar{flex-wrap:wrap}.publication-download button{white-space:normal;max-width:100%}
