:root{--bg:#f6f8f7;--surface:#fff;--surface-soft:#f7f9f8;--line:#e1e8e5;--line-strong:#b9ccc6;--text:#15211f;--muted:#687874;--teal:#006b6f;--teal-soft:#eef8f6;--amber:#d88721;--amber-soft:#fff4e5;--blue-soft:#e8f1ff;--shadow:0 10px 24px #1627230f}*{box-sizing:border-box}html,body{background:var(--bg);min-height:100%;color:var(--text);letter-spacing:0;margin:0;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}button,input{font:inherit}button{cursor:pointer}a{color:inherit;text-decoration:none}.app-shell{grid-template-columns:232px minmax(0,1fr);min-height:100vh;display:grid}.sidebar{border-right:1px solid var(--line);background:var(--surface);flex-direction:column;gap:22px;padding:24px 18px;display:flex}.brand{color:var(--teal);font-size:28px;font-weight:800}.sidebar-nav{flex-direction:column;flex:1;gap:22px;display:flex}.nav-group h2{color:var(--muted);margin:0 0 10px;font-size:12px;font-weight:700}.nav-item{color:#34423f;border-radius:6px;align-items:center;gap:10px;min-height:36px;padding:0 10px;font-size:14px;display:flex}.nav-item.active{box-shadow:inset 3px 0 0 var(--teal);background:var(--teal-soft);color:var(--teal);font-weight:700}.budget-box{border:1px solid var(--line);border-radius:8px;padding:14px}.budget-box span,.budget-box small{color:var(--muted);font-size:12px;display:block}.budget-box strong{margin-top:8px;font-size:20px;display:block}.meter{background:#e5ebe8;border-radius:999px;height:8px;margin:10px 0;overflow:hidden}.meter span{background:#27a897;width:68%;height:100%}.main-surface{min-width:0}.workspace{flex-direction:column;min-height:100vh;display:flex}.topbar,.idea-bar{border-bottom:1px solid var(--line);background:var(--surface);align-items:center;gap:14px;padding:12px 24px;display:flex}.project-switcher{align-items:center;gap:14px;display:flex}.project-switcher span{color:var(--muted);font-size:13px}.project-switcher strong{border:1px solid var(--line);background:#fbfdfc;border-radius:6px;padding:8px 24px 8px 14px}.saved{color:#11805e;align-items:center;gap:5px;display:inline-flex}.top-actions{gap:8px;margin-left:auto;display:flex}.idea-bar label{flex:none;font-weight:800}.idea-bar input{border:1px solid var(--line);color:#283633;border-radius:6px;flex:1;min-width:220px;padding:12px 14px}.primary-button,.secondary-button,.ghost-button{border-radius:6px;justify-content:center;align-items:center;gap:8px;min-height:42px;padding:0 16px;font-weight:700;display:inline-flex}.primary-button{border:1px solid var(--teal);background:var(--teal);color:#fff}.secondary-button,.ghost-button{border:1px solid var(--line);background:var(--surface);color:#263633}.workspace-grid{flex:1;grid-template-columns:280px minmax(520px,1fr) 320px;min-height:0;display:grid}.pipeline-panel,.episode-panel,.inspector{border-right:1px solid var(--line);background:var(--surface-soft);min-width:0}.pipeline-panel,.inspector{padding:20px 16px}.panel-header{justify-content:space-between;align-items:center;margin-bottom:16px;display:flex}.panel-header h2{margin:0;font-size:16px}.panel-header span{color:var(--muted);font-size:12px}.pipeline-list{flex-direction:column;gap:6px;margin:0;padding:0;list-style:none;display:flex}.pipeline-step{color:#31423f;border:1px solid #0000;border-radius:7px;grid-template-columns:32px 1fr;align-items:center;min-height:54px;padding:0 10px;display:grid}.pipeline-step.selected{border-color:var(--teal);background:var(--surface);box-shadow:inset 3px 0 0 var(--teal)}.step-number{width:26px;height:26px;color:var(--teal);border:1px solid #74c9a9;border-radius:50%;place-items:center;font-size:13px;font-weight:800;display:grid}.pipeline-step strong,.pipeline-step small{display:block}.pipeline-step small{color:var(--muted);margin-top:3px}.pipeline-footer,.context-mini{color:var(--muted);gap:8px;margin-top:14px;font-size:13px;line-height:1.5;display:flex}.episode-panel{background:#fbfcfc;flex-direction:column;display:flex}.tabs,.episode-meta{border-bottom:1px solid var(--line);background:var(--surface);align-items:center;gap:16px;padding:0 20px;display:flex}.tabs{min-height:54px}.tab{height:54px;color:var(--muted);background:0 0;border:0;border-bottom:2px solid #0000;font-weight:700}.tab.active{border-bottom-color:var(--teal);color:var(--teal)}.episode-meta{min-height:50px;color:var(--muted);font-size:13px}.episode-meta strong{color:#e26012;margin-left:auto}.draft{background:var(--surface);flex:1;padding:24px 32px}.draft-toolbar{color:var(--muted);justify-content:space-between;font-size:13px;display:flex}.draft-toolbar strong{color:#16805a;font-size:13px}.draft h1{margin:24px 0 18px;font-size:24px}.draft p{color:#24302d;max-width:760px;margin:0 0 18px;font-size:16px;line-height:1.8}.linked-grid{border-top:1px solid var(--line);background:#fbfcfc;grid-template-columns:1fr 1fr;gap:18px;padding:16px 20px;display:grid}.linked-grid h3{margin:0 0 10px;font-size:14px}.linked-card{border:1px solid var(--line);background:var(--surface);border-radius:7px;grid-template-columns:20px 1fr;gap:6px 8px;padding:12px;display:grid}.linked-card span{color:var(--muted);grid-column:2;font-size:12px}.linked-card.event{flex-direction:column;display:flex}.inspector{border-right:0}.inspector-section{border:1px solid var(--line);background:var(--surface);border-radius:7px;margin-bottom:10px;padding:12px 12px 10px}.inspector-section header{justify-content:space-between;align-items:center;margin-bottom:10px;display:flex}.inspector-section header span{color:var(--muted);font-size:12px;font-weight:700}.context-row,.plot-row{color:#354542;align-items:center;gap:8px;min-height:29px;font-size:13px;display:flex}.context-row em,.plot-row em,.status-grid em{color:#16805a;background:#ecf8f1;border-radius:5px;margin-left:auto;padding:2px 7px;font-size:12px;font-style:normal}.fact-row{color:#354542;margin:0 0 10px;font-size:13px;line-height:1.55}.status-grid{color:var(--muted);grid-template-columns:1fr auto;gap:9px;margin-top:12px;font-size:13px;display:grid}.status-grid .warn{background:var(--amber-soft);color:var(--amber)}.patch-status,.patch-banner{color:#e26012;align-items:center;gap:10px;display:flex}.error-banner{color:#a23b16;background:#fff1eb;border-bottom:1px solid #f3c3aa;padding:12px 24px;font-size:14px;font-weight:700}.patch-status{justify-content:space-between;padding-top:8px}.patch-banner{border-top:1px solid var(--line);background:#fffaf2;padding:12px 24px;font-size:14px}.patch-banner span{flex:1}.summary-page{min-height:100vh;padding:36px}.summary-header{max-width:860px;margin-bottom:28px}.summary-header p{color:var(--teal);margin:0 0 10px;font-weight:800}.summary-header h1{margin:0 0 12px;font-size:36px}.summary-header span{color:var(--muted)}.summary-grid,.admin-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:18px;display:grid}.summary-block,.status-card{border:1px solid var(--line);background:var(--surface);box-shadow:var(--shadow);border-radius:8px}.summary-block{padding:20px}.summary-block h2{gap:8px;margin:0 0 16px;font-size:18px;display:flex}.summary-row{border-top:1px solid var(--line);justify-content:space-between;padding:13px 0;display:flex}.status-card{gap:10px;padding:20px;display:grid}.status-card span{color:var(--muted)}.status-card strong{font-size:28px}@media (max-width:1180px){.app-shell{grid-template-columns:82px minmax(0,1fr)}.brand{font-size:0}.brand:first-letter{font-size:28px}.nav-item span,.nav-group h2,.budget-box{display:none}.workspace-grid{grid-template-columns:260px minmax(0,1fr)}.inspector{border-top:1px solid var(--line);grid-column:1/-1}}@media (max-width:820px){.app-shell,.workspace-grid,.linked-grid,.summary-grid,.admin-grid{grid-template-columns:1fr}.sidebar{border-right:0;border-bottom:1px solid var(--line);gap:14px;min-height:auto;padding:18px 14px;position:static}.brand{font-size:24px}.brand:first-letter{font-size:inherit}.sidebar-nav{flex:none;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;display:grid}.nav-group{min-width:0}.nav-group h2{margin-bottom:6px;font-size:10px;display:block}.nav-item{gap:7px;min-height:34px;padding:0 8px;font-size:12px}.nav-item span{text-overflow:ellipsis;white-space:nowrap;display:inline;overflow:hidden}.topbar,.idea-bar{flex-direction:column;align-items:stretch}.top-actions{margin-left:0}}
