:root{--ink:#17221f;--muted:#6b7974;--line:#dce5e1;--green:#177a5b;--soft:#eff5f2;--red:#b33f38}*{box-sizing:border-box;letter-spacing:0}body{margin:0;color:var(--ink);background:#f3f6f4;font-family:Arial,"PingFang SC","Microsoft YaHei",sans-serif}.hidden{display:none!important}button,input,select{font:inherit}button{cursor:pointer}.login{min-height:100svh;display:grid;place-items:center;padding:20px;background:#18352d}.login form{width:min(390px,100%);display:grid;gap:15px;padding:30px;border-radius:10px;background:#fff}.brand,.kicker{color:var(--green);font-size:10px;font-weight:900}.login h1{margin:0;font-size:25px}.login p{margin:-8px 0 8px;color:var(--muted);font-size:13px}.login label,.modal label{display:grid;gap:6px;color:#53615c;font-size:11px;font-weight:800}.login input,.modal input,.modal select{min-height:42px;width:100%;padding:0 10px;border:1px solid #c8d4cf;border-radius:6px;background:#fff}.login button,.primary{min-height:42px;border:0;border-radius:7px;padding:0 15px;color:#fff;background:var(--green);font-weight:800}.login small{min-height:16px;color:var(--red)}#app{min-height:100svh}aside{width:220px;position:fixed;inset:0 auto 0 0;display:flex;flex-direction:column;padding:14px 11px;color:#dce9e4;background:#18352d}.logo{display:flex;align-items:center;gap:10px;padding:5px 6px 20px;border-bottom:1px solid #315047}.logo>b{width:34px;height:34px;display:grid;place-items:center;border:1px solid #547269;border-radius:6px;color:#78d5b2}.logo span{display:grid;gap:2px}.logo strong{font-size:12px}.logo small{color:#8da59d;font-size:7px}nav{display:grid;gap:4px;padding-top:18px}nav button,.logout{min-height:40px;border:0;border-radius:6px;padding:0 12px;text-align:left;color:#afc4bc;background:transparent;font-size:12px;font-weight:800}nav button.active,nav button:hover{color:#fff;background:#28624f}.logout{margin-top:auto}.workspace{width:calc(100% - 220px);margin-left:220px;padding:0 clamp(16px,4vw,54px) 35px}.workspace header{min-height:114px;display:flex;align-items:center;justify-content:space-between;gap:18px;border-bottom:1px solid var(--line)}header h1{margin:4px 0;font-size:32px}header p{margin:0;color:var(--muted);font-size:13px}.summary{display:grid;grid-template-columns:repeat(4,1fr);margin:24px 0 16px;border:1px solid var(--line);border-radius:9px;background:#fff;overflow:hidden}.summary div{min-height:80px;display:grid;align-content:center;gap:3px;padding:0 18px;border-right:1px solid var(--line)}.summary div:last-child{border:0}.summary strong{font-size:25px}.summary span{color:var(--muted);font-size:10px}.board{display:grid;gap:9px}.card{display:flex;justify-content:space-between;gap:12px;padding:16px;border:1px solid var(--line);border-radius:8px;background:#fff}.card-main{display:flex;min-width:0;gap:11px}.check{width:27px;height:27px;flex:0 0 27px;border:1px solid #b9cac3;border-radius:50%;color:#6f807a;background:#fff}.done .check{color:#fff;background:#42a77f}.copy{min-width:0}.meta{display:flex;flex-wrap:wrap;gap:8px;color:var(--muted);font-size:10px}.kind{padding:3px 7px;border-radius:99px;color:#49685d;background:#e8f0ed;font-weight:800}.goal .kind{color:#6b42a3;background:#ede5ff}.project .kind{color:#28648c;background:#e3f0ff}.milestone .kind{color:#926000;background:#fff1d3}.card h2{margin:7px 0 4px;font-size:15px}.card p{margin:0;color:var(--muted);font-size:11px}.card p b{color:var(--green)}.overdue{color:var(--red);font-weight:800}.actions{display:flex;align-items:flex-start;gap:3px}.actions button,.icon{border:0;border-radius:6px;padding:7px;color:#567068;background:var(--soft)}.actions .delete{color:#a56561;background:transparent}.children{display:grid;gap:5px;margin-top:10px;padding-left:8px;border-left:2px solid #d9e6e1}.children button{border:0;background:transparent;text-align:left;color:#5b6d66;font-size:11px}.children .completed{text-decoration:line-through;color:#8e9995}.empty{min-height:270px;display:grid;place-items:center;align-content:center;gap:9px;border:1px dashed #c7d5cf;border-radius:9px;background:#fff;color:var(--muted);text-align:center}.mobile-tabs{display:none}.backdrop{position:fixed;inset:0;z-index:10;display:grid;place-items:center;padding:18px;background:#142a2477}.modal{width:min(520px,100%);max-height:calc(100svh - 36px);overflow:auto;padding:22px;border-radius:10px;background:#fff}.modal-head{display:flex;justify-content:space-between}.modal h2{margin:4px 0 7px}.modal label{margin-top:12px}.grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}.submit{width:100%;margin-top:18px}@media(max-width:700px){aside{display:none}.workspace{width:100%;margin:0;padding:0 12px 28px}.workspace header{min-height:auto;align-items:flex-start;flex-direction:column;padding:22px 4px 16px}.workspace header .primary{width:100%}header h1{font-size:27px}.summary{grid-template-columns:1fr 1fr;margin-top:15px}.summary div{min-height:68px;padding:0 13px}.summary div:nth-child(2){border-right:0}.summary div:nth-child(-n+2){border-bottom:1px solid var(--line)}.mobile-tabs{display:grid;grid-template-columns:repeat(3,1fr);gap:4px;margin-bottom:12px;padding:4px;border-radius:8px;background:#e5ece9}.mobile-tabs button{min-height:34px;border:0;border-radius:5px;color:var(--muted);background:transparent;font-size:11px;font-weight:800}.mobile-tabs .active{color:var(--ink);background:#fff}.card{padding:13px 11px}.actions{flex-direction:column}.actions button:first-child{font-size:0}.grid{grid-template-columns:1fr}.modal{padding:18px}}
