:root{font-family:Inter,system-ui,sans-serif;color:#172033;background:#f5f7fb}*{box-sizing:border-box}body{margin:0}header{background:#101827;color:white;padding:28px max(24px,calc((100% - 1180px)/2));display:flex;justify-content:space-between;gap:20px;align-items:center}h1,h2,h3,p{margin-top:0}header p{color:#aeb9ca;margin-bottom:0}.grid{max-width:1180px;margin:30px auto;padding:0 24px;display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:18px}.card,.panel,.phase{background:white;border:1px solid #e1e6ef;border-radius:14px;padding:20px;box-shadow:0 5px 20px #1d2b3d0d}.card{cursor:pointer}.card:hover{transform:translateY(-2px)}button{border:0;border-radius:9px;padding:10px 15px;cursor:pointer;font-weight:650}.primary,header button{background:#5b5ce2;color:white}.back{background:transparent;color:#4b55a8}.empty{text-align:center;margin:80px auto}.progress{height:10px;background:#e8ecf4;border-radius:99px;overflow:hidden}.progress>i{display:block;height:100%;background:#5b5ce2}.meta{display:flex;justify-content:space-between;color:#6b7485;font-size:.9rem;margin:10px 0}.detail{max-width:1180px;margin:20px auto;padding:0 24px}.phase{margin:18px 0}.task{display:grid;grid-template-columns:1fr 130px 90px auto;gap:12px;align-items:center;padding:12px 0;border-top:1px solid #edf0f5}.task:first-child{border-top:0}.task small{color:#6b7485}.phase-head{display:flex;justify-content:space-between;gap:12px;align-items:center}.actions{display:flex;justify-content:flex-end;gap:10px;margin-top:18px}dialog{border:0;border-radius:16px;padding:0;box-shadow:0 20px 70px #0004;width:min(480px,92vw)}dialog::backdrop{background:#0b102080}form{padding:24px}label{display:block;font-weight:650;margin:14px 0}input,textarea,select{display:block;width:100%;margin-top:7px;padding:11px;border:1px solid #d5dbe6;border-radius:8px;font:inherit}textarea{min-height:90px;resize:vertical}.smallbtn{background:#edf0f7}.danger{color:#a33;background:#fff0f0}@media(max-width:700px){header{align-items:flex-start;flex-direction:column}.task{grid-template-columns:1fr}.grid{padding:0 14px}}
