*{box-sizing:border-box;margin:0;padding:0}
body{font-family:'Inter',system-ui,sans-serif;background:#F5F5F5;color:#2C2C2C;min-height:100vh}
:root{
  --hero:#131619;--pink:#DC3B75;--blue:#3978A4;--green:#3C957C;--purple:#836490;
  --amber:#D5B038;--red:#C0392B;--orange:#BE7147;--cgreen:#1A6B4A;
  --dark:#2C2C2C;--sec:#484B4C;--mid:#848484;--light:#ACACAC;
  --border:#E6E7E7;--bg:#F5F5F5;--card:#FFFFFF;--lbg:#EDEDED
}
.btn{display:inline-flex;align-items:center;gap:6px;padding:5px 14px;border-radius:20px;font-size:11px;font-weight:600;cursor:pointer;border:1.5px solid var(--border);background:var(--card);color:var(--mid);font-family:inherit;transition:all .15s}
.btn:hover{opacity:.85}
.btn-pink{background:var(--pink);border-color:var(--pink);color:#fff}
.btn-outline{background:transparent}
input,textarea{font-family:inherit;font-size:12px;color:var(--dark);border:1px solid var(--border);border-radius:8px;padding:7px 10px;width:100%;background:var(--card)}
input:focus,textarea:focus{outline:2px solid var(--pink);outline-offset:1px}
textarea{resize:vertical}
.lbl{font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:.08em;color:var(--light);margin-bottom:3px;display:block}
.hint{font-size:10px;color:var(--mid);font-style:italic;margin-bottom:4px}
.field{margin-bottom:14px}
.card{background:var(--card);border:1px solid var(--border);border-radius:12px;padding:16px;margin-bottom:10px}
.section-hdr{font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:.08em;margin-bottom:10px;padding-bottom:6px;border-bottom:1px solid var(--border)}
.pill{display:inline-flex;align-items:center;gap:3px;padding:2px 8px;border-radius:10px;font-size:10px;font-weight:700}
.rag-dot{display:inline-block;width:10px;height:10px;border-radius:50%;flex-shrink:0}
.grid2{display:grid;grid-template-columns:1fr 1fr;gap:12px}
/* Views */
#view-home,#view-form{display:none}
#view-home.active,#view-form.active{display:block}
/* Home */
.home-wrap{max-width:1100px;margin:0 auto;padding:16px}
.hdr{background:var(--hero);border-radius:12px;padding:14px 20px;margin-bottom:16px;display:flex;justify-content:space-between;align-items:center}
.hdr h1{color:#fff;font-size:16px;font-weight:800}
.hdr p{color:rgba(255,255,255,.5);font-size:11px;margin-top:2px}
.hdr-rule{width:40px;height:3px;background:var(--pink);border-radius:2px}
.tabs{display:flex;gap:6px;flex-wrap:wrap;margin-bottom:12px}
.tab-btn{padding:5px 14px;border-radius:20px;font-size:11px;font-weight:600;cursor:pointer;border:1.5px solid var(--border);background:var(--card);color:var(--mid);font-family:inherit}
.tab-btn.active{color:#fff}
.init-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:10px}
.init-card{background:var(--card);border:1px solid var(--border);border-radius:12px;padding:12px 14px;text-align:left;cursor:pointer;font-family:inherit;width:100%;transition:box-shadow .15s}
.init-card:hover{box-shadow:0 2px 12px rgba(0,0,0,.1)}
.init-card h3{font-size:12px;font-weight:700;color:var(--dark);margin-bottom:4px}
.init-card p{font-size:11px;color:var(--mid);margin-bottom:6px}
.init-card .status-row{display:flex;align-items:center;gap:6px}
/* Dashboard table */
.dash-wrap{overflow-x:auto;max-width:100%}.dash-tbl td:nth-child(1),.dash-tbl th:nth-child(1){position:sticky;left:0;z-index:2;background:inherit}.dash-tbl td:nth-child(2),.dash-tbl th:nth-child(2){position:sticky;left:140px;z-index:2;background:inherit}.dash-tbl td:nth-child(3),.dash-tbl th:nth-child(3){position:sticky;left:210px;z-index:2;background:inherit;border-right:2px solid var(--border)}.dash-tbl th:nth-child(1),.dash-tbl th:nth-child(2),.dash-tbl th:nth-child(3){background:var(--hero);z-index:3}
.dash-tbl{width:100%;border-collapse:collapse;font-size:11px}
.dash-tbl th{padding:7px 8px;text-align:center;color:rgba(255,255,255,.7);font-weight:600;font-size:10px;background:var(--hero)}
.dash-tbl th:first-child{text-align:left;min-width:140px}
.dash-tbl th:nth-child(2){text-align:left;min-width:70px}
.dash-tbl td{padding:6px 8px;border-bottom:1px solid var(--border)}
.cat-row td{font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:.08em;background:var(--lbg);padding:5px 10px}
/* Form view */
.form-wrap{max-width:780px;margin:0 auto;padding:16px 12px}
/* Milestone panel */
.ms-panel{border-radius:12px;margin-bottom:10px;background:var(--card);overflow:hidden}
.ms-trigger{width:100%;background:transparent;border:none;padding:10px 16px;display:flex;justify-content:space-between;align-items:center;cursor:pointer;text-align:left;font-family:inherit}
.ms-trigger:hover{background:#f9f9f9}
.ms-body{border-top:1px solid var(--border)}
.ms-controls{background:var(--lbg);padding:8px 16px;display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:8px}
.ms-tbl-wrap{overflow-x:auto}
.ms-tbl{width:100%;border-collapse:collapse;font-size:11px;min-width:680px}
.ms-tbl th{padding:7px 10px;text-align:left;font-size:9px;font-weight:700;text-transform:uppercase;letter-spacing:.07em;color:var(--light);border-bottom:1px solid var(--border);background:var(--lbg)}
.ms-tbl td{padding:8px 10px;border-bottom:1px solid var(--border);vertical-align:top}
.ms-tbl td input{border:1px solid var(--border);border-radius:5px;padding:3px 6px;font-size:11px;width:100%}
/* Status buttons */
.st-btns{display:flex;flex-direction:column;gap:3px}
.st-row{display:flex;gap:3px}
.st-btn{padding:2px 5px;min-width:26px;height:21px;border-radius:5px;font-size:9px;font-weight:700;cursor:pointer;font-family:inherit;border:1.5px solid var(--border);background:var(--card);color:var(--mid)}
/* Checkpoint tabs */
.cp-tabs{display:flex;gap:6px;flex-wrap:wrap;margin-bottom:14px;overflow-x:auto;padding-bottom:4px}
.cp-tab{padding:5px 12px;border-radius:20px;font-size:11px;font-weight:600;cursor:pointer;border:1.5px solid var(--border);background:var(--card);color:var(--mid);font-family:inherit;display:flex;align-items:center;gap:5px}
/* BtnGroup */
.btn-group{display:flex;gap:6px;flex-wrap:wrap}
.bg-btn{padding:5px 14px;font-size:11px;font-weight:600;border-radius:20px;border:1.5px solid var(--border);background:var(--card);color:var(--mid);cursor:pointer;font-family:inherit}
/* Blockers list */
.blocker-row{display:flex;gap:6px;margin-bottom:6px;align-items:center}
.blocker-row input{flex:1}
.del-btn{background:none;border:none;color:var(--light);font-size:16px;cursor:pointer;flex-shrink:0;line-height:1;padding:0 4px}
/* Actions table */
.actions-grid{display:grid;grid-template-columns:1fr 2fr 1fr auto;gap:6px;margin-bottom:6px;align-items:center}
.actions-grid input{font-size:11px;border:1px solid var(--border);border-radius:8px;padding:6px 8px}
/* Print */
@media print{
  body{background:#fff}
  .no-print{display:none!important}
  .form-wrap{max-width:100%;padding:0}
}
