:root{--ink:#253d37;--muted:#75827b;--green:#1c5546;--mint:#e5eee8;--paper:#f4f4ed;--white:#fff;--line:#e1e5dd;--amber:#a9762d;--red:#b25b45;--sidebar:224px;font-family:-apple-system,BlinkMacSystemFont,"PingFang SC","Microsoft YaHei",sans-serif;color:var(--ink);background:var(--paper);font-size:14px;line-height:1.65}
*{box-sizing:border-box}body{margin:0}button,input,select,textarea{font:inherit}button,a,input,select,textarea{outline-offset:4px}button{cursor:pointer}button:disabled{cursor:not-allowed;opacity:.45}a{color:var(--green);text-decoration:none}a:hover{text-decoration:underline}button{border:1px solid var(--line);background:white;border-radius:9px;padding:8px 13px;color:var(--ink)}button:hover:enabled{border-color:var(--green)}.primary{background:var(--green);border-color:var(--green);color:white}.danger{color:var(--red)}.quiet{background:transparent;border-color:transparent}.small{font-size:12px;padding:5px 9px}.shell{display:flex;min-height:100vh}.sidebar{width:var(--sidebar);position:fixed;inset:0 auto 0 0;background:#173f37;color:#ebf0e9;padding:32px 20px;display:flex;flex-direction:column}.brand{display:flex;gap:11px;align-items:center;margin:0 0 38px 4px}.brandmark{background:#dde8b3;color:#254238;border-radius:14px;width:39px;height:39px;display:grid;place-items:center;font-size:23px;font-weight:650}.brand strong{font-size:18px;font-weight:600;letter-spacing:1px}.brand small{display:block;color:#a5b8aa;font-size:10px;letter-spacing:1.5px}.nav{display:flex;flex-direction:column;gap:8px}.nav a{color:#bdcec4;padding:11px 14px;display:flex;align-items:center;gap:14px;border-radius:10px}.nav a.active{background:#2a5448;color:#fff}.nav a:hover{background:#2a5448;text-decoration:none}.nav svg{width:18px;height:18px}.sidebar-bottom{margin-top:auto;color:#a8bfb2;border-top:1px solid #406052;padding:20px 10px 0;font-size:12px}.sidebar-bottom a{color:#d7e6c6}.main{margin-left:var(--sidebar);width:calc(100% - var(--sidebar));padding:0 40px 45px}.topbar{height:84px;border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;gap:16px}.topbar-left{font-size:12px;color:var(--muted);letter-spacing:.5px}.topbar-right{display:flex;align-items:center;gap:12px}.workspace-label{font-size:11px;background:var(--mint);padding:4px 9px;border-radius:20px}.sandbox-label{background:#fff0cc;color:#916322}.role-select{border:1px solid var(--line);border-radius:8px;background:#fff;padding:6px 10px;max-width:200px}.page-head{display:flex;justify-content:space-between;gap:24px;align-items:center;margin:32px 0 24px}.page-head h1{font-size:27px;letter-spacing:-.5px;font-weight:600;line-height:1.3;margin:0 0 8px}.page-head p{color:var(--muted);margin:0;font-size:13px}.eyebrow{font-size:10px;letter-spacing:2px;color:var(--muted);margin:0 0 9px}.head-actions{display:flex;gap:10px;align-items:center;flex-wrap:wrap}.notice{background:#eaf0e6;border:1px solid #d9e4d3;padding:13px 18px;border-radius:10px;display:flex;align-items:center;justify-content:space-between;gap:16px;margin:0 0 24px;font-size:13px}.notice.warn{background:#fff5e0;border-color:#f1e3c5;color:#805d30}.notice span{display:block;color:var(--muted);font-size:12px}.stats{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;margin-bottom:30px}.stat{padding:20px 23px;background:white;border:1px solid var(--line);border-radius:12px}.stat small{color:var(--muted);font-size:12px}.stat strong{display:block;font-size:30px;font-weight:500;line-height:1.6}.stat span{font-size:11px;color:var(--muted)}.stat.green{background:#dfe9dc}.section-head{display:flex;align-items:center;justify-content:space-between;margin:25px 0 14px}.section-head h2{font-size:16px;font-weight:600;margin:0}.section-head small{color:var(--muted);font-size:12px}.panel{background:white;border:1px solid var(--line);border-radius:13px;padding:24px;margin:0 0 20px}.cards{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}.video-card{background:white;border:1px solid var(--line);border-radius:13px;overflow:hidden}.card-visual{height:134px;background:#e2e8db;position:relative;display:flex;align-items:center;justify-content:center;color:#536f51}.card-visual.v1{background:#e2e7d7}.card-visual.v2{background:#e4e8e6}.card-visual.v3{background:#efe7d8}.visual-symbol{font-size:45px;opacity:.35}.visual-tag{position:absolute;top:15px;left:17px;font-size:10px;letter-spacing:2px}.visual-footer{position:absolute;bottom:12px;right:15px;font-size:10px;color:#71816d}.card-body{padding:19px}.card-body h3{font-size:17px;font-weight:600;margin:8px 0 5px}.card-body p{font-size:12px;color:var(--muted);margin:0 0 14px;min-height:20px}.card-meta{display:flex;justify-content:space-between;gap:8px;font-size:11px;color:var(--muted);border-top:1px solid var(--line);padding-top:13px;margin-top:18px}.card-body .quiet{padding:0;color:var(--green);font-size:12px}.badge{display:inline-block;font-size:11px;padding:3px 9px;border-radius:20px;background:var(--mint);color:var(--green);font-weight:500}.badge.wait{background:#f4eedf;color:#9b7943}.badge.returned{background:#f8e8e1;color:var(--red)}.badge.complete{background:#e6ede2;color:#617754}.todo-list{background:white;border:1px solid var(--line);border-radius:12px;overflow:hidden}.todo-row{display:flex;align-items:center;gap:17px;padding:18px 22px;border-bottom:1px solid var(--line)}.todo-row:last-child{border-bottom:0}.todo-num{width:33px;height:33px;border-radius:10px;background:#edf0e8;display:grid;place-items:center;font-size:11px;color:#65806c;flex-shrink:0}.todo-info{flex:1}.todo-info strong{font-size:14px;display:block;font-weight:500}.todo-info small{font-size:11px;color:var(--muted)}.due{font-size:11px;color:var(--muted)}.due.overdue{color:var(--red)}.empty{padding:40px 24px;text-align:center;color:var(--muted)}.empty strong{display:block;font-size:16px;color:var(--ink);font-weight:500;margin:0 0 7px}.direction-card{background:white;border:1px solid var(--line);border-radius:13px;margin-bottom:18px;padding:25px}.direction-top{display:flex;align-items:center;justify-content:space-between;gap:10px}.direction-card h2{font-size:20px;font-weight:550;margin:10px 0 15px}.direction-card .linkline{font-size:12px;color:var(--muted);margin:8px 0}.direction-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:15px;margin:15px 0 20px}.kv small{color:var(--muted);font-size:11px;display:block}.kv span{font-size:13px}.direction-actions{display:flex;gap:10px;flex-wrap:wrap;border-top:1px solid var(--line);padding-top:18px}.next-arrow{font-size:12px;color:var(--green);margin:13px 0}.back{font-size:12px;color:var(--muted)}.stepper{display:flex;gap:0;margin-bottom:26px;overflow-x:auto}.step{flex:1;min-width:90px;position:relative;padding:15px 10px 13px;border-bottom:2px solid #d9ded5;color:#89938b;font-size:11px;text-align:center}.step.current{color:var(--green);border-color:var(--green);font-weight:600;background:#e8eee5;border-radius:8px 8px 0 0}.step.passed{border-color:#9cb29f;color:#6a846d}.step b{display:block;font-size:10px;letter-spacing:1px;margin-bottom:4px}.tabs{display:flex;gap:25px;align-items:center;border-bottom:1px solid var(--line);margin-bottom:25px;overflow-x:auto}.tabs button{padding:11px 0;border:0;border-bottom:2px solid transparent;border-radius:0;background:none;white-space:nowrap;color:var(--muted);font-size:13px}.tabs button.active{border-color:var(--green);color:var(--green);font-weight:600}.detail-grid{display:grid;grid-template-columns:minmax(0,1fr) 285px;gap:22px}.detail-aside h3,.panel h3{margin:0 0 16px;font-size:15px;font-weight:600}.script-body{white-space:pre-wrap;word-break:break-word;font:13px/1.9 -apple-system,BlinkMacSystemFont,"PingFang SC",sans-serif;color:#496057;max-height:620px;overflow-y:auto}.action-box{display:flex;gap:9px;flex-wrap:wrap;margin:18px 0 0}.helper{font-size:12px;color:var(--muted);margin:12px 0}.shot-row{display:flex;gap:13px;border-top:1px solid var(--line);padding:15px 0}.shot-row:first-child{border-top:0}.shot-row strong{font-weight:500;display:block;font-size:13px}.shot-row small{font-size:11px;color:var(--muted)}.asset-row{padding:15px 0;border-top:1px solid var(--line);display:flex;justify-content:space-between;gap:10px}.asset-row strong{font-weight:500;font-size:13px}.asset-row p{margin:4px 0;font-size:11px;color:var(--muted)}.review-row{padding:16px 0;border-bottom:1px solid var(--line)}.review-row p{margin:8px 0;font-size:13px}.review-row small{color:var(--muted);font-size:11px}.latest{border-left:3px solid #d8e4d2;padding-left:15px}.evidence{border:1px solid var(--line);border-radius:8px;background:#fafbf7;padding:14px;font-size:12px;margin:14px 0}.evidence h4{margin:0 0 8px;font-size:13px;font-weight:500}.log-row{padding:12px 0;border-bottom:1px solid var(--line);font-size:12px}.log-row small{display:block;color:var(--muted);font-size:10px}.metric-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin:20px 0}.metric-grid div{background:#f6f8f2;border-radius:8px;padding:15px}.metric-grid small{display:block;color:var(--muted);font-size:11px}.metric-grid strong{font-size:22px;font-weight:500}.scope{display:flex;gap:10px;flex-wrap:wrap;font-size:11px;color:var(--muted);margin-top:14px}.scope span{border:1px solid var(--line);border-radius:6px;padding:4px 9px}video{width:100%;border-radius:9px;background:#142f29;max-height:460px}.loading{padding:70px;text-align:center;color:var(--muted)}#toast{position:fixed;bottom:25px;left:50%;transform:translateX(-50%);z-index:100;color:#fff;background:#254c3b;border-radius:10px;padding:12px 20px;box-shadow:0 6px 25px #24372a22;display:none;max-width:90vw;font-size:13px}#toast.visible{display:block}#toast.error{background:#954c36}dialog{border:1px solid var(--line);border-radius:16px;width:min(660px,92vw);max-height:90vh;padding:0;box-shadow:0 22px 80px #182c3733;color:var(--ink)}dialog::backdrop{background:#163e3544;backdrop-filter:blur(2px)}.dialog-header{display:flex;align-items:center;justify-content:space-between;padding:22px 27px;border-bottom:1px solid var(--line)}.dialog-header h2{font-size:18px;margin:0;font-weight:600}.dialog-body{padding:23px 27px}.dialog-footer{display:flex;justify-content:flex-end;gap:9px;padding:17px 27px;border-top:1px solid var(--line);background:#f7f8f3}.form-field{display:flex;flex-direction:column;gap:6px;margin:0 0 17px;font-size:12px}.form-field label{font-weight:500}.form-field input,.form-field select,.form-field textarea{border:1px solid #d7ddd2;border-radius:8px;padding:10px 12px;background:white;width:100%;color:var(--ink);font-size:13px}.form-field textarea{min-height:95px;resize:vertical}.form-field textarea.script-input{min-height:260px;font-size:12px}.form-field input[type=checkbox]{width:auto;vertical-align:middle}.form-field input[type=file]{font-size:11px;padding:7px;background:#f7f8f3}.form-field small{color:var(--muted);font-size:11px}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:17px}.check-row{display:flex;gap:9px;align-items:flex-start;font-size:12px;margin:8px 0}.check-row input{margin-top:5px}.form-error{color:var(--red);font-size:12px;min-height:20px}.job-status{padding:17px;background:#f1f5ed;border-radius:8px;margin-top:15px}.job-status p{font-size:12px;margin:6px 0}.job-status small{font-size:10px;color:var(--muted)}.recap-lines p{font-size:13px;margin:7px 0}.recap-lines b{font-weight:500}.divider{height:1px;background:var(--line);margin:20px 0}.login-screen{padding:15vh 20px;max-width:550px;margin:auto;text-align:center}.login-screen h1{font-size:27px}.login-screen p{color:var(--muted);font-size:13px}.login-screen .brandmark{margin:auto}.metrics-filter{display:flex;gap:10px;align-items:center;margin-bottom:20px}.metrics-filter select{border:1px solid var(--line);padding:8px 12px;border-radius:8px}.table-wrap{overflow-x:auto}table{width:100%;border-collapse:collapse;font-size:12px}th{text-align:left;color:var(--muted);font-weight:500;padding:10px 0;border-bottom:1px solid var(--line)}td{padding:13px 0;border-bottom:1px solid var(--line)}.inline-links{display:flex;gap:13px;flex-wrap:wrap;font-size:12px;margin:15px 0}
@media(min-width:1550px){.main{padding-left:60px;padding-right:60px}.cards{grid-template-columns:repeat(3,1fr)}}
@media(max-width:1050px){:root{--sidebar:190px}.main{padding:0 25px 30px}.cards{grid-template-columns:repeat(2,1fr)}.detail-grid{grid-template-columns:1fr}.detail-aside{display:grid;grid-template-columns:1fr 1fr;gap:18px}.stats{gap:10px}.stat{padding:15px}.direction-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:700px){:root{--sidebar:0px}.sidebar{position:fixed;inset:auto 0 0;width:100%;height:66px;z-index:30;padding:7px 6px;display:block;background:#173f37}.brand,.sidebar-bottom{display:none}.nav{flex-direction:row;justify-content:space-around;gap:1px}.nav a{font-size:10px;flex-direction:column;gap:2px;padding:5px 8px}.nav svg{width:17px;height:17px}.main{width:100%;margin-left:0;padding:0 17px 90px}.topbar{height:68px}.topbar-left{display:none}.topbar-right{width:100%;justify-content:space-between;gap:7px}.topbar-right .quiet{font-size:11px;padding:5px}.role-select{max-width:152px;font-size:11px}.page-head{margin-top:25px;align-items:flex-start;flex-direction:column;gap:14px}.page-head h1{font-size:25px}.stats{grid-template-columns:repeat(2,1fr);margin-bottom:20px}.stat strong{font-size:27px}.cards{grid-template-columns:1fr}.card-visual{height:110px}.notice{align-items:flex-start;font-size:12px}.direction-grid{grid-template-columns:1fr 1fr;gap:12px}.direction-card{padding:19px}.direction-card h2{font-size:18px}.detail-aside{display:block}.panel{padding:19px}.tabs{gap:21px}.todo-row{padding:16px 14px;gap:10px}.due{display:none}.form-row{grid-template-columns:1fr;gap:0}.dialog-body{padding:20px}.dialog-header{padding:18px 20px}.metric-grid{grid-template-columns:repeat(2,1fr)}.direction-top{align-items:flex-start}.scope{gap:6px}.metrics-filter{flex-wrap:wrap}}

.assistant-panel{max-width:100%}.assistant-panel textarea{min-height:130px}.assistant-history{display:grid;gap:20px;margin-top:28px}.ai-message{border-top:1px solid var(--line);padding-top:22px}.ai-request{white-space:pre-wrap;font-weight:600}.ai-reply{white-space:pre-wrap;overflow-wrap:anywhere;margin:14px 0}.ai-message details{margin:16px 0}.ai-message summary{cursor:pointer;font-weight:600}.assistant-panel .script-block{max-height:620px;overflow:auto}.topbar-right{flex-wrap:wrap}#ai-video-selector{max-width:100%;padding:9px;margin-left:15px}
