/* Muse Control web. Round K: every color is a token below (light on :root, dark under data-theme / prefers-color-scheme).
   Type scale: body 16px, tables 15px, secondary text >= 14px. Spacing scale --sp-1..--sp-7. */
:root {
  color-scheme:light;
  --bg:#F4F6FB; --surface:#FFFFFF; --surface-2:#EDF1F8; --surface-3:#F6F8FC; --border:#D4DDEB; --border-strong:#8C9AB2; --line:#E4E9F2;
  --text:#1F2A40; --text-2:#37465F; --muted:#55647E; --placeholder:#67748C;
  --accent:#3B54D6; --accent-2:#2F45BB; --accent-soft:#E3E9FD; --accent-bg:#3B54D6; --accent-bg-hover:#2F45BB; --on-accent:#FFFFFF; --focus:#3B54D6;
  --ok:#166641; --ok-soft:#E6F4EA; --ok-border:#B9DCC4; --warn:#7A4C0E; --warn-soft:#FFF3D9; --warn-border:#ECD9A6;
  --bad:#B03632; --bad-soft:#FCECE8; --bad-border:#ECC4BB; --bad-fill:#B03632; --info:#245A82; --info-soft:#E9F2FB; --info-border:#CADCEE; --neutral-soft:#ECEFF5;
  --row-hover:#EEF2FD; --row-zebra:#F9FAFD; --header-bg:#FFFFFF; --topbar-bg:#FFFFFFCC; --chip-bg:#FFFFFFE6;
  --overlay:#0F1A2E80; --toast-bg:#1F2A40; --toast-text:#FFFFFF; --video-bg:#0F172A; --media-shade:#0B1220E6; --on-media:#FFFFFF;
  --skeleton-1:#EEF1F7; --skeleton-2:#E0E5EE; --code-bg:#F2F4F9;
  --side-bg:#18264A; --side-text:#E6ECF8; --side-muted:#B9C8E8; --side-line:#FFFFFF24; --side-hover:#FFFFFF14; --side-active:#E3E9FD; --side-active-text:#1B2C66; --side-focus:#9DB0FF;
  --chart-otp:#B45309; --chart-proxy-wait:#92400E; --chart-proxy-exhausted:#991B1B; --chart-reimport:#7F1D1D;
  --radius:12px; --radius-sm:8px; --shadow:0 1px 3px #1F2A400F; --shadow-hover:0 8px 26px #1F2A401A; --shadow-lg:0 24px 70px #1F2A4033;
  --sp-1:4px; --sp-2:8px; --sp-3:12px; --sp-4:16px; --sp-5:20px; --sp-6:24px; --sp-7:32px;
  --font:"Segoe UI",system-ui,-apple-system,sans-serif; --mono:Consolas,"Cascadia Mono",monospace;
}
:root[data-theme="dark"] {
  color-scheme:dark;
  --bg:#0E131B; --surface:#151C27; --surface-2:#1C2431; --surface-3:#19212D; --border:#2B3546; --border-strong:#4D5B73; --line:#222B39;
  --text:#E7ECF4; --text-2:#C9D2E0; --muted:#9BA7BA; --placeholder:#8591A5;
  --accent:#93A5FF; --accent-2:#B0BDFF; --accent-soft:#232D4F; --accent-bg:#4A61D8; --accent-bg-hover:#5468DC; --on-accent:#FFFFFF; --focus:#93A5FF;
  --ok:#6FD49A; --ok-soft:#14301F; --ok-border:#25523A; --warn:#F2BF62; --warn-soft:#33270F; --warn-border:#5A4417;
  --bad:#FF8F86; --bad-soft:#3A1B1B; --bad-border:#663030; --bad-fill:#B5352F; --info:#86BFF2; --info-soft:#14283B; --info-border:#24476A; --neutral-soft:#252E3D;
  --row-hover:#1F2839; --row-zebra:#18202B; --header-bg:#151C27; --topbar-bg:#151C27CC; --chip-bg:#151C27E6;
  --overlay:#000000A6; --toast-bg:#E7ECF4; --toast-text:#0E131B; --video-bg:#05080D; --media-shade:#05080DE6; --on-media:#FFFFFF;
  --skeleton-1:#1C2431; --skeleton-2:#263041; --code-bg:#1A212C;
  --side-bg:#0B1020; --side-text:#E6ECF8; --side-muted:#AEBBD6; --side-line:#FFFFFF1F; --side-hover:#FFFFFF12; --side-active:#232D4F; --side-active-text:#DCE3FF; --side-focus:#93A5FF;
  --chart-otp:#F59E0B; --chart-proxy-wait:#D97706; --chart-proxy-exhausted:#F87171; --chart-reimport:#FCA5A5;
  --shadow:0 1px 3px #00000066; --shadow-hover:0 8px 26px #00000080; --shadow-lg:0 24px 70px #000000AA;
}
@media (prefers-color-scheme: dark) {
  :root:not([data-theme="light"]) {
    color-scheme:dark;
    --bg:#0E131B; --surface:#151C27; --surface-2:#1C2431; --surface-3:#19212D; --border:#2B3546; --border-strong:#4D5B73; --line:#222B39;
    --text:#E7ECF4; --text-2:#C9D2E0; --muted:#9BA7BA; --placeholder:#8591A5;
    --accent:#93A5FF; --accent-2:#B0BDFF; --accent-soft:#232D4F; --accent-bg:#4A61D8; --accent-bg-hover:#5468DC; --on-accent:#FFFFFF; --focus:#93A5FF;
    --ok:#6FD49A; --ok-soft:#14301F; --ok-border:#25523A; --warn:#F2BF62; --warn-soft:#33270F; --warn-border:#5A4417;
    --bad:#FF8F86; --bad-soft:#3A1B1B; --bad-border:#663030; --bad-fill:#B5352F; --info:#86BFF2; --info-soft:#14283B; --info-border:#24476A; --neutral-soft:#252E3D;
    --row-hover:#1F2839; --row-zebra:#18202B; --header-bg:#151C27; --topbar-bg:#151C27CC; --chip-bg:#151C27E6;
    --overlay:#000000A6; --toast-bg:#E7ECF4; --toast-text:#0E131B; --video-bg:#05080D; --media-shade:#05080DE6; --on-media:#FFFFFF;
    --skeleton-1:#1C2431; --skeleton-2:#263041; --code-bg:#1A212C;
    --side-bg:#0B1020; --side-text:#E6ECF8; --side-muted:#AEBBD6; --side-line:#FFFFFF1F; --side-hover:#FFFFFF12; --side-active:#232D4F; --side-active-text:#DCE3FF; --side-focus:#93A5FF;
    --chart-otp:#F59E0B; --chart-proxy-wait:#D97706; --chart-proxy-exhausted:#F87171; --chart-reimport:#FCA5A5;
    --shadow:0 1px 3px #00000066; --shadow-hover:0 8px 26px #00000080; --shadow-lg:0 24px 70px #000000AA;
  }
}
* {box-sizing:border-box}
html {min-width:320px;background:var(--bg)}
body {margin:0;background:var(--bg);color:var(--text);font:16px/1.6 var(--font);-webkit-font-smoothing:antialiased}
a {color:var(--accent);text-decoration:none}
a:hover {text-decoration:underline}
h1,h2,h3 {margin:0;letter-spacing:-.02em;line-height:1.3;color:var(--text)}
h1 {font-size:clamp(26px,2.6vw,32px);font-weight:650}
h2 {font-size:20px;font-weight:650} h3{font-size:17px;font-weight:650}
p {margin:0}
code,.mono {font-family:var(--mono);font-size:14px}
code {background:var(--code-bg);padding:1px 5px;border-radius:4px}
button,input,select,textarea {font:inherit;color:inherit}
select option,select optgroup {background:var(--surface);color:var(--text)}
button,a,input,select,textarea { -webkit-tap-highlight-color:transparent}
button:focus-visible,a:focus-visible,[tabindex]:focus-visible {outline:3px solid var(--focus);outline-offset:3px}
[hidden] {display:none!important}
.ic {height:19px;width:19px;flex:none;display:inline-block;vertical-align:middle;stroke:currentColor;fill:none;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}

.shell {display:grid;grid-template-columns:252px minmax(0,1fr);min-height:100vh}
.side {position:sticky;top:0;height:100vh;display:flex;flex-direction:column;background:var(--side-bg);color:var(--side-text);padding:26px 16px 18px;overflow:auto}
.brand {display:flex;align-items:center;gap:12px;padding:0 12px 28px;font-size:19px;letter-spacing:-.04em;font-weight:650}
.brand img {width:35px;height:35px}
.brand-copy {display:flex;flex-direction:column;gap:1px;line-height:1.2}
.brand-copy small {font-size:14px;letter-spacing:.15em;text-transform:uppercase;color:var(--side-muted);font-weight:500}
.nav-title {font-size:14px;font-weight:600;color:var(--muted);text-transform:uppercase;letter-spacing:.08em;padding:24px 14px 8px}
.side .nav-title {color:var(--side-muted)}
.nav-title:first-child {padding-top:2px}
.nav {display:flex;flex-direction:column;gap:3px}
.nav a {display:flex;align-items:center;gap:11px;padding:11px 13px;min-height:44px;border-radius:8px;color:var(--text-2);font-size:15px;font-weight:500;transition:background .15s,color .15s}
.nav a:hover {background:var(--surface-2);color:var(--text);text-decoration:none}
.nav a.active {background:var(--accent-soft);color:var(--accent-2)}
.side .nav a {color:var(--side-text)}
.side .nav a:hover {background:var(--side-hover);color:var(--side-text)}
.side .nav a.active {background:var(--side-active);color:var(--side-active-text)}
.nav .count {margin-left:auto;font-size:14px;padding:0 6px;border-radius:4px;background:var(--bad-soft);color:var(--bad)}
.side .me {margin-top:auto;padding:24px 10px 2px}
.me-identity {display:flex;gap:10px;align-items:center;padding:15px 0;border-top:1px solid var(--side-line)}
.avatar {width:34px;height:34px;display:grid;place-items:center;border-radius:10px;background:var(--accent-soft);color:var(--accent);font-weight:600;font-size:14px}
.me .who {font-size:14px;color:var(--side-text);font-weight:550}.me .role {font-size:14px;color:var(--side-muted)}
.side .me .btn {background:transparent;border-color:var(--side-line);color:var(--side-text);height:38px;font-size:14px;padding:0 9px}
.side .me .btn:hover {background:var(--side-hover);color:var(--side-text)}
.main {min-width:0}
.topbar {height:72px;padding:0 34px;border-bottom:1px solid var(--border);display:flex;align-items:center;gap:12px;background:var(--topbar-bg)}
.topbar .top-crumb {font-size:14px;color:var(--muted)}
.topbar .top-crumb strong {color:var(--text-2);font-weight:550;margin-left:7px}
.mobile-menu {display:none!important}
.page {max-width:1560px;margin:0 auto;padding:32px 34px 64px}
.page-head {display:flex;justify-content:space-between;align-items:flex-end;gap:var(--sp-4) var(--sp-6);margin-bottom:var(--sp-6);flex-wrap:wrap}
.page-head>div:first-child {flex:1;min-width:220px}
.page-head p {color:var(--muted);margin:8px 0 0;max-width:760px;font-size:16px}
.page-head>.row {gap:var(--sp-2) 10px;justify-content:flex-end}
.crumbs {color:var(--muted);font-size:15px;margin-bottom:10px}.crumbs a{color:var(--accent)}
.card {background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow);overflow:hidden}
.card-pad {padding:var(--sp-6)}
.card-head {display:flex;align-items:center;justify-content:space-between;gap:var(--sp-3);padding:18px 24px;border-bottom:1px solid var(--border);flex-wrap:wrap}
.card-head p,.card-head>div>.muted.small {font-size:14px;color:var(--muted);margin-top:4px}
.grid {display:grid;gap:20px}.grid-2{grid-template-columns:repeat(2,minmax(0,1fr))}.grid-3{grid-template-columns:repeat(3,minmax(0,1fr))}
.stack {display:flex;flex-direction:column;gap:20px}
.row {display:flex;align-items:center;gap:8px;flex-wrap:wrap}.spacer{flex:1}
.muted{color:var(--muted)}.small{font-size:14px}.nowrap{white-space:nowrap}
.divider{height:1px;background:var(--border);margin:18px 0}
.kpis{display:grid;grid-template-columns:repeat(auto-fit,minmax(170px,1fr));gap:14px;margin-bottom:24px}
.kpi{padding:20px 22px}.kpi .label{font-size:15px;color:var(--muted);font-weight:500}.kpi .value{font-size:30px;line-height:1.2;font-weight:650;letter-spacing:-.03em;margin:10px 0 7px;font-variant-numeric:tabular-nums;color:var(--text)}.kpi .sub{font-size:14px;color:var(--muted)}
.kpi.tone-bad .value{color:var(--bad)}.kpi.tone-warn .value{color:var(--warn)}.kpi.tone-ok .value{color:var(--ok)}
.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;height:44px;padding:0 16px;border:1px solid var(--border-strong);border-radius:var(--radius-sm);background:var(--surface);font-size:15px;font-weight:600;cursor:pointer;white-space:nowrap;color:var(--text-2);transition:background .15s,border-color .15s}
.btn:hover{background:var(--surface-2);border-color:var(--muted);text-decoration:none}.btn:disabled{opacity:.6;cursor:not-allowed}
.btn.primary{background:var(--accent-bg);border-color:var(--accent-bg);color:var(--on-accent)}.btn.primary:hover{background:var(--accent-bg-hover);border-color:var(--accent-bg-hover)}
.btn.danger{color:var(--bad);border-color:var(--bad-border)}.btn.danger:hover{background:var(--bad-soft)}
.btn.ghost{background:transparent;border-color:transparent}.btn.ghost:hover{background:var(--surface-2)}
.btn.sm{height:38px;padding:0 12px;font-size:15px}.btn.icon{width:44px;padding:0}
.btn .ic{width:16px;height:16px}
.field{display:flex;flex-direction:column;gap:7px;min-width:0}.field label{font-size:15px;color:var(--text-2);font-weight:600}.field .hint{font-size:14px;color:var(--muted);line-height:1.55}
.input,select.input,textarea.input{width:100%;height:44px;padding:0 12px;font-size:16px;color:var(--text);border:1px solid var(--border-strong);border-radius:8px;background:var(--surface);outline:none;transition:border-color .15s,box-shadow .15s}
.input::placeholder{color:var(--placeholder);opacity:1}.input:focus{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-soft)}
.input:disabled,.input[readonly]{background:var(--surface-2);color:var(--text-2)}
textarea.input{height:auto;min-height:100px;padding:12px;resize:vertical;line-height:1.7}
.form{display:grid;gap:18px}.form-row{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:16px}
.check{display:inline-flex;align-items:flex-start;gap:9px;font-size:15px;color:var(--text-2);cursor:pointer;line-height:1.6}
.check input{margin:3px 0 0;accent-color:var(--accent-bg);width:16px;height:16px;flex:none}
.seg{display:inline-flex;border:1px solid var(--border);border-radius:8px;background:var(--surface-2);padding:3px;gap:2px;max-width:100%;overflow:auto}
.seg button{border:0;background:transparent;border-radius:5px;padding:6px 12px;cursor:pointer;font-size:15px;font-weight:600;color:var(--muted);white-space:nowrap;min-height:38px}
.seg button:hover{color:var(--text)}
.seg button.on{background:var(--surface);color:var(--text);box-shadow:var(--shadow)}
.tabs{display:flex;gap:24px;border-bottom:1px solid var(--border);margin-bottom:24px;overflow:auto;scrollbar-width:none}.tabs::-webkit-scrollbar{display:none}
.tabs a{padding:10px 0 13px;min-height:44px;color:var(--muted);font-size:15px;font-weight:550;border-bottom:2px solid transparent;white-space:nowrap}
.tabs a:hover{text-decoration:none;color:var(--text)}.tabs a.on{color:var(--accent);border-color:var(--accent)}
.badge{display:inline-flex;align-items:center;gap:6px;min-height:28px;padding:3px 9px;border-radius:6px;font-size:14px;font-weight:600;white-space:nowrap;line-height:1.4;background:var(--neutral-soft);color:var(--text-2)}
.badge::before{content:"";width:6px;height:6px;border-radius:50%;background:currentColor}
.badge.ok{background:var(--ok-soft);color:var(--ok)}.badge.warn{background:var(--warn-soft);color:var(--warn)}.badge.bad{background:var(--bad-soft);color:var(--bad)}.badge.info{background:var(--info-soft);color:var(--info)}.badge.accent{background:var(--accent-soft);color:var(--accent)}.badge.plain::before{display:none}
.dot{display:inline-block;width:8px;height:8px;border-radius:50%;background:var(--border-strong)}.dot.on{background:var(--ok);box-shadow:0 0 0 3px var(--ok-soft)}
/* Tables: own scroll box (sticky header works inside it), zebra + hover, numbers right-aligned. */
.table-wrap{overflow:auto;overscroll-behavior-x:contain}
@media(min-width:900px){.table-wrap{max-height:calc(100vh - 140px)}.modal .table-wrap{max-height:none}}
table.t,table.table{width:100%;border-collapse:separate;border-spacing:0;font-size:15px;line-height:1.5}
.t th,.table th{position:sticky;top:0;z-index:1;text-align:left;font-weight:600;color:var(--text-2);padding:12px 16px;border-bottom:1px solid var(--border);background:var(--surface-3);white-space:nowrap;font-size:15px}
.t td,.table td{padding:14px 16px;border-bottom:1px solid var(--line);vertical-align:top;color:var(--text)}
.t tbody tr:nth-child(even) td,.table tbody tr:nth-child(even) td{background:var(--row-zebra)}
.t tr:last-child td,.table tr:last-child td{border-bottom:0}.t tbody tr:hover td,.table tbody tr:hover td{background:var(--row-hover)}
.t .num,.table .num{text-align:right;font-variant-numeric:tabular-nums;white-space:nowrap}.cell-main{font-weight:600}.cell-sub{font-size:14px;color:var(--muted);margin-top:3px}
.t td .mono{overflow-wrap:anywhere}
.t td>.row{flex-wrap:nowrap}.t td>.row>.btn{flex:none}
.clip{max-width:360px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.clip-id{display:inline-block;max-width:16ch;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;vertical-align:bottom}
.owner-chip{display:inline-flex;align-items:center;gap:6px;max-width:220px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:14px;font-weight:600;color:var(--text-2);background:var(--neutral-soft);border-radius:6px;padding:2px 9px}
.owner-chip .ic{width:15px;height:15px}.proj-meta .owner-chip{max-width:60%}
.empty{text-align:center;padding:56px 24px;color:var(--muted)}.empty .ico{width:48px;height:48px;border:1px solid var(--border);border-radius:13px;background:var(--surface-2);color:var(--accent);display:grid;place-items:center;margin:0 auto 16px}.empty .ico .ic{height:23px;width:23px}.empty h3{font-size:17px;color:var(--text);margin-bottom:7px}.empty p{font-size:15px;max-width:420px;margin:0 auto 18px}
.skeleton{height:14px;background:linear-gradient(90deg,var(--skeleton-1),var(--skeleton-2),var(--skeleton-1));background-size:200% 100%;animation:sk 1.4s infinite;border-radius:4px}
@keyframes sk{to{background-position:-200% 0}}
.alert{padding:12px 14px;border:1px solid;border-radius:8px;font-size:15px;line-height:1.6}
.alert.bad{background:var(--bad-soft);color:var(--bad);border-color:var(--bad-border)}.alert.warn{background:var(--warn-soft);color:var(--warn);border-color:var(--warn-border)}.alert.info{background:var(--info-soft);color:var(--info);border-color:var(--info-border)}
.proj-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(290px,1fr));gap:20px}
.proj{display:flex;flex-direction:column;padding:24px;color:inherit;gap:16px;min-height:220px;transition:box-shadow .18s,border-color .18s,transform .18s}
.proj:hover{border-color:var(--accent);text-decoration:none;transform:translateY(-2px);box-shadow:var(--shadow-hover)}
.proj-top{display:flex;align-items:center;justify-content:space-between}
.project-icon{height:42px;width:42px;display:grid;place-items:center;color:var(--accent);background:var(--accent-soft);border-radius:11px}
.proj h2{font-size:19px}.proj .stats{display:flex;gap:18px;font-size:14px;color:var(--muted);padding-top:15px;border-top:1px solid var(--line);margin-top:auto;flex-wrap:wrap}.proj .stats b{color:var(--text);font-weight:600;margin-right:3px}
.proj-meta{display:flex;justify-content:space-between;align-items:center;gap:10px;font-size:14px;color:var(--muted)}
.project-summary{display:flex;gap:20px;font-size:15px;color:var(--muted);margin:0 0 22px;flex-wrap:wrap}.project-summary strong{color:var(--text);font-weight:600;margin-right:4px}
.thumbs{display:grid;grid-template-columns:repeat(auto-fill,minmax(125px,1fr));gap:12px}
.thumb{position:relative;border:1px solid var(--border);border-radius:9px;overflow:hidden;aspect-ratio:1;background:var(--surface-2)}
.thumb img{display:block;width:100%;height:100%;object-fit:cover}.thumb .cap{position:absolute;inset:auto 0 0;padding:25px 9px 8px;font-size:14px;color:var(--on-media);background:linear-gradient(transparent,var(--media-shade));white-space:nowrap;text-overflow:ellipsis;overflow:hidden}
.thumb.pick{cursor:pointer}.thumb.pick.on{outline:3px solid var(--accent);outline-offset:-3px}.thumb .ord{position:absolute;top:7px;left:7px;width:24px;height:24px;border-radius:6px;background:var(--accent-bg);color:var(--on-accent);display:grid;place-items:center;font-size:14px;font-weight:650}
.thumb .x{position:absolute;top:6px;right:6px}
.drop{border:1.5px dashed var(--border-strong);border-radius:10px;padding:30px 20px;text-align:center;cursor:pointer;color:var(--muted);font-size:15px;transition:.15s}.drop.over,.drop:hover{border-color:var(--accent);background:var(--accent-soft);color:var(--accent)}
.job{display:grid;grid-template-columns:minmax(0,1fr) 280px;gap:22px;padding:22px 24px;border-bottom:1px solid var(--line)}.job:last-child{border-bottom:0}.job:hover{background:var(--surface-3)}.job .prompt{font-size:15px;font-weight:500;line-height:1.7;white-space:pre-wrap;word-break:break-word}.job .meta{display:flex;gap:8px 14px;flex-wrap:wrap;align-items:center;font-size:14px;color:var(--muted);margin-top:12px}.job video{width:100%;background:var(--video-bg);border-radius:9px;max-height:220px}.job .side-box{display:flex;flex-direction:column;gap:9px}
.steps{display:flex;gap:4px;margin-top:16px;max-width:360px}.steps span{height:4px;flex:1;border-radius:2px;background:var(--border)}.steps .on{background:var(--accent)}.steps .bad{background:var(--bad)}.steps .warn{background:var(--warn)}
.bar{display:flex;height:10px;border-radius:8px;overflow:hidden;background:var(--surface-2)}.bar span{height:100%;display:block}.legend{display:flex;gap:8px 16px;flex-wrap:wrap;margin-top:14px;font-size:14px;color:var(--text-2)}.legend i{display:inline-block;width:9px;height:9px;border-radius:2px;margin-right:5px}
.modal-bg{position:fixed;inset:0;z-index:60;display:grid;place-items:center;padding:22px;background:var(--overlay);backdrop-filter:blur(4px);animation:fade .15s}
.modal{width:min(580px,100%);max-height:90vh;overflow:auto;background:var(--surface);color:var(--text);border:1px solid var(--border);border-radius:16px;box-shadow:var(--shadow-lg)}.modal.wide{width:min(1040px,100%)}
.modal .mh{padding:20px 24px;border-bottom:1px solid var(--border);display:flex;align-items:center;gap:12px}.modal .mb{padding:24px}.modal .mf{padding:16px 24px;background:var(--surface-2);border-top:1px solid var(--border);display:flex;justify-content:flex-end;gap:8px}
@keyframes fade{from{opacity:0}}
#toasts{position:fixed;right:24px;bottom:24px;z-index:80;display:flex;flex-direction:column;gap:8px}.toast{max-width:440px;padding:13px 18px;background:var(--toast-bg);color:var(--toast-text);box-shadow:var(--shadow-lg);border-radius:9px;font-size:15px;line-height:1.5;animation:fade .15s}.toast.bad{background:var(--bad-fill);color:var(--on-accent)}
.secret-box{font-family:var(--mono);background:var(--code-bg);color:var(--text);border:1px solid var(--border);padding:14px;border-radius:8px;word-break:break-all;overflow-wrap:anywhere}
.login{min-height:100vh;display:grid;grid-template-columns:minmax(0,1.05fr) minmax(0,1fr);background:var(--surface)}
.login-aside{min-height:100vh;background:var(--side-bg);color:var(--side-text);padding:48px 56px;display:flex;flex-direction:column;position:relative;overflow:hidden}
.login-aside .brand{padding:0;font-size:23px}.login-aside h1{color:var(--side-text);font-size:clamp(36px,4vw,62px);font-weight:500;letter-spacing:-.05em;line-height:1.15;max-width:460px;margin-top:auto;margin-bottom:26px}.login-aside p{color:var(--side-muted);font-size:16px;max-width:390px;line-height:1.8}.login-aside .login-aside-foot{margin-top:auto;padding-top:64px;font-size:14px;color:var(--side-muted);letter-spacing:.03em}
.login-content{padding:40px;display:grid;place-items:center}.login .login-form{width:min(380px,100%)}.login-form h2{font-size:28px;letter-spacing:-.04em;margin-bottom:8px}.login-form>p{font-size:15px;color:var(--muted);margin-bottom:30px}.login .form{gap:20px}.login .btn.primary{height:46px}
.login .login-note{margin-top:24px;font-size:14px;color:var(--muted)}
.creator-workspace{display:flex;flex-direction:column;gap:24px}.creator-mode{align-self:flex-start}.creator-mode button{padding:9px 16px;font-size:15px}.creator-layout{display:grid;grid-template-columns:minmax(0,1.3fr) minmax(280px,.8fr);gap:20px;align-items:start}.creator-layout textarea{min-height:220px}.creator-aside{position:sticky;top:24px}.creator-footer{display:flex;align-items:center;justify-content:space-between;gap:16px;border-top:1px solid var(--border);padding-top:18px}.creator-footer .muted{font-size:14px;max-width:380px}.creator-options{padding:17px 18px;background:var(--surface-2);border:1px solid var(--border);border-radius:9px}.creator-options summary{font-size:15px;font-weight:600;cursor:pointer}.creator-options .form{margin-top:18px}.scene-library{padding-top:10px}.scene-library>h2{margin-bottom:14px}
.settings-layout{display:grid;grid-template-columns:230px minmax(0,1fr);gap:24px;align-items:start}.settings-nav{position:sticky;top:22px;display:flex;flex-direction:column;gap:4px}.settings-nav button{background:transparent;border:0;border-radius:8px;text-align:left;padding:12px 14px;min-height:44px;font:inherit;font-size:15px;color:var(--muted);cursor:pointer}.settings-nav button:hover{color:var(--text);background:var(--surface-2)}.settings-nav button.on{color:var(--accent);background:var(--accent-soft);font-weight:600}.settings-group .form{max-width:820px;gap:24px}.settings-group h2{margin-bottom:6px}.settings-group>p{color:var(--muted);font-size:16px;margin-bottom:28px}
.settings-scope{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:28px;margin-bottom:24px}.settings-scope section{min-width:0}.settings-scope h2{font-size:17px;margin-bottom:8px}.settings-scope p{font-size:15px;color:var(--text-2);line-height:1.7}.settings-scope .scope-example{margin-top:10px;font-weight:600;color:var(--accent)}
.scene-table{table-layout:auto}.scene-table td:nth-child(2){min-width:200px;max-width:520px;line-height:1.65}.scene-table td:first-child{color:var(--muted);width:42px}.scene-table td:last-child{min-width:180px}
.spark{display:inline-flex;align-items:flex-end;gap:2px;height:19px;vertical-align:middle}.spark i{width:4px;min-height:2px;border-radius:1px;background:var(--ok);opacity:.85}.spark i.m{background:var(--info)}.spark i.s{background:var(--warn)}.spark i.x{background:var(--bad);opacity:.5}
@media(min-width:1600px){.page{padding:40px 48px 70px}.topbar{padding:0 48px}.shell{grid-template-columns:264px minmax(0,1fr)}}
@media(max-width:1120px){.grid-2,.grid-3{grid-template-columns:1fr}.creator-layout{grid-template-columns:minmax(0,1fr) 280px}.kpis{grid-template-columns:repeat(3,minmax(0,1fr))}.page{padding:26px 24px 50px}.topbar{padding:0 24px}}
@media(max-width:900px){.shell{grid-template-columns:minmax(0,1fr)}.side{position:fixed;inset:0 auto 0 0;width:260px;z-index:45;transform:translateX(-105%);transition:transform .2s}.side.open{transform:none;box-shadow:var(--shadow-lg)}.mobile-menu{display:inline-flex!important}.topbar{height:58px;position:sticky;top:0;z-index:30;background:var(--topbar-bg);backdrop-filter:blur(10px)}.sidebar-shade{position:fixed;inset:0;background:var(--overlay);z-index:40}.login-aside{padding:40px}.login-aside h1{font-size:42px}}
@media(max-width:680px){.settings-scope{grid-template-columns:1fr;gap:20px}.page{padding:24px 16px 40px}.page-head{gap:15px;margin-bottom:22px}.page-head>div:first-child{min-width:0;flex-basis:100%}.page-head>.row{width:100%;gap:6px;justify-content:flex-start}.topbar{padding:0 16px}.topbar .top-crumb{max-width:calc(100vw - 150px);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.kpis{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.kpi{padding:17px}.kpi .value{font-size:25px}.card-pad{padding:18px}.card-head{padding:16px 18px}.grid{gap:16px}.creator-layout{grid-template-columns:1fr}.creator-aside{position:static}.creator-footer{align-items:stretch;flex-direction:column}.creator-footer .btn{width:100%;height:44px}.job{grid-template-columns:1fr;padding:18px;gap:16px}.job .side-box:empty{display:none}.job video{max-height:280px}.seg{max-width:100%}.tabs{gap:20px}.proj-grid{grid-template-columns:1fr}.proj{min-height:200px}.settings-layout{grid-template-columns:1fr;gap:18px}.settings-nav{flex-direction:row;overflow:auto;position:static}.settings-nav button{white-space:nowrap}.login{grid-template-columns:1fr}.login-aside{min-height:auto;padding:30px 28px 34px}.login-aside .brand{font-size:18px}.login-aside h1{font-size:32px;margin:35px 0 12px;max-width:350px}.login-aside p{display:none}.login-aside-foot{display:none}.login-content{padding:36px 24px;align-items:start}.login-form h2{font-size:25px}.modal-bg{padding:12px}.modal{max-height:94vh;border-radius:12px}.modal .mh,.modal .mb,.modal .mf{padding:18px}.toast{max-width:calc(100vw - 32px)}#toasts{right:16px;bottom:16px;left:16px}.thumbs{grid-template-columns:repeat(3,minmax(0,1fr))}.t td,.t th{padding:12px 12px}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{animation:none!important;transition:none!important;scroll-behavior:auto!important}}

.chat-layout{display:grid;grid-template-columns:240px minmax(0,1fr);gap:20px;align-items:start}.chat-sidebar{padding:16px}.chat-sidebar>.btn{width:100%}.chat-list{display:flex;flex-direction:column;gap:4px;margin-top:16px;max-height:65vh;overflow:auto}.chat-list button{border:0;background:transparent;text-align:left;border-radius:7px;padding:11px 12px;color:var(--muted);font:inherit;font-size:15px;cursor:pointer;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.chat-list button:hover{color:var(--text);background:var(--surface-2)}.chat-list button.on{background:var(--accent-soft);color:var(--accent);font-weight:600}.chat-workspace{min-height:600px;display:flex;flex-direction:column}.chat-workspace .card-head h2{font-size:17px}.chat-messages{height:440px;overflow-y:auto;padding:24px;display:flex;flex-direction:column;gap:20px}.chat-messages>.empty{margin:auto}.chat-message{max-width:88%;align-self:flex-start}.chat-message.user{align-self:flex-end}.chat-author{font-size:14px;color:var(--muted);margin-bottom:6px}.chat-message.user .chat-author{text-align:right}.chat-bubble{white-space:pre-wrap;overflow-wrap:anywhere;padding:14px 17px;border-radius:4px 12px 12px;background:var(--surface-2);color:var(--text);font-size:15px;line-height:1.75}.chat-message.user .chat-bubble{background:var(--accent-soft);border-radius:12px 4px 12px 12px}.chat-composer{padding:20px;border-top:1px solid var(--border);margin-top:auto}.chat-composer select{width:auto;max-width:220px}.chat-composer textarea{min-height:84px}.creator-options>summary{list-style-position:inside}.scene-library>h2{margin-top:22px}@media(max-width:900px){.chat-layout{grid-template-columns:1fr}.chat-sidebar{padding:14px}.chat-list{flex-direction:row;max-height:none;overflow-x:auto;margin-top:10px}.chat-list button{flex:none;max-width:190px}.chat-sidebar>.btn{width:auto}.chat-messages{height:390px;padding:18px}.chat-message{max-width:95%}.chat-workspace{min-height:0}}
.audio-asset{height:100%;min-height:130px;display:flex;align-items:center;justify-content:center;flex-direction:column;gap:12px;padding:25px 10px 35px;text-align:center}.audio-asset .small{max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.audio-asset audio{max-width:100%;height:30px}.audio-asset>.ic{color:var(--accent);width:25px;height:25px}
/* Toolbars: search grows, filters keep a readable width, actions sit at the end. */
.list-toolbar{display:flex;align-items:center;flex-wrap:wrap;gap:10px;margin-bottom:18px}.list-toolbar>.input{max-width:360px;flex:1 1 220px}.list-toolbar .btn{white-space:nowrap}.lazy-player video{display:block;width:100%;max-height:420px;border-radius:9px;background:var(--video-bg)}.library-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}.library-grid .card{min-width:0}.video-note{white-space:pre-wrap;overflow-wrap:anywhere}.tag-list{display:flex;gap:5px;flex-wrap:wrap}.progress-label{display:flex;justify-content:space-between;gap:12px;font-size:14px;color:var(--muted);margin-bottom:6px}.progress-track{height:6px;border-radius:4px;background:var(--border);overflow:hidden}.progress-track>span{display:block;height:100%;background:var(--accent);border-radius:4px}.scene-chips{display:flex;flex-wrap:wrap;gap:6px}.scene-chips .badge{font-size:14px}@media(max-width:680px){.list-toolbar>.input{max-width:none;width:100%;flex-basis:100%}.list-toolbar>.spacer{display:none}.library-grid{grid-template-columns:1fr}.list-toolbar .btn{font-size:15px}.lazy-player video{max-height:320px}}
.list-toolbar>select.input{width:auto;max-width:240px;min-width:150px;flex:0 1 auto}.creator-options textarea{min-height:90px}.creator-layout textarea[rows="4"]{min-height:120px}.scene-table.t th{font-size:15px}@media(max-width:680px){.list-toolbar>select.input{min-width:0;max-width:none;flex:1 1 150px}.creator-mode{flex-wrap:wrap;align-self:stretch}.creator-mode button{flex:1;white-space:nowrap}.library-grid .card-head{align-items:flex-start}}
@media(max-width:440px){.list-toolbar>select.input{flex-basis:100%}}
.list-toolbar .toolbar-label{font-size:14px;color:var(--muted);font-weight:600}
.list-count{font-size:14px;color:var(--muted)}
.tag-list .badge{max-width:100%;white-space:normal;overflow-wrap:anywhere}.library-grid>.empty,.library-grid>.card-pad{grid-column:1/-1}
.project-metrics{display:flex;flex-wrap:wrap;align-items:center;gap:18px 30px;margin:0 0 24px;padding:16px 20px;border:1px solid var(--border);border-radius:10px;background:var(--surface)}.project-metrics>div{display:flex;flex-direction:column;gap:3px}.project-metrics strong{font-size:16px;font-weight:600}.project-metrics .metric-scope{max-width:460px;line-height:1.6;margin-left:auto;font-size:14px}@media(max-width:680px){.project-metrics{padding:14px 16px;gap:14px}.project-metrics .metric-scope{flex-basis:100%;max-width:none;margin-left:0}.project-metrics strong{font-size:15px}}


/* G6 management kit: selection bar, row checkboxes, bulk dialog, recovery panel, typed settings. */
input[type=checkbox]:focus-visible,select:focus-visible,.input:focus-visible{outline:3px solid var(--focus);outline-offset:2px}
.row-check,.sel-head{width:20px;height:20px;margin:0;flex:none;accent-color:var(--accent-bg);cursor:pointer}
.row-check:disabled,.sel-head:disabled{cursor:not-allowed}
.selbar{scroll-margin-top:72px;display:flex;flex-direction:column;gap:8px;padding:12px 24px;border-bottom:1px solid var(--border);background:var(--surface-2)}
.list-toolbar+.selbar,.creator-workspace .selbar,.scene-library .selbar,.card-pad>.selbar{border:1px solid var(--border);border-radius:10px;margin-bottom:14px}
.selbar-row{display:flex;align-items:center;flex-wrap:wrap;gap:8px 12px;min-height:38px}
.selbar-actions .btn[hidden]{display:none}
.sel-head-label{align-items:center;font-weight:600;color:var(--text)}
.sel-head-label .sel-head{margin:0}
.sel-info{font-size:14px;color:var(--text-2);font-variant-numeric:tabular-nums}
.sel-note{font-size:14px;color:var(--muted)}
.sel-all{color:var(--accent);text-decoration:underline;text-underline-offset:3px;padding:0 6px}
.card-title-check{flex-wrap:nowrap;gap:12px;align-items:center;min-width:0}.card-title-check h2{min-width:0;overflow-wrap:anywhere}
.job .row>.row-check{margin-right:2px}
.proj-wrap{position:relative;display:flex;min-width:0}.proj-wrap>.proj{flex:1;min-width:0}
.proj-select{position:absolute;top:14px;right:14px;z-index:2;display:grid;place-items:center;width:44px;height:44px;border-radius:10px;background:var(--chip-bg);cursor:pointer}
.proj-wrap .proj-top{padding-right:46px}
.thumb-select{position:absolute;top:4px;left:4px;z-index:2;display:grid;place-items:center;width:40px;height:40px;border-radius:8px;background:var(--chip-bg);cursor:pointer}
.thumb .ord{left:46px}
.bulk-intro{margin:0;font-size:16px;line-height:1.6}
.bulk-tiles{display:grid;grid-template-columns:repeat(auto-fit,minmax(120px,1fr));gap:10px}
.bulk-tile{display:flex;flex-direction:column;gap:4px;padding:12px 14px;border:1px solid var(--border);border-radius:10px;background:var(--surface-2)}
.bulk-tile span{font-size:14px;color:var(--muted)}.bulk-tile strong{font-size:22px;font-variant-numeric:tabular-nums;color:var(--text)}
.bulk-tile.tone-ok strong{color:var(--ok)}.bulk-tile.tone-warn strong{color:var(--warn)}.bulk-tile.tone-bad strong{color:var(--bad)}
.bulk-blocked h3{margin:6px 0}.bulk-blocked ul{margin:0;padding-left:20px;font-size:15px;line-height:1.8}
.bulk-progress .progress-track{height:8px}
.recovery{border:1px solid var(--border);border-radius:10px;padding:10px 12px;background:var(--surface-2);display:flex;flex-direction:column;gap:8px}
.recovery-head{display:flex;align-items:center;justify-content:space-between;gap:8px}.recovery-text{line-height:1.55}
.recovery details ul{margin:6px 0 0;padding-left:18px}
.setting-row{display:grid;gap:8px;padding:14px 16px;border:1px solid var(--border);border-radius:10px;background:var(--surface)}
.setting-row.is-dirty{border-color:var(--info);box-shadow:inset 3px 0 0 var(--info)}.setting-row.is-invalid{border-color:var(--bad);box-shadow:inset 3px 0 0 var(--bad)}
.setting-meta{display:flex;flex-wrap:wrap;gap:6px}.setting-meta .badge{white-space:normal}
.field-error{font-size:14px;color:var(--bad);font-weight:600}
.input[aria-invalid=true]{border-color:var(--bad)}
.settings-footer{position:sticky;bottom:0;z-index:5;display:flex;align-items:center;flex-wrap:wrap;gap:10px;margin-top:18px;padding:14px 18px;border:1px solid var(--border);border-radius:12px;background:var(--surface);box-shadow:var(--shadow-hover)}
.settings-footer-text{font-size:15px;color:var(--text-2)}.settings-footer-text.is-dirty{color:var(--info);font-weight:600}.settings-footer-text.is-bad{color:var(--bad);font-weight:600}
.settings-diff{margin:0;padding-left:20px;line-height:1.7}
@media(max-width:680px){.selbar{padding:12px 16px}.selbar-actions .btn{flex:1 1 calc(50% - 8px)}.bulk-tiles{grid-template-columns:repeat(2,minmax(0,1fr))}.settings-footer{padding:12px}.settings-footer .btn{flex:1}.modal .mf{flex-wrap:wrap}.modal .mf .btn{flex:1 1 auto}}
.side :focus-visible{outline-color:var(--side-focus)}
#toasts{pointer-events:none}
/* G6.4 round C: scoped (project/account) settings, read-only unsupported keys, project snapshot aside. */
.settings-rev{margin-bottom:14px}.settings-scoped-form{gap:16px}.scoped-settings .settings-footer{margin-top:16px}
.conflict-actions{display:inline-flex;flex-wrap:wrap;gap:8px;margin-top:8px}
.settings-locked{margin-top:24px;padding:16px 18px;border:1px dashed var(--border-strong);border-radius:10px;background:var(--surface-2)}.settings-locked h3{font-size:17px;margin-bottom:10px}.settings-locked ul{margin:0;padding:0;list-style:none;display:grid;gap:12px}.settings-locked li .row{flex-wrap:wrap;gap:8px}.settings-locked li .small{margin-top:4px;line-height:1.6}
.settings-project{display:grid;grid-template-columns:minmax(0,1fr) 330px;gap:20px;align-items:start}.settings-project-aside{position:sticky;top:22px}
.settings-snapshot{display:grid;grid-template-columns:auto minmax(0,1fr);gap:8px 14px;margin:0 0 12px;font-size:15px}.settings-snapshot dt{color:var(--muted)}.settings-snapshot dd{margin:0;font-weight:600;overflow-wrap:anywhere}
.account-settings h3{margin-bottom:6px}.account-settings>p{margin-bottom:12px}
@media(max-width:900px){.settings-project{grid-template-columns:1fr}.settings-project-aside{position:static}}
/* Account center: lifecycle navigation keeps recovery separate from production bulk actions. */
.account-center{min-width:0}.account-lifecycle{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin-bottom:12px}
.account-lifecycle>.btn{justify-content:center;white-space:normal;min-height:48px}.account-lifecycle-help{color:var(--muted);font-size:15px;line-height:1.6;margin:0 0 20px;max-width:900px}
.account-identity-guide{min-width:200px;max-width:360px;border-left:3px solid var(--warn);padding:8px 10px;margin-top:10px;background:var(--surface-2);border-radius:0 6px 6px 0;overflow-wrap:anywhere}
.account-identity-guide strong{font-size:14px}.account-identity-guide p{font-size:14px;line-height:1.55;margin:5px 0 0}.account-actions{display:flex;flex-wrap:wrap;gap:6px;min-width:190px;max-width:280px}
.account-retirement-action{min-width:210px;max-width:290px}.account-retirement-action .btn{white-space:normal}.account-restore-fields{border:0;padding:0;margin:0;display:grid;gap:16px;min-width:0}
@media(max-width:680px){.account-lifecycle{gap:6px}.account-lifecycle>.btn{font-size:14px;padding:10px 6px}.account-center .table-wrap{max-width:100%}.account-center .list-toolbar>.input{min-width:0}}
/* Round K: theme switch in the top bar. */
.theme-switch{display:inline-flex;align-items:center}
.theme-switch select.input{height:40px;width:auto;min-width:0;padding:0 30px 0 10px;font-size:15px;background:var(--surface);cursor:pointer}
/* Video providers ("Nguồn video"): badges, Pro/Fast pill, "—" cells, requested-vs-produced table, provider tabs,
   points tiers, worker capabilities. Theme tokens only; text >= 14px. */
.na-cell{color:var(--muted);cursor:help;text-decoration:underline dotted var(--border-strong);text-underline-offset:3px}
.prov-badge{display:inline-flex;align-items:center;min-height:26px;padding:2px 9px;border-radius:999px;font-size:14px;font-weight:600;white-space:nowrap;background:var(--neutral-soft);color:var(--text-2);border:1px solid var(--border)}
.prov-badge.prov-muse{background:var(--accent-soft);color:var(--accent-2);border-color:transparent}
.prov-badge.prov-dola{background:var(--info-soft);color:var(--info);border-color:var(--info-border)}
.mode-pill{display:inline-flex;align-items:center;margin-left:6px;padding:1px 8px;border-radius:999px;font-size:14px;font-weight:700;white-space:nowrap;border:1px solid var(--border)}
.mode-pill.pro{background:var(--warn-soft);color:var(--warn);border-color:var(--warn-border)}
.mode-pill.fast{background:var(--neutral-soft);color:var(--text-2)}
.model-cell{display:inline-flex;align-items:center;flex-wrap:wrap;gap:4px 0}.model-pill{font-size:14px;font-weight:600;white-space:nowrap}
.dur-cell{font-size:14px;white-space:nowrap;font-variant-numeric:tabular-nums}.dur-cell.short{color:var(--warn);font-weight:700}
.lang-cell{font-size:14px;white-space:nowrap}
.job-compare{margin-top:14px;display:flex;flex-direction:column;gap:8px;max-width:620px}
.job-compare-head{display:flex;align-items:center;gap:8px;flex-wrap:wrap}
.job-compare-wrap{overflow:auto}
.job-compare-t{font-size:15px;min-width:0;width:100%}
.job-compare-t th,.job-compare-t td{padding:8px 10px;text-align:left;vertical-align:top}
.job-compare-t tbody th{font-weight:600;color:var(--text-2);white-space:nowrap}
.job-compare-fold{margin-top:12px}.job-compare-fold>summary{cursor:pointer;font-size:14px;font-weight:600;color:var(--text-2);min-height:32px;display:flex;align-items:center}
.provider-tabs{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:12px}
.provider-tab{gap:8px}.provider-tab-note{font-size:14px;font-weight:500;opacity:.85}
.provider-panel[hidden]{display:none}
.provider-pending-card{display:flex;flex-direction:column;gap:12px}.provider-pending-card h2{font-size:19px}
.tier-slots{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:10px}
.tier-slot{display:flex;flex-direction:column;gap:4px;padding:12px 14px;border:1px solid var(--border);border-radius:10px;background:var(--surface-2);font-size:14px;color:var(--text-2)}
.tier-slot b{font-size:24px;line-height:1.2;color:var(--text);font-variant-numeric:tabular-nums}
.tier-slot.tone-bad b{color:var(--bad)}.tier-slot.tone-warn b{color:var(--warn)}
.cap-cell{display:flex;flex-direction:column;gap:6px;min-width:150px;max-width:280px}.cap-badges{display:flex;flex-wrap:wrap;gap:4px}
@media(max-width:900px){.tier-slots{grid-template-columns:repeat(4,minmax(0,1fr))}}
@media(max-width:480px){.tier-slots{grid-template-columns:repeat(2,minmax(0,1fr))}.provider-tabs .btn{flex:1 1 40%}}
