:root{--paper:#f7f5f0;--ink:#17212b;--muted:#697783;--line:#d9dfe2;--amber:#e5a437;--amber-pale:#fff1d5;--teal:#208c83;--navy:#182630}*{box-sizing:border-box}body,html{min-height:100%}body{margin:0;background:var(--paper);color:var(--ink);font-family:PingFang SC,Noto Sans SC,Arial,sans-serif}button{border:0;cursor:pointer;font:inherit}.login-button,button{border-radius:6px;background:var(--amber);color:var(--ink);font-weight:700;padding:12px 18px}.login-button{display:inline-block;text-decoration:none}.landing-shell{max-width:760px;margin:16vh auto;padding:32px}.eyebrow{color:#a56700;font-size:12px;font-weight:700;letter-spacing:.14em}.landing-shell h1{font-size:clamp(32px,5vw,52px);letter-spacing:-1.5px;margin:12px 0}.landing-copy{color:var(--muted);font-size:18px;line-height:1.7;margin:0 0 28px}.app-shell{min-height:100vh;background:var(--paper)}.topbar{align-items:center;background:#fff;border-bottom:1px solid var(--line);display:flex;height:64px;padding:0 28px}.brand{color:var(--ink);font-weight:700;text-decoration:none}.brand i{background:var(--amber);border-radius:50%;display:inline-block;height:10px;margin-right:8px;width:10px}.project-name{color:var(--muted);font-size:13px;margin-left:10px}.topbar-right{align-items:center;display:flex;gap:14px;margin-left:auto}.role-badge{background:var(--amber-pale);border-radius:14px;color:#8b5600;font-size:12px;padding:5px 9px}.small-action{color:var(--ink);font-size:13px;text-decoration:none}.step-sidebar{background:var(--navy);bottom:0;color:#d8e0e2;left:0;padding:22px 16px;position:fixed;top:64px;width:230px}.sidebar-label{color:#9bacb3;font-size:11px;letter-spacing:.12em;margin:0 0 15px}.step-link{align-items:center;border-radius:5px;color:#d8e0e2;display:flex;font-size:12px;gap:9px;margin:2px 0;padding:8px;text-decoration:none}.step-link span{border:1px solid #81929a;border-radius:50%;display:grid;font-size:9px;height:21px;place-items:center;width:21px}.step-complete span{background:var(--teal);border-color:var(--teal)}.step-in_progress{background:#304753;color:#fff}.step-in_progress span{background:var(--amber);border-color:var(--amber);color:var(--ink)}.workspace{margin-left:230px;padding:38px}.command-header h1{font-size:31px;letter-spacing:-.8px;margin:8px 0}.command-header>p:last-child{color:var(--muted);font-size:14px}.command-grid{display:grid;grid-gap:22px;gap:22px;grid-template-columns:1.45fr .85fr;margin-top:27px}.surface{background:#fff;border:1px solid var(--line);padding:24px}.surface h2{font-size:16px;margin:0 0 14px}.surface p{color:var(--muted);line-height:1.7}.section-title{margin-top:30px!important}.metric-grid{display:grid;grid-gap:10px;gap:10px;grid-template-columns:repeat(3,1fr)}.metric{background:#f4f6f5;min-height:86px;padding:12px}.metric span{color:var(--muted);display:block;font-size:11px}.metric strong{display:block;font-size:30px;margin-top:9px}.task-row{border-bottom:1px solid #edf0f0;padding:13px 0}.task-row span{display:block;font-size:13px}.task-row small{color:var(--muted);display:block;font-size:11px;margin-top:5px}.empty-copy{font-size:13px}.quick-links{display:grid;grid-gap:10px;gap:10px;margin-top:22px}.quick-links a{color:var(--blue);font-size:13px;text-decoration:none}.step-section{margin-top:22px}.field-grid{display:grid;grid-gap:12px;gap:12px;grid-template-columns:repeat(2,minmax(0,1fr))}.field{color:var(--muted);display:grid;font-size:12px;grid-gap:6px;gap:6px}.field.wide{grid-column:span 2}.field input,.field select,.field textarea{border:1px solid var(--line);border-radius:4px;color:var(--ink);font:inherit;min-height:38px;padding:8px}.field textarea{min-height:88px;resize:vertical}.list-row{border-top:1px solid var(--line);margin-top:16px;padding-top:16px}.rhythm-steps{display:flex;gap:8px;flex-wrap:wrap}.rhythm-step{border:1px solid var(--line);color:var(--ink);font-size:12px;padding:9px;text-decoration:none}.rhythm-step span{font-weight:800;margin-right:6px}.timing-已逾期{color:#b84b42}.timing-临近截止{color:#aa6b10}.timing-已排期{color:#377b62}