:root{--ink:#182724;--muted:#71817a;--line:#dfe5df;--paper:#f5f6f2;--white:#fff;--forest:#143f34;--forest2:#205647;--mint:#e3efe8;--orange:#df8455;--shadow:0 12px 36px rgba(28,54,43,.055);font-family:"Noto Sans SC","Microsoft YaHei",Arial,sans-serif;color:var(--ink);background:var(--paper)}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;min-width:320px}a{color:inherit;text-decoration:none}button,input,textarea,select{font:inherit}button{cursor:pointer}input,textarea,select{outline:none}input:focus,textarea:focus,select:focus,button:focus-visible,a:focus-visible,summary:focus-visible{outline:3px solid rgba(223,132,85,.5);outline-offset:2px}h1,h2,h3,p{margin-top:0}h1{font-size:clamp(32px,3vw,46px);letter-spacing:-.04em;line-height:1.17;margin:10px 0 11px;font-weight:750}h2{font-size:18px;letter-spacing:-.02em;margin:0}h3{font-size:17px}.muted{color:var(--muted)}.eyebrow{font-size:11px;font-weight:800;letter-spacing:.19em;color:#648075}.title-dot{color:var(--orange)}.shell{display:flex;min-height:100vh}.sidebar{width:238px;background:var(--forest);color:#dce8e0;display:flex;flex-direction:column;padding:30px 17px 20px;flex-shrink:0;min-height:100vh}.brand{display:flex;align-items:center;gap:12px;padding:0 12px 42px;color:white}.brand-mark{display:grid;place-items:center;width:34px;height:34px;background:#dfeee4;color:var(--forest);border-radius:9px;font-size:18px;font-weight:800}.brand strong{display:block;font-size:19px;letter-spacing:.09em}.brand small{display:block;font-size:9px;letter-spacing:.16em;color:#9eb9a9;margin-top:4px}.side-label{font-size:10px;font-weight:800;letter-spacing:.18em;color:#78a28d;padding:0 15px 12px}.admin-label{margin-top:30px}.sidebar nav{display:grid;gap:5px}.nav-link{display:flex;align-items:center;gap:13px;padding:12px 15px;border-radius:9px;color:#bbd0c3;font-size:13px;font-weight:600;transition:.2s}.nav-link:hover,.nav-link.active{color:white;background:#285849}.nav-link.active{box-shadow:inset 3px 0 var(--orange)}.nav-icon{font-size:18px;min-width:20px;text-align:center}.side-bottom{margin-top:auto;border-top:1px solid #376152;padding:20px 8px 0;display:flex;align-items:center;gap:9px}.avatar{display:grid;place-items:center;width:38px;height:38px;background:#dbece1;color:var(--forest);border-radius:50%;font-size:13px;font-weight:800;flex:none;overflow:hidden;white-space:nowrap}.avatar.small{width:30px;height:30px;font-size:13px}.identity{min-width:0;flex:1}.identity strong,.identity small{display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.identity strong{font-size:12px;color:white}.identity small{font-size:10px;color:#9eb9a9;margin-top:3px}.account-link{font-size:19px;color:#aac9b7}.workspace{min-width:0;flex:1}.topbar{height:71px;background:#fff;border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;padding:0 42px}.crumb{font-size:12px;font-weight:700;color:#586f63}.crumb span{color:#abb8ad;margin:0 10px}.top-actions{display:flex;align-items:center;gap:10px;font-size:11px;color:#668374}.top-actions form{margin-left:22px}.live-dot{width:7px;height:7px;background:#55a575;border-radius:50%;box-shadow:0 0 0 4px #e8f4ea}.text-button{border:0;background:none;color:#607d6d;padding:5px;font-size:12px}.text-button:hover,.reset-link:hover,.edit-link:hover{color:var(--orange)}.menu-button{display:none;background:none;border:0;font-size:19px;color:var(--forest)}.main{max-width:1600px;margin:auto;padding:40px 42px 80px}.page-heading{display:flex;align-items:end;justify-content:space-between;gap:25px;margin-bottom:34px}.page-heading p,.project-hero p{font-size:13px;color:var(--muted);margin-bottom:0}.button{border:1px solid transparent;display:inline-flex;align-items:center;justify-content:center;gap:20px;min-height:39px;padding:9px 16px;border-radius:7px;font-size:12px;font-weight:750;white-space:nowrap;transition:.2s}.button.primary{background:var(--forest);color:white}.button.primary:hover{background:var(--forest2);transform:translateY(-1px)}.button.subtle{background:white;border-color:var(--line);color:var(--forest)}.button.subtle:hover{border-color:#a5bcb0;background:#f9fbf9}.button.full{width:100%}.dashboard-grid{display:grid;grid-template-columns:minmax(0,1.6fr) minmax(295px,.75fr);gap:22px}.main-column,.feed-column,.wide-panel,.card,.form-panel{background:white;border:1px solid var(--line);border-radius:11px;box-shadow:var(--shadow)}.main-column,.feed-column,.wide-panel,.card{padding:25px}.section-heading{display:flex;align-items:start;justify-content:space-between;gap:20px;margin-bottom:22px}.section-heading p{color:#8a9991;font-size:11px;margin:7px 0 0}.count-pill{font-size:10px;color:#698274;background:#eef3ee;border:1px solid #e2e9e2;border-radius:99px;padding:5px 9px;white-space:nowrap}.filters{display:flex;align-items:end;gap:10px;padding:15px;background:#f8faf7;border:1px solid #edf0ea;border-radius:8px;margin-bottom:15px}.filters label{flex:1;min-width:0}.filters label,.form-panel label,.card form label,.login-card label{display:block;font-size:11px;font-weight:700;color:#66796d}.filters select{margin-top:7px}.filters .button{height:37px}.reset-link{font-size:11px;color:#74887a;padding:11px 3px}.project-list{display:grid}.project-row{display:flex;align-items:center;gap:15px;padding:17px 4px;border-bottom:1px solid #edf0eb;min-width:0;transition:background .2s}.project-row:first-child{padding-top:4px}.project-row:last-child{border-bottom:0;padding-bottom:4px}.project-row:hover{background:#fbfdfb}.project-symbol{width:40px;height:40px;border-radius:8px;background:#e6efe9;color:var(--forest);display:grid;place-items:center;font-weight:800;font-size:18px;flex:none}.project-summary{min-width:0;flex:1}.project-name{font-size:13px;font-weight:800;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.project-meta{font-size:10px;color:#8a9990;margin-top:6px}.project-meta span{margin:0 3px}.status{display:inline-flex;align-items:center;gap:6px;padding:6px 10px;border-radius:99px;font-size:10px;font-weight:750;white-space:nowrap}.status:before{content:"";width:6px;height:6px;background:currentColor;border-radius:50%}.status-not_started{background:#eef1ed;color:#77857c}.status-in_progress{background:#e4f1e8;color:#3b8662}.status-blocked{background:#f9e9df;color:#b46b43}.status-done{background:#e7ecef;color:#557183}.status.large{font-size:12px;padding:9px 13px}.row-arrow{font-size:20px;color:#aabdb0;margin-left:3px}.feed-signal{font-size:10px;color:#529368;border:1px solid #d8eadb;border-radius:4px;padding:5px 7px;letter-spacing:.15em;font-weight:800}.feed-list{display:grid}.feed-item{display:flex;gap:13px;padding:4px 0 18px}.feed-item:not(:last-child){border-bottom:1px solid #edf0eb;margin-bottom:18px}.feed-rail{flex:none}.feed-avatar{width:26px;height:26px;background:#e7efe9;color:#4b705b;border-radius:50%;display:grid;place-items:center;font-size:11px;font-weight:800}.feed-line{font-size:11px;color:#64776a;line-height:1.5}.feed-line strong{color:#273d30}.feed-line a{font-weight:800;color:#275c45}.feed-item time,.timeline-item time{display:block;color:#a0aca3;font-size:10px;margin-top:5px}.feed-item p{font-size:11px;line-height:1.65;margin:9px 0 0;color:#3c5042;white-space:pre-wrap;overflow-wrap:anywhere}.blocker-mini{font-size:10px;line-height:1.5;color:#aa6b48;background:#fdf3ed;padding:7px 9px;border-radius:5px;margin-top:8px;white-space:pre-wrap;overflow-wrap:anywhere}.feed-empty{color:#8b9c90;font-size:12px;line-height:1.7}.empty-state{text-align:center;padding:55px 20px}.empty-state.compact{padding:25px 10px}.empty-glyph{font-size:38px;color:#a3baaa;margin-bottom:13px}.empty-state h3{margin:0 0 8px}.empty-state p{font-size:12px;color:#87988c}.empty-state .button{margin-top:10px}.wide-panel{max-width:980px}.form-panel{max-width:650px;padding:30px}.form-panel form,.card form,.login-card{display:grid;gap:19px}.form-panel label,.card form label,.login-card label{font-size:12px}.required{color:var(--orange)}.optional{color:#a3aea5;font-size:10px;font-weight:500;margin-left:4px}input,textarea,select{display:block;width:100%;background:white;border:1px solid #dbe3da;border-radius:6px;padding:10px 11px;color:var(--ink);font-size:12px;line-height:1.5}textarea{resize:vertical;min-height:86px}label input,label textarea,label select{margin-top:8px}input::placeholder,textarea::placeholder{color:#aebbb0}.form-actions{display:flex;justify-content:flex-end;gap:10px;border-top:1px solid #edf0eb;padding-top:19px;margin-top:2px}.backline{margin-bottom:20px;font-size:12px;font-weight:700;color:#668577}.backline a:hover{color:var(--orange)}.project-hero{display:flex;align-items:start;justify-content:space-between;gap:24px;background:white;border:1px solid var(--line);border-radius:11px;padding:29px 30px;margin-bottom:22px;box-shadow:var(--shadow)}.project-hero h1{max-width:700px;overflow-wrap:anywhere}.project-hero p{max-width:720px;line-height:1.8;white-space:pre-wrap}.hero-meta{display:flex;gap:9px;align-items:center;flex-wrap:wrap;color:#8c9a91;font-size:10px;margin-top:23px}.hero-meta strong{color:#415e4a}.project-grid{display:grid;grid-template-columns:minmax(0,1.65fr) minmax(275px,.65fr);gap:22px;align-items:start}.project-main,.project-side{display:grid;gap:22px}.timeline-item{position:relative;border-left:2px solid #deebe0;margin-left:15px;padding:0 0 28px 28px}.timeline-item:last-child{padding-bottom:0}.timeline-item:before{content:"";position:absolute;left:-6px;top:13px;width:10px;height:10px;border-radius:50%;background:#80ac8c;border:2px solid white}.timeline-top{display:flex;align-items:center;gap:9px}.timeline-top strong{font-size:12px}.timeline-top time{margin-top:2px}.edit-link{font-size:11px;color:#74937c;margin-left:auto}.update-fields{display:grid;gap:15px;margin-top:17px}.update-fields>div{background:#f8faf7;border-radius:7px;padding:12px 14px}.field-tag{font-size:10px;font-weight:800;letter-spacing:.04em;color:#518166}.field-tag.next{color:#537889}.field-tag.blocked{color:#ac6e4a}.update-fields p{font-size:12px;line-height:1.75;margin:7px 0 0;white-space:pre-wrap;overflow-wrap:anywhere}.member-list{display:grid;gap:15px}.member{display:flex;align-items:center;gap:9px}.member strong,.member small,.account-info strong,.account-info small{display:block}.member strong{font-size:11px}.member small{font-size:10px;color:#96a498;margin-top:3px}.add-member{margin-top:22px;padding-top:20px;border-top:1px solid #edf0eb}.account-info{display:flex;align-items:center;gap:10px;padding-bottom:21px;border-bottom:1px solid var(--line);margin-bottom:22px}.account-info strong{font-size:13px}.account-info small{color:#90a193;font-size:11px;margin-top:5px}.notice,.error{padding:11px 14px;margin-bottom:20px;border-radius:6px;font-size:12px}.notice{color:#37674a;background:#eaf4eb;border:1px solid #d5e7d7}.error{color:#9d473a;background:#fff0ec;border:1px solid #f2d9d0}.admin-grid{display:grid;grid-template-columns:minmax(0,1.6fr) minmax(280px,.75fr);gap:22px;align-items:start}.user-list{display:grid}.user-row{display:flex;align-items:center;gap:10px;padding:15px 0;border-top:1px solid #edf0eb;flex-wrap:wrap}.user-main{flex:1;min-width:120px}.user-main strong,.user-main small{display:block}.user-main strong{font-size:12px}.user-main small{font-size:10px;color:#91a092;margin-top:4px}.reset-details{width:100%;padding-left:40px}.reset-details summary{font-size:11px;color:#6d8b78;cursor:pointer}.reset-details form{display:flex;gap:8px;margin-top:9px}.reset-details input{flex:1;min-width:0}.reset-details .button{flex:none}.refresh-toast{position:fixed;right:25px;bottom:22px;padding:12px 16px;background:var(--forest);color:white;border-radius:8px;box-shadow:0 15px 35px #19382c44;font-size:12px;z-index:10}.refresh-toast[hidden]{display:none}.refresh-toast button{color:#bde0c4;border:0;background:none;font-size:12px;font-weight:800;margin-left:12px}.login-screen{min-height:100vh;display:grid;grid-template-columns:1fr 1fr}.login-art{background:var(--forest);color:white;padding:43px 52px;display:flex;flex-direction:column;min-height:680px}.login-brand{display:flex;align-items:center;gap:13px;font-size:19px;font-weight:800;letter-spacing:.1em}.login-copy{margin:auto 0;max-width:600px}.eyebrow.light{color:#98beaa}.login-copy h1{font-size:clamp(45px,5vw,75px);line-height:1.15;margin:30px 0}.login-copy p{color:#acc8b7;font-size:14px;letter-spacing:.04em}.login-art-footer{display:flex;justify-content:space-between;border-top:1px solid #527763;padding-top:18px;color:#a9c5b2;font-size:11px;letter-spacing:.1em}.login-form-side{display:grid;place-items:center;padding:35px;background:#f7f8f4}.login-card{width:min(390px,100%);background:white;padding:38px;border:1px solid var(--line);border-radius:12px;box-shadow:var(--shadow)}.login-card h2{font-size:29px;margin:0}.login-card .muted{font-size:12px;margin:0 0 14px}.login-card .button{margin-top:5px;justify-content:space-between}.login-help{text-align:center;color:#9aa99e;font-size:11px;margin:1px 0 0}@media(max-width:1100px){.sidebar{width:205px}.main{padding:32px 25px}.topbar{padding:0 25px}.dashboard-grid,.project-grid,.admin-grid{grid-template-columns:1fr}.feed-column{max-width:none}.project-side{grid-template-columns:1fr 1fr}}@media(max-width:740px){.sidebar{position:fixed;z-index:20;left:0;top:0;bottom:0;transform:translateX(-105%);transition:transform .2s;width:245px;box-shadow:18px 0 35px #17291e25}.sidebar.open{transform:none}.topbar{height:60px;padding:0 18px;gap:12px}.menu-button{display:block}.crumb{flex:1}.live-label{display:none}.top-actions form{margin-left:4px}.main{padding:26px 16px 55px}.page-heading{align-items:start;flex-direction:column;gap:15px;margin-bottom:24px}.page-heading h1{font-size:34px}.main-column,.feed-column,.wide-panel,.card{padding:20px}.filters{flex-wrap:wrap}.filters label{flex:1 1 120px}.filters .button{flex:1}.project-row{gap:9px}.project-symbol{width:34px;height:34px;font-size:15px}.project-meta{line-height:1.5}.project-row .status{font-size:0;padding:8px}.project-row .status:before{width:7px;height:7px}.row-arrow{display:none}.project-hero{padding:22px;flex-direction:column}.project-side{grid-template-columns:1fr}.form-panel{padding:22px}.admin-grid{grid-template-columns:1fr}.login-screen{grid-template-columns:1fr}.login-art{min-height:260px;padding:27px}.login-copy{margin:35px 0 20px}.login-copy h1{font-size:36px;margin:14px 0}.login-copy p{font-size:11px}.login-art-footer{display:none}.login-form-side{padding:30px 16px}.login-card{padding:26px}.reset-details{padding-left:0}}
