*{box-sizing:border-box}body{color:#172033;background:#f5f7fb;margin:0;font-family:Inter,system-ui,-apple-system,Segoe UI,sans-serif}button,input,select,textarea{font:inherit}button{cursor:pointer;color:#172033;background:#fff;border:1px solid #d8dee9;border-radius:10px;padding:9px 12px}button:hover{background:#f0f3f8}.primary{color:#fff;background:#172033;border-color:#172033;align-items:center;gap:7px;display:inline-flex}.danger{color:#b42318;background:#fff0f0;border-color:#fecaca}.link{color:#465fcf;background:0 0;border:0}.app{min-height:100vh;display:flex}aside{color:#dbe3ef;background:#111827;width:220px;padding:18px 12px;position:fixed;inset:0 auto 0 0}.logo{color:#fff;padding:8px 12px 24px;font-size:22px;font-weight:800}.logo span{color:#93c5fd}.nav{color:#aeb9c9;text-align:left;background:0 0;border:0;align-items:center;gap:10px;width:100%;margin:3px 0;display:flex}.nav.active,.nav:hover{color:#fff;background:#273244}.logout{width:calc(100% - 24px);position:absolute;bottom:18px;left:12px}main{width:calc(100% - 220px);max-width:1500px;margin-left:220px;padding:24px 30px}header{justify-content:space-between;align-items:center;margin-bottom:22px;display:flex}header h2{margin:0 0 3px}.toast{background:#e9f7ef;border:1px solid #b9e4c9;border-radius:10px;padding:8px 12px;font-size:13px}.hero{color:#fff;background:#172033;border-radius:18px;justify-content:space-between;align-items:end;margin-bottom:18px;padding:26px;display:flex}.hero h1{margin:8px 0 0;font-size:48px}.eyebrow{color:#b9c8dd;font-size:13px}.heroDate{color:#cbd5e1;font-size:14px}.grid4{grid-template-columns:repeat(4,1fr);gap:14px;margin-bottom:18px;display:grid}.stat,.card{background:#fff;border:1px solid #e4e8ef;border-radius:14px;padding:18px}.stat small,.stat span{color:#718096;font-size:12px;display:block}.stat strong{margin:6px 0;font-size:28px;display:block}.two{grid-template-columns:1fr 1fr;gap:16px;display:grid}.phase{border-bottom:1px solid #edf0f4;grid-template-columns:110px 1fr;gap:4px;padding:12px 0;display:grid}.phase em{color:#718096;grid-column:2;font-size:12px}.quick{grid-template-columns:1fr 1fr;gap:10px;display:grid}.toolbar{flex-wrap:wrap;align-items:center;gap:9px;margin-bottom:14px;display:flex}.toolbar input{min-width:230px}.calendarHead{justify-content:center;align-items:center;gap:18px;margin:12px 0;display:flex}.cal{grid-template-columns:repeat(7,1fr);gap:5px;display:grid}.dow{text-align:center;color:#718096;padding:7px;font-size:12px;font-weight:700}.cell{background:#fff;border:1px solid #e4e8ef;border-radius:10px;min-height:112px;padding:7px;overflow:hidden}.cell.today{outline:2px solid #93c5fd}.cell.empty{background:0 0;border:0}.cell>b{font-size:12px}.task{white-space:nowrap;text-overflow:ellipsis;cursor:pointer;border-radius:6px;margin-top:4px;padding:4px 5px;font-size:11px;overflow:hidden}.task.p{background:#e9efff}.task.c{background:#fff4df}.task.b{background:#e7f7ee}.chapterList{flex-direction:column;gap:7px;display:flex}.chapter{background:#fff;border:1px solid #e4e8ef;border-radius:12px;align-items:center;gap:10px;padding:12px;display:flex}.dot{border-radius:50%;width:9px;height:9px}.dot.p{background:#5b76d6}.dot.c{background:#d49335}.dot.b{background:#45a56b}.grow{flex:1;min-width:150px}.grow b,.grow small{display:block}.grow small{color:#718096;margin-top:3px;font-size:11px}.bar{background:#edf0f4;border-radius:20px;height:6px;margin-top:7px;overflow:hidden}.bar i{background:#6b7cff;height:100%;display:block}.rev{width:58px}.formgrid{grid-template-columns:repeat(2,1fr);gap:12px;display:grid}.formgrid input,.formgrid select,.formgrid textarea{background:#fff;border:1px solid #d8dee9;border-radius:9px;width:100%;padding:10px}.formgrid textarea{resize:vertical;min-height:90px}.formgrid label{color:#566275;font-size:12px}.formgrid label input{margin-top:5px;display:block}.wide{grid-column:1/-1}.pill{background:#eef2ff;border-radius:20px;padding:7px 11px;font-size:12px}.row{border-bottom:1px solid #edf0f4;align-items:center;gap:15px;padding:11px 0;display:flex}.row span:nth-child(2){color:#718096}.mistake{border-bottom:1px solid #edf0f4;justify-content:space-between;gap:10px;padding:13px 0;display:flex}.mistake small,.mistake p{color:#718096;margin:4px 0;font-size:12px;display:block}.mistake.fixed{opacity:.65}.chips{flex-wrap:wrap;gap:8px;display:flex}.chips span{background:#f1f4f8;border-radius:9px;padding:8px 10px;font-size:12px}.metric{margin:15px 0}.metric>div:first-child{justify-content:space-between;display:flex}.center{text-align:center;place-items:center;min-height:100vh;display:grid}.auth{background:#f5f7fb;place-items:center;min-height:100vh;display:grid}.authbox{background:#fff;border:1px solid #e1e6ee;border-radius:18px;width:min(420px,92vw);padding:28px}.brand{color:#5267d9;font-weight:800}.authbox h1{margin:8px 0 20px}.authbox form{gap:10px;display:grid}.authbox input{border:1px solid #d8dee9;border-radius:9px;padding:12px}.authbox .link{margin-top:12px}.overlay{z-index:5;background:#0007;place-items:center;padding:15px;display:grid;position:fixed;inset:0}.modal{background:#fff;border-radius:16px;width:min(620px,96vw);max-height:92vh;padding:18px;overflow:auto}.modalhead{justify-content:space-between;align-items:center;margin-bottom:12px;display:flex}.modalhead h3{margin:0}.modalhead button{border:0;font-size:22px}.note{color:#718096;font-size:12px}@media (width<=900px){aside{width:72px}.logo{font-size:0}.logo span{font-size:18px}.nav{justify-content:center}.nav svg{margin:0}.nav{font-size:0}.logout{width:56px;left:8px}main{width:calc(100% - 72px);margin-left:72px;padding:18px}.grid4{grid-template-columns:repeat(2,1fr)}.two{grid-template-columns:1fr}.cell{min-height:90px}.task{font-size:10px}}@media (width<=600px){main{padding:12px}.grid4{grid-template-columns:1fr 1fr}.formgrid{grid-template-columns:1fr}.wide{grid-column:1}.hero{padding:18px}.hero h1{font-size:38px}.cell{min-height:75px;padding:5px}.dow{font-size:10px}.chapter{flex-wrap:wrap}.chapter .grow{min-width:60%}}
