:root{--blue:#0d4f8b;--dark:#0b2538;--light:#f4f8fb;--green:#157347;--amber:#b7791f;--red:#b42318;--pink:#b83280;--grey:#6b7280}*{box-sizing:border-box}body{margin:0;background:var(--light);font-family:Segoe UI,Arial,sans-serif;color:#17202a}header{background:#fff;border-bottom:1px solid #d9e2ec;padding:14px 24px;display:flex;align-items:center;justify-content:space-between;position:sticky;top:0;z-index:2}.brand{display:flex;align-items:center;gap:12px}.brand span{display:block;color:#52606d;font-size:13px}.logo{background:var(--blue);color:#fff;border-radius:12px;padding:12px;font-weight:800;letter-spacing:.5px}nav a{margin-left:14px;color:var(--blue);text-decoration:none;font-weight:600}main{max-width:1180px;margin:28px auto;padding:0 18px}footer{text-align:center;color:#657786;font-size:13px;padding:30px}.hero{background:linear-gradient(135deg,#0d4f8b,#123b5d);color:#fff;padding:42px;border-radius:18px;box-shadow:0 10px 25px #0001;margin-bottom:20px}.hero h1{font-size:36px;margin:0 0 12px}.card{background:#fff;border:1px solid #d9e2ec;border-radius:16px;padding:22px;margin:18px 0;box-shadow:0 6px 18px #0000000a}.narrow{max-width:520px;margin:24px auto}.notice,.secure{background:#e6f4ff;border-left:5px solid var(--blue);padding:14px;border-radius:8px}.progress{font-weight:700;margin:14px 0}.grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(250px,1fr));gap:14px}.section-card{display:block;text-decoration:none;color:#17202a;background:#fff;border:1px solid #d9e2ec;border-radius:14px;padding:18px;box-shadow:0 5px 12px #0000000a}.section-card b{display:block;margin-bottom:10px}.section-card span,.badge{display:inline-block;border-radius:999px;padding:5px 10px;font-size:12px;font-weight:700;background:#eef2f7;color:#364152}.badge.blue,.counter.blue{background:#d8ecff;color:#0d4f8b}.badge.green,.counter.green{background:#dff7e8;color:#157347}.badge.amber,.counter.amber{background:#fff3cd;color:#8a5a00}.badge.red,.counter.red{background:#ffe4e2;color:#b42318}.badge.pink,.counter.pink{background:#fce7f3;color:#b83280}.badge.grey,.counter.grey{background:#e5e7eb;color:#374151}label{display:block;margin:14px 0 6px;font-weight:650}input,textarea,select{width:100%;padding:11px;border:1px solid #cbd5e1;border-radius:10px;font:inherit}textarea{min-height:90px}button,.button{display:inline-block;background:var(--blue);color:#fff;border:0;border-radius:10px;padding:10px 14px;margin:10px 8px 0 0;text-decoration:none;font-weight:700;cursor:pointer}.danger{border:1px solid #ffd4d1;background:#fff8f7;padding:14px;border-radius:12px}table{width:100%;border-collapse:collapse}th,td{padding:10px;border-bottom:1px solid #e5e7eb;text-align:left;vertical-align:top}th{background:#f8fafc}.flash{background:#fff7d6;border:1px solid #ffe08a;border-radius:12px;padding:10px 18px}.counters{display:grid;grid-template-columns:repeat(auto-fit,minmax(130px,1fr));gap:12px;margin:16px 0}.counter{border-radius:14px;padding:14px}.counter b{display:block;font-size:28px}.counter span{font-size:13px;font-weight:700}.search{display:flex;gap:10px;align-items:center}.search input{max-width:520px}details{border:1px solid #e5e7eb;border-radius:12px;margin:10px 0;padding:12px;background:#fbfdff}summary{cursor:pointer;font-weight:700}pre{white-space:pre-wrap;font-family:inherit}.small{font-size:13px;color:#596579}code{background:#eef2f7;padding:3px 6px;border-radius:6px}
/* Beta 2 field layout refinements */
fieldset{border:1px solid #d7e3ef;border-radius:12px;padding:14px 16px;margin:14px 0;background:#fbfdff}legend{font-weight:700;color:#12395b;padding:0 6px}.check{display:block;margin:8px 0;font-weight:500}.pill{display:inline-block;margin-left:8px;padding:2px 8px;border-radius:999px;background:#e7f2ff;color:#12395b;font-size:12px;font-weight:700}.notice pre{white-space:pre-wrap}

/* Beta 3 handover-document question layout */
.section-form h1{margin-bottom:6px}.question-box{background:#fff;border:1px solid #cfdbe8;border-radius:14px;padding:16px 18px;margin:14px 0;box-shadow:0 3px 10px #00000008}.question-box label{margin:0 0 10px;font-weight:750;color:#102a43}.question-box input,.question-box textarea,.question-box select{background:#fbfdff}.choice-row{display:flex;flex-wrap:wrap;gap:10px}.choice-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:10px}.choice{display:flex;align-items:center;gap:8px;border:1px solid #d7e3ef;border-radius:12px;padding:10px 12px;background:#fbfdff;margin:0;font-weight:600}.choice input{width:auto;margin:0}.choice span{display:inline-block}.form-actions{position:sticky;bottom:0;background:#ffffffee;border-top:1px solid #d9e2ec;padding:14px 0;margin-top:20px;backdrop-filter:blur(4px)}.form-actions button:nth-child(2){background:#157347}.form-actions button:nth-child(3){background:#6b7280}

/* V1 customer title/status refinements */
.section-title,.section-title-heading{font-weight:400;line-height:1.35}.section-prefix{font-weight:800}.section-card .section-title{display:block;margin-bottom:12px;font-size:18px}.section-card span.badge{font-size:14px;padding:8px 14px}.section-card .badge.amber{background:#ffe8b5;color:#875100}.section-card .badge.green{background:#dcfce7;color:#166534}.section-card .badge.pink{background:#fce7f3;color:#9d174d}.section-card .badge.grey{background:#e5e7eb;color:#374151}.section-card .badge.red{background:#fee2e2;color:#991b1b}.section-card .badge.blue{background:#dbeafe;color:#1d4ed8}

/* Customer-only PIN section and improved final confirmation */
.dashboard-split{display:grid;grid-template-columns:repeat(auto-fit,minmax(320px,1fr));gap:18px;margin:18px 0}.customer-only-card{border-left:6px solid var(--blue)}.customer-only-card h1,.customer-only-card h2{font-weight:800}.customer-only-question label{font-size:16px}.confirm-box{display:flex;gap:14px;align-items:flex-start;background:#fff8e1;border:2px solid #f2c94c;border-radius:14px;padding:16px 18px;font-weight:700}.confirm-box input{width:26px;height:26px;min-width:26px;margin-top:2px}.final-submit h2{font-size:24px;font-weight:800}.final-submit button,.customer-only-card .form-actions button:nth-child(2){background:#157347}


/* Customer-only update: headings, required markers, and status colours */
.badge.purple,.counter.purple{background:#ede9fe;color:#6d28d9}
.customer-only-section-heading{background:#eef7ff;border-left:6px solid var(--blue);border-radius:14px;padding:16px 18px;margin:20px 0 14px}
.customer-only-section-heading h2{margin:0 0 6px;font-size:22px;font-weight:850;color:#0b2538}
.customer-only-section-heading p{margin:0;color:#334155;line-height:1.45}.required-star{color:#b42318;font-weight:900}.customer-only-question .choice input{width:22px;height:22px;min-width:22px}.customer-only-question .choice{align-items:flex-start}.customer-only-question .choice span{line-height:1.35}

/* DSUK status colour fix */
.section-card .badge.grey{background:#eef2f7;color:#475569}
.section-card .badge.amber{background:#fff3cd;color:#8a5a00}
.section-card .badge.green{background:#dcfce7;color:#166534}
.section-card .badge.purple{background:#ede9fe;color:#5b21b6}
.section-card .badge.red{background:#fee2e2;color:#991b1b}
.section-card .badge.blue{background:#dbeafe;color:#1d4ed8}
.badge.grey{background:#eef2f7;color:#475569}
.badge.amber{background:#fff3cd;color:#8a5a00}
.badge.green{background:#dcfce7;color:#166534}
.badge.purple{background:#ede9fe;color:#5b21b6}
.badge.red{background:#fee2e2;color:#991b1b}
.badge.blue{background:#dbeafe;color:#1d4ed8}

/* IT handover not-required lock state */
.locked-card{background:#faf9ff;border-color:#ddd6fe;box-shadow:0 5px 12px #6d28d910;opacity:.96}
.locked-card .small{color:#6d28d9;font-weight:650}
.locked-notice { border-left: 5px solid #7c3aed; background: #f5f3ff; }
.locked-notice h3 { margin-top: 0; color: #4c1d95; }

/* DSUK phone onboarding navigation/layout fix */
.portal-layout{
  display:grid;
  grid-template-columns:260px minmax(0,1fr);
  gap:18px;
  align-items:start;
}
.progress-nav{
  position:sticky;
  top:92px;
  display:flex;
  flex-direction:column;
  gap:8px;
  background:#fff;
  border:1px solid #d9e2ec;
  border-radius:16px;
  padding:14px;
  box-shadow:0 6px 18px #0000000a;
}
.progress-nav a{
  display:block;
  text-decoration:none;
  color:#0d4f8b;
  font-weight:700;
  line-height:1.25;
  padding:9px 10px;
  border-radius:10px;
  background:#f8fafc;
  border:1px solid #e5edf5;
}
.progress-nav a:hover{background:#e6f4ff}
.table-wrap{overflow-x:auto}
.big-check{
  align-items:flex-start;
  margin:10px 0;
  background:#fff8e1;
  border:2px solid #f2c94c;
}
.big-check input{
  width:24px;
  height:24px;
  min-width:24px;
  margin-top:1px;
}
.sticky-actions{
  position:sticky;
  bottom:0;
  z-index:3;
  background:#ffffffee;
  border:1px solid #d9e2ec;
  border-radius:16px;
  padding:12px 14px;
  margin:18px 0;
  box-shadow:0 -4px 18px #00000012;
  backdrop-filter:blur(4px);
}
.sticky-actions .danger{
  background:#157347;
  color:#fff;
  border:0;
}
@media(max-width:900px){
  .portal-layout{display:block}
  .progress-nav{position:static;margin-bottom:18px}
}

