:root {
  --ink:#14223b; --muted:#6f7c91; --line:#e6eaf1; --soft:#f4f6fa;
  --blue:#3d63f3; --blue-dark:#203fba; --nav:#111c33; --cyan:#20b9c9;
  --green:#1e9f73; --amber:#e59a23; --red:#df5a61; --purple:#8067d9;
  --shadow:0 10px 34px rgba(31,45,76,.08); --radius:16px;
}
*{box-sizing:border-box}
body{margin:0;font-family:"Microsoft YaHei UI","PingFang SC",system-ui,sans-serif;color:var(--ink);background:#f2f4f8;font-size:14px}
button,input,select,textarea{font:inherit}.app-shell{min-height:100vh;display:flex}.sidebar{position:fixed;inset:0 auto 0 0;width:224px;background:linear-gradient(180deg,#111c33 0%,#152443 62%,#101b31 100%);color:white;padding:24px 15px;display:flex;flex-direction:column;z-index:20}
.brand{display:flex;align-items:center;gap:12px;padding:0 9px 25px}.brand-mark{width:40px;height:40px;border-radius:12px;display:grid;place-items:center;font-weight:800;font-size:19px;background:linear-gradient(145deg,#5277ff,#2b50dd);box-shadow:0 8px 22px rgba(50,82,224,.42)}.brand strong{display:block;font-size:16px}.brand span{display:block;color:#8997b4;font-size:11px;margin-top:4px;letter-spacing:.06em}
.nav-list{display:flex;flex-direction:column;gap:5px}.nav-list button{border:0;color:#aeb9d0;background:transparent;border-radius:10px;text-align:left;padding:11px 12px;cursor:pointer;display:flex;align-items:center;gap:12px;transition:.15s;position:relative}.nav-list button i{font-style:normal;width:19px;text-align:center;font-size:17px}.nav-list button:hover{background:rgba(255,255,255,.06);color:#fff}.nav-list button.active{background:linear-gradient(90deg,rgba(79,111,245,.34),rgba(57,89,217,.14));color:#fff}.nav-list button.active:before{content:"";position:absolute;left:-15px;width:3px;height:24px;background:#6281ff;border-radius:0 5px 5px 0}.nav-list b{margin-left:auto;min-width:20px;height:20px;padding:0 6px;border-radius:12px;background:var(--red);display:none;place-items:center;font-size:11px}
.sidebar-foot{margin-top:auto;border-top:1px solid rgba(255,255,255,.1);padding:18px 10px 0;display:flex;align-items:center;gap:10px}.sidebar-foot span{display:block;color:#8d9ab5;font-size:11px;margin-top:3px}.role-dot{width:34px;height:34px;border-radius:50%;background:radial-gradient(circle at 35% 30%,#d7e1ff,#718ef5 44%,#3554cb);border:2px solid rgba(255,255,255,.35)}
.main-shell{margin-left:224px;width:calc(100% - 224px);min-width:850px}.topbar{height:94px;background:rgba(255,255,255,.94);border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;padding:0 34px;position:sticky;top:0;z-index:15;backdrop-filter:blur(12px)}.topbar p{margin:0 0 4px;color:var(--blue);font-size:10px;font-weight:800;letter-spacing:.13em}.topbar h1{font-size:23px;margin:0;letter-spacing:-.03em}.top-actions{display:flex;align-items:center;gap:10px}.data-date{color:var(--muted);font-size:12px;border-right:1px solid var(--line);padding-right:15px;margin-right:3px}
.realtime-status{display:inline-flex;align-items:center;gap:7px;min-height:34px;padding:7px 10px;border:1px solid #dce4ef;border-radius:999px;background:#f7f9fc;color:#607087;font-size:10px;font-weight:700;white-space:nowrap;cursor:pointer;transition:.15s}.realtime-status:hover{transform:translateY(-1px);border-color:#bcc9e7;background:#fff}.realtime-status:focus-visible{outline:3px solid rgba(61,99,243,.17)}.realtime-dot{width:7px;height:7px;border-radius:50%;background:#98a5b7;box-shadow:0 0 0 3px rgba(152,165,183,.13)}.realtime-status.connected{color:#17775a;background:#eff9f5;border-color:#d5eee3}.realtime-status.connected .realtime-dot{background:#1e9f73;box-shadow:0 0 0 3px rgba(30,159,115,.14)}.realtime-status.connecting,.realtime-status.refreshing{color:#3559d6;background:#f0f3ff;border-color:#dce4ff}.realtime-status.connecting .realtime-dot,.realtime-status.refreshing .realtime-dot{background:var(--blue);box-shadow:0 0 0 3px rgba(61,99,243,.14);animation:realtimePulse 1.2s ease-in-out infinite}.realtime-status.pending{color:#956013;background:#fff8e9;border-color:#f0ddb2}.realtime-status.pending .realtime-dot{background:var(--amber);box-shadow:0 0 0 3px rgba(229,154,35,.14)}.realtime-status.offline{color:#aa4149;background:#fff1f2;border-color:#efd4d7}.realtime-status.offline .realtime-dot{background:var(--red);box-shadow:0 0 0 3px rgba(223,90,97,.14)}@keyframes realtimePulse{50%{opacity:.38;transform:scale(.82)}}
@media(max-width:1100px){.realtime-status{padding:7px 9px}.realtime-status #realtime-status-text{display:none}}
.content{padding:26px 30px 48px;max-width:1780px;margin:auto}.btn{border:0;border-radius:9px;padding:9px 14px;cursor:pointer;font-weight:650;transition:.15s}.btn:hover{transform:translateY(-1px)}.btn-primary{color:#fff;background:linear-gradient(135deg,#4a6df5,#3156e5);box-shadow:0 5px 14px rgba(61,99,243,.23)}.btn-ghost{background:#f4f6fb;color:#40506b;border:1px solid #e3e8f1}.btn-outline{background:#fff;color:var(--blue);border:1px solid #cfd8fa}.btn-danger{background:#fff1f1;color:#c84750}.btn-small{padding:6px 10px;font-size:12px}.btn-link{border:0;background:transparent;color:var(--blue);cursor:pointer;padding:0}.loading-card,.empty{background:#fff;border:1px solid var(--line);border-radius:var(--radius);padding:48px;text-align:center;color:var(--muted)}
.section-head{display:flex;justify-content:space-between;align-items:flex-end;margin:4px 0 15px}.section-head h2{font-size:16px;margin:0}.section-head p{margin:5px 0 0;color:var(--muted);font-size:12px}.section-head .head-actions{display:flex;gap:8px;align-items:center}.grid{display:grid;gap:16px}.stats-grid{grid-template-columns:repeat(5,minmax(150px,1fr));margin-bottom:18px}.stat-card,.card{background:#fff;border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow)}.stat-card{padding:18px;min-height:116px;position:relative;overflow:hidden}.stat-card:after{content:"";position:absolute;width:65px;height:65px;border-radius:50%;right:-22px;top:-22px;background:var(--tint,#eef2ff)}.stat-label{color:var(--muted);font-size:12px;display:flex;align-items:center;gap:7px}.stat-value{font-size:27px;font-weight:800;margin:11px 0 4px;letter-spacing:-.04em}.stat-sub{font-size:11px;color:#8b96a8}.stat-card.blue{--tint:#e2e9ff}.stat-card.green{--tint:#dff5ed}.stat-card.amber{--tint:#fff0d8}.stat-card.red{--tint:#fee5e7}
.scope-strip{display:flex;align-items:center;gap:7px;flex-wrap:wrap;background:#f9faff;border:1px solid #dfe5f2;border-radius:12px;padding:10px 12px;margin-bottom:15px;color:#53627a}.scope-strip strong{font-size:10px;color:#263957;letter-spacing:.05em;margin-right:2px}.scope-strip span{font-size:10px;background:#fff;border:1px solid #e2e7f0;border-radius:999px;padding:5px 9px;line-height:1.25}.scope-chip{display:inline-flex;margin-top:6px;font-size:9px;color:#65738b;background:#f2f4f8;border-radius:999px;padding:3px 7px}.anomaly-filter-card{width:100%;appearance:none;text-align:left;color:var(--ink);font-family:inherit;cursor:pointer;transition:transform .15s,border-color .15s,box-shadow .15s}.anomaly-filter-card:hover{transform:translateY(-2px);border-color:#bdc9ec;box-shadow:0 13px 36px rgba(31,45,76,.13)}.anomaly-filter-card.active{border-color:var(--blue);box-shadow:0 0 0 3px rgba(61,99,243,.14),var(--shadow)}.filter-hint{font-size:9px;color:var(--blue);background:#edf1ff;border-radius:999px;padding:3px 7px}.anomaly-filter-card.active .filter-hint{background:var(--blue);color:#fff}
.dashboard-columns{grid-template-columns:minmax(0,1.55fr) minmax(320px,.85fr);align-items:start}.card{padding:20px}.card + .card{margin-top:16px}.card-title{display:flex;align-items:flex-start;justify-content:space-between;margin-bottom:16px}.card-title h3{font-size:15px;margin:0}.card-title p{font-size:11px;color:var(--muted);margin:5px 0 0}.card-title .micro{font-size:11px;color:var(--muted)}
.workflow{display:grid;grid-template-columns:repeat(4,1fr);gap:0;padding:4px 0}.flow-step{position:relative;padding:13px 14px 11px 44px;background:#f7f8fb;margin-right:9px;border-radius:10px}.flow-step:not(:last-child):after{content:"›";position:absolute;right:-9px;top:16px;color:#aeb7c7;font-size:22px;z-index:2}.flow-no{position:absolute;left:12px;top:12px;width:24px;height:24px;border-radius:8px;display:grid;place-items:center;background:#e3e9ff;color:var(--blue);font-weight:800;font-size:11px}.flow-step strong{display:block;font-size:12px}.flow-step span{display:block;font-size:10px;color:var(--muted);margin-top:4px}
.split-card{display:grid;grid-template-columns:1fr 1fr;gap:20px}.divider-left{border-left:1px solid var(--line);padding-left:20px}.bar-row{display:grid;grid-template-columns:72px 1fr 72px;gap:10px;align-items:center;margin:12px 0;font-size:12px}.bar-track{height:7px;border-radius:8px;background:#edf0f5;overflow:hidden}.bar-fill{height:100%;border-radius:8px;background:var(--blue)}.bar-value{text-align:right;font-weight:700}.grade-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:8px}.grade-cell{text-align:center;background:#f7f8fb;border:1px solid transparent;border-radius:10px;padding:12px 4px;color:var(--ink);font-family:inherit}.grade-cell b{display:block;font-size:20px}.grade-cell span{font-size:10px;color:var(--muted)}button.grade-cell{appearance:none;cursor:pointer;transition:transform .15s,border-color .15s,box-shadow .15s,background .15s}button.grade-cell:hover{transform:translateY(-2px);border-color:#bdc9ec;background:#fff;box-shadow:0 8px 20px rgba(31,45,76,.1)}button.grade-cell:focus-visible{outline:3px solid rgba(61,99,243,.22);border-color:var(--blue)}.rating-filters{padding:13px 15px!important;margin-bottom:14px!important}
.table-wrap{overflow:auto;border:1px solid var(--line);border-radius:12px}.table{width:100%;border-collapse:collapse;min-width:820px}.table th{background:#f7f8fb;color:#778398;font-size:11px;text-align:left;padding:11px 13px;white-space:nowrap;font-weight:700}.table th small{display:inline-block;color:#a0a9b8;font-size:8px;font-weight:500;margin-top:3px}.table th.table-sortable{position:relative;padding-right:29px;cursor:pointer;user-select:none;transition:background .15s,color .15s}.table th.table-sortable:after{content:"↕";position:absolute;right:10px;top:50%;transform:translateY(-50%);color:#aab3c2;font-size:12px}.table th.table-sortable:hover,.table th.table-sortable:focus-visible{background:#edf1ff;color:#3d5bc8;outline:none}.table th.table-sortable[aria-sort=ascending]:after{content:"↑";color:var(--blue)}.table th.table-sortable[aria-sort=descending]:after{content:"↓";color:var(--blue)}.table th.table-sortable[aria-sort=ascending],.table th.table-sortable[aria-sort=descending]{background:#edf1ff;color:#3559d6}.table td{padding:12px 13px;border-top:1px solid #edf0f4;font-size:12px;vertical-align:middle}.table tr.clickable{cursor:pointer}.table tr.clickable:hover td{background:#f8faff}.table .name-cell{max-width:300px}.cell-main{font-weight:700;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.cell-sub{font-size:10px;color:var(--muted);margin-top:4px;white-space:nowrap}.number,.table th.number,.table td.number{text-align:right;font-variant-numeric:tabular-nums}.product-overview-table{min-width:1420px}.muted{color:var(--muted)}
.product-cell{display:flex;align-items:center;gap:10px;min-width:250px}.product-cell-copy{min-width:0;flex:1}.product-thumb{flex:0 0 auto;overflow:hidden;border:1px solid #e1e6ef;background:#f0f2f6;display:grid;place-items:center;color:#9aa4b4}.product-thumb img{width:100%;height:100%;object-fit:cover;display:block}.product-thumb-small{width:46px;height:46px;border-radius:9px}.product-thumb-large{width:76px;height:76px;border-radius:13px}.product-thumb-empty{background:linear-gradient(145deg,#f2f4f7,#e7eaf0);font-size:9px}.product-thumb-empty:empty:after{content:"无图"}.drawer-product-head{display:flex;align-items:center;gap:14px}.drawer-product-head>div:last-child{min-width:0}.image-meta{display:inline-block;color:#8b96a8;font-size:9px;margin-top:5px}
.badge{display:inline-flex;align-items:center;justify-content:center;border-radius:7px;padding:4px 8px;font-size:10px;font-weight:750;white-space:nowrap}.badge-S{background:#f1eaff;color:#6a4abb}.badge-A{background:#e2f7f0;color:#13805d}.badge-B{background:#e7edff;color:#3559d6}.badge-C{background:#ffebdf;color:#b45d22}.badge-未评级,.badge-未标注,.badge-未分类{background:#edf0f4;color:#738095}.badge-紧急{background:#ffe5e7;color:#c63f49}.badge-重要{background:#fff0d8;color:#b9740d}.badge-提醒{background:#e7edff;color:#3559d6}.badge-投放中,.badge-已完成{background:#e2f7f0;color:#17805e}.badge-已暂停,.badge-已取消{background:#edf0f4;color:#6f7c91}.badge-待执行{background:#e7edff;color:#3559d6}.badge-执行中{background:#fff0d8;color:#ae6f13}.badge-待验收{background:#f1eaff;color:#6b4eb8}
.filters{display:flex;gap:9px;align-items:center;flex-wrap:wrap;margin-bottom:14px}.input,.select,.textarea{border:1px solid #dce2ec;background:#fff;color:var(--ink);border-radius:9px;padding:9px 11px;outline:none;min-width:130px}.input:focus,.select:focus,.textarea:focus{border-color:#7991f5;box-shadow:0 0 0 3px rgba(61,99,243,.1)}.search{width:280px}.filters .spacer{flex:1}.result-count{color:var(--muted);font-size:11px}
.anomaly-list{display:flex;flex-direction:column;gap:9px}.anomaly-item{display:grid;grid-template-columns:7px 1fr auto;gap:12px;align-items:center;padding:12px 13px;border:1px solid var(--line);border-radius:11px}.anomaly-item .stripe{width:5px;height:36px;border-radius:8px;background:var(--amber)}.anomaly-item.urgent .stripe{background:var(--red)}.anomaly-item.info .stripe{background:var(--blue)}.anomaly-item strong{font-size:12px;display:block}.anomaly-item p{font-size:10px;color:var(--muted);margin:4px 0 0;line-height:1.5}
.mini-person{display:flex;align-items:center;gap:10px;padding:9px 0;border-top:1px solid #eff1f5}.mini-person:first-child{border-top:0}.avatar{width:31px;height:31px;border-radius:10px;display:grid;place-items:center;color:#fff;background:linear-gradient(145deg,#6f87ef,#3e5bcc);font-weight:700}.mini-person .grow{flex:1}.mini-person strong{font-size:12px}.mini-person span{display:block;color:var(--muted);font-size:10px;margin-top:3px}.mini-person b{font-size:12px}
.drawer-backdrop,.modal-backdrop{position:fixed;inset:0;background:rgba(15,25,45,.42);z-index:50;animation:fade .16s}.drawer{position:fixed;right:0;top:0;bottom:0;width:min(860px,78vw);background:#f4f6f9;z-index:51;box-shadow:-18px 0 50px rgba(20,32,55,.22);overflow:auto;animation:slide .2s}.drawer-head{position:sticky;top:0;background:rgba(255,255,255,.96);backdrop-filter:blur(10px);border-bottom:1px solid var(--line);padding:18px 24px;display:flex;justify-content:space-between;align-items:flex-start;z-index:3}.drawer-head h2{font-size:18px;margin:0;max-width:650px}.drawer-head p{font-size:11px;color:var(--muted);margin:5px 0 0}.icon-btn{border:0;background:#edf0f5;border-radius:9px;width:34px;height:34px;cursor:pointer;color:#516078}.drawer-body{padding:20px 23px 42px}.drawer-tabs{display:flex;gap:5px;margin-bottom:14px}.drawer-tabs button{border:0;background:transparent;padding:8px 12px;border-radius:8px;color:var(--muted);cursor:pointer}.drawer-tabs button.active{background:#e5ebff;color:var(--blue);font-weight:700}
.detail-stats{grid-template-columns:repeat(4,1fr);margin-bottom:16px}.detail-stat{background:#fff;border:1px solid var(--line);padding:14px;border-radius:12px}.detail-stat span{font-size:10px;color:var(--muted)}.detail-stat b{display:block;font-size:19px;margin-top:7px}.detail-stat small{display:block;font-size:9px;color:#929daf;margin-top:5px}.profit-banner{padding:15px 16px;border-radius:12px;display:flex;align-items:center;justify-content:space-between;margin-bottom:14px;background:#edf0f5}.profit-banner.profit{background:#e4f7ef;color:#176f54}.profit-banner.loss{background:#ffe9ea;color:#a63640}.profit-banner.wait{background:#fff2dd;color:#8b621e}.profit-banner strong{display:block;font-size:14px}.profit-banner span{font-size:11px;display:block;margin-top:4px}.profit-banner b{font-size:20px}
.profit-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:10px}.profit-metric{padding:13px;background:#f7f8fb;border-radius:10px}.profit-metric span{font-size:10px;color:var(--muted)}.profit-metric b{font-size:17px;display:block;margin-top:7px}.cost-flow{display:grid;grid-template-columns:repeat(5,1fr);gap:8px;margin-top:13px}.cost-box{background:#f7f8fb;border-radius:9px;padding:10px}.cost-box span{display:block;color:var(--muted);font-size:9px}.cost-box b{display:block;font-size:12px;margin-top:5px}.missing-note{font-size:10px;color:#9b6414;background:#fff4df;border:1px solid #fae2b8;border-radius:8px;padding:9px 11px;margin-top:10px}
.form-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}.field label{display:block;color:#68758a;font-size:10px;font-weight:700;margin-bottom:6px}.field input,.field select,.field textarea{width:100%}.field-value{min-height:36px;display:flex;align-items:center;border:1px solid #dce2ec;background:#f6f8fb;color:#263957;border-radius:9px;padding:9px 11px;font-weight:700;font-variant-numeric:tabular-nums}.field small{display:block;color:#98a1b1;font-size:9px;margin-top:5px;line-height:1.45}.form-actions{display:flex;justify-content:flex-end;gap:8px;margin-top:15px}
.fixed-economics label{display:flex;align-items:center;gap:6px}.fixed-economics label span{display:inline-flex;align-items:center;border-radius:999px;background:#e8f1ff;color:#365ccf;padding:2px 6px;font-size:8px;font-weight:800}.fixed-economics .field-value{background:#f3f6fb;color:#44536a}
.chart-tools{display:flex;align-items:center;gap:7px;flex-wrap:wrap}.segmented{display:flex;padding:3px;background:#eff2f6;border-radius:9px}.segmented button{border:0;background:transparent;padding:5px 8px;border-radius:6px;color:#758196;font-size:10px;cursor:pointer}.segmented button.active{background:#fff;color:var(--blue);box-shadow:0 2px 7px rgba(35,48,75,.1);font-weight:700}.chart-area{height:250px;position:relative}.chart-area svg{width:100%;height:100%;overflow:visible}.chart-empty{display:grid;place-items:center;height:100%;color:var(--muted);font-size:12px}.chart-legend{display:flex;gap:14px;font-size:10px;color:var(--muted);margin-top:8px}.legend-dot{display:inline-block;width:8px;height:8px;border-radius:50%;margin-right:5px}.tooltip{position:absolute;display:none;background:#18243a;color:white;border-radius:8px;padding:7px 9px;font-size:10px;pointer-events:none;z-index:5;box-shadow:0 6px 16px rgba(0,0,0,.2)}
.modal{position:fixed;left:50%;top:50%;transform:translate(-50%,-50%);width:min(560px,90vw);max-height:88vh;overflow:auto;background:#fff;border-radius:16px;z-index:61;box-shadow:0 22px 65px rgba(19,29,51,.3);padding:22px;animation:pop .16s}.modal-backdrop{z-index:60}.modal-head{display:flex;justify-content:space-between;align-items:center;margin-bottom:17px}.modal-head h3{margin:0;font-size:17px}.modal .form-grid{grid-template-columns:1fr 1fr}.modal .field.full{grid-column:1/-1}.textarea{min-height:88px;resize:vertical}
.kanban{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;align-items:start}.kanban-col{background:#eceff4;border-radius:13px;padding:11px;min-height:410px}.kanban-head{display:flex;justify-content:space-between;padding:3px 3px 11px;font-weight:700;font-size:12px}.kanban-head span{color:var(--muted)}.task-card{background:#fff;border:1px solid #e0e5ed;border-radius:11px;padding:12px;margin-bottom:9px;box-shadow:0 4px 12px rgba(30,43,69,.05)}.task-card strong{font-size:12px;line-height:1.5;display:block}.task-meta{display:flex;justify-content:space-between;color:var(--muted);font-size:9px;margin-top:9px}.task-card p{font-size:10px;color:var(--muted);line-height:1.55}.task-actions{display:flex;gap:5px;margin-top:9px}
.team-grid{grid-template-columns:repeat(3,1fr)}.person-card{padding:18px}.person-top{display:flex;gap:12px;align-items:center}.person-top .avatar{width:42px;height:42px;border-radius:13px}.person-top h3{margin:0;font-size:14px}.person-top p{margin:4px 0 0;color:var(--muted);font-size:10px}.person-numbers{display:grid;grid-template-columns:repeat(3,1fr);margin-top:17px;border-top:1px solid var(--line);padding-top:14px}.person-numbers div{text-align:center}.person-numbers b{display:block;font-size:16px}.person-numbers span{font-size:9px;color:var(--muted)}
.import-grid{grid-template-columns:repeat(2,1fr)}.import-card{padding:18px}.import-card .type-icon{width:38px;height:38px;border-radius:11px;display:grid;place-items:center;background:#e7edff;color:var(--blue);font-size:18px}.import-card h3{font-size:14px;margin:13px 0 6px}.import-card p{color:var(--muted);font-size:10px;line-height:1.6;min-height:34px}.file-row{display:flex;gap:8px;align-items:center;margin-top:12px}.file-row input{min-width:0;width:100%;font-size:10px}.rule-table input{width:78px;padding:6px 7px}.rule-table input[type=checkbox]{width:auto}.note-box{border-radius:12px;background:#eef2ff;border:1px solid #dce4ff;padding:13px 15px;color:#45577c;font-size:11px;line-height:1.65;margin-bottom:15px}.timeline{display:flex;gap:0}.timeline div{flex:1;position:relative;padding:0 14px 0 25px}.timeline div:before{content:"";position:absolute;left:0;top:4px;width:12px;height:12px;border:3px solid #fff;border-radius:50%;background:var(--blue);box-shadow:0 0 0 2px #aab9f8}.timeline div:not(:last-child):after{content:"";position:absolute;left:13px;right:-1px;top:10px;height:2px;background:#dfe5f7}.timeline strong,.timeline span{position:relative;z-index:1;display:block}.timeline strong{font-size:11px}.timeline span{font-size:9px;color:var(--muted);margin-top:4px;line-height:1.5}
.two-col{display:grid;grid-template-columns:1.2fr .8fr;gap:16px;align-items:start}.pagination{display:flex;justify-content:flex-end;gap:8px;margin-top:12px}.callout{padding:12px 14px;background:#fff8e9;color:#7c5b1f;border:1px solid #f4dfb4;border-radius:10px;font-size:11px;line-height:1.6}.mono{font-family:Consolas,monospace}.nowrap{white-space:nowrap}
.toast-layer{position:fixed;right:22px;bottom:22px;z-index:90;display:flex;flex-direction:column;gap:8px}.toast{background:#17243c;color:#fff;border-radius:10px;padding:11px 15px;box-shadow:0 10px 30px rgba(16,27,48,.28);font-size:12px;animation:slideUp .2s}.toast.error{background:#b9444d}.toast.success{background:#177757}
[hidden]{display:none!important}.btn:disabled{opacity:.45;cursor:not-allowed;transform:none}.input:disabled,.select:disabled,.textarea:disabled{background:#f3f5f8;color:#7e899b;cursor:not-allowed}.account-avatar{width:34px;height:34px;border-radius:10px;display:grid;place-items:center;background:linear-gradient(145deg,#718bf5,#3c59cc);font-weight:800;flex:0 0 auto}.account-profile{min-width:0;flex:1;border:0;background:transparent;color:#fff;padding:0;text-align:left;cursor:pointer}.account-profile strong{display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;font-size:12px}.account-profile span{display:block;color:#8d9ab5;font-size:9px;margin-top:3px}.logout-btn{border:0;background:rgba(255,255,255,.07);color:#aeb9d0;border-radius:7px;padding:5px 7px;font-size:9px;cursor:pointer}.logout-btn:hover{background:rgba(255,255,255,.13);color:#fff}.permission-pill{display:inline-flex;align-items:center;border-radius:999px;padding:7px 10px;background:#edf1ff;color:#3d5bc8;font-size:10px;font-weight:700}.permission-note{font-size:10px;color:var(--muted);background:#f5f7fa;border-radius:8px;padding:8px 10px}.inline-actions{display:flex;align-items:center;gap:5px;white-space:nowrap}.account-summary{grid-template-columns:repeat(3,1fr);margin-bottom:16px}.audit-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 20px}.audit-item{display:flex;align-items:center;gap:10px;padding:10px 0;border-top:1px solid #edf0f4;min-width:0}.audit-item:nth-child(-n+2){border-top:0}.audit-icon{width:31px;height:31px;display:grid;place-items:center;border-radius:9px;background:#e7edff;color:#3559d6;font-weight:800;flex:0 0 auto}.audit-item>div:last-child{min-width:0}.audit-item strong{font-size:11px;display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.audit-item p{font-size:9px;color:var(--muted);margin:4px 0 0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.task-result{margin-top:9px;background:#f2f5ff;border-left:3px solid #5575f5;border-radius:7px;padding:8px 9px;font-size:10px;line-height:1.5}.task-result span{display:block;color:#65738b;font-size:9px;margin-bottom:3px}
.nav-list{min-height:0;overflow-y:auto;padding-right:2px}.btn-success{color:#fff;background:linear-gradient(135deg,#24a878,#168763);box-shadow:0 5px 14px rgba(30,159,115,.22)}
.slow-summary-grid{grid-template-columns:repeat(4,minmax(170px,1fr));margin-bottom:14px}.slow-summary-grid .card{margin-top:0}.slow-summary-card{appearance:none;text-align:left;color:var(--ink);font-family:inherit;padding:17px 18px;min-height:104px;position:relative;overflow:hidden}.slow-summary-card[data-slow-filter],.slow-summary-card[data-inventory-filter]{cursor:pointer;transition:.16s}.slow-summary-card[data-slow-filter]:hover,.slow-summary-card[data-inventory-filter]:hover{transform:translateY(-2px);border-color:#bdc9ec}.slow-summary-card.active{border-color:var(--blue);box-shadow:0 0 0 3px rgba(61,99,243,.12),var(--shadow)}.slow-summary-card:after{content:"";position:absolute;width:62px;height:62px;border-radius:50%;right:-19px;top:-23px;background:#e6ebff}.slow-summary-card.danger:after{background:#ffe0e2}.slow-summary-card.warn:after{background:#ffedce}.slow-summary-card.static:after{background:#dff4ef}.slow-summary-card span,.slow-summary-card b,.slow-summary-card small{display:block;position:relative;z-index:1}.slow-summary-card span{font-size:11px;color:var(--muted)}.slow-summary-card b{font-size:25px;margin:9px 0 4px}.slow-summary-card small{font-size:9px;color:#8b96a8}.slow-ready,.slow-warning{display:flex;align-items:center;gap:13px;border-radius:12px;padding:12px 15px;margin-bottom:14px;border:1px solid}.slow-ready{background:#eaf8f2;border-color:#cce9dd;color:#176f54}.slow-warning{background:#fff7e8;border-color:#f1dfb6;color:#815a18}.slow-ready strong,.slow-warning strong{font-size:11px;white-space:nowrap}.slow-ready span,.slow-warning span{font-size:10px;line-height:1.55}.slow-filters{padding:13px 15px!important;margin-bottom:15px!important}.slow-table th:first-child,.slow-table td:first-child{width:38px;text-align:center}.slow-table input[type=checkbox]{accent-color:var(--blue);width:15px;height:15px}.slow-product{display:flex;align-items:center;gap:10px;border:0;background:transparent;padding:0;color:var(--ink);text-align:left;cursor:pointer;min-width:260px}.slow-product>span{min-width:0}.slow-product strong,.slow-product small{display:block;max-width:320px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.slow-product strong{font-size:11px}.slow-product small{font-size:8px;color:var(--muted);margin-top:4px}.slow-bucket{display:inline-flex;border-radius:999px;padding:5px 8px;font-size:9px;font-weight:800;white-space:nowrap}.slow-bucket.zero{background:#ffe5e7;color:#bd3943}.slow-bucket.low{background:#fff0d8;color:#a86a10}.slow-table td>.cell-sub{display:block;font-size:8px;margin-top:4px;white-space:nowrap}.stock-actionable,.stock-empty{color:#18805f!important}.stock-positive{color:#a86a10}.slow-never{font-size:9px;color:#bd3943;white-space:nowrap}.slow-confirm-modal{width:min(560px,92vw)}.slow-confirm-note{background:#fff5f5;border:1px solid #f1d5d7;border-radius:12px;padding:14px 15px;color:#7c363c}.slow-confirm-note strong{font-size:11px}.slow-confirm-note p{font-size:10px;line-height:1.65;margin:6px 0 0}.slow-confirm-check{display:flex;align-items:flex-start;gap:9px;margin-top:15px;padding:12px 13px;border:1px solid var(--line);border-radius:10px;font-size:10px;line-height:1.5;cursor:pointer}.slow-confirm-check input{margin-top:2px;accent-color:var(--red)}#slow-confirm,.slow-confirm-modal .btn-danger{color:#fff;background:linear-gradient(135deg,#df5a61,#bd3e47);box-shadow:0 5px 14px rgba(192,62,72,.2)}
.video-stats{grid-template-columns:repeat(4,minmax(150px,1fr))}.video-engine{display:flex;align-items:center;gap:12px;border-radius:14px;padding:14px 16px;margin-bottom:16px;border:1px solid}.video-engine.ready{background:#eaf8f2;border-color:#cdeade;color:#176f54}.video-engine.pending{background:#fff7e8;border-color:#f1dfb6;color:#815a18}.video-engine-icon{width:34px;height:34px;display:grid;place-items:center;border-radius:10px;background:rgba(255,255,255,.78);font-weight:900;font-size:16px}.video-engine strong{display:block;font-size:12px}.video-engine p{margin:4px 0 0;font-size:10px;line-height:1.5;color:inherit;opacity:.82}.engine-state{margin-left:auto;font-size:9px;font-weight:800;letter-spacing:.08em;background:rgba(255,255,255,.7);padding:5px 8px;border-radius:999px;white-space:nowrap}.video-flow{display:grid;grid-template-columns:repeat(5,1fr);gap:10px;margin-bottom:16px!important}.video-flow>div{position:relative;background:#f7f9fd;border:1px solid #e8ecf4;border-radius:11px;padding:12px 10px 12px 43px}.video-flow b{position:absolute;left:10px;top:11px;width:25px;height:25px;display:grid;place-items:center;border-radius:8px;background:#e5ebff;color:var(--blue);font-size:9px}.video-flow strong,.video-flow span{display:block}.video-flow strong{font-size:11px}.video-flow span{font-size:9px;color:var(--muted);margin-top:4px}.video-filters{padding:12px 15px!important;display:flex;align-items:center;gap:7px;flex-wrap:wrap;margin-bottom:16px!important}.video-filters>strong{font-size:10px;color:#53627a;margin-right:4px}.video-filter{border:1px solid #e0e5ee;background:#f7f8fb;color:#68758a;border-radius:999px;padding:6px 10px;font-size:10px;cursor:pointer}.video-filter.active{background:#3156e5;border-color:#3156e5;color:#fff}.video-project-grid{display:grid;grid-template-columns:repeat(3,minmax(260px,1fr));gap:15px}.video-project-grid>.empty{grid-column:1/-1}.video-project-card{display:grid;grid-template-columns:120px 1fr;gap:14px;text-align:left;border:1px solid var(--line);background:#fff;border-radius:15px;padding:13px;box-shadow:var(--shadow);color:var(--ink);cursor:pointer;min-width:0;transition:.18s}.video-project-card:hover{transform:translateY(-2px);border-color:#c8d2f3;box-shadow:0 15px 38px rgba(31,45,76,.13)}.video-project-cover{position:relative;width:120px;aspect-ratio:9/12;border-radius:11px;background:#e8ecf3;overflow:hidden;display:grid;place-items:center}.video-project-cover video,.video-project-cover img{width:100%;height:100%;object-fit:cover}.video-project-cover>span{position:absolute;width:30px;height:30px;display:grid;place-items:center;border-radius:50%;background:rgba(15,28,53,.72);color:#fff;font-size:11px}.video-cover-empty{background:linear-gradient(145deg,#e8ecf7,#cbd5ef)}.video-cover-empty b{font-size:23px;letter-spacing:.1em;color:#667cb9}.video-project-copy{min-width:0}.video-project-line{display:flex;align-items:center;gap:8px}.video-project-line small{margin-left:auto;color:#98a2b3;font-size:8px}.video-project-copy h3{font-size:13px;line-height:1.45;margin:10px 0 5px;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.video-project-copy>p{margin:0;color:var(--muted);font-size:9px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.video-project-meta{display:flex;gap:5px;flex-wrap:wrap;margin-top:12px}.video-project-meta span{font-size:8px;background:#f2f4f8;color:#68758a;border-radius:6px;padding:4px 6px}.video-project-counts{border-top:1px solid #edf0f4;margin-top:11px;padding-top:9px;display:flex;gap:12px;color:#778398;font-size:8px}.video-project-counts b{color:#263957;font-size:11px}.video-project-modal{width:min(680px,92vw)}
.video-drawer{width:min(1180px,92vw)}.video-drawer .drawer-head{padding-right:27px}.video-drawer .video-project-line{margin-bottom:7px}.video-drawer .video-project-line>span:last-child{font-size:10px;color:var(--muted)}.video-detail-layout{display:grid;grid-template-columns:minmax(0,1.45fr) minmax(330px,.75fr);gap:16px;align-items:start}.video-assets{display:flex;flex-direction:column;gap:10px}.video-asset{display:grid;grid-template-columns:178px 1fr;gap:12px;padding:10px;border:1px solid #e4e8ef;background:#fafbfd;border-radius:12px}.video-asset-preview{width:178px;aspect-ratio:16/10;background:#18243a;border-radius:9px;overflow:hidden;display:grid;place-items:center}.video-asset-preview video,.video-asset-preview img{width:100%;height:100%;object-fit:contain;background:#111a2c}.video-asset-body{min-width:0}.video-asset-name{display:flex;justify-content:space-between;gap:8px}.video-asset-name strong{font-size:11px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.video-asset-name span{font-size:8px;color:var(--muted);white-space:nowrap}.video-asset-fields{display:grid;grid-template-columns:58px repeat(3,1fr);gap:7px;margin-top:10px}.video-asset-fields label>span{display:block;font-size:8px;color:#788499;margin-bottom:4px}.video-asset-fields input{width:100%;min-width:0;padding:6px 7px}.video-asset-fields label:first-child input{width:auto;margin-top:7px}.video-asset-label{display:flex;gap:7px;margin-top:8px}.video-asset-label input{min-width:0;flex:1}.video-upload-progress{background:#f2f5ff;border:1px solid #dce4ff;padding:10px 12px;border-radius:10px;margin-bottom:12px}.video-upload-progress>div{display:flex;justify-content:space-between;font-size:9px;color:#53627a}.video-upload-progress progress{width:100%;height:8px;margin-top:8px;accent-color:var(--blue)}.shot-plan{display:grid;grid-template-columns:repeat(4,1fr);gap:8px}.shot-plan>div{position:relative;background:#f7f8fb;border-radius:10px;padding:12px 10px 10px}.shot-plan b{font-size:19px;color:#d2d8e5;display:block}.shot-plan span{display:block;color:var(--blue);font-size:8px;margin:2px 0 8px}.shot-plan strong{font-size:10px;display:block}.shot-plan p{font-size:8px;color:var(--muted);line-height:1.55;margin:5px 0}.shot-plan em{display:block;font-style:normal;background:#edf1ff;color:#4359a6;border-radius:7px;padding:6px;font-size:8px;line-height:1.45}.video-settings>.field{margin-top:11px}.video-settings>.field:first-of-type{margin-top:0}.video-settings .form-grid{grid-template-columns:1fr 1fr;margin-top:11px}.video-settings .textarea{min-height:72px}.video-approve{width:100%;margin-top:11px}.video-outputs{display:flex;flex-direction:column;gap:10px}.video-output{border:1px solid #e4e8ef;border-radius:11px;padding:10px;background:#fafbfd}.video-output.failed{background:#fff5f5;border-color:#f2d4d6}.video-output-top{display:flex;justify-content:space-between;align-items:center;margin-bottom:8px}.video-output-top strong{font-size:10px}.video-output video{width:100%;max-height:310px;background:#111a2c;border-radius:8px;margin-bottom:8px}.video-output p{font-size:8px;line-height:1.5;color:#a13f48;max-height:80px;overflow:auto}.video-output small{display:block;color:#98a2b3;font-size:8px;margin-top:7px}.badge-待整理{background:#edf0f4;color:#6f7c91}.badge-待剪辑{background:#e7edff;color:#3559d6}.badge-生成中,.badge-处理中,.badge-排队中{background:#fff0d8;color:#ae6f13}.badge-待审核{background:#f1eaff;color:#6b4eb8}.badge-失败{background:#ffe5e7;color:#c63f49}
.brief-layout{display:grid;grid-template-columns:minmax(0,1fr) 280px;gap:16px;align-items:start}.brief-main,.brief-side{display:flex;flex-direction:column;gap:16px}.brief-hero{padding:22px 24px;background:linear-gradient(135deg,#162746,#203e78);color:#fff;display:flex;justify-content:space-between;align-items:center;min-height:132px;overflow:hidden;position:relative}.brief-hero:after{content:"";position:absolute;width:210px;height:210px;border-radius:50%;right:-60px;top:-105px;background:rgba(92,130,255,.18)}.brief-hero>div{position:relative;z-index:1}.brief-date{font-size:10px;color:#aebfe6;letter-spacing:.08em}.brief-hero h2{font-size:25px;margin:10px 0 6px}.brief-hero p{font-size:10px;color:#aebbd5;margin:0}.brief-status{text-align:right}.brief-status small{display:block;color:#b4c0d7;font-size:9px;margin-top:8px}.brief-stats{grid-template-columns:repeat(5,minmax(135px,1fr));margin-bottom:0}.brief-stats .brief-trend{font-size:9px;padding:3px 6px}.brief-metrics{display:grid;grid-template-columns:repeat(6,1fr);gap:0}.brief-metric{padding:7px 14px;border-left:1px solid var(--line);min-width:0}.brief-metric:first-child{border-left:0}.brief-metric>span:first-child{display:block;color:var(--muted);font-size:9px}.brief-metric strong{display:block;font-size:17px;margin:7px 0}.brief-trend{display:inline-flex;align-items:center;border-radius:999px;padding:4px 7px;font-size:8px;font-weight:750}.brief-trend.up{background:#e5f6ef;color:#19815f}.brief-trend.down{background:#ffecee;color:#c34c55}.brief-trend.neutral{background:#edf0f4;color:#718097}.brief-two-col{display:grid;grid-template-columns:1fr 1fr;gap:16px}.brief-two-col>.card,.brief-issues,.brief-side>.card{padding:17px}.brief-rank-row{width:100%;border:0;border-top:1px solid #edf0f4;background:transparent;color:var(--ink);display:grid;grid-template-columns:30px minmax(0,1fr) auto;gap:9px;align-items:center;padding:10px 2px;text-align:left;cursor:pointer}.brief-rank-row:first-of-type{border-top:0}.brief-rank-row:hover{background:#f8f9fc}.brief-rank-row>b{font-size:10px;color:#a4adbd}.brief-rank-row>span{min-width:0}.brief-rank-row strong,.brief-rank-row small{display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.brief-rank-row strong{font-size:10px}.brief-rank-row small{font-size:8px;color:var(--muted);margin-top:4px}.brief-rank-row em{font-style:normal;font-weight:750;font-size:10px;color:#334b79}.brief-issue-list{display:flex;flex-direction:column}.brief-issue{display:grid;grid-template-columns:22px minmax(0,1fr) auto;gap:10px;align-items:start;border-top:1px solid #edf0f4;padding:13px 0}.brief-issue:first-child{border-top:0}.brief-issue>input{margin-top:4px;accent-color:var(--blue)}.brief-check-done{width:18px;height:18px;display:grid;place-items:center;border-radius:50%;background:#daf2e7;color:#18825f;font-size:10px}.brief-issue-title{display:flex;align-items:center;gap:8px}.brief-issue-title strong{font-size:11px}.brief-issue p{font-size:9px;color:var(--muted);margin:6px 0;line-height:1.5}.brief-action{display:flex;gap:6px;flex-wrap:wrap}.brief-action span{font-size:8px;background:#f2f4f8;color:#65738a;border-radius:6px;padding:4px 6px}.brief-action span:last-child{background:#edf1ff;color:#465caa}.brief-history{display:flex;flex-direction:column;gap:7px}.brief-history-item{border:1px solid #e4e8ef;background:#f8f9fb;border-radius:10px;padding:10px;text-align:left;cursor:pointer;color:var(--ink)}.brief-history-item.active{border-color:#9eb0f5;background:#eef2ff}.brief-history-item>span{font-size:11px;font-weight:750;margin-right:6px}.brief-history-item small{display:block;font-size:8px;color:var(--muted);margin-top:6px}.brief-onboarding{text-align:center;padding:65px}.brief-onboarding>div{width:58px;height:58px;border-radius:18px;display:grid;place-items:center;margin:0 auto 14px;background:#fff3d9;color:#c27d18;font-size:27px}.brief-onboarding h3{margin:0;font-size:16px}.brief-onboarding p{color:var(--muted);font-size:11px}.badge-草稿{background:#e7edff;color:#3559d6}.badge-部分派单{background:#fff0d8;color:#ae6f13}.badge-已派单,.badge-无异常{background:#daf2e7;color:#18825f}
.auth-root:empty{display:none}.auth-shell{min-height:100vh;display:grid;place-items:center;padding:34px;background:radial-gradient(circle at 18% 16%,rgba(84,116,244,.28),transparent 30%),radial-gradient(circle at 82% 84%,rgba(32,185,201,.18),transparent 28%),linear-gradient(145deg,#101b31,#182a50 58%,#111d36);position:relative;overflow:hidden}.auth-shell:before,.auth-shell:after{content:"";position:absolute;border:1px solid rgba(255,255,255,.07);border-radius:50%}.auth-shell:before{width:520px;height:520px;left:-250px;bottom:-270px}.auth-shell:after{width:380px;height:380px;right:-180px;top:-190px}.auth-brand{position:absolute;left:34px;top:30px;display:flex;align-items:center;gap:12px;color:#fff}.auth-brand-mark{width:42px;height:42px;border-radius:13px;display:grid;place-items:center;background:linear-gradient(145deg,#6282ff,#3156e5);font-size:19px;font-weight:800;box-shadow:0 10px 28px rgba(28,52,151,.5)}.auth-brand strong{display:block;font-size:14px}.auth-brand span{display:block;color:#8f9db9;font-size:10px;margin-top:4px;letter-spacing:.08em}.auth-card{width:min(430px,92vw);background:rgba(255,255,255,.98);border:1px solid rgba(255,255,255,.7);border-radius:22px;padding:34px 36px 28px;box-shadow:0 28px 80px rgba(3,10,26,.4);position:relative;z-index:2}.auth-kicker{font-size:9px;color:var(--blue);font-weight:800;letter-spacing:.14em}.auth-card h1{font-size:24px;margin:8px 0 7px}.auth-card>p{color:var(--muted);font-size:11px;line-height:1.6;margin:0 0 23px}.auth-fields{display:flex;flex-direction:column;gap:13px}.auth-fields label{display:block;color:#55637a;font-size:10px;font-weight:700}.auth-fields .input{width:100%;margin-top:6px;height:42px}.auth-submit{width:100%;height:43px;margin-top:17px}.auth-fields .auth-submit{margin-top:4px}.auth-error{min-height:18px;color:#c84750;font-size:10px;text-align:center;margin-top:9px;line-height:1.5}.auth-security{border-top:1px solid var(--line);margin-top:10px;padding-top:14px;text-align:center;color:#98a2b4;font-size:9px}.password-modal{width:min(430px,90vw)}
@keyframes fade{from{opacity:0}to{opacity:1}}@keyframes slide{from{transform:translateX(35px);opacity:0}to{transform:none;opacity:1}}@keyframes pop{from{transform:translate(-50%,-48%) scale(.97);opacity:0}to{transform:translate(-50%,-50%) scale(1);opacity:1}}@keyframes slideUp{from{transform:translateY(8px);opacity:0}to{transform:none;opacity:1}}
@media(max-width:1200px){.stats-grid{grid-template-columns:repeat(3,1fr)}.slow-summary-grid{grid-template-columns:repeat(2,1fr)}.video-stats{grid-template-columns:repeat(4,1fr)}.dashboard-columns,.two-col,.video-detail-layout,.brief-layout{grid-template-columns:1fr}.brief-side{display:grid;grid-template-columns:1fr 1fr}.brief-side .note-box{grid-column:1/-1}.brief-stats{grid-template-columns:repeat(3,1fr)}.brief-metrics{grid-template-columns:repeat(3,1fr)}.brief-metric:nth-child(4){border-left:0}.kanban{grid-template-columns:repeat(2,1fr)}.team-grid{grid-template-columns:repeat(2,1fr)}.audit-list{grid-template-columns:1fr}.audit-item:nth-child(2){border-top:1px solid #edf0f4}.video-project-grid{grid-template-columns:repeat(2,minmax(260px,1fr))}}
@media(max-width:900px){.sidebar{width:76px}.brand>div:last-child,.nav-list span,.sidebar-foot>div:last-child{display:none}.brand{padding-left:3px}.nav-list button{justify-content:center}.main-shell{margin-left:76px;width:calc(100% - 76px);min-width:0}.topbar{padding:0 18px}.content{padding:20px 16px}.stats-grid,.slow-summary-grid,.video-stats,.brief-stats{grid-template-columns:repeat(2,1fr)}.brief-section-head{flex-direction:column;align-items:stretch;gap:10px}.brief-section-head .head-actions{width:100%}.brief-section-head .input{flex:1;min-width:0}.brief-section-head .btn{white-space:nowrap}.brief-two-col,.brief-side{grid-template-columns:1fr}.brief-metrics{grid-template-columns:repeat(2,1fr)}.brief-metric:nth-child(3),.brief-metric:nth-child(5){border-left:0}.brief-hero{align-items:flex-start}.brief-issue{grid-template-columns:22px minmax(0,1fr)}.brief-issue>.btn{grid-column:2}.drawer{width:94vw}.detail-stats,.profit-grid{grid-template-columns:repeat(2,1fr)}.form-grid{grid-template-columns:1fr}.video-project-grid{grid-template-columns:1fr}.video-flow{grid-template-columns:repeat(2,1fr)}.video-asset{grid-template-columns:130px 1fr}.video-asset-preview{width:130px}.shot-plan{grid-template-columns:repeat(2,1fr)}}

.lifecycle-flow{display:flex;align-items:center;gap:11px;margin-bottom:15px;padding:15px 17px;background:linear-gradient(135deg,#17294b,#244681);color:#fff}.lifecycle-flow>div{flex:1;min-width:0}.lifecycle-flow>i{font-style:normal;color:#8298c2;font-size:16px}.lifecycle-flow b,.lifecycle-flow strong,.lifecycle-flow span{display:block}.lifecycle-flow b{font-size:8px;color:#8faaf0;letter-spacing:.12em}.lifecycle-flow strong{font-size:11px;margin-top:5px}.lifecycle-flow span{font-size:8px;color:#b5c1d8;margin-top:4px;line-height:1.45}.lifecycle-summary-grid{grid-template-columns:repeat(6,minmax(135px,1fr));margin-bottom:14px}.lifecycle-summary-card{appearance:none;text-align:left;color:var(--ink);font-family:inherit;padding:14px 15px;min-height:92px;cursor:pointer;transition:.16s;position:relative;overflow:hidden}.lifecycle-summary-card:hover{transform:translateY(-2px);border-color:#bdc9ec}.lifecycle-summary-card.active{border-color:var(--blue);box-shadow:0 0 0 3px rgba(61,99,243,.12),var(--shadow)}.lifecycle-summary-card span,.lifecycle-summary-card b,.lifecycle-summary-card small{display:block}.lifecycle-summary-card span{font-size:10px;color:var(--muted)}.lifecycle-summary-card b{font-size:22px;margin:7px 0 3px}.lifecycle-summary-card small{font-size:8px;color:#8b96a8;line-height:1.4}.lifecycle-summary-card.danger{background:#fffafb}.lifecycle-summary-card.healthy{background:#f8fdfb}.lifecycle-summary-card.warning{background:#fffcf5}.lifecycle-stage{display:inline-flex;border-radius:999px;padding:5px 8px;font-size:9px;font-weight:800;white-space:nowrap}.lifecycle-stage.pending{background:#edf0f4;color:#6f7c91}.lifecycle-stage.observe{background:#e7edff;color:#3559d6}.lifecycle-stage.review{background:#f1eaff;color:#6b4eb8}.lifecycle-stage.danger{background:#ffe5e7;color:#bd3943}.lifecycle-stage.healthy{background:#daf2e7;color:#18825f}.lifecycle-stage.warning{background:#fff0d8;color:#a86a10}.lifecycle-stage.closed{background:#e8eaf0;color:#5f697a}.lifecycle-table td>.cell-sub{display:block;font-size:8px;color:var(--muted);margin-top:4px;white-space:nowrap}.lifecycle-action{min-width:215px}.lifecycle-action>span{display:block;font-size:9px;line-height:1.45;color:#53627a}.lifecycle-action .btn-link{margin-top:5px}

.data-health-decision{display:flex;align-items:center;gap:13px;padding:15px 17px;border:1px solid;border-radius:14px;margin-bottom:15px}.data-health-decision.ready{background:#eaf8f2;border-color:#cce9dd;color:#176f54}.data-health-decision.blocked{background:#fff7e8;border-color:#f1dfb6;color:#815a18}.data-health-icon{width:35px;height:35px;display:grid;place-items:center;border-radius:11px;background:rgba(255,255,255,.75);font-size:17px;font-weight:900;flex:0 0 auto}.data-health-decision strong{font-size:12px}.data-health-decision p{font-size:10px;line-height:1.5;margin:4px 0 0}.data-health-decision small{display:inline-block;font-size:9px;margin:7px 10px 0 0;background:rgba(255,255,255,.64);padding:4px 7px;border-radius:6px}.health-report-grid{grid-template-columns:repeat(3,1fr);margin-bottom:16px}.health-report{position:relative;padding:17px 18px;border-top:3px solid #d7dce6}.health-report.complete{border-top-color:#1e9f73}.health-report.warning{border-top-color:#e09a2d}.health-report.missing{border-top-color:#df5a61}.health-report-top{position:absolute;right:15px;top:14px;display:flex;gap:5px;align-items:center}.health-report-top span{width:21px;height:21px;display:grid;place-items:center;border-radius:7px;background:#f1f3f7;font-size:10px}.health-report-top b{font-size:8px;color:var(--muted)}.health-report h3{font-size:12px;margin:0 0 12px}.health-report>strong{font-size:24px}.health-report>strong small{font-size:9px;color:var(--muted)}.health-report p,.health-report em{display:block;font-size:8px;line-height:1.5;color:var(--muted)}.health-report p{margin:8px 0 4px}.health-report em{font-style:normal;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.data-health-layout{grid-template-columns:1fr 1fr}.batch-import-card{padding:17px}.batch-drop{border:1px dashed #bac7e8;background:#f7f9ff;border-radius:12px;padding:14px;display:flex;align-items:center;gap:12px}.batch-drop input{max-width:210px;font-size:9px}.batch-drop>div{min-width:0}.batch-drop strong,.batch-drop span{display:block}.batch-drop strong{font-size:11px}.batch-drop span{font-size:8px;color:var(--muted);margin-top:4px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.batch-channel{display:grid;grid-template-columns:auto 150px;align-items:center;gap:8px;margin:12px 0;font-size:9px;color:#53627a}.batch-channel small{grid-column:1/-1;color:var(--muted);font-size:8px}.batch-import-card>.btn{width:100%}.batch-results{display:flex;flex-direction:column;gap:7px;margin-top:12px}.batch-result{display:flex;gap:9px;align-items:center;border-radius:9px;padding:9px 10px}.batch-result.success{background:#edf8f3;color:#176f54}.batch-result.failed{background:#fff0f1;color:#a63b44}.batch-result>span{font-weight:900}.batch-result>div{min-width:0}.batch-result strong,.batch-result small{display:block}.batch-result strong{font-size:9px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.batch-result small{font-size:8px;margin-top:3px;line-height:1.4}.health-calendar th,.health-calendar td{text-align:center}.health-calendar th:first-child,.health-calendar td:first-child{text-align:left}.health-day{display:inline-flex;min-width:48px;justify-content:center;border-radius:999px;padding:4px 7px;font-size:8px;font-weight:750}.health-day.complete{background:#e4f5ed;color:#17805e}.health-day.missing{background:#ffecee;color:#bd454e}
.import-reminder-card{margin-bottom:16px}.import-reminder-card>.card-title{align-items:flex-start}.import-reminder-summary{display:flex;gap:7px;flex-wrap:wrap;justify-content:flex-end}.import-reminder-summary span,.import-reminder-group>header>span{display:inline-flex;align-items:center;border-radius:999px;padding:5px 9px;font-size:8px;font-weight:750;white-space:nowrap}.import-reminder-summary .has-due,.import-reminder-group>header .has-due{background:#fff0e5;color:#b76418}.import-reminder-summary .all-ready,.import-reminder-group>header .all-ready{background:#e8f7f0;color:#177557}.import-reminder-groups{display:grid;grid-template-columns:minmax(0,5fr) minmax(300px,3fr);gap:14px}.import-reminder-group{min-width:0;border:1px solid #e2e7f1;background:#f9faff;border-radius:13px;padding:13px}.import-reminder-group>header{display:flex;align-items:flex-start;justify-content:space-between;gap:10px;margin-bottom:10px}.import-reminder-group h4{font-size:11px;margin:0;color:var(--ink)}.import-reminder-group header p{font-size:8px;line-height:1.45;color:var(--muted);margin:4px 0 0}.import-reminder-list{display:flex;flex-direction:column;gap:7px}.import-reminder-item{border:1px solid #e4e8f0;border-left:3px solid #bbc4d4;border-radius:10px;background:#fff;padding:10px 11px;min-width:0}.import-reminder-item.complete{border-left-color:#269b75}.import-reminder-item.warning{border-left-color:#e09a2d}.import-reminder-item.missing{border-left-color:#df5a61}.import-reminder-item.neutral{border-left-color:#8b97aa}.import-reminder-main{display:flex;align-items:flex-start;justify-content:space-between;gap:9px}.import-reminder-title{min-width:0}.import-reminder-title strong,.import-reminder-title span{display:block}.import-reminder-title strong{font-size:10px}.import-reminder-title span{font-size:8px;color:#4f66a6;margin-top:3px}.import-reminder-status{flex:0 0 auto;font-size:8px;border-radius:999px;padding:4px 7px;background:#f0f2f6;color:#657188}.import-reminder-item.complete .import-reminder-status{background:#e5f6ee;color:#177557}.import-reminder-item.warning .import-reminder-status{background:#fff3df;color:#a96618}.import-reminder-item.missing .import-reminder-status{background:#ffebed;color:#b6414b}.import-reminder-item p{font-size:8px;line-height:1.45;color:#35445e;margin:7px 0 4px}.import-reminder-item small,.import-reminder-item em{display:block;font-size:8px;line-height:1.45;color:var(--muted)}.import-reminder-item em{font-style:normal;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;margin-top:2px}

@media(max-width:1200px){.lifecycle-summary-grid{grid-template-columns:repeat(3,1fr)}.data-health-layout,.import-reminder-groups{grid-template-columns:1fr}.health-report-grid{grid-template-columns:repeat(3,1fr)}}
@media(max-width:900px){.lifecycle-flow{align-items:stretch;overflow-x:auto}.lifecycle-flow>div{min-width:120px}.lifecycle-summary-grid,.health-report-grid{grid-template-columns:repeat(2,1fr)}.data-health-decision{align-items:flex-start}.import-reminder-card>.card-title{display:block}.import-reminder-summary{justify-content:flex-start;margin-top:9px}}

.nav-list{flex:1;min-height:0;overflow-y:auto;padding-right:3px}.nav-list::-webkit-scrollbar{width:4px}.nav-list::-webkit-scrollbar-thumb{background:rgba(255,255,255,.16);border-radius:5px}
.tag-list{display:flex;gap:4px;flex-wrap:wrap;margin-top:5px}.product-tag{display:inline-flex;align-items:center;border-radius:999px;background:color-mix(in srgb,var(--tag-color) 12%,white);border:1px solid color-mix(in srgb,var(--tag-color) 30%,white);color:var(--tag-color);padding:3px 6px;font-size:8px;font-weight:750;white-space:nowrap}.product-tag.protected{background:color-mix(in srgb,var(--tag-color) 18%,white)}
.compact-summary{grid-template-columns:repeat(4,minmax(150px,1fr));margin-bottom:15px}.compact-summary>.card,.inventory-summary>.card,.tag-summary>.card{margin-top:0}.mini-stat{padding:15px 17px;min-height:82px}.mini-stat span{display:block;color:var(--muted);font-size:10px}.mini-stat b{display:block;font-size:23px;margin-top:7px}.mini-stat.danger{border-top:3px solid var(--red)}.mini-stat.warn{border-top:3px solid var(--amber)}.mini-stat.healthy{border-top:3px solid var(--green)}
.inventory-summary{grid-template-columns:repeat(6,minmax(125px,1fr));margin-bottom:12px}.inventory-filter{text-align:left;color:var(--ink);cursor:pointer}.inventory-filter.active{border-color:var(--blue);box-shadow:0 0 0 3px rgba(61,99,243,.12),var(--shadow)}.note-line{font-size:10px;color:var(--muted);margin:0 0 14px}.danger-text{color:#bd454e!important}
.link-drill-list{display:flex;flex-direction:column;gap:9px}.link-drill{width:100%;display:flex;align-items:center;justify-content:space-between;gap:15px;text-align:left;border:1px solid var(--line);border-radius:12px;background:#fff;padding:13px 15px;color:var(--ink);cursor:pointer}.link-drill:hover{border-color:#b8c5ef;background:#f9faff}.link-drill>span{min-width:0}.link-drill strong,.link-drill small{display:block}.link-drill strong{font-size:12px}.link-drill small{color:var(--muted);font-size:9px;margin-top:5px}.link-drill>b{text-align:right;font-size:12px;white-space:nowrap}.eyebrow{font-size:8px;color:var(--blue);font-weight:800;letter-spacing:.12em}
.issue-stack{display:flex;flex-direction:column;gap:7px;min-width:245px}.issue-stack>span{display:grid;grid-template-columns:auto 1fr;align-items:center;gap:6px}.issue-stack strong{font-size:10px}.issue-stack small{grid-column:2;color:var(--muted);font-size:8px;line-height:1.4}.effect-table{min-width:1420px}.badge-指标改善迹象{background:#daf2e7;color:#18825f}.badge-指标变差{background:#ffe5e7;color:#c63f49}.badge-无明显变化{background:#edf0f4;color:#6f7c91}.badge-数据待补{background:#fff0d8;color:#ae6f13}.badge-保护中{background:#f1eaff;color:#6b4eb8}.badge-缺货,.badge-即将断货{background:#ffe5e7;color:#c63f49}.badge-需要补货,.badge-下架有库存,.badge-滞销库存,.badge-库存偏高{background:#fff0d8;color:#ae6f13}.badge-正常{background:#daf2e7;color:#18825f}
.tag-summary{grid-template-columns:repeat(6,minmax(130px,1fr));margin-bottom:15px}.tag-summary-card{display:flex;align-items:center;gap:10px;padding:13px 15px}.tag-dot{width:12px;height:12px;border-radius:50%;flex:0 0 auto}.tag-summary-card strong,.tag-summary-card small{display:block}.tag-summary-card strong{font-size:11px}.tag-summary-card small{font-size:8px;color:var(--muted);margin-top:4px}.tag-choice-grid{display:grid;grid-template-columns:1fr 1fr;gap:9px}.tag-choice{display:grid;grid-template-columns:auto auto 1fr;align-items:center;gap:8px;border:1px solid var(--line);border-radius:10px;padding:11px;cursor:pointer}.tag-choice small{grid-column:3;color:var(--muted);font-size:8px}.check-field{display:flex;align-items:center;gap:8px;color:#53627a;font-size:10px}.color-input{height:38px;padding:4px}
.inbox-card{margin-bottom:16px}.inbox-path{display:grid;grid-template-columns:105px minmax(0,1fr);gap:8px 12px;align-items:center;background:#f7f9ff;border:1px solid #dfe5f6;border-radius:11px;padding:12px 14px}.inbox-path span{font-size:10px;color:var(--muted)}.inbox-path code{font-family:Consolas,monospace;font-size:10px;word-break:break-all}.inbox-path small{grid-column:2;color:var(--muted);font-size:8px}.inbox-history{display:grid;grid-template-columns:1fr 1fr;gap:7px;margin-top:11px}.inbox-history .batch-result{margin:0}
@media(max-width:1200px){.compact-summary{grid-template-columns:repeat(2,1fr)}.inventory-summary,.tag-summary{grid-template-columns:repeat(3,1fr)}}
@media(max-width:900px){.compact-summary,.inventory-summary,.tag-summary,.inbox-history{grid-template-columns:repeat(2,1fr)}.tag-choice-grid{grid-template-columns:1fr}}

.procurement-summary{grid-template-columns:repeat(4,minmax(155px,1fr));margin-bottom:12px}.procurement-stat{appearance:none;text-align:left;color:var(--ink);font-family:inherit;padding:15px 17px;min-height:92px;margin-top:0!important;border-top:3px solid #dce2ec}.procurement-stat span,.procurement-stat b,.procurement-stat small{display:block}.procurement-stat span{font-size:10px;color:var(--muted)}.procurement-stat b{font-size:24px;margin:7px 0 3px}.procurement-stat small{font-size:8px;color:#8a96a8;line-height:1.4}.procurement-stat.danger{border-top-color:var(--red)}.procurement-stat.warning{border-top-color:var(--amber)}.procurement-stat.slow{border-top-color:var(--purple)}button.procurement-stat{cursor:pointer}button.procurement-stat:hover{transform:translateY(-2px);border-color:#bdc9ec}button.procurement-stat:focus{outline:0;box-shadow:0 0 0 3px rgba(61,99,243,.12),var(--shadow)}
.procurement-table{min-width:1660px}.procurement-table td{vertical-align:top}.procurement-table td:first-child{min-width:245px}.procurement-table td:nth-child(2){min-width:265px}.procurement-status{display:inline-flex;border-radius:999px;padding:5px 8px;font-size:9px;font-weight:800;white-space:nowrap}.procurement-status.danger,.procurement-status.missing{background:#ffe5e7;color:#bd3943}.procurement-status.warning{background:#fff0d8;color:#a86a10}.procurement-status.ready{background:#e7edff;color:#3559d6}.procurement-status.slow{background:#f1eaff;color:#6b4eb8}.procurement-status.healthy{background:#daf2e7;color:#18825f}.risk-list{display:flex;gap:4px;flex-wrap:wrap;margin-top:7px}.risk-list em{font-style:normal;font-size:8px;color:#a63e47;background:#fff0f1;border-radius:5px;padding:3px 5px}.procurement-table .cell-sub{display:block;white-space:normal;line-height:1.45}.procurement-detail-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:9px;margin-bottom:14px}.procurement-detail-grid>div{padding:13px 14px;background:#fff;border:1px solid var(--line);border-radius:11px}.procurement-detail-grid span,.procurement-detail-grid b{display:block}.procurement-detail-grid span{font-size:9px;color:var(--muted)}.procurement-detail-grid b{font-size:18px;margin-top:7px}.procurement-followup-form{margin-bottom:16px}.procurement-followup-form .field.full{grid-column:1/-1}.badge-未跟进{background:#edf0f4;color:#6f7c91}.badge-待确认采购{background:#e7edff;color:#3559d6}.badge-已下采购单,.badge-供应商已发货,.badge-已到货待入库{background:#fff0d8;color:#ae6f13}.badge-暂不采购{background:#f1eaff;color:#6b4eb8}
@media(max-width:1200px){.procurement-summary{grid-template-columns:repeat(2,1fr)}}
@media(max-width:900px){.procurement-summary,.procurement-detail-grid{grid-template-columns:1fr 1fr}.procurement-filters .search{width:100%}}

/* Operational review and batch-workflow additions. */
.dashboard-filters,.batch-bar,.anomaly-state-bar{display:flex;align-items:center;gap:9px;flex-wrap:wrap;margin-bottom:14px;padding:13px 15px}.dashboard-stat{appearance:none;text-align:left;color:var(--ink);font:inherit;cursor:pointer;transition:transform .15s,border-color .15s,box-shadow .15s}.dashboard-stat:hover{transform:translateY(-2px);border-color:#bdc9ec;box-shadow:0 9px 24px rgba(31,45,76,.11)}.dashboard-stat:focus-visible{outline:3px solid rgba(61,99,243,.22)}
.batch-bar strong{font-size:11px}.batch-bar .result-count{max-width:440px}.selectable-table .check-col{width:42px;min-width:42px;text-align:center}.selectable-table input[type=checkbox]{accent-color:var(--blue);width:15px;height:15px}.selectable-table tr:has(td input[type=checkbox]:checked){background:#f4f7ff}
.grade-grid{grid-template-columns:repeat(7,minmax(62px,1fr))}.badge-D-新品{background:#e8f5ff;color:#28739e}.badge-D-老品{background:#edf0f4;color:#606d82}
.trend-rise{color:#d9434e!important;font-weight:800}.trend-fall{color:#17805e!important;font-weight:800}.rating-warning{display:inline-block;color:#a66a0d;background:#fff5df;border-radius:5px;padding:2px 5px;font-weight:700}.brief-trend.up{background:#ffecee;color:#c34c55}.brief-trend.down{background:#e5f6ef;color:#19815f}.rating-reason{min-width:420px;line-height:1.75}.rating-rule-map{margin-top:14px;line-height:1.7}.rating-table{min-width:1320px}
.plan-coverage-table{min-width:1540px}.plan-coverage-table td{vertical-align:top}.plan-preview-list{display:flex;flex-direction:column;gap:6px;min-width:270px}.plan-preview-list span{display:block;border-left:2px solid #ccd7fb;padding-left:8px}.plan-preview-list strong,.plan-preview-list small{display:block;max-width:300px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.plan-preview-list strong{font-size:10px}.plan-preview-list small{font-size:8px;color:var(--muted);margin-top:3px}.plan-preview-list em{font-style:normal;color:var(--blue);font-size:9px}.plan-funnel-stats{grid-template-columns:repeat(4,minmax(130px,1fr))}
.plan-cleanup-filters{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin-bottom:14px;padding:13px 15px}.plan-cleanup-table{min-width:1900px}.plan-cleanup-table td{vertical-align:top}.cleanup-actions{display:flex;gap:6px;flex-wrap:wrap;min-width:210px}.reviewed-row{background:#f5fbf8}.anomaly-item.dismissed{opacity:.72;background:#f6f7f9}.anomaly-item.dismissed .stripe{background:#a7b0bf}.anomaly-state-bar strong{font-size:11px}
@media(max-width:1200px){.grade-grid{grid-template-columns:repeat(4,1fr)}.plan-funnel-stats{grid-template-columns:repeat(2,1fr)}}

/* Safe import preview, traceability, and rollback. */
.import-preview-modal{width:min(920px,94vw)}.import-preview-file{display:grid;grid-template-columns:1.2fr 1fr .9fr 1.1fr;gap:9px;margin-bottom:12px}.import-preview-file>div{background:#f7f9fd;border:1px solid #e5e9f2;border-radius:10px;padding:10px 11px;min-width:0}.import-preview-file span,.import-preview-file strong,.import-preview-file code{display:block}.import-preview-file span{color:var(--muted);font-size:8px;margin-bottom:5px}.import-preview-file strong,.import-preview-file code{font-size:10px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.import-preview-file code{font-family:Consolas,monospace;color:#40547a}
.import-preview-stats{display:grid;grid-template-columns:repeat(4,1fr);gap:8px;margin-bottom:14px}.import-preview-stats>div{background:#eef3ff;border-radius:10px;padding:11px 13px}.import-preview-stats>div.danger{background:#fff0f1;color:#a63b44}.import-preview-stats span{display:block;color:var(--muted);font-size:8px}.import-preview-stats b{display:block;font-size:18px;margin-top:5px}.import-preview-section{margin-top:13px}.import-preview-section h4{font-size:10px;color:#53627a;margin:0 0 7px}.import-check-list{display:grid;grid-template-columns:1fr 1fr;gap:7px}.import-check{display:grid;grid-template-columns:25px minmax(0,1fr) auto;gap:8px;align-items:center;border:1px solid;border-radius:9px;padding:8px 9px}.import-check>span{width:23px;height:23px;border-radius:7px;display:grid;place-items:center;font-weight:900}.import-check strong,.import-check small{display:block}.import-check strong{font-size:9px}.import-check small{font-size:8px;line-height:1.4;margin-top:2px;color:inherit;opacity:.76}.import-check>b{font-size:8px}.import-check.passed{background:#f1faf6;border-color:#d8eee4;color:#176f54}.import-check.warning{background:#fff8e9;border-color:#f2dfb6;color:#855d19}.import-check.pending{background:#f3f6fd;border-color:#dfe5f3;color:#556985}
.import-membership-summary{display:grid;grid-template-columns:repeat(4,1fr);gap:8px;background:#f5f8ff;border:1px solid #dce5fb;border-radius:10px;padding:10px 11px;margin:-2px 0 12px}.import-membership-summary>div{min-width:0}.import-membership-summary span,.import-membership-summary b{display:block}.import-membership-summary span{font-size:8px;color:var(--muted)}.import-membership-summary b{font-size:13px;margin-top:3px;color:#243b70}.import-membership-summary p{grid-column:1/-1;margin:1px 0 0;color:#63708a;font-size:8px;line-height:1.5}
.import-impact-list{border:1px solid #e5e9f1;border-radius:9px;overflow:hidden}.import-impact-row{display:grid;grid-template-columns:minmax(160px,1fr) repeat(3,82px);gap:8px;padding:8px 10px;border-top:1px solid #edf0f4;font-size:9px}.import-impact-row:first-child{border-top:0}.import-impact-row span{color:var(--muted);text-align:right}.import-change-details,.import-action-history{margin-top:12px;border:1px solid #e2e7f0;border-radius:10px;padding:10px 12px}.import-change-details summary,.import-action-history summary{cursor:pointer;color:#4b5f83;font-size:9px;font-weight:750}.import-change-row{display:flex;align-items:center;gap:9px;padding:8px 0;border-top:1px solid #edf0f4}.import-change-row:first-child{margin-top:7px}.import-change-row>div{min-width:0}.import-change-row strong,.import-change-row small{display:block}.import-change-row strong{font-size:9px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.import-change-row small{font-size:8px;color:var(--muted);margin-top:3px}.import-change-type{font-size:8px;font-weight:800;border-radius:6px;padding:4px 6px}.import-change-type.add{background:#e4f5ed;color:#17805e}.import-change-type.update{background:#e7edff;color:#3559d6}.import-change-type.delete{background:#ffecee;color:#bd454e}
.import-warning-box,.import-safe-box,.import-blocked-box{border:1px solid;border-radius:11px;padding:12px 14px;margin-top:13px;font-size:9px;line-height:1.6}.import-warning-box{background:#fff7e8;border-color:#f1dfb6;color:#815a18}.import-warning-box strong,.import-blocked-box strong{display:block;font-size:10px}.import-warning-box p,.import-blocked-box p{margin:5px 0 0}.import-warning-box ul,.import-blocked-box ul{margin:6px 0 0;padding-left:18px}.import-safe-box{background:#eaf8f2;border-color:#cce9dd;color:#176f54}.import-blocked-box{background:#fff0f1;border-color:#efcfd2;color:#963c44}.import-confirm-check{display:flex;align-items:flex-start;gap:9px;margin-top:11px;padding:11px 12px;border:1px solid var(--line);border-radius:9px;font-size:9px;line-height:1.5;cursor:pointer}.import-confirm-check input{margin-top:2px;accent-color:var(--blue)}
.import-history-item{display:grid;grid-template-columns:32px minmax(0,1fr) auto;gap:10px;align-items:start;border-top:1px solid #edf0f4;padding:11px 0}.import-history-item:first-of-type{border-top:0}.import-history-icon{width:30px;height:30px;border-radius:9px;display:grid;place-items:center;font-weight:900}.import-history-item.success .import-history-icon{background:#e4f5ed;color:#17805e}.import-history-item.failed .import-history-icon{background:#ffecee;color:#bd454e}.import-history-item.undone .import-history-icon{background:#edf0f4;color:#68758a}.import-history-item .grow{min-width:0}.import-history-item strong,.import-history-item span,.import-history-item small,.import-history-item em{display:block}.import-history-item strong{font-size:10px}.import-history-item span,.import-history-item small{font-size:8px;color:var(--muted);line-height:1.45;margin-top:3px}.import-history-item em{font-size:8px;color:#7f8a9c;line-height:1.45;margin-top:4px;font-style:normal}.import-history-action{text-align:right;white-space:nowrap}.import-history-action>b{display:block;font-size:11px;margin-bottom:6px}.import-action-history>div{display:flex;justify-content:space-between;gap:8px;border-top:1px solid #edf0f4;padding:7px 0;font-size:8px}.import-action-history>div:first-of-type{margin-top:7px}.import-action-history span{color:var(--muted)}.batch-result.checking{background:#f2f5fb;color:#556985}
@media(max-width:900px){.import-preview-file{grid-template-columns:1fr 1fr}.import-membership-summary{grid-template-columns:1fr 1fr}.import-check-list{grid-template-columns:1fr}.import-impact-row{grid-template-columns:minmax(120px,1fr) repeat(3,60px)}.import-history-item{grid-template-columns:30px minmax(0,1fr)}.import-history-action{grid-column:2;text-align:left;display:flex;align-items:center;gap:8px}.import-preview-stats{grid-template-columns:1fr 1fr}}

/* Product identity, rating explanations, and plan relationship diagnostics. */
.product-thumb-tiny{width:36px;height:36px;border-radius:8px}.product-thumb-medium{width:54px;height:54px;border-radius:11px}.product-link-with-thumb{display:inline-flex;align-items:center;gap:9px;max-width:320px;text-align:left}.product-link-with-thumb>span{min-width:0}.product-link-with-thumb strong,.product-link-with-thumb small{display:block}.product-link-with-thumb strong{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.product-thumb-button{border:0;background:transparent;padding:0;cursor:pointer}.modal-product-head,.anomaly-main,.brief-product-main,.link-drill-main{display:flex;align-items:center;gap:10px;min-width:0}.modal-product-head>div,.anomaly-main>div,.brief-product-main>span,.link-drill-main>span{min-width:0}.task-product-context{width:100%;display:flex;align-items:center;gap:9px;margin-top:9px;border:1px solid #e5e9f2;border-radius:9px;background:#f7f9fd;padding:8px;text-align:left;color:var(--ink);cursor:pointer}.task-product-context:hover{border-color:#bdc9ec;background:#f3f6ff}.task-product-context>span{min-width:0}.task-product-context strong,.task-product-context small{display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.task-product-context small{color:var(--muted);font-size:8px;margin-top:3px}
.title-with-help{display:flex;align-items:center;gap:7px}.rating-help{position:relative;display:inline-flex;align-items:center}.rating-help-trigger{width:21px;height:21px;border-radius:50%;border:1px solid #b9c6eb;background:#eef2ff;color:#3f61d9;display:grid;place-items:center;padding:0;font-size:11px;font-weight:900;cursor:help}.rating-help-trigger:focus-visible{outline:3px solid rgba(61,99,243,.18)}.rating-help-popover{position:absolute;display:none;left:0;top:calc(100% + 8px);width:min(470px,72vw);z-index:45;background:#15223a;color:#fff;border-radius:13px;padding:15px 16px;box-shadow:0 16px 44px rgba(16,28,51,.28);font-weight:400}.rating-help:hover .rating-help-popover,.rating-help:focus-within .rating-help-popover{display:block}.rating-help-popover>strong,.rating-help-period,.rating-help-row,.rating-help-popover>em{display:block}.rating-help-popover>strong{font-size:12px;margin-bottom:4px}.rating-help-period{font-size:9px;color:#b7c3d8;margin-bottom:10px}.rating-help-row{display:grid;grid-template-columns:76px 1fr;gap:8px;align-items:start;border-top:1px solid rgba(255,255,255,.1);padding:8px 0}.rating-help-row b,.rating-help-row small{display:block}.rating-help-row b{font-size:10px}.rating-help-row small{font-size:9px;color:#c0cada;line-height:1.55;margin-top:2px}.rating-help-popover>em{font-style:normal;color:#9fafd0;font-size:8px;line-height:1.5;border-top:1px solid rgba(255,255,255,.1);padding-top:8px}
.plan-data-ready,.plan-data-missing{display:flex;align-items:center;gap:10px;border:1px solid;border-radius:12px;padding:12px 14px;margin-bottom:14px}.plan-data-ready{background:#edf8f3;border-color:#cfe9dc;color:#176f54}.plan-data-missing{background:#fff7e8;border-color:#efdcb1;color:#805918}.plan-data-ready strong,.plan-data-missing strong{font-size:11px;white-space:nowrap}.plan-data-ready span,.plan-data-missing span{font-size:9px;line-height:1.55}.plan-data-missing .btn{margin-left:auto;white-space:nowrap}.text-status{font-size:14px!important}.plan-coverage-detail-stats{grid-template-columns:repeat(4,minmax(130px,1fr))}
.tag-summary-filter{appearance:none;width:100%;font:inherit;text-align:left;color:var(--ink);cursor:pointer;transition:transform .15s,border-color .15s,box-shadow .15s}.tag-summary-filter:hover{transform:translateY(-2px);border-color:#bdc9ec}.tag-summary-filter.active{border-color:var(--blue);background:#f8faff;box-shadow:0 0 0 3px rgba(61,99,243,.12),var(--shadow)}.tag-summary-filter:focus-visible{outline:3px solid rgba(61,99,243,.18)}
.data-rule-layout{grid-template-columns:minmax(0,1.45fr) minmax(330px,.55fr)}.data-rule-layout>.card{margin-top:0}.data-rule-layout>.import-history-card{position:sticky;top:110px;max-height:calc(100vh - 132px);overflow:auto}.rating-rules-card{min-width:0}.rating-common-bar{display:grid;grid-template-columns:180px 180px minmax(220px,1fr);align-items:end;gap:11px;background:#f7f9fd;border:1px solid #e5e9f2;border-radius:12px;padding:12px 14px;margin-bottom:12px}.rating-common-bar p{font-size:9px;color:var(--muted);line-height:1.55;margin:0 0 7px}.rating-logic-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px}.rating-level-card{border:1px solid #e3e7ef;border-left:4px solid #cbd3e1;border-radius:12px;padding:13px 14px;background:#fff}.rating-level-card.level-s{border-left-color:#8067d9;background:#fcfaff}.rating-level-card.level-a{border-left-color:#1e9f73;background:#f9fdfa}.rating-level-card.level-b{border-left-color:#5575f5;background:#fafbff}.rating-level-card.level-c{border-left-color:#df8b4a;background:#fffdf9}.rating-level-card.level-d{border-left-color:#8d9aab;background:#fbfcfd}.rating-level-card header{display:flex;align-items:center;gap:8px}.rating-level-card header>div{min-width:0}.rating-level-card header strong,.rating-level-card header small{display:block}.rating-level-card header strong{font-size:12px}.rating-level-card header small{font-size:8px;color:var(--muted);margin-top:2px}.rating-level-card>p{font-size:9px;color:#5f6d82;line-height:1.6;margin:10px 0}.rating-card-fields{display:grid;grid-template-columns:1fr 1fr;gap:8px}.rule-criterion{min-width:0}.rule-criterion .input{min-width:0;padding:7px 9px}.rule-static-note{border-radius:9px;background:#fff4e9;padding:11px}.rule-static-note strong,.rule-static-note span{display:block}.rule-static-note strong{font-size:10px;color:#a55a25}.rule-static-note span{font-size:8px;color:#856a57;line-height:1.5;margin-top:4px}.rating-advanced{margin-top:12px;border:1px solid #dfe5f0;border-radius:11px;padding:11px 13px;background:#fafbfd}.rating-advanced summary{cursor:pointer;color:#40547a;font-weight:750;font-size:10px}.rating-advanced .note-box{margin:11px 0}.rating-warning-title{margin:18px 0 12px;padding-top:15px;border-top:1px solid var(--line)}
@media(max-width:1200px){.data-rule-layout{grid-template-columns:1fr}.data-rule-layout>.import-history-card{position:static;max-height:680px}.rating-logic-grid{grid-template-columns:1fr 1fr}.plan-coverage-detail-stats{grid-template-columns:repeat(2,1fr)}}
@media(max-width:900px){.rating-common-bar{grid-template-columns:1fr 1fr}.rating-common-bar p{grid-column:1/-1}.rating-logic-grid{grid-template-columns:1fr}.rating-card-fields{grid-template-columns:1fr 1fr}.plan-data-ready,.plan-data-missing{align-items:flex-start;flex-wrap:wrap}.plan-data-missing .btn{margin-left:0}}

/* Reference-video planning keeps the benchmark separate from owned production assets. */
.benchmark-create-note{display:flex;flex-direction:column;gap:4px;border:1px solid #cad6fb;background:#f4f7ff;border-radius:11px;padding:12px 14px;color:#36529f}.benchmark-create-note strong{font-size:11px}.benchmark-create-note span{font-size:9px;line-height:1.55;color:#6273a2}.benchmark-reference-card,.benchmark-slots-card{margin-bottom:16px!important}.benchmark-reference{display:grid;grid-template-columns:178px minmax(0,1fr);gap:13px;align-items:center;border:1px solid #dce3f4;background:#f8faff;border-radius:12px;padding:10px}.benchmark-reference>div:last-child{min-width:0}.benchmark-reference strong,.benchmark-reference span{display:block}.benchmark-reference strong{font-size:11px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.benchmark-reference span{font-size:8px;color:var(--muted);margin-top:5px}.benchmark-reference p{font-size:9px;color:#64728a;line-height:1.55;margin:9px 0 0}.benchmark-readiness{display:flex;align-items:center;gap:11px;border:1px solid;border-radius:12px;padding:11px 13px;margin-bottom:11px}.benchmark-readiness>b{width:31px;height:31px;border-radius:9px;display:grid;place-items:center;background:rgba(255,255,255,.72);font-size:13px}.benchmark-readiness strong,.benchmark-readiness p{display:block}.benchmark-readiness strong{font-size:10px}.benchmark-readiness p{font-size:8px;line-height:1.5;margin:4px 0 0}.benchmark-readiness.ready{background:#eaf8f2;border-color:#cae8db;color:#176f54}.benchmark-readiness.warning{background:#fff8e9;border-color:#efdcb2;color:#825a16}.benchmark-readiness.blocked{background:#f2f4f8;border-color:#dfe4ec;color:#69768a}.benchmark-slot-list{display:flex;flex-direction:column;gap:9px}.benchmark-slot{display:grid;grid-template-columns:64px minmax(0,1fr);gap:10px;border:1px solid #e1e6ef;border-radius:12px;padding:11px;background:#fbfcfe}.benchmark-slot.matched{border-left:4px solid #1e9f73}.benchmark-slot.missing{border-left:4px solid #e1a13c}.benchmark-slot-head{text-align:center;padding-top:3px}.benchmark-slot-head b,.benchmark-slot-head span{display:block}.benchmark-slot-head b{font-size:20px;color:#c3cad7}.benchmark-slot-head span{font-size:8px;border-radius:999px;padding:4px 5px;margin-top:7px;background:#fff0d8;color:#a86a10}.benchmark-slot.matched .benchmark-slot-head span{background:#daf2e7;color:#18825f}.benchmark-slot-grid{display:grid;grid-template-columns:1.25fr .62fr .62fr .8fr;gap:8px}.benchmark-slot-grid label>span{display:block;color:#788499;font-size:8px;margin-bottom:4px}.benchmark-slot-grid .input,.benchmark-slot-grid .select,.benchmark-slot-grid .textarea{width:100%;min-width:0}.benchmark-slot-grid .input,.benchmark-slot-grid .select{padding:7px 8px}.benchmark-slot-grid .slot-material{grid-column:1/3}.benchmark-slot-grid .slot-requirement{grid-column:3/5}.benchmark-slot-grid .textarea{min-height:54px;padding:8px}.benchmark-mode-note{border:1px solid #dce4ff;background:#f5f7ff;color:#5a6d9d;border-radius:9px;padding:9px 10px;font-size:8px;line-height:1.55;margin-top:11px}.manual-script-box{border:1px solid #cfdaf9;background:#f5f7ff;border-radius:11px;padding:12px 14px;margin-bottom:12px}.manual-script-box strong{font-size:10px;color:#36529f}.manual-script-box pre{font:inherit;font-size:9px;line-height:1.7;white-space:pre-wrap;color:#42516c;margin:7px 0 0}.manual-script-input{min-height:130px!important}
@media(max-width:900px){.benchmark-reference{grid-template-columns:130px minmax(0,1fr)}.benchmark-slot{grid-template-columns:1fr}.benchmark-slot-head{display:flex;align-items:center;gap:8px;text-align:left}.benchmark-slot-head span{margin-top:0;width:max-content}.benchmark-slot-grid{grid-template-columns:1fr 1fr}.benchmark-slot-grid .slot-material,.benchmark-slot-grid .slot-requirement{grid-column:1/-1}}

/* AI video planning: model configuration, reviewed edit decisions, and privacy status. */
.engine-actions{display:flex;align-items:center;gap:8px;margin-left:auto}.ai-video-engine .video-engine-icon{font-size:9px;letter-spacing:-.5px}.ai-config-modal{width:min(620px,calc(100vw - 28px))}.ai-config-notice{display:flex;flex-direction:column;gap:5px;border:1px solid #cfdaf9;background:#f5f7ff;color:#405a9f;border-radius:11px;padding:12px 14px;margin-bottom:14px}.ai-config-notice strong{font-size:10px}.ai-config-notice span{font-size:9px;line-height:1.6}.ai-reference-card,.ai-plan-card{margin-bottom:16px!important}.ai-plan-editor{display:flex;flex-direction:column;gap:11px}.ai-plan-summary{display:grid;grid-template-columns:190px minmax(0,1fr);gap:10px;align-items:start;border:1px solid #dce4f4;background:#f8faff;border-radius:11px;padding:11px}.ai-plan-summary span,.ai-plan-summary strong{display:block}.ai-plan-summary span{font-size:8px;color:var(--muted)}.ai-plan-summary strong{font-size:10px;margin-top:4px}.ai-plan-summary .textarea{min-height:58px}.ai-segment-list{display:flex;flex-direction:column;gap:9px}.ai-segment{display:grid;grid-template-columns:46px minmax(0,1fr);gap:10px;border:1px solid #e0e6f0;border-left:4px solid #5575f5;border-radius:11px;padding:11px;background:#fbfcff}.ai-segment-number{width:34px;height:34px;border-radius:9px;display:grid;place-items:center;background:#eaf0ff;color:#3f61d9;font-weight:900;font-size:11px}.ai-segment-grid{display:grid;grid-template-columns:minmax(180px,1.35fr) .55fr .55fr minmax(160px,1fr);gap:8px}.ai-segment-grid label>span{display:block;color:#788499;font-size:8px;margin-bottom:4px}.ai-segment-grid .input,.ai-segment-grid .select,.ai-segment-grid .textarea{width:100%;min-width:0;padding:7px 8px}.ai-segment-material{grid-column:auto}.ai-segment-purpose{grid-column:auto}.ai-segment-caption{grid-column:1/3}.ai-segment-reason{grid-column:3/5}.ai-segment-reason .textarea{min-height:50px}.ai-plan-card .benchmark-readiness{position:relative}.ai-plan-card .benchmark-readiness>.btn{margin-left:auto;white-space:nowrap}
@media(max-width:1100px){.ai-segment-grid{grid-template-columns:1fr 1fr}.ai-segment-caption,.ai-segment-reason{grid-column:1/-1}}
@media(max-width:720px){.engine-actions{width:100%;margin-left:42px}.ai-plan-summary{grid-template-columns:1fr}.ai-segment{grid-template-columns:1fr}.ai-segment-grid{grid-template-columns:1fr}.ai-segment-caption,.ai-segment-reason{grid-column:auto}}

/* Wan candidate generation stays separate from local editing until a human approves it. */
.wan-video-engine .video-engine-icon{font-size:8px;letter-spacing:-.5px}.wan-config-notice{background:#f0fbf8;border-color:#bfe8dc;color:#236d5b}.wan-advanced-config{margin:12px 0;border:1px solid #dfe5ef;border-radius:10px;padding:10px 12px;background:#fafbfd}.wan-advanced-config summary{cursor:pointer;color:#52627b;font-size:9px;font-weight:750}.wan-advanced-config .field{margin-top:11px}.wan-generation-card,.wan-candidates-card{margin-bottom:16px!important}.wan-cloud-notice{display:flex;flex-direction:column;gap:5px;border:1px solid #efd9ae;background:#fff9ec;color:#7b5819;border-radius:11px;padding:11px 13px;margin-bottom:12px}.wan-cloud-notice b{font-size:10px}.wan-cloud-notice span{font-size:8px;line-height:1.6}.wan-source-list{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:9px;margin-bottom:13px}.wan-source-list>.empty{grid-column:1/-1}.wan-source-option{position:relative;display:grid;grid-template-columns:22px 72px minmax(0,1fr);gap:8px;align-items:center;border:1px solid #e0e5ee;border-radius:10px;padding:8px;background:#fafbfd;cursor:pointer;min-width:0}.wan-source-option:has(input:checked){border-color:#6f8cf3;background:#f4f7ff;box-shadow:0 0 0 1px #d3dcff inset}.wan-source-option>input{width:15px;height:15px;accent-color:var(--blue)}.wan-source-option>span{width:72px;height:54px;border-radius:7px;overflow:hidden;background:#17233a;display:block}.wan-source-option video,.wan-source-option img{width:100%;height:100%;object-fit:contain}.wan-source-option>div{min-width:0}.wan-source-option strong,.wan-source-option small{display:block}.wan-source-option strong{font-size:9px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.wan-source-option small{font-size:8px;color:var(--muted);margin-top:5px}.wan-generation-card>.field{margin-top:10px}.wan-generation-card>.field .textarea{min-height:105px}.wan-parameter-grid{display:grid;grid-template-columns:repeat(3,1fr) minmax(190px,1.15fr);gap:8px;margin-top:10px}.wan-parameter-grid>label>span{display:block;font-size:8px;color:#788499;margin-bottom:4px}.wan-parameter-grid .select{width:100%}.wan-audio-option{display:flex!important;align-items:center;gap:7px;border:1px solid #e1e6ef;border-radius:9px;padding:0 10px;background:#fafbfd}.wan-audio-option>span{margin:0!important;color:#52627b!important}.wan-audio-option input{accent-color:var(--blue)}.wan-reference-option,.wan-consent{margin-top:10px;border:1px solid #dce4f4;background:#f8faff;border-radius:9px;padding:9px 11px}.wan-consent{border-color:#efd9ae;background:#fff9ec}.wan-candidate-list{display:flex;flex-direction:column;gap:10px}.wan-candidate{border:1px solid #dfe5ef;border-radius:12px;padding:11px;background:#fafbfd}.wan-candidate.failed{background:#fff6f6;border-color:#efced2}.wan-candidate-head{display:flex;align-items:center;justify-content:space-between;gap:10px}.wan-candidate-head>div{display:flex;align-items:center;gap:8px}.wan-candidate-head strong{font-size:9px}.wan-candidate-head small{font-size:8px;color:var(--muted)}.wan-candidate video{display:block;width:100%;max-height:440px;background:#101a2c;border-radius:9px;margin-top:10px}.wan-candidate>p{font-size:8px;line-height:1.55;color:#65728a;margin:9px 0 0}.wan-candidate-error{font-size:8px;line-height:1.55;color:#b13d48;background:#ffecee;border-radius:8px;padding:8px 9px;margin-top:9px}.wan-candidate .form-actions{margin-top:10px}.badge-上传素材中,.badge-云端生成中,.badge-下载结果中{background:#fff0d8;color:#ae6f13}.badge-待确认{background:#f1eaff;color:#6b4eb8}.badge-已采用{background:#daf2e7;color:#18825f}.badge-已拒绝{background:#edf0f4;color:#6f7c91}
@media(max-width:1100px){.wan-source-list{grid-template-columns:repeat(2,minmax(0,1fr))}.wan-parameter-grid{grid-template-columns:1fr 1fr}}
@media(max-width:720px){.wan-source-list,.wan-parameter-grid{grid-template-columns:1fr}.wan-candidate-head{align-items:flex-start;flex-direction:column}}

/* AI image factory: one reviewed try-on at a time, with local input/result history. */
.image-tryon-create-card{margin-bottom:16px!important}.image-tryon-input-grid{display:grid;grid-template-columns:minmax(0,1fr) 56px minmax(0,1fr);gap:12px;align-items:center}.image-tryon-picker{display:block;cursor:pointer}.image-tryon-picker:has(input:disabled){cursor:not-allowed;opacity:.62}.image-tryon-picker-title{display:block;font-size:9px;font-weight:800;color:#42516b;margin-bottom:7px}.image-tryon-file-preview{min-height:220px;border:1.5px dashed #cbd4e4;border-radius:13px;background:#f8faff;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:7px;overflow:hidden;padding:12px;text-align:center}.image-tryon-picker:hover .image-tryon-file-preview{border-color:#7790e9;background:#f4f7ff}.image-tryon-file-preview>b{width:38px;height:38px;border-radius:12px;display:grid;place-items:center;background:#e7edff;color:#3d5fd7;font-size:19px}.image-tryon-file-preview>strong{font-size:11px}.image-tryon-file-preview>small{font-size:8px;color:var(--muted)}.image-tryon-file-preview>img{width:100%;height:170px;object-fit:contain;border-radius:9px;background:#17233a}.image-tryon-file-preview>span{width:100%;min-width:0;text-align:left}.image-tryon-file-preview>span strong,.image-tryon-file-preview>span small{display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.image-tryon-file-preview>span strong{font-size:9px}.image-tryon-file-preview>span small{font-size:8px;color:var(--muted);margin-top:4px}.image-tryon-arrow{width:42px;height:42px;border-radius:50%;display:grid;place-items:center;margin:auto;background:#edf1ff;color:#4564d6;font-size:9px;font-weight:800}.image-tryon-options{display:grid;grid-template-columns:260px minmax(0,1fr);gap:12px;align-items:end;margin-top:12px}.image-tryon-options-optimized{grid-template-columns:repeat(4,minmax(0,1fr));align-items:stretch}.image-tryon-options-optimized .image-tryon-spec{grid-column:1/-1}.image-tryon-options .field{margin:0}.image-tryon-options .field>span{display:block;font-size:9px;font-weight:700;color:#53627a;margin-bottom:5px}.image-tryon-options .select{width:100%}.image-tryon-spec{border:1px solid #e0e5ee;background:#fafbfd;border-radius:10px;padding:10px 12px}.image-tryon-spec strong,.image-tryon-spec span{display:block}.image-tryon-spec strong{font-size:9px}.image-tryon-spec span{font-size:8px;color:var(--muted);margin-top:4px}.image-tryon-pipeline-options{display:grid;grid-template-columns:1fr 1fr;gap:9px;margin-top:11px}.image-tryon-pipeline-options .check-field{margin:0;border:1px solid #dfe5ef;background:#fafbfd;border-radius:10px;padding:10px 11px}.image-tryon-guidance{display:grid;grid-template-columns:1fr 1fr;gap:9px;margin-top:11px}.image-tryon-guidance>div{border-radius:10px;padding:10px 11px;background:#f4f7ff;border:1px solid #dbe3fa}.image-tryon-guidance b,.image-tryon-guidance span{display:block}.image-tryon-guidance b{font-size:9px;color:#3f5aab}.image-tryon-guidance span{font-size:8px;line-height:1.55;color:#63718a;margin-top:4px}.image-tryon-consent{border:1px solid #efd9ae;background:#fff9ec;border-radius:10px;padding:11px 12px;margin-top:11px}.image-tryon-submit-row{display:flex;align-items:center;justify-content:flex-end;gap:12px;margin-top:11px}.image-tryon-submit-row>span{font-size:8px;color:var(--muted);margin-right:auto}.image-tryon-jobs{display:flex;flex-direction:column;gap:12px}.image-tryon-job{border:1px solid #dfe5ef;border-radius:13px;padding:12px;background:#fafbfd}.image-tryon-job.active{border-color:#ecd59e;background:#fffdf7}.image-tryon-job.failed{border-color:#efced2;background:#fff7f7}.image-tryon-job-head{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:10px}.image-tryon-job-head strong,.image-tryon-job-head span{display:block}.image-tryon-job-head strong{font-size:11px}.image-tryon-job-head span{font-size:8px;line-height:1.55;color:var(--muted);margin-top:4px}.image-tryon-status{font-style:normal;font-size:8px;font-weight:800;border-radius:999px;padding:5px 8px;background:#edf0f4;color:#667286;white-space:nowrap}.image-tryon-job.active .image-tryon-status{background:#fff0d8;color:#a86a10}.image-tryon-job.failed .image-tryon-status{background:#ffe5e7;color:#bd3943}.image-tryon-compare{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:9px}.image-tryon-compare figure,.image-tryon-stage-grid figure{margin:0;border:1px solid #e1e6ef;border-radius:10px;overflow:hidden;background:#fff}.image-tryon-compare figure>img,.image-tryon-result-wait{display:block;width:100%;height:310px;object-fit:contain;background:#151f31}.image-tryon-result-wait{display:flex;flex-direction:column;align-items:center;justify-content:center;color:#bdc7d8;gap:6px}.image-tryon-result-wait>b{font-size:25px}.image-tryon-result-wait>span{font-size:9px}.image-tryon-result-wait.failed{background:#fbeaec;color:#b6444e}.image-tryon-compare figcaption,.image-tryon-stage-grid figcaption{display:flex;justify-content:space-between;align-items:center;padding:8px 9px;font-size:9px;font-weight:750}.image-tryon-compare figcaption small,.image-tryon-stage-grid figcaption small{font-size:7px;color:var(--muted);font-weight:500}.image-tryon-pipeline{margin-top:9px;border:1px solid #e0e5ee;border-radius:10px;background:#fff;padding:8px 10px}.image-tryon-pipeline summary{cursor:pointer;font-size:8px;font-weight:800;color:#4d5f7c}.image-tryon-stage-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:9px;margin-top:9px}.image-tryon-stage-grid img{display:block;width:100%;height:220px;object-fit:contain;background:#17233a}.image-tryon-error,.image-tryon-review-note{display:flex;gap:8px;border-radius:9px;padding:9px 10px;margin-top:9px;font-size:8px;line-height:1.55}.image-tryon-error{background:#ffecee;color:#a63c46}.image-tryon-review-note{background:#edf8f3;color:#226f59}.image-tryon-error strong,.image-tryon-review-note strong{white-space:nowrap}.image-tryon-job-actions{display:flex;align-items:center;justify-content:flex-end;gap:7px;margin-top:10px}
@media(max-width:900px){.image-tryon-input-grid{grid-template-columns:1fr}.image-tryon-arrow{transform:rotate(90deg)}.image-tryon-options,.image-tryon-pipeline-options,.image-tryon-guidance{grid-template-columns:1fr}.image-tryon-compare figure>img,.image-tryon-result-wait{height:230px}}
@media(max-width:620px){.image-tryon-compare,.image-tryon-stage-grid{grid-template-columns:1fr}.image-tryon-compare figure>img,.image-tryon-result-wait{height:320px}.image-tryon-submit-row{align-items:stretch;flex-direction:column}.image-tryon-job-actions{flex-wrap:wrap}}

/* Explainable hit-product radar: potential, scale readiness, and confidence stay separate. */
.radar-method{display:flex;align-items:center;gap:12px;margin-bottom:15px;padding:14px 17px;background:linear-gradient(135deg,#142642,#213f72);color:#fff}.radar-method>div{flex:1;min-width:0}.radar-method>i{font-style:normal;color:#8298c2}.radar-method b,.radar-method strong,.radar-method span{display:block}.radar-method b{font-size:8px;color:#8faaf0;letter-spacing:.12em}.radar-method strong{font-size:11px;margin-top:4px}.radar-method span{font-size:8px;color:#b9c6db;margin-top:4px;line-height:1.5}.radar-filters{padding:13px 15px!important;margin-bottom:15px!important}.radar-summary-grid{grid-template-columns:repeat(7,minmax(126px,1fr));margin-bottom:14px}.radar-summary-card{appearance:none;text-align:left;color:var(--ink);font:inherit;padding:14px 15px;min-height:96px;cursor:pointer;position:relative;overflow:hidden;transition:.16s;border-top:3px solid #d7deea}.radar-summary-card:hover{transform:translateY(-2px);border-color:#bdc9ec}.radar-summary-card.active{box-shadow:0 0 0 3px rgba(61,99,243,.12),var(--shadow)}.radar-summary-card span,.radar-summary-card b,.radar-summary-card small{display:block}.radar-summary-card span{font-size:10px;color:var(--muted)}.radar-summary-card b{font-size:23px;margin:7px 0 3px}.radar-summary-card small{font-size:8px;color:#8b96a8;line-height:1.45}.radar-summary-card.scale{border-top-color:#1e9f73;background:#f8fdfb}.radar-summary-card.early{border-top-color:#5575f5;background:#fafbff}.radar-summary-card.revive{border-top-color:#8067d9;background:#fcfaff}.radar-summary-card.limited{border-top-color:#e19a32;background:#fffdf8}.radar-summary-card.risk{border-top-color:#d84c57;background:#fffafb}.radar-summary-card.missing{border-top-color:#8e9aaa}.radar-table{min-width:2060px}.radar-table td{vertical-align:top}.radar-table td:first-child{min-width:300px}.radar-queue{display:inline-flex;border-radius:999px;padding:5px 8px;font-size:9px;font-weight:850;white-space:nowrap}.radar-queue.scale{background:#daf2e7;color:#177b5b}.radar-queue.early{background:#e7edff;color:#3559d6}.radar-queue.revive{background:#f1eaff;color:#6b4eb8}.radar-queue.verify{background:#eaf3ff;color:#376eaa}.radar-queue.limited{background:#fff0d8;color:#a86a10}.radar-queue.risk{background:#ffe5e7;color:#bd3943}.radar-queue.missing,.radar-queue.neutral{background:#edf0f4;color:#667286}.radar-score{--ring:#526fe7;width:56px;height:56px;margin:0 0 5px auto;border-radius:50%;display:flex;flex-direction:column;align-items:center;justify-content:center;position:relative;background:conic-gradient(var(--ring) calc(var(--score)*1%),#e9edf4 0)}.radar-score:before{content:"";position:absolute;inset:5px;border-radius:50%;background:#fff}.radar-score b,.radar-score span{position:relative;z-index:1;display:block}.radar-score b{font-size:15px;line-height:1}.radar-score span{font-size:7px;color:var(--muted);margin-top:3px}.radar-score.readiness{--ring:#1e9f73}.radar-score.confidence{--ring:#8067d9}.radar-score.empty-score{background:#edf0f4}.radar-cohort{display:block;max-width:150px;margin-left:auto;color:var(--muted);font-size:7px;line-height:1.4}.radar-signals{min-width:250px}.radar-signals>strong{display:block;font-size:9px;line-height:1.45;color:#344663;margin-bottom:7px}.radar-signal-list,.radar-risk-list{display:flex;gap:4px;flex-wrap:wrap;margin-top:5px}.radar-signal-list span,.radar-risk-list span{font-size:7px;border-radius:5px;padding:3px 5px;line-height:1.35}.radar-signal-list span{color:#17775a;background:#e8f7f1}.radar-risk-list span{color:#a13f48;background:#fff0f1}.radar-trend{display:inline-flex;align-items:center;gap:2px;font-size:8px;font-weight:800;white-space:nowrap}.radar-trend.up{color:#d9434e}.radar-trend.down{color:#17805e}.radar-trend.flat{color:#7f8a9c}.radar-profit{display:block;font-size:8px;margin-top:5px;white-space:nowrap}.radar-profit.positive{color:#17805e}.radar-profit.negative{color:#bd3943}.radar-profit.unknown{color:#9a6b19}.radar-action{min-width:225px}.radar-action>span{display:block;color:#53627a;font-size:9px;line-height:1.55}.radar-action .btn-link{margin-top:6px}.radar-table .cell-sub{display:block;font-size:8px;color:var(--muted);margin-top:4px;white-space:normal}.radar-table .slow-product small{max-width:340px}
@media(max-width:1350px){.radar-summary-grid{grid-template-columns:repeat(4,1fr)}}
@media(max-width:900px){.radar-method{align-items:stretch;overflow-x:auto}.radar-method>div{min-width:150px}.radar-summary-grid{grid-template-columns:repeat(2,1fr)}.radar-filters .search{width:100%}}

/* The product overview includes paid amount beside paid units and spend. */
.product-overview-table{min-width:1535px}
