:root{--bg:#f6f2e8;--panel:#fffdf8eb;--soft:#efe7d9;--border:#4a544824;--text:#5c625b;--text-h:#1f241f;--ink:#23352f;--shadow:0 18px 44px #3e41301f;--sans:"SF Pro Display", "PingFang SC", "Hiragino Sans GB", "Noto Sans SC", sans-serif;font:16px/1.5 var(--sans);color:var(--text);font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background:radial-gradient(circle at top,#dfceac61,#0000 28%),linear-gradient(#fbf8f1,#f3ede0)}*{box-sizing:border-box}html,body,#root{min-height:100svh;margin:0}body{min-width:320px}#root{width:100%}button,input{font:inherit}h1,h2,h3,p{margin:0}h1,h2,h3{color:var(--text-h)}h1{max-width:12ch;margin:10px 0 14px;font-size:clamp(2rem,4vw,3.9rem);line-height:1.05}h2{font-size:1.5rem}a{color:inherit}.app-shell{flex-direction:column;gap:24px;padding:24px;display:flex}.hero-panel{color:#f5fbf7;box-shadow:var(--shadow);background:radial-gradient(circle at 0 0,#ffffffe6,#0000 36%),linear-gradient(135deg,#1f4d43,#2d7a67 55%,#a7d7b5);border-radius:28px;grid-template-columns:1.3fr 1fr;gap:20px;padding:28px;display:grid}.eyebrow,.panel-label,.project-client,.module-owner,.detail-summary-card span,.module-content span{text-transform:uppercase;letter-spacing:.14em;margin:0;font-size:12px;font-weight:700}.hero-copy,.detail-meta{color:#f5fbf7d1}.wecom-subtle{color:var(--text);margin-top:10px;font-size:13px}.summary-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;display:grid}.hero-meta{flex-wrap:wrap;gap:10px;margin-top:18px;display:flex}.hero-meta span{color:#f5fbf7;background:#ffffff29;border-radius:999px;align-items:center;padding:8px 12px;font-size:13px;display:inline-flex}.summary-card,.detail-summary-card,.module-card,.project-list-panel,.detail-panel{background:var(--panel);border:1px solid var(--border)}.summary-card{color:var(--text-h);border-radius:20px;flex-direction:column;gap:6px;padding:18px;display:flex}.summary-card.accent{background:#fffaedeb}.summary-card strong{font-size:36px;line-height:1}.summary-card small{color:var(--text)}.workspace{grid-template-columns:380px minmax(0,1fr);align-items:start;gap:20px;display:grid}.workspace.list-only{grid-template-columns:1fr}.full-width-panel{width:100%}.project-list-panel,.detail-panel{box-shadow:var(--shadow);border-radius:24px;padding:20px}.panel-header,.project-card-top,.module-card-top,.detail-header,.header-actions,.progress-row{justify-content:space-between;align-items:center;display:flex}.card-action-row{align-items:center;gap:8px;display:flex}.filters{flex-direction:column;gap:12px;margin:18px 0 16px;display:flex}.search-input,.ghost-button,.tab,.project-card{border:1px solid var(--border);border-radius:16px}.search-input{box-sizing:border-box;width:100%;font:inherit;color:var(--text-h);background:var(--soft);padding:14px 16px}.status-tabs{flex-wrap:wrap;gap:8px;display:flex}.tab,.ghost-button{color:var(--text-h);cursor:pointer;font:inherit;background:0 0;padding:10px 14px}.tab.active{background:var(--ink);color:#fff9ef;border-color:var(--ink)}.ghost-button{background:#fff}.compact-action{border-radius:12px;padding:7px 10px;font-size:12px}.module-strip-labels{grid-template-columns:repeat(7,1fr);gap:6px;margin-bottom:10px;display:grid}.module-strip-labels span{background:var(--soft);height:24px;color:var(--text);border-radius:999px;place-items:center;font-size:12px;display:grid}.project-list{flex-direction:column;gap:12px;display:flex}.compact-empty{padding:12px}.project-card{text-align:left;cursor:pointer;background:#fff;padding:16px}.project-card.active{border-color:var(--ink);box-shadow:0 12px 28px #23352f1f}.project-card h3,.module-card h3{color:var(--text-h);margin:4px 0 0}.project-meta{color:var(--text);margin:8px 0 12px;font-size:14px}.project-tags{flex-wrap:wrap;gap:8px;margin:0 0 12px;display:flex}.platform-chip-row,.project-mode-summary,.platform-mode-tags,.platform-toggle-row{flex-wrap:wrap;gap:8px;display:flex}.platform-chip,.project-mode-summary span,.soft-tag{background:var(--soft);color:var(--text);border-radius:999px;align-items:center;padding:7px 10px;font-size:12px;display:inline-flex}.progress-row{gap:12px}.progress-row strong{color:var(--text-h);font-size:14px}.progress-track{background:var(--soft);border-radius:999px;flex:1;height:10px;overflow:hidden}.progress-fill{border-radius:inherit;background:linear-gradient(90deg,#2e6f61,#dca65d);height:100%}.mini-modules{grid-template-columns:repeat(7,1fr);gap:6px;margin-top:14px;display:grid}.mini-module{color:#fff;border-radius:10px;place-items:center;height:28px;font-size:12px;font-weight:700;display:grid}.detail-header{align-items:start}.detail-page-shell{max-width:1440px;margin:0 auto}.detail-page-actions{justify-content:space-between;align-items:center;gap:12px;display:flex}.detail-page-panel{width:100%}.readonly-shell{max-width:1240px}.merchant-shell{gap:18px}.merchant-hero{color:#2c2418;box-shadow:var(--shadow);background:radial-gradient(circle at 100% 0,#ffffffc2,#0000 32%),linear-gradient(135deg,#f8f0de,#f4e6c7 55%,#ead7aa);border-radius:28px;grid-template-columns:1.3fr 1fr;gap:16px;padding:28px;display:grid}.merchant-hero-copy .hero-copy{color:#2c2418b8}.merchant-hero-metrics{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;display:grid}.merchant-stat{background:#fffdf7c2;border:1px solid #5a461f1f;border-radius:20px;padding:16px}.merchant-stat span{color:#6e5b3d;letter-spacing:.08em;text-transform:uppercase;font-size:12px;font-weight:700;display:block}.merchant-stat strong{color:#2c2418;margin-top:10px;font-size:22px;line-height:1.35;display:block}.compact-hero{grid-template-columns:1fr}.header-actions{gap:10px}.status-subtabs{border-top:1px dashed var(--border);padding-top:2px}.detail-summary{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;margin:18px 0;display:grid}.detail-kpis{grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;margin-bottom:14px;display:grid}.detail-overview-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;margin-bottom:18px;display:grid}.kpi-card,.metric-card{border:1px solid var(--border);background:#fff;border-radius:18px;padding:16px}.kpi-card span,.metric-card span{color:var(--text);letter-spacing:.08em;text-transform:uppercase;font-size:12px;font-weight:700;display:block}.kpi-card strong,.metric-card strong{color:var(--text-h);margin-top:8px;font-size:20px;line-height:1.4;display:block}.kpi-card small{color:var(--text);margin-top:6px;display:block}.metrics-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;margin-bottom:18px;display:grid}.project-level-grid{margin-bottom:18px}.platform-section-header h3{color:var(--text-h);margin:4px 0 0}.platform-track-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;margin-top:14px;display:grid}.platform-panel{border:1px solid var(--border);background:#ffffffdb;border-radius:20px;flex-direction:column;gap:14px;padding:18px;display:flex}.platform-panel-top,.ads-panel-head,.platform-editor-head{justify-content:space-between;align-items:center;gap:12px;display:flex}.platform-panel h3,.task-editor h4{color:var(--text-h);margin:4px 0 0}.platform-metrics,.platform-task-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;display:grid}.metric-card.compact strong{font-size:26px}.nested-card{padding:14px}.ads-panel{border-top:1px dashed var(--border);padding-top:6px}.task-disabled-state{background:var(--soft);color:var(--text);border-radius:16px;padding:14px 16px;font-size:14px}.detail-summary-card,.module-card{border-radius:20px;padding:18px}.merchant-detail-panel{background:linear-gradient(#fffaf1f5,#fffffffa)}.detail-summary-card p,.module-content p{margin:8px 0 0}.overview-card-top h3{color:var(--text-h);margin:4px 0 0}.overview-progress-list{gap:12px;margin-top:14px;display:grid}.overview-progress-row{border:1px solid var(--border);background:#ffffffb8;border-radius:16px;padding:12px 14px}.overview-progress-meta{justify-content:space-between;align-items:center;gap:10px;margin-bottom:10px;display:flex}.modules-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;display:grid}.module-content{gap:16px;margin-top:14px;display:grid}.badge{border-radius:999px;justify-content:center;align-items:center;padding:8px 12px;font-size:12px;font-weight:700;display:inline-flex}.badge.subtle{padding:7px 10px}.healthy{color:#1f6c50;background:#3b8c6c29}.risk{color:#8f5b08;background:#d69c3d2e}.delay{color:#9f3124;background:#ba4d4029}.progress{color:#1f5b91;background:#28578a29}.idle{color:#58616a;background:#6f787f24}.empty-state,.empty-detail{text-align:center;color:var(--text);padding:20px}.integration-panel{background:var(--panel);border:1px solid var(--border);box-shadow:var(--shadow);border-radius:24px;padding:20px}.integration-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin-top:14px;display:grid}.wecom-status-panel{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin-top:12px;display:grid}.integration-card{border:1px solid var(--border);background:#fff;border-radius:18px;padding:16px}.integration-card-top{justify-content:space-between;align-items:center;gap:8px;margin-bottom:10px;display:flex}.integration-card p{color:var(--text-h);word-break:break-all}.wecom-card{border:1px solid var(--border);background:#fff;border-radius:18px;padding:16px}.wecom-actions{margin-top:12px}.primary-link{background:var(--ink);color:#fff9ef;border-radius:12px;justify-content:center;align-items:center;min-height:40px;padding:0 14px;text-decoration:none;display:inline-flex}.buttonish{cursor:pointer;font:inherit;border:none}.editor-overlay{z-index:10;background:#1216128f;padding:20px;position:fixed;inset:0;overflow:auto}.editor-modal{max-width:1080px;box-shadow:var(--shadow);background:#fffdf8;border-radius:24px;margin:0 auto;padding:20px}.scoped-editor-modal{max-width:860px}.editor-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;display:grid}.field{flex-direction:column;gap:6px;display:flex}.field span{color:var(--text-h);font-size:13px;font-weight:700}.field.full{grid-column:1/-1}.field input,.field select,.field textarea{box-sizing:border-box;border:1px solid var(--border);width:100%;color:var(--text-h);font:inherit;background:#fff;border-radius:14px;padding:12px 14px}.owner-picker-row{align-items:stretch;gap:10px;display:flex}.owner-picker-row input{flex:1}.owner-picker-button{white-space:nowrap;flex:none}.platform-pills{flex-wrap:wrap;gap:8px;display:flex}.editor-modules,.editor-platform-tracks{gap:14px;margin-top:20px;display:grid}.editor-module-card{border:1px solid var(--border);background:#fff;border-radius:18px;padding:16px}.editor-module-card h3{margin:0 0 12px}.switch-field{color:var(--text-h);align-items:center;gap:8px;font-size:14px;display:inline-flex}.task-editor{border-top:1px dashed var(--border);margin-top:14px;padding-top:14px}.editor-actions{justify-content:flex-end;gap:10px;margin-top:18px;display:flex}.ready,.pending{border-radius:999px;padding:7px 10px;font-size:12px;line-height:1}.ready{color:#1f6c50;background:#3b8c6c29}.pending{color:#8f5b08;background:#d69c3d2e}@media (width<=1100px){.workspace,.hero-panel,.merchant-hero,.detail-summary,.detail-kpis,.detail-overview-grid,.modules-grid,.metrics-grid,.platform-track-grid,.platform-task-grid,.platform-metrics,.integration-grid,.wecom-status-panel,.editor-grid{grid-template-columns:1fr}}@media (width<=720px){.app-shell{padding:14px}.hero-panel,.project-list-panel,.detail-panel{border-radius:20px;padding:16px}.panel-header,.detail-header,.header-actions,.project-card-top,.module-card-top,.platform-panel-top,.ads-panel-head,.platform-editor-head{flex-direction:column;align-items:flex-start;gap:10px}.summary-grid{grid-template-columns:1fr 1fr}.detail-page-actions{flex-direction:column;align-items:flex-start}.owner-picker-row{flex-direction:column}.summary-card strong{font-size:28px}}
