*{box-sizing:border-box}body{margin:0;background:#f5f7fb;color:#19243a;font:15px/1.55 system-ui,-apple-system,Segoe UI,sans-serif}a{color:#285ad9;text-decoration:none}.top{background:#fff;border-bottom:1px solid #e4e9f3;display:flex;align-items:center;justify-content:space-between;padding:16px max(22px,calc((100vw - 1180px)/2));gap:20px}.logo{font-weight:800;font-size:24px;color:#25355c}.top nav{display:flex;align-items:center;gap:20px;flex-wrap:wrap}.shell{max-width:1180px;margin:36px auto;padding:0 20px;min-height:75vh}h1{font-size:30px;letter-spacing:-.8px;margin:0 0 10px}h2{font-size:20px}p.muted,.muted{color:#68778e}.grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(230px,1fr));gap:18px}.card{background:#fff;border:1px solid #e2e8f2;border-radius:15px;padding:22px;box-shadow:0 5px 18px #1d3e7810}.btn,button{background:#365cdd;border:0;color:white;padding:10px 15px;border-radius:9px;cursor:pointer;font-weight:650;font:inherit;display:inline-block}.btn.secondary,button.secondary{background:#eef2fc;color:#264cc2}.btn.small{padding:5px 10px;font-size:13px}form{display:grid;gap:12px}input,select,textarea{width:100%;border:1px solid #d5ddec;border-radius:9px;padding:11px;background:white;color:#19243a;font:inherit}label{font-weight:600;font-size:13px}.form-card{max-width:460px;margin:30px auto}.notice{padding:13px 17px;background:#e9f5f0;border:1px solid #b7e3cf;border-radius:10px;margin-bottom:20px}.heading{display:flex;justify-content:space-between;align-items:center;gap:20px;margin-bottom:20px;flex-wrap:wrap}.stats{display:grid;grid-template-columns:repeat(3,1fr);gap:15px;margin-bottom:25px}.stat strong{font-size:34px;display:block}.board{display:grid;grid-template-columns:repeat(4,minmax(200px,1fr));gap:14px;overflow:auto}.column{background:#eaf0f9;border-radius:14px;padding:12px;min-height:260px}.column h3{font-size:14px;text-transform:uppercase;letter-spacing:.07em;color:#5d6f8b}.task{background:white;border:1px solid #dce4f2;border-radius:10px;padding:13px;margin-bottom:10px}.task strong{display:block}.pill{font-size:11px;background:#e8edff;color:#304cb2;padding:3px 7px;border-radius:8px}.row{display:flex;gap:10px;align-items:center;flex-wrap:wrap}.table{width:100%;border-collapse:collapse}.table th,.table td{text-align:left;padding:12px;border-bottom:1px solid #e7ebf3}footer{text-align:center;color:#78879d;padding:25px}@media(max-width:800px){.board{grid-template-columns:repeat(4,230px)}.stats{grid-template-columns:1fr}.top{padding:15px}.top nav{gap:10px}}
/* Phase 2 */
.phase2-board .task-list{min-height:170px;display:flex;flex-direction:column;gap:10px;padding:4px;border-radius:10px}.phase2-board .task[draggable=true]{cursor:grab}.phase2-board .task-link{display:block;font-weight:700;margin:10px 0;color:inherit;text-decoration:none}.phase2-board .drag-over{background:#e7efff;outline:2px dashed #668ae8}.phase2-detail{display:grid;grid-template-columns:minmax(0,2fr) minmax(260px,1fr);gap:18px;align-items:start}.phase2-detail .card{margin-bottom:0}.phase2-entry{padding:12px 0;border-bottom:1px solid #e7eaf0}.phase2-entry p{margin:7px 0}.phase2-detail input,.phase2-detail textarea,.phase2-detail select{max-width:100%}@media(max-width:850px){.phase2-detail{grid-template-columns:1fr}}

/* Phase 3 */
.p3-tabs{display:flex;flex-wrap:wrap;gap:10px;margin:14px 0 22px}.p3-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;margin-bottom:16px}.p3-backlog-row{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:14px 0;border-bottom:1px solid #e2e8f0}.p3-assign{display:flex;align-items:center;gap:6px;flex-wrap:wrap}.p3-assign select{max-width:145px}.p3-assign input[type=number]{width:75px}#p3-chart{width:100%;height:auto;max-width:900px}@media(max-width:800px){.p3-grid{grid-template-columns:1fr}.p3-backlog-row{display:block}.p3-assign{margin-top:10px}}

/* Phase 4 */
.p4-entry{padding:14px 0;border-bottom:1px solid #e7eaf2}.p4-entry:last-child{border:0}.p4-entry form{display:inline-block}.p4-entry button{padding:6px 12px}.card+.card{margin-top:16px}.card .pill{display:inline-block;margin:4px}
