: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}.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}.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}.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}.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}.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}.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}.header-actions{gap:10px}.detail-summary{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;margin:18px 0;display:grid}.detail-summary-card,.module-card{border-radius:20px;padding:18px}.detail-summary-card p,.module-content p{margin:8px 0 0}.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}.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,.detail-summary,.modules-grid,.integration-grid,.wecom-status-panel{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{flex-direction:column;align-items:flex-start;gap:10px}.summary-grid{grid-template-columns:1fr 1fr}.summary-card strong{font-size:28px}}
