:root{--bg:#f5f7fb;--surface:#fff;--ink:#111827;--muted:#667085;--line:#d9e1ec;--brand:#0f766e;--accent:#f97316;--danger:#dc2626;--blue:#2563eb;--shadow:0 16px 40px #0f172a14}*{box-sizing:border-box}body{background:var(--bg);color:var(--ink);margin:0;font-family:Microsoft YaHei,PingFang SC,Arial,sans-serif;overflow-x:hidden}.login-page{background:#0f172a;grid-template-columns:minmax(320px,.8fr) minmax(0,1.2fr);min-height:100vh;display:grid}.login-hero{color:#fff;align-content:center;gap:18px;padding:48px;display:grid}.login-hero h1{margin:0;font-size:44px;line-height:1.12}.login-hero p{color:#cbd5e1;max-width:520px;margin:0;line-height:1.8}.login-panel{background:#f8fafc;border-radius:8px;align-self:center;gap:20px;margin:32px;padding:24px;display:grid}.login-group{gap:10px;display:grid}.login-group h2{margin:0;font-size:18px}.login-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;display:grid}.login-card{text-align:left;align-content:center;gap:5px;min-height:104px;display:grid}.login-card strong{font-size:20px}.login-card span,.login-card em{color:var(--muted);font-style:normal}.login-form{gap:12px;max-width:420px;display:grid}.login-form label,.form-panel label{color:var(--muted);gap:7px;display:grid}.login-form input,.form-panel input,.form-panel select{border:1px solid var(--line);width:100%;min-height:40px;color:var(--ink);background:#fff;border-radius:8px;padding:9px 11px}.form-error{color:#fecaca;margin:0;font-size:14px}.form-hint{color:#64748b;margin:0;font-size:13px}button,select,input{font:inherit}button{border:1px solid var(--line);color:var(--ink);cursor:pointer;background:#fff;border-radius:8px;padding:9px 12px}button:hover{border-color:#94a3b8}select{border:1px solid var(--line);background:#fff;border-radius:8px;min-height:38px;padding:8px 10px}.primary{background:var(--ink);color:#fff;border-color:var(--ink)}.app-shell{grid-template-columns:248px minmax(0,1fr);width:100%;max-width:100vw;min-height:100vh;display:grid}.sidebar{color:#f8fafc;background:#0f172a;flex-direction:column;gap:24px;min-width:0;height:100vh;padding:24px 18px;display:flex;position:sticky;top:0}.sidebar h1,.topbar h2,.panel h3,.activity-card h3{margin:0}.sidebar h1{font-size:24px;line-height:1.25}.eyebrow{color:#94a3b8;margin:0 0 7px;font-size:13px}.nav-list{gap:8px;display:grid}.nav-item{text-align:left;color:#cbd5e1;background:0 0;border-color:#0000;justify-content:space-between;align-items:center;gap:10px;width:100%;display:flex}.nav-badge{color:#fff;background:#f97316;border-radius:999px;place-items:center;min-width:22px;height:22px;font-size:12px;line-height:1;display:inline-grid}.nav-item.active{color:#fff;background:#1e293b;border-color:#334155}.sidebar-footer{color:#cbd5e1;border:1px solid #334155;border-radius:8px;gap:5px;margin-top:auto;padding:14px;display:grid}.sidebar-footer strong{color:#fff}.workspace{width:100%;min-width:0;max-width:100vw;padding:24px}.topbar{justify-content:space-between;align-items:center;gap:16px;margin-bottom:22px;display:flex}.topbar h2{font-size:30px}.topbar-actions,.filter-row{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.user-chip{color:var(--muted);white-space:nowrap;font-size:13px}.ghost-button{background:0 0}.calendar-note{color:var(--muted);font-size:13px}.page-stack{gap:18px;min-width:0;display:grid}.metric-grid{grid-template-columns:repeat(4,minmax(150px,1fr));gap:14px;display:grid}.metric-card,.panel,.activity-card{background:var(--surface);border:1px solid var(--line);box-shadow:var(--shadow);border-radius:8px}.metric-card{border-left:4px solid var(--brand);gap:8px;min-height:96px;padding:18px;display:grid}.metric-card:nth-child(2n){border-left-color:var(--blue)}.metric-card:nth-child(3n){border-left-color:var(--accent)}.metric-card span,.panel-title span,.task-line span,.activity-card p,.card-meta,.info-list dt,.rank-row em{color:var(--muted)}.metric-card strong{font-size:26px}.proposal-layout{grid-template-columns:minmax(0,1fr) 360px;align-items:start;gap:18px;display:grid}.proposal-layout.proposal-integrated{grid-template-columns:minmax(0,1fr)}.proposal-main{gap:18px;display:grid}.proposal-form{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;display:grid}.proposal-form label{color:var(--muted);gap:6px;display:grid}.proposal-form input,.proposal-form select,.proposal-form textarea{border:1px solid var(--line);width:100%;color:var(--ink);background:#fff;border-radius:8px;padding:10px 11px}.proposal-form textarea{resize:vertical}.store-check-list{gap:9px;display:grid}.store-check-list label{border:1px solid var(--line);background:#fff;border-radius:8px;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:8px;padding:10px;display:grid}.store-check-list span{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.store-check-list em{color:var(--muted);font-style:normal}.proposal-store-section{border:1px solid var(--line);background:#f8fafc;border-radius:8px;padding:14px}.proposal-section-title{justify-content:space-between;align-items:flex-start;gap:14px;margin-bottom:12px;display:flex}.proposal-section-title h4{color:var(--ink);margin:0;font-size:16px}.proposal-section-title p{color:var(--muted);margin:5px 0 0;font-size:13px;line-height:1.6}.proposal-section-title span{color:var(--primary);flex:none;font-weight:800}.proposal-store-list{grid-template-columns:repeat(2,minmax(0,1fr))}.proposal-summary{border:1px solid var(--line);background:#f8fafc;border-radius:8px;margin-top:14px;padding:12px}.proposal-summary p{color:var(--muted);margin:6px 0 0;line-height:1.7}.submit-proposal{width:100%;margin-top:14px}.idea-capture-layout{grid-template-columns:minmax(0,1.15fr) minmax(300px,.85fr);align-items:start;gap:16px;display:grid}.idea-capture-form,.appointment-form{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;display:grid}.idea-capture-form label,.appointment-form label{color:var(--muted);gap:6px;display:grid}.idea-capture-form input,.idea-capture-form select,.idea-capture-form textarea,.appointment-form input,.appointment-form select,.appointment-form textarea{border:1px solid var(--line);width:100%;color:var(--ink);background:#fff;border-radius:8px;padding:10px 11px}.idea-capture-form textarea,.appointment-form textarea{resize:vertical}.brand-checkbox-row{flex-wrap:wrap;gap:8px;display:flex}.brand-checkbox-row label{border:1px solid var(--line);color:var(--ink);background:#fff;border-radius:999px;align-items:center;gap:6px;padding:8px 10px;display:flex}.idea-mini-list,.appointment-list,.store-task-board,.store-appointment-list{gap:10px;display:grid}.idea-mini-card,.appointment-card,.store-task-card,.store-appointment-card{border:1px solid var(--line);background:#fff;border-radius:8px;gap:9px;padding:12px;display:grid}.idea-mini-card div,.appointment-card div,.store-task-card div,.store-appointment-card div{gap:4px;min-width:0;display:grid}.idea-mini-card span,.idea-mini-card p,.appointment-card span,.appointment-card p,.store-task-card span,.store-task-card p,.store-appointment-card span,.store-appointment-card p,.store-appointment-card em{color:var(--muted);margin:0;font-style:normal;line-height:1.55}.idea-mini-card button{justify-self:start}.two-column,.detail-grid,.setup-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;display:grid}.wide-left{grid-template-columns:minmax(0,1.2fr) minmax(360px,.8fr)}.panel{min-width:0;padding:18px}.form-panel{align-content:start;gap:14px;display:grid}.brand-leader-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;display:grid}.brand-leader-card{border:1px solid var(--line);background:#f8fafc;border-radius:8px;gap:8px;padding:14px;display:grid}.brand-leader-card span{color:var(--ink);font-weight:800}.brand-leader-card select{border:1px solid var(--line);width:100%;min-height:40px;color:var(--ink);background:#fff;border-radius:8px;padding:9px 11px}.brand-leader-card em{color:var(--muted);font-size:13px;font-style:normal;line-height:1.5}.section-header{background:var(--surface);border:1px solid var(--line);box-shadow:var(--shadow);border-radius:8px;justify-content:space-between;align-items:center;gap:14px;padding:18px;display:flex}.section-header h3,.panel-title h3{margin:0}.status-pill{border:1px solid var(--line);min-height:28px;color:var(--muted);white-space:nowrap;background:#f8fafc;border-radius:999px;justify-content:center;align-items:center;padding:4px 10px;font-size:13px;display:inline-flex}.status-pill.active{color:#047857;background:#ecfdf5;border-color:#a7f3d0}.inline-notice{color:#1d4ed8;background:#eff6ff;border:1px solid #bfdbfe;border-radius:8px;margin:0;padding:10px 12px}.helper-text{color:var(--muted);margin:0;line-height:1.6}.data-table{border:1px solid var(--line);border-radius:8px;display:grid;overflow:hidden}.data-row{border-top:1px solid var(--line);background:#fff;grid-template-columns:minmax(120px,1fr) minmax(110px,.7fr) minmax(100px,.7fr);align-items:center;gap:10px;padding:10px 12px;display:grid}.data-row:first-child{border-top:0}.data-row.header{color:var(--muted);background:#f8fafc;font-size:13px}.data-table.compact .data-row{min-height:42px}.full-span{grid-column:1/-1}.panel-title{justify-content:space-between;align-items:center;gap:12px;margin-bottom:14px;display:flex}.rank-list,.task-strip{gap:10px;display:grid}.comparison-chart{gap:14px;display:grid}.brand-row{border:1px solid var(--line);background:#fff;border-radius:8px;grid-template-columns:58px 150px minmax(180px,1fr) 130px;align-items:center;gap:14px;padding:12px;display:grid}.boss-review-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;display:grid}.boss-review-card{text-align:left;background:#fff;align-content:start;gap:6px;min-height:132px;display:grid}.boss-review-card span,.boss-review-card em{color:var(--muted);font-style:normal}.boss-review-card b{color:var(--brand)}.report-ticker{border:1px solid var(--line);background:#fff;border-radius:8px;height:178px;overflow:hidden}.report-ticker-track{gap:8px;padding:10px;animation:18s linear infinite report-scroll;display:grid}.report-ticker:hover .report-ticker-track{animation-play-state:paused}.report-ticker-row{background:#f8fafc;border:1px solid #eef2f7;border-radius:8px;grid-template-columns:minmax(150px,1fr) minmax(220px,1.5fr) 90px 120px;align-items:center;gap:12px;padding:10px;display:grid}.report-ticker-row span,.report-ticker-row em{color:var(--muted);font-style:normal}.report-ticker-row b{text-align:right}@keyframes report-scroll{0%{transform:translateY(0)}to{transform:translateY(-50%)}}.brand-rank{color:#334155;background:#f1f5f9;border-radius:8px;place-items:center;width:42px;height:42px;font-size:13px;font-weight:700;display:grid}.brand-label{gap:4px;display:grid}.brand-label span,.brand-result span,.chart-legend,.reminder-row p,.hot-topic p,.brand-work-card em{color:var(--muted)}.bar-pair{gap:8px;display:grid}.bar-line{background:#e2e8f0;border-radius:999px;height:12px;overflow:hidden}.bar-line span{border-radius:inherit;height:100%;display:block}.muted-bar span{background:#2563eb}.brand-result{justify-items:end;gap:4px;display:grid}.trend-up{color:#047857!important}.trend-down{color:#b91c1c!important}.chart-legend{flex-wrap:wrap;gap:14px;margin-top:12px;font-size:13px;display:flex}.chart-legend span{align-items:center;gap:6px;display:inline-flex}.chart-legend i{background:#2563eb;border-radius:999px;width:22px;height:8px}.chart-legend i.solid{background:#0f766e}.reminder-list{gap:10px;margin-bottom:14px;display:grid}.reminder-row{border:1px solid var(--line);background:#fff;border-radius:8px;grid-template-columns:56px minmax(0,1fr);gap:10px;padding:10px;display:grid}.reminder-row>span{color:#c2410c;background:#fff7ed;border-radius:8px;place-items:center;height:36px;font-weight:700;display:grid}.reminder-row p,.hot-topic p{margin:4px 0 0;line-height:1.6}.hot-topic-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;display:grid}.hot-topic{border:1px solid var(--line);background:#f8fafc;border-radius:8px;align-content:start;gap:5px;min-height:116px;padding:11px;display:grid}.hot-topic span{color:#0369a1;background:#e0f2fe;border-radius:999px;width:fit-content;padding:3px 8px;font-size:12px}.brand-workbench{grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;display:grid}.brand-work-card{text-align:left;align-content:center;gap:6px;min-height:112px;display:grid}.brand-work-card strong{font-size:22px}.brand-node-list,.review-ticket-list{gap:10px;display:grid}.brand-node-row{text-align:left;background:#fff;grid-template-columns:minmax(0,1fr) 190px 96px 56px;align-items:center;gap:12px;display:grid}.brand-node-row div{gap:4px;min-width:0;display:grid}.brand-node-row span,.brand-node-row em{color:var(--muted);font-style:normal}.brand-node-row strong,.brand-node-row span,.brand-node-row em{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.brand-node-row small{color:var(--muted);text-align:right}.review-ticket{border:1px solid var(--line);background:#fff;border-radius:8px;grid-template-columns:minmax(0,1.2fr) minmax(220px,.6fr);gap:14px;padding:14px;display:grid}.review-ticket>div:first-child{gap:5px;min-width:0;display:grid}.review-ticket p{color:var(--muted);margin:0;line-height:1.65}.review-ticket span,.review-ticket dt{color:var(--muted)}.review-ticket dl{align-content:start;gap:8px;margin:0;display:grid}.review-ticket dl div{border-bottom:1px solid #eef2f7;justify-content:space-between;gap:12px;padding-bottom:8px;display:flex}.review-ticket dd{margin:0;font-weight:700}.review-ticket label{grid-column:1/-1;gap:6px;display:grid}.review-ticket textarea{border:1px solid var(--line);width:100%;color:var(--ink);resize:vertical;background:#fff;border-radius:8px;padding:10px 11px}.review-ticket .monitor-actions{grid-column:1/-1}.design-upload-form{grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;display:grid}.design-upload-form label{color:var(--muted);gap:6px;display:grid}.design-upload-form input,.design-upload-form select,.design-upload-form textarea{border:1px solid var(--line);width:100%;color:var(--ink);background:#fff;border-radius:8px;padding:10px 11px}.asset-purpose{border:1px solid var(--line);background:#f8fafc;border-radius:8px;gap:8px;padding:11px;display:grid}.asset-purpose p{color:var(--muted);margin:0;line-height:1.65}.asset-purpose div,.upload-preview{flex-wrap:wrap;gap:8px;display:flex}.upload-preview strong{width:100%;color:var(--ink)}.asset-purpose span,.upload-preview span{color:#0369a1;background:#e0f2fe;border-radius:999px;padding:5px 9px;font-size:12px}.upload-preview .selected-file-chip{align-items:center;gap:7px;padding-right:5px;display:inline-flex}.selected-file-chip button{color:#075985;background:#bae6fd;border:0;border-radius:999px;place-items:center;width:18px;height:18px;padding:0;font-size:12px;line-height:1;display:inline-grid}.uploaded-file-grid{grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:10px;display:grid}.uploaded-file-card{min-width:0;color:var(--ink);border:1px solid var(--line);background:#fff;border-radius:8px;gap:7px;padding:10px;text-decoration:none;display:grid}.uploaded-file-card img,.file-placeholder{aspect-ratio:4/3;object-fit:cover;background:#f1f5f9;border-radius:6px;width:100%}.file-placeholder{color:var(--muted);place-items:center;font-weight:800;display:grid}.uploaded-file-card span{text-overflow:ellipsis;white-space:nowrap;font-weight:700;overflow:hidden}.uploaded-file-card em{color:var(--muted);font-size:12px;font-style:normal}.uploaded-file-card.annotatable{border-color:#cbd5f5}.annotate-surface{cursor:crosshair;background:#0f172a;border-radius:6px;position:relative;overflow:hidden}.annotate-surface img{aspect-ratio:auto;object-fit:contain;background:#0f172a;width:100%;height:auto;display:block}.annotate-surface:after{content:"点击图片任意位置添加批注";z-index:2;color:#fff;pointer-events:none;background:#0f172ab8;border-radius:999px;padding:3px 8px;font-size:11px;font-weight:700;position:absolute;bottom:8px;left:8px}.uploaded-file-card .open-original{color:#2563eb;justify-self:start;font-size:12px;font-weight:700;text-decoration:none}.form-error.light{color:var(--danger)}.project-task-list{gap:10px;display:grid}.project-task-card{border:1px solid var(--line);background:#fff;border-radius:8px;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:12px;padding:13px;display:grid}.project-task-card.priority{background:#fffaf5;border-color:#fed7aa #fed7aa #fed7aa #f97316;border-left-style:solid;border-left-width:5px}.project-task-card>div:first-child{gap:5px;min-width:0;display:grid}.project-task-card span,.project-task-card p,.task-table-row span,.task-table-row em,.task-table-row small{color:var(--muted)}.project-task-card p{margin:0;line-height:1.65}.task-table{gap:8px;display:grid}.task-table-row{border:1px solid var(--line);background:#fff;border-radius:8px;grid-template-columns:minmax(180px,1.3fr) minmax(160px,1fr) 140px 110px 90px auto;align-items:center;gap:12px;padding:11px;display:grid}.task-table-row strong,.task-table-row span,.task-table-row em{text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.task-table-row em{font-style:normal}.task-table-row b,.task-table-row small{font-weight:700}.cost-detail-list{gap:10px;display:grid}.rule-list{gap:8px;display:grid}.rule-list p{border-left:3px solid var(--brand);color:var(--muted);background:#f8fafc;border-radius:8px;margin:0;padding:10px 12px;line-height:1.65}.cost-detail-row{border:1px solid var(--line);background:#fff;border-radius:8px;grid-template-columns:120px 100px minmax(0,1fr) auto 100px;align-items:center;gap:12px;padding:12px;display:grid}.cost-detail-row span,.cost-detail-row p,.cost-detail-row em{color:var(--muted);margin:0;font-style:normal;line-height:1.55}.cost-detail-row b{color:var(--brand)}.cost-detail-row em{background:#f8fafc;border-radius:999px;justify-self:end;padding:5px 9px}.cost-detail-actions{background:#f8fafc;border-radius:8px;justify-content:space-between;align-items:center;gap:12px;margin-top:12px;padding:12px;display:flex}.cost-detail-actions p{color:var(--muted);margin:0;line-height:1.6}.role-workspace{gap:18px;display:grid}.launch-plan{gap:14px;display:grid}.workflow-steps{grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;display:grid}.workflow-steps span{color:#115e59;background:#f0fdfa;border:1px solid #bfd7d4;border-radius:8px;align-items:center;min-height:46px;padding:10px 12px;font-weight:700;line-height:1.45;display:grid}.form-section-title{border-top:1px solid var(--line);justify-content:space-between;align-items:center;gap:12px;padding-top:12px;display:flex}.form-section-title strong{font-size:16px}.form-section-title span{color:var(--muted);font-size:13px}.launch-project-row{grid-template-columns:minmax(0,1fr) auto;align-items:end;gap:10px;display:grid}.launch-project-row label,.deadline-grid label,.assignment-grid label{color:var(--muted);gap:6px;display:grid}.launch-project-row select,.deadline-grid input,.assignment-grid input,.assignment-grid textarea{border:1px solid var(--line);width:100%;color:var(--ink);background:#fff;border-radius:8px;padding:10px 11px}.deadline-grid,.assignment-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;display:grid}.assignment-grid textarea{resize:vertical}.delayed-node-list{gap:10px;display:grid}.delayed-node-row{text-align:left;background:#fff7f7;border:1px solid #fecaca;border-left:5px solid #dc2626;border-radius:8px;grid-template-columns:110px minmax(0,1fr) 160px 110px;align-items:center;gap:12px;padding:11px;display:grid}.delayed-node-row span,.delayed-node-row em{text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.delayed-node-row em{color:var(--muted);font-style:normal}.delayed-node-row b{color:#b91c1c;text-align:right}.detail-node-list{gap:9px;display:grid}.detail-node-row{border:1px solid var(--line);background:#fff;border-left:5px solid #94a3b8;border-radius:8px;grid-template-columns:minmax(120px,1fr) 90px 120px auto;align-items:center;gap:10px;padding:10px;display:grid}.detail-node-row span,.detail-node-row em{color:var(--muted);font-style:normal}.detail-node-row.已完成{border-left-color:#16a34a}.detail-node-row.未开始{background:#f8fafc;border-left-color:#94a3b8}.detail-node-row.进行中{border-left-color:#f97316}.detail-node-row.延误{background:#fff7f7;border-left-color:#dc2626}.compact-metrics{grid-template-columns:repeat(4,minmax(120px,1fr))}.operation-workbench{gap:16px}.operation-focus-panel{grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:18px;display:grid}.operation-focus-panel h3,.operation-focus-panel span{margin:0}.operation-focus-panel h3{font-size:22px}.operation-focus-panel span{color:var(--muted);line-height:1.65}.operation-flow-list{gap:12px;display:grid}.operation-flow-card{border:1px solid var(--line);background:#fff;border-radius:8px;gap:14px;padding:16px;display:grid}.operation-flow-card.reviewing{background:#fffaf5;border-color:#fed7aa}.operation-flow-card.blocked{background:#fff7f7;border-color:#fecaca}.operation-flow-card.done{background:#f7fff9;border-color:#bbf7d0}.operation-flow-head,.operation-flow-actions{grid-template-columns:minmax(0,1fr) auto;align-items:start;gap:14px;display:grid}.operation-flow-head>div{gap:5px;min-width:0;display:grid}.operation-flow-head span,.operation-flow-head p,.operation-flow-actions small{color:var(--muted);margin:0;line-height:1.55}.operation-flow-head b{width:fit-content;color:var(--brand);background:#eff6ff;border-radius:999px;padding:6px 10px;font-size:12px}.operation-flow-steps{grid-template-columns:repeat(5,minmax(0,1fr));gap:8px;display:grid}.operation-flow-step{background:#f8fafc;border:1px solid #e5e7eb;border-radius:8px;gap:5px;min-height:88px;padding:10px;display:grid}.operation-flow-step i{background:#fff;border:2px solid #cbd5e1;border-radius:999px;width:20px;height:20px}.operation-flow-step strong{font-size:13px}.operation-flow-step span{color:var(--muted);font-size:12px}.operation-flow-step.done{background:#f0fdf4;border-color:#bbf7d0}.operation-flow-step.done i{background:#16a34a;border-color:#16a34a}.operation-flow-step.active{background:#fff7ed;border-color:#fed7aa}.operation-flow-step.active i{border-color:#f97316}.operation-flow-step.blocked{background:#fef2f2;border-color:#fecaca}.operation-flow-step.blocked i{border-color:#dc2626}.operation-project-layout{grid-template-columns:minmax(260px,.72fr) minmax(0,1.28fr);align-items:start;gap:16px;display:grid}.operation-project-list{gap:10px;display:grid}.operation-project-card{text-align:left;background:#fff;gap:6px;min-height:118px;padding:13px;display:grid}.operation-project-card.active{border-color:var(--brand);background:#ecfdf3}.operation-project-card span{color:#0369a1;background:#e0f2fe;border-radius:999px;width:fit-content;padding:4px 9px;font-size:12px}.operation-project-card strong,.operation-project-card em,.operation-project-card small{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.operation-project-card em,.operation-project-card small{color:var(--muted);font-style:normal}.operation-project-main{gap:14px;display:grid}.operation-project-context{border:1px solid var(--line);background:#f8fafc;border-radius:8px;grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);gap:14px;padding:14px;display:grid}.operation-project-context h4,.operation-project-context p{margin:0}.operation-project-context h4{font-size:20px}.operation-project-context span,.operation-project-context p{color:var(--muted);line-height:1.65}.operation-type-tabs{grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;display:grid}.operation-type-tabs button{background:#fff;min-height:40px}.operation-type-tabs button.active{border-color:var(--ink);background:var(--ink);color:#fff}.operation-pipeline-panel{gap:14px;display:grid}.operation-pipeline-rail{border:1px solid var(--line);background:#fff;border-radius:8px;grid-template-columns:auto minmax(28px,1fr) auto minmax(28px,1fr) auto minmax(28px,1fr) auto;align-items:center;gap:8px;padding:10px 12px;display:grid}.operation-pipeline-rail span{color:#334155;white-space:nowrap;background:#f1f5f9;border-radius:999px;place-items:center;min-height:32px;padding:0 12px;font-size:13px;font-weight:800;display:grid}.operation-pipeline-rail i{background:linear-gradient(90deg,#94a3b8,#0f766e);border-radius:999px;height:2px}.operation-pipeline-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;display:grid}.operation-pipeline-column{border:1px solid var(--line);background:#f8fafc;border-radius:8px;align-content:start;gap:10px;min-height:260px;padding:12px;display:grid}.operation-pipeline-column.ready{background:#f0fdfa;border-color:#99f6e4}.operation-pipeline-title{justify-content:space-between;align-items:flex-start;gap:12px;display:flex}.operation-pipeline-title>div{gap:4px;display:grid}.operation-pipeline-title span{color:var(--brand);background:#fff;border-radius:999px;flex:none;padding:5px 9px;font-size:12px;font-weight:800}.operation-pipeline-title small{color:var(--muted);line-height:1.45}.operation-pipeline-list{gap:10px;display:grid}.operation-pipeline-card{border:1px solid var(--line);background:#fff;border-left:5px solid #94a3b8;border-radius:8px;gap:8px;padding:12px;display:grid}.operation-pipeline-card.ready{border-color:#5eead4 #5eead4 #5eead4 #0f766e;animation:.42s both pipeline-slide-in}.operation-pipeline-card.blocked{background:#fff7f7;border-color:#fecaca #fecaca #fecaca #dc2626}.operation-pipeline-card em,.operation-pipeline-card p,.operation-pipeline-card small{color:var(--muted);margin:0;font-style:normal;line-height:1.55}.operation-next-action{background:#f8fafc;border-radius:8px;justify-content:space-between;align-items:center;gap:10px;padding:9px 10px;display:flex}.operation-next-action b{color:var(--ink);font-size:13px}.operation-next-action span{color:var(--brand);flex:none;font-weight:800}.operation-pipeline-empty{min-height:132px;color:var(--muted);text-align:center;background:#fff;border:1px dashed #cbd5e1;border-radius:8px;place-items:center;margin:0;line-height:1.6;display:grid}@keyframes pipeline-slide-in{0%{opacity:0;transform:translate(-14px)}to{opacity:1;transform:translate(0)}}.operation-task-page .metric-card strong,.role-task-page .metric-card strong{font-size:25px}.operation-task-queue,.operation-submission-state-list,.role-task-list{gap:10px;display:grid}.operation-task-card,.role-task-card{border:1px solid var(--line);background:#fff;border-radius:8px;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:14px;padding:14px;display:grid}.operation-task-card>div:first-child,.role-task-card>div:first-child{gap:6px;min-width:0;display:grid}.operation-task-card b,.role-task-card b,.operation-submission-state b{color:#c2410c;background:#fff7ed;border-radius:999px;width:fit-content;padding:5px 9px;font-size:12px}.operation-task-card span,.operation-task-card p,.role-task-card span,.role-task-card p,.role-task-card small,.operation-submission-state span,.operation-submission-state small{color:var(--muted);margin:0;line-height:1.55}.role-task-card small{font-weight:700}.operation-submission-state{border:1px solid var(--line);background:#fff;border-radius:8px;grid-template-columns:minmax(0,1fr) auto minmax(240px,.75fr);align-items:center;gap:12px;padding:12px;display:grid}.operation-submission-state>div:first-child{gap:4px;min-width:0;display:grid}.operation-submission-state strong,.operation-submission-state span,.operation-submission-state small{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.designer-workbench{gap:16px}.designer-focus-panel{grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:18px;display:grid}.designer-focus-panel h3,.designer-focus-panel span{margin:0}.designer-focus-panel h3{font-size:22px}.designer-focus-panel span{color:var(--muted);line-height:1.65}.designer-focus-stats{grid-template-columns:repeat(4,minmax(74px,1fr));gap:10px;min-width:360px;display:grid}.designer-focus-stats article{border:1px solid var(--line);background:#f8fafc;border-radius:8px;gap:4px;padding:10px;display:grid}.designer-focus-stats span{color:var(--muted);font-size:12px}.designer-focus-stats strong{font-size:24px}.designer-workspace-grid{grid-template-columns:minmax(0,1.45fr) minmax(320px,.85fr);align-items:start;gap:16px;display:grid}.designer-main-column,.designer-side-column{gap:16px;display:grid}.designer-material-inline{grid-template-columns:minmax(0,1fr) auto;align-items:start;gap:14px;display:grid}.designer-material-inline>div:first-child{gap:5px;min-width:0;display:grid}.designer-material-inline span{color:var(--muted);margin:0;line-height:1.55}.designer-material-inline{background:#f8fafc;border:1px dashed #cbd5e1;border-radius:8px;padding:12px}.designer-side-column .material-quote-layout,.designer-side-column .material-quote-form{grid-template-columns:1fr}.design-node-list,.approval-mini-list,.supplier-list,.store-action-list,.weekly-report-form,.designer-deadline-chart{gap:10px;display:grid}.deadline-chart-row{border:1px solid var(--line);background:#fff;border-radius:8px;grid-template-columns:minmax(0,1.1fr) minmax(180px,1fr) 92px;align-items:center;gap:12px;padding:12px;display:grid}.deadline-chart-row>div:first-child{gap:4px;min-width:0;display:grid}.deadline-chart-row span{color:var(--muted);margin:0;line-height:1.55}.deadline-chart-row strong,.deadline-chart-row span{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.deadline-chart-row b{color:#0e7490;background:#ecfeff;border-radius:999px;justify-self:end;padding:5px 9px;font-size:12px}.deadline-chart-row.soon b{color:#c2410c;background:#fff7ed}.deadline-chart-row.overdue b{color:#b91c1c;background:#fef2f2}.deadline-bar{background:#e2e8f0;border-radius:999px;height:10px;overflow:hidden}.deadline-bar i{border-radius:inherit;background:var(--brand);height:100%;display:block}.deadline-chart-row.soon .deadline-bar i{background:var(--accent)}.deadline-chart-row.overdue .deadline-bar i{background:var(--danger)}.material-step-row{grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;display:grid}.material-step-row button{background:#f8fafc;min-height:38px}.material-step-row button.active{border-color:var(--brand);color:#047857;background:#ecfdf3;font-weight:700}.material-quote-layout{grid-template-columns:minmax(0,1.1fr) minmax(320px,.9fr);align-items:start;gap:16px;display:grid}.material-quote-form{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;display:grid}.material-quote-form label{color:var(--muted);gap:6px;display:grid}.material-quote-form input,.material-quote-form select,.material-quote-form textarea{border:1px solid var(--line);width:100%;color:var(--ink);background:#fff;border-radius:8px;padding:10px 11px}.material-quote-list{gap:10px;display:grid}.material-quote-card{border:1px solid var(--line);background:#f8fafc;border-radius:8px;gap:5px;padding:12px;display:grid}.material-quote-card span,.material-quote-card em,.material-quote-card small{color:var(--muted);font-style:normal}.material-quote-card b{color:var(--brand)}.design-node-card{border:1px solid var(--line);background:#fff;border-radius:8px;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:12px;padding:12px;display:grid}.design-node-card>div:first-child{gap:4px;min-width:0;display:grid}.design-node-card span,.approval-mini-row span,.supplier-row span,.supplier-row em,.operation-plan-card p,.operation-plan-card b,.weekly-report-form span,.store-action-list span{color:var(--muted)}.node-actions,.task-actions{flex-wrap:wrap;justify-content:flex-end;gap:8px;display:flex}.approval-mini-row,.supplier-row{border:1px solid var(--line);background:#fff;border-radius:8px;align-items:center;gap:10px;padding:11px;display:grid}.approval-mini-row{grid-template-columns:minmax(0,1fr) 170px auto}.supplier-row{grid-template-columns:minmax(0,1fr) 120px 130px auto}.approval-mini-row strong,.approval-mini-row span,.supplier-row strong,.supplier-row span,.supplier-row em,.design-node-card strong,.design-node-card span{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.approval-mini-row b,.supplier-row b,.operation-plan-card b{color:#0e7490;background:#ecfeff;border-radius:999px;width:fit-content;padding:4px 9px;font-size:12px}.operation-plan-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;display:grid}.operation-plan-card{border:1px solid var(--line);background:#fff;border-radius:8px;align-content:start;gap:8px;min-height:170px;padding:13px;display:grid}.operation-plan-card>span{color:#c2410c;background:#fff7ed;border-radius:999px;width:fit-content;padding:4px 9px;font-size:12px}.operation-plan-card p{margin:0;line-height:1.65}.appointment-layout{grid-template-columns:minmax(0,1.1fr) minmax(320px,.9fr);align-items:start;gap:16px;display:grid}.operation-review-layout{grid-template-columns:minmax(0,1.08fr) minmax(340px,.92fr);align-items:start;gap:16px;display:grid}.operation-review-form{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;display:grid}.operation-review-form label{color:var(--muted);gap:6px;display:grid}.operation-review-form input,.operation-review-form select,.operation-review-form textarea{border:1px solid var(--line);width:100%;color:var(--ink);background:#fff;border-radius:8px;padding:10px 11px}.operation-review-form textarea{resize:vertical}.operation-checkbox{border:1px solid var(--line);background:#fff;border-radius:8px;flex-direction:row;align-items:center;padding:10px;color:var(--ink)!important;gap:8px!important;display:flex!important}.operation-submission-list,.operation-approval-list{gap:10px;display:grid}.operation-submission-card,.operation-approval-card{border:1px solid var(--line);background:#fff;border-radius:8px;gap:9px;padding:12px;display:grid}.operation-submission-card em,.operation-submission-card p,.operation-submission-card small,.operation-approval-card em,.operation-approval-card p,.operation-approval-card small{color:var(--muted);margin:0;font-style:normal;line-height:1.55}.operation-approval-card{grid-template-columns:minmax(0,1fr) minmax(0,1.1fr) minmax(160px,auto) auto;align-items:center}.operation-approval-card>div:first-child{gap:4px;min-width:0;display:grid}.operation-approval-card span{color:#c2410c;background:#fff7ed;border-radius:999px;width:fit-content;padding:4px 9px;font-size:12px}.operation-approval-card b{color:var(--brand)}.appointment-card b,.store-appointment-card b{color:#4338ca;background:#eef2ff;border-radius:999px;width:fit-content;padding:4px 9px;font-size:12px}.slot-choice-row{flex-wrap:wrap;gap:8px;display:flex}.store-task-card{grid-template-columns:minmax(0,.9fr) minmax(320px,1.1fr);align-items:start}.store-task-card p,.store-appointment-card p{white-space:normal}.store-task-main{align-content:start}.store-task-report{gap:10px;display:grid}.store-task-report label{color:var(--muted);gap:6px;display:grid}.store-task-report input,.store-task-report textarea{border:1px solid var(--line);width:100%;color:var(--ink);background:#fff;border-radius:8px;padding:10px 11px}.store-task-report input[type=file]{background:#f8fafc;border-style:dashed}.store-task-data-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px!important;display:grid!important}.store-appointment-card{grid-template-columns:minmax(0,1fr) minmax(220px,auto);align-items:center}.store-appointment-card em{color:#047857;background:#ecfdf3;border-radius:999px;justify-self:end;padding:7px 10px;font-weight:800}.confirmed-calendar-box{justify-items:end;gap:8px;display:grid}.confirmed-calendar-box a{color:#fff;background:#111827;border-radius:8px;justify-content:center;align-items:center;min-height:38px;padding:0 12px;font-size:13px;font-weight:800;text-decoration:none;display:inline-flex}.store-action-list label{border:1px solid var(--line);background:#fff;border-radius:8px;grid-template-columns:auto minmax(0,1fr);align-items:center;gap:9px;padding:10px;display:grid}.store-action-list input[type=file]{background:#f8fafc;border:1px dashed #94a3b8;border-radius:8px;width:100%;padding:11px}.store-execution-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;display:grid}.store-execution-card{border:1px solid var(--line);background:#fff;border-radius:8px;align-content:start;gap:7px;min-height:120px;padding:12px;display:grid}.store-execution-card p{color:var(--muted);margin:0;line-height:1.6}.weekly-report-form label{gap:6px;display:grid}.daily-report-form{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;display:grid}.daily-report-form label{color:var(--muted);gap:6px;display:grid}.daily-report-form input,.daily-report-form select,.daily-report-form textarea{border:1px solid var(--line);width:100%;color:var(--ink);background:#fff;border-radius:8px;padding:10px 11px}.daily-report-form input[type=file]{background:#f8fafc;border-style:dashed}.daily-report-items{gap:10px;display:grid}.daily-report-item{border:1px solid var(--line);background:#fff;border-radius:8px;grid-template-columns:minmax(110px,.8fr) minmax(0,1fr) minmax(0,1fr);align-items:end;gap:10px;padding:10px;display:grid}.daily-report-item strong{align-self:center}.daily-report-history{color:var(--muted);background:#f8fafc;border-radius:8px;gap:7px;margin-top:12px;padding:10px;font-size:13px;display:grid}.daily-report-history strong{color:var(--ink)}.store-comparison-panel{border:1px solid var(--line);background:#fff;border-radius:8px;gap:10px;margin-top:12px;padding:12px;display:grid}.store-comparison-head{justify-content:space-between;align-items:center;gap:12px;display:flex}.store-comparison-head div{gap:4px;display:grid}.store-comparison-head span,.store-comparison-row em,.store-comparison-row small{color:var(--muted);font-style:normal}.store-comparison-head b{color:#047857;background:#ecfdf3;border-radius:999px;padding:6px 10px;font-size:13px}.store-comparison-list{gap:8px;display:grid}.store-comparison-row{background:#f8fafc;border:1px solid #eef2f7;border-radius:8px;grid-template-columns:44px minmax(0,1fr) auto auto;align-items:center;gap:10px;padding:10px;display:grid;position:relative;overflow:hidden}.store-comparison-row.own-store{background:#f0fdf4;border-color:#86efac}.store-comparison-row>span{color:#fff;background:#111827;border-radius:999px;place-items:center;width:32px;height:32px;font-size:12px;font-weight:900;display:grid}.store-comparison-row div{gap:3px;min-width:0;display:grid}.store-comparison-row strong,.store-comparison-row em{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.store-comparison-row b{color:var(--brand)}.store-comparison-row i{background:#f97316;height:3px;position:absolute;bottom:0;left:0}.weekly-report-form input,.weekly-report-form textarea{border:1px solid var(--line);width:100%;color:var(--ink);background:#fff;border-radius:8px;padding:10px 11px}.weekly-report-form textarea{resize:vertical}.rank-row,.task-line{text-align:left;border:1px solid var(--line);background:#fff;border-radius:8px;grid-template-columns:36px minmax(130px,1fr) minmax(160px,2fr) auto;align-items:center;gap:12px;width:100%;padding:11px;display:grid}.rank-row.readonly{cursor:default}.rank-row span{color:#0369a1;background:#e0f2fe;border-radius:50%;place-items:center;width:26px;height:26px;font-weight:700;display:grid}.task-line{grid-template-columns:minmax(0,1fr) auto}.task-line div{gap:4px;min-width:0;display:grid}.task-line strong,.task-line span,.rank-row strong,.rank-row em{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.calendar{border:1px solid var(--line);background:var(--line);border-radius:8px;grid-template-columns:repeat(7,minmax(120px,1fr));gap:1px;display:grid;overflow:hidden}.weekday,.calendar-cell{background:#fff}.weekday{text-align:center;color:var(--muted);padding:10px;font-size:13px}.calendar-cell{align-content:start;gap:6px;min-height:124px;padding:9px;display:grid}.calendar-cell.today{background:#fff7ed}.day-number{color:var(--muted);font-size:13px}.calendar-event{color:#fff;text-align:left;border:0;width:100%;padding:7px 8px;line-height:1.35}.board{grid-auto-columns:minmax(280px,1fr);grid-auto-flow:column;gap:14px;padding-bottom:12px;display:grid;overflow-x:auto}.board-column{border:1px solid var(--line);background:#e9eef7;border-radius:8px;align-content:start;gap:12px;min-height:560px;padding:12px;display:grid}.column-title{justify-content:space-between;align-items:center;display:flex}.column-title span{background:#fff;border-radius:50%;place-items:center;width:28px;height:28px;display:grid}.activity-card{gap:10px;padding:14px;display:grid}.card-head,.card-meta{justify-content:space-between;align-items:center;gap:10px;font-size:13px;display:flex}.card-head.compact{justify-content:flex-start;margin-bottom:10px}.card-head span,.card-head b{background:#f1f5f9;border-radius:999px;padding:4px 8px}.progress-line{background:#e2e8f0;border-radius:999px;height:7px;overflow:hidden}.progress-line i{background:var(--brand);height:100%;display:block}.task-board,.idea-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;display:grid}.ai-idea-panel{background:linear-gradient(#6366f10f,#fff0);border:1px solid #6366f147}.ai-idea-controls{flex-wrap:wrap;align-items:flex-end;gap:12px;margin-top:12px;display:flex}.ai-idea-controls label{color:var(--muted,#6b7280);flex-direction:column;gap:6px;font-size:13px;display:flex}.ai-idea-controls .ai-idea-theme{flex:260px}.ai-idea-controls input,.ai-idea-controls select{border:1px solid #0f172a26;border-radius:10px;padding:9px 11px;font-size:14px}.ai-idea-controls>button{flex:none}.ai-idea-error{color:#b91c1c;margin-top:12px;font-size:13px}.ai-idea-results{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;margin-top:16px;display:grid}.ai-idea-card{background:#fff;border:1px solid #0f172a1a;border-radius:12px;flex-direction:column;gap:8px;padding:14px;display:flex}.ai-idea-card-head{flex-direction:column;gap:3px;display:flex}.ai-idea-card-head strong{font-size:15px}.ai-idea-card-head span{color:var(--muted,#6b7280);font-size:12px}.ai-idea-card p{color:#374151;flex:1;margin:0;font-size:13px;line-height:1.6}.ai-idea-card>button{align-self:flex-start}@media (max-width:720px){.ai-idea-results{grid-template-columns:1fr}.ai-idea-controls .ai-idea-theme{flex:100%}.ai-idea-controls>button{width:100%}}.monitor-list{gap:16px;display:grid}.monitor-card{border:1px solid var(--line);box-shadow:var(--shadow);background:#fff;border-radius:8px;gap:14px;padding:18px;display:grid}.monitor-head{justify-content:space-between;align-items:flex-start;gap:16px;display:flex}.monitor-head h3{margin:0 0 7px}.monitor-head p{color:var(--muted);margin:0}.health-pill{border:1px solid var(--line);border-radius:8px;justify-items:center;gap:4px;min-width:92px;padding:10px 12px;display:grid}.health-pill span{color:var(--muted)}.health-pill.danger{color:#b91c1c;background:#fef2f2;border-color:#fecaca}.health-pill.active{color:#c2410c;background:#fff7ed;border-color:#fed7aa}.health-pill.ok{color:#047857;background:#ecfdf3;border-color:#bbf7d0}.monitor-progress{background:#e2e8f0;border-radius:999px;height:8px;overflow:hidden}.monitor-progress i{background:linear-gradient(90deg,#0f766e,#2563eb);height:100%;display:block}.current-node{border:1px solid var(--line);background:#f8fafc;border-radius:8px;grid-template-columns:auto auto minmax(0,1fr);align-items:center;gap:10px;padding:12px;display:grid}.current-node span,.current-node em{color:var(--muted);font-style:normal}.current-node em{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.node-track{grid-template-columns:repeat(4,minmax(150px,1fr));gap:10px;display:grid}.node-item{border:1px solid var(--line);background:#fff;border-left-width:5px;border-radius:8px;align-content:start;gap:5px;min-height:104px;padding:12px;display:grid}.node-item span{color:#475569;background:#f1f5f9;border-radius:999px;width:fit-content;padding:3px 8px;font-size:12px}.node-item em,.node-item small{color:var(--muted);font-style:normal}.node-item .node-detail{color:#3730a3;background:#eef2ff;border-radius:6px;width:fit-content;padding:2px 8px;font-size:12px;font-weight:800}.node-item.已完成{border-left-color:#16a34a}.node-item.进行中{border-left-color:#f97316}.node-item.延误{background:#fff7f7;border-left-color:#dc2626}.monitor-actions{flex-wrap:wrap;justify-content:flex-end;gap:10px;display:flex}.review-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;display:grid}.review-grid.compact-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.review-empty{grid-column:1/-1}.review-feedback{border-radius:8px;padding:12px 14px;font-weight:800;animation:1.8s both reviewSlide}.review-feedback.approved{color:#047857;background:#ecfdf3;border:1px solid #bbf7d0}.review-feedback.rejected{color:#b91c1c;background:#fef2f2;border:1px solid #fecaca}.review-metric.pulse-approved{animation:.9s metricPulse}.review-card{border:1px solid var(--line);box-shadow:var(--shadow);background:#fff;border-radius:8px;gap:14px;padding:16px;display:grid}.review-card-head{justify-content:space-between;align-items:flex-start;gap:12px;display:flex}.review-card-head h3{margin:0 0 6px}.review-card-head p{color:var(--muted);margin:0}.review-status{color:#475569;background:#f1f5f9;border-radius:999px;flex:none;padding:5px 9px;font-size:12px}.review-status.待老板审核{color:#c2410c;background:#fff7ed}.review-status.已通过{color:#047857;background:#ecfdf3}.review-status.驳回修改{color:#b91c1c;background:#fef2f2}.annotation-helper{background:#fff7ed;border:1px dashed #fed7aa;border-radius:8px;gap:6px;padding:10px;display:grid}.annotation-helper label{color:#9a3412;gap:6px;font-weight:800;display:grid}.annotation-helper input{color:#111827;background:#fff;border:1px solid #fdba74;border-radius:8px;width:100%;padding:9px 10px}.annotation-helper p{color:#9a3412;margin:0;font-size:12px;line-height:1.5}.asset-preview{color:#fff;text-align:center;border-radius:8px;align-content:center;justify-items:center;gap:12px;min-height:220px;padding:24px;display:grid;position:relative;overflow:hidden}.asset-preview.annotating{cursor:crosshair}.asset-preview:before{content:"";background:linear-gradient(135deg,#ffffff2e,#0000 45%),radial-gradient(circle at 22% 18%,#ffffff38,#0000 28%);position:absolute;inset:0}.asset-preview>*{position:relative}.asset-preview.中餐{background:linear-gradient(135deg,#92400e,#b45309)}.asset-preview.火锅{background:linear-gradient(135deg,#881337,#be123c)}.asset-preview.虾锅{background:linear-gradient(135deg,#134e4a,#0f766e)}.asset-preview span{border:1px solid #ffffff8c;border-radius:999px;padding:5px 12px}.asset-preview strong{font-size:32px;line-height:1.15}.asset-preview em{color:#ffffffdb;font-style:normal}.asset-preview b{color:#111827;background:#ffffffeb;border-radius:999px;padding:8px 14px}.annotation-dot{z-index:3;color:#fff;pointer-events:none;background:#dc2626;border:2px solid #fff;border-radius:999px;place-items:center;width:28px;height:28px;font-size:13px;font-style:normal;font-weight:900;display:grid;position:absolute;transform:translate(-50%,-50%);box-shadow:0 8px 18px #7f1d1d47}.annotation-list{color:#334155;background:#f8fafc;border-radius:8px;gap:7px;padding:10px 12px;font-size:13px;display:grid}.annotation-list strong{color:#0f172a}.annotation-list span{justify-content:space-between;align-items:center;gap:8px;display:flex}.annotation-list span button{cursor:pointer;color:#475569;background:#e2e8f0;border:none;border-radius:999px;flex:none;width:18px;height:18px;font-weight:900;line-height:1}.annotation-list span button:hover{background:#cbd5e1}.wechat-remind{color:#047857;background:#ecfdf5;border-radius:8px;padding:7px 10px;font-weight:700;line-height:1.5;display:block}.report-photo-strip{flex-wrap:wrap;gap:6px;font-style:normal;display:flex}.report-photo-strip img{object-fit:cover;border:1px solid var(--line);border-radius:6px;width:52px;height:52px;display:block}.report-evidence-list{gap:10px;display:grid}.report-evidence-row{border:1px solid var(--line);background:#fbfdff;border-radius:10px;gap:8px;padding:10px 12px;display:grid}.report-evidence-row strong{font-size:13px;display:block}.report-evidence-row em{color:var(--muted);font-size:12px;font-style:normal}.review-archive-form{gap:10px;display:grid}.review-archive-form textarea{border:1px solid var(--line);resize:vertical;border-radius:8px;width:100%;padding:10px 11px}.review-archive-form button{justify-self:start}.previous-review{border:1px dashed var(--line);background:#f8fafc;border-radius:8px;margin-top:12px;padding:10px 12px}.previous-review strong{margin-bottom:4px;font-size:13px;display:block}.task-standard{color:var(--muted);gap:6px;font-size:13px;line-height:1.55;display:grid}.task-standard p{margin:0}.task-standard .kv{grid-template-columns:max-content 1fr;align-items:baseline;gap:8px;display:grid}.task-standard .kv b{color:#3730a3;white-space:nowrap;background:#eef2ff;border-radius:999px;padding:2px 9px;font-size:12px;font-weight:800;display:inline-block}.task-standard .kv span{color:#1f2937;font-weight:600}.task-standard .kv.spec b{color:#92400e;background:#fef3c7}.task-standard .kv.spec span{color:#0f172a;font-weight:800}.task-standard .note{color:var(--muted);font-size:12.5px}.assignment-groups{gap:14px;display:grid}.assignment-group{border:1px solid var(--line);background:#fbfdff;border-radius:12px;padding:12px 14px}.assignment-group h5{color:#0f172a;border-bottom:1px dashed var(--line);margin:0 0 10px;padding-bottom:8px;font-size:14px}.daily-calendar{border:1px solid var(--line);background:#fff;border-radius:12px;gap:10px;padding:12px;display:grid}.daily-calendar-head{flex-wrap:wrap;justify-content:space-between;align-items:baseline;gap:6px;display:flex}.daily-calendar-head strong{font-size:15px}.daily-calendar-head span{color:var(--muted);align-items:center;gap:8px;font-size:12px;display:inline-flex}.cal-legend{align-items:center;gap:4px;font-style:normal;display:inline-flex}.cal-legend:before{content:"";background:#e2e8f0;border-radius:3px;width:10px;height:10px}.cal-legend.done:before{background:#16a34a}.cal-legend.selected:before{background:#2563eb}.cal-legend.today:before{background:#f97316}.daily-calendar-weekdays,.daily-calendar-grid{grid-template-columns:repeat(7,1fr);gap:6px;display:grid}.daily-calendar-weekdays span{text-align:center;color:var(--muted);font-size:12px;font-weight:700}.daily-cal-day{aspect-ratio:1;border:1px solid var(--line);min-height:38px;color:var(--ink);cursor:pointer;background:#f8fafc;border-radius:8px;place-items:center;padding:0;font-weight:700;display:grid;position:relative}.daily-cal-day b{font-weight:700}.daily-cal-day.out{visibility:hidden}.daily-cal-day:disabled{cursor:default}.daily-cal-day.today{border-color:#f97316;box-shadow:inset 0 0 0 1px #f97316}.daily-cal-day.done{color:#166534;background:#dcfce7;border-color:#16a34a}.daily-cal-day.selected{color:#fff;background:#2563eb;border-color:#2563eb;box-shadow:0 6px 14px #2563eb52}.daily-cal-day em{color:var(--muted);font-size:9px;font-style:normal;position:absolute;top:2px;left:4px}.daily-cal-day.selected em{color:#dbeafe}.daily-cal-day .cal-check{color:#16a34a;font-size:10px;font-style:normal;position:absolute;bottom:2px;right:4px}.daily-cal-day.selected .cal-check{color:#fff}.daily-calendar-current{color:var(--muted);margin:0;font-size:13px}.daily-calendar-current b{color:var(--ink)}.modal-overlay{z-index:1300;background:#0f172a80;place-items:center;padding:18px;animation:.18s modalFade;display:grid;position:fixed;inset:0}.modal-card{background:#fff;border-radius:14px;gap:14px;width:min(440px,100%);max-height:calc(100vh - 36px);padding:20px;animation:.24s cubic-bezier(.16,1,.3,1) modalPop;display:grid;overflow-y:auto;box-shadow:0 30px 70px #02061766}.modal-head{justify-content:space-between;align-items:center;display:flex}.modal-head h3{margin:0;font-size:17px}.modal-close{color:#475569;cursor:pointer;background:#f1f5f9;border:none;border-radius:999px;width:28px;height:28px;font-size:18px;line-height:1}.modal-sub{color:var(--muted);margin:0;font-size:13px;line-height:1.6}.modal-field{color:#334155;gap:6px;font-weight:700;display:grid}.modal-field input{border:1px solid var(--line);border-radius:8px;padding:10px 11px;font-size:15px}.modal-store-list{color:#334155;background:#f8fafc;border-radius:8px;gap:6px;padding:10px 12px;font-size:13px;display:grid}.modal-store-list strong{color:#0f172a}.modal-actions{justify-content:flex-end;gap:10px;display:flex}.modal-actions button{border:1px solid var(--line);cursor:pointer;background:#fff;border-radius:8px;padding:9px 16px;font-weight:700}.modal-actions button.primary{background:var(--ink);color:#fff;border-color:var(--ink)}.modal-actions button.primary:disabled{opacity:.5;cursor:not-allowed}.modal-card.appointment-modal{width:min(580px,100%)}.modal-card.design-upload-modal{width:min(640px,100%)}.material-step-select{gap:6px;min-width:150px;display:grid}.material-step-select span{color:var(--muted);font-size:12px;font-weight:700}.material-step-select select{border:1px solid var(--line);background:#fff;border-radius:8px;padding:8px 10px;font-weight:700}.material-step-select select:disabled{color:var(--muted);background:#f1f5f9}.approval-alert{background:linear-gradient(#fffbeb,#fef3c7);border:1px solid #fcd34d;border-radius:12px;align-items:center;gap:12px;padding:14px 16px;display:flex;box-shadow:0 6px 18px #d977061f}.approval-alert-icon{font-size:22px;line-height:1}.approval-alert strong{color:#92400e;font-size:15px;display:block}.approval-alert p{color:#b45309;margin:2px 0 0;font-size:13px}@keyframes modalFade{0%{opacity:0}to{opacity:1}}@keyframes modalPop{0%{opacity:0;transform:translateY(10px)scale(.97)}to{opacity:1;transform:translateY(0)scale(1)}}.submit-toast-stack{z-index:1200;pointer-events:none;justify-items:center;gap:8px;display:grid;position:fixed;top:18px;left:50%;transform:translate(-50%)}.submit-toast{color:#fff;background:#0f172a;border-radius:999px;align-items:center;gap:10px;padding:11px 18px;font-size:14px;font-weight:800;animation:.34s cubic-bezier(.16,1,.3,1) submitToastIn,.4s 1.78s forwards submitToastOut;display:inline-flex;box-shadow:0 16px 40px #02061752}.submit-toast-check{color:#fff;background:#22c55e;border-radius:999px;place-items:center;width:22px;height:22px;font-size:13px;font-weight:900;animation:.42s cubic-bezier(.16,1,.3,1) 80ms both submitCheckPop;display:grid}@keyframes submitToastIn{0%{opacity:0;transform:translateY(-14px)scale(.96)}to{opacity:1;transform:translateY(0)scale(1)}}@keyframes submitToastOut{to{opacity:0;transform:translateY(-10px)scale(.98)}}@keyframes submitCheckPop{0%{transform:scale(0)rotate(-30deg)}60%{transform:scale(1.25)rotate(6deg)}to{transform:scale(1)rotate(0)}}button.primary{transition:transform 80ms,filter .15s}button.primary:active:not(:disabled){transform:scale(.96)}@media (prefers-reduced-motion:reduce){.submit-toast,.submit-toast-check{animation-duration:.01ms}}.review-comment-box{gap:8px;display:grid}.review-comment-box label{color:var(--muted);gap:6px;display:grid}.review-comment-box textarea{border:1px solid var(--line);resize:vertical;border-radius:8px;width:100%;padding:10px 11px}.review-comment-box p{color:#7c2d12;background:#fff7ed;border-radius:8px;margin:0;padding:9px 10px;line-height:1.6}@keyframes reviewSlide{0%{opacity:0;transform:translateY(-8px)}18%,78%{opacity:1;transform:translateY(0)}to{opacity:0;transform:translateY(-8px)}}@keyframes metricPulse{0%{transform:scale(1)}40%{transform:scale(1.04);box-shadow:0 16px 32px #16a34a2e}to{transform:scale(1)}}button:disabled{cursor:not-allowed;opacity:.55}.info-list{gap:10px;margin:0;display:grid}.info-list div{grid-template-columns:90px minmax(0,1fr);gap:12px;display:grid}.info-list dd,.info-list dt{margin:0}.body-copy{color:#344054;margin:0 0 12px;line-height:1.8}.store-tags{flex-wrap:wrap;gap:8px;display:flex}.store-tags span{color:#3730a3;background:#eef2ff;border-radius:999px;padding:7px 10px}.mobile-form{gap:12px;display:grid}.mobile-form label{color:var(--muted);gap:6px;font-size:13px;display:grid}.mobile-form input,.mobile-form select,.mobile-form textarea{border:1px solid var(--line);width:100%;color:var(--ink);resize:vertical;background:#fff;border-radius:8px;padding:10px 11px}.mobile-form input[type=file]{min-height:44px}.upload-preview{flex-wrap:wrap;gap:8px;display:flex}.upload-preview span{color:#047857;text-overflow:ellipsis;white-space:nowrap;background:#ecfdf3;border-radius:999px;max-width:100%;padding:6px 9px;overflow:hidden}.code-block{color:#e5e7eb;background:#111827;border-radius:8px;margin:0;padding:14px;overflow-x:auto}@media (max-width:1100px){.app-shell{grid-template-columns:1fr}.sidebar{height:auto;position:static}.nav-list{grid-template-columns:repeat(4,minmax(0,1fr))}.metric-grid,.two-column,.wide-left,.detail-grid,.task-board,.idea-grid,.review-grid,.setup-grid,.operation-plan-grid,.idea-capture-layout,.idea-capture-form,.appointment-layout,.appointment-form,.operation-review-layout,.operation-review-form,.daily-report-form,.deadline-grid,.assignment-grid,.boss-review-grid,.design-upload-form,.material-quote-layout,.material-quote-form,.idea-capture-layout,.idea-capture-form,.appointment-layout,.appointment-form,.designer-workspace-grid,.project-task-card,.task-table-row{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (max-width:760px){.login-page{grid-template-columns:1fr}.login-hero{padding:28px 18px}.login-hero h1{font-size:32px}.login-panel{border-radius:0;margin:0}.login-grid{grid-template-columns:1fr}.workspace{padding:14px}.topbar{flex-direction:column;align-items:stretch}.topbar h2{font-size:24px}.topbar-actions,.topbar-actions select,.topbar-actions button,.filter-row,.filter-row select,.filter-row button{width:100%}.nav-list,.metric-grid,.proposal-layout,.proposal-form,.proposal-store-list,.brand-leader-grid,.two-column,.wide-left,.detail-grid,.task-board,.idea-grid,.review-grid,.review-grid.compact-grid,.setup-grid,.operation-plan-grid,.operation-review-layout,.operation-review-form,.daily-report-form,.idea-capture-layout,.idea-capture-form,.appointment-layout,.appointment-form,.deadline-grid,.assignment-grid,.workflow-steps,.launch-project-row,.form-section-title,.delayed-node-row,.brand-node-row,.review-ticket,.project-task-card,.task-table-row,.report-ticker-row,.detail-node-row,.deadline-chart-row,.operation-focus-panel,.operation-flow-head,.operation-flow-actions,.operation-flow-steps,.operation-project-layout,.operation-project-context,.operation-type-tabs,.operation-pipeline-grid,.operation-task-card,.operation-submission-state,.role-task-card,.designer-focus-panel,.designer-workspace-grid,.designer-material-inline,.material-quote-layout,.material-step-row,.design-node-card,.approval-mini-row,.supplier-row,.store-task-card,.store-appointment-card,.operation-approval-card,.store-comparison-row,.cost-detail-row{grid-template-columns:1fr}.cost-detail-actions{flex-direction:column;align-items:stretch}.designer-focus-stats{grid-template-columns:repeat(2,minmax(0,1fr));min-width:0}.form-section-title{flex-direction:column;align-items:flex-start}.daily-report-item{grid-template-columns:1fr}.store-comparison-head{flex-direction:column;align-items:flex-start}.rank-row{grid-template-columns:32px minmax(0,1fr) auto}.rank-row em{grid-column:2/-1}.calendar{grid-template-columns:repeat(7,minmax(72px,1fr));overflow-x:auto}.calendar-cell{min-height:110px;padding:6px}.sidebar{gap:14px;padding:14px}.sidebar h1{font-size:20px}.nav-list{padding-bottom:4px;display:flex;overflow-x:auto}.nav-item{white-space:nowrap;flex:none;width:auto}.sidebar-footer{display:none}.board{grid-auto-columns:minmax(250px,86vw)}.brand-row{grid-template-columns:1fr}.brand-result,.delayed-node-row b,.brand-node-row small{text-align:left;justify-items:start}.brand-rank{width:fit-content;height:auto;padding:5px 9px}.hot-topic-grid,.brand-workbench{grid-template-columns:1fr}.node-actions,.task-actions,.slot-choice-row{justify-content:flex-start}.node-actions button,.task-actions button,.slot-choice-row button{flex:90px}.monitor-head,.current-node{grid-template-columns:1fr;display:grid}.node-track{grid-template-columns:1fr}.monitor-actions button{width:100%}}@media (max-width:1100px){.sidebar{z-index:40;gap:10px;height:auto;padding:10px 14px;position:sticky;top:0;box-shadow:0 6px 16px #02061738}.sidebar>div:first-child{flex-wrap:wrap;align-items:baseline;gap:8px;display:flex}.sidebar .eyebrow{margin:0;font-size:11px}.sidebar h1{font-size:17px}.nav-list{-webkit-overflow-scrolling:touch;scrollbar-width:none;gap:8px;display:flex;overflow-x:auto}.nav-list::-webkit-scrollbar{display:none}.nav-item{white-space:nowrap;background:#ffffff0f;border-radius:999px;flex:none;width:auto;padding:8px 13px}.nav-item.active{color:#fff;background:#2563eb;border-color:#0000}}@media (max-width:760px){input,select,textarea{font-size:16px}.workspace{padding:12px}.topbar{margin-bottom:14px}.topbar-actions{gap:8px}.topbar-actions .user-chip{font-size:12px}.primary,.node-actions button,.topbar-actions button,.modal-actions button,.slot-choice-row button{min-height:44px}.metric-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.metric-card{padding:12px}.metric-card strong{font-size:22px}.panel{padding:14px}.modal-overlay{align-items:flex-end;padding:0}.modal-card,.modal-card.appointment-modal,.modal-card.design-upload-modal{border-radius:16px 16px 0 0;width:100%;max-width:100%;max-height:90vh}.daily-calendar{padding:10px}.daily-calendar-grid,.daily-calendar-weekdays{gap:4px}.daily-cal-day{min-height:40px;font-size:15px}.node-actions{width:100%}.node-actions button{flex:120px}.uploaded-file-grid{grid-template-columns:1fr}}@media (max-width:430px){.metric-grid{gap:8px}.metric-card strong{font-size:20px}.topbar h2{font-size:22px}.daily-cal-day{min-height:36px;font-size:14px}.nav-item{padding:7px 11px}}
