/* ---------------- LIST OF ASSETS WORKSHEET ---------------- */

.al-shell{ max-width:960px; margin:0 auto; padding:8px 5vw 100px; }
.al-shell .back-row{ margin:0 0 32px; }

.al-eyebrow{ font-size:.78rem; font-weight:700; letter-spacing:.12em; text-transform:uppercase; color:var(--accent); margin:0 0 14px; }
.al-title{ font-size:clamp(1.8rem,3.4vw,2.5rem); line-height:1.2; margin:0 0 18px; max-width:26ch; }
.al-lede{ font-size:1.02rem; line-height:1.7; color:var(--muted); margin:0 0 34px; max-width:62ch; }

.al-draft-banner{ display:flex; align-items:center; justify-content:space-between; gap:16px; background:var(--band); border-radius:8px;
  padding:14px 18px; margin:0 0 30px; font-size:.88rem; color:var(--ink); }
.al-draft-banner button{ background:none; border:none; color:var(--accent); font-weight:600; font-size:.86rem; cursor:pointer; flex:none; }
.al-handoff-actions{ display:flex; align-items:center; gap:18px; flex:none; }
.al-handoff-actions #alHandoffDismiss{ color:var(--muted); }

/* ---- Layout ---- */
.al-layout{ display:grid; grid-template-columns:200px minmax(0,1fr); gap:0 44px; align-items:start; }

/* ---- Rail ---- */
.al-rail-wrap{ position:sticky; top:24px; }
.al-rail{ display:flex; flex-direction:column; gap:2px; margin:0 0 24px; }
.al-rail-item{ display:flex; align-items:center; gap:10px; text-decoration:none; color:var(--muted); font-size:.86rem; font-weight:500;
  padding:8px 10px; border-radius:6px; transition:color .15s ease, background .15s ease; }
.al-rail-item:hover{ color:var(--ink); background:var(--band); }
.al-rail-dot{ flex:none; width:7px; height:7px; border-radius:50%; border:1.5px solid var(--line); background:#fff; transition:all .15s ease; }
.al-rail-item.is-started .al-rail-dot{ background:var(--accent-bright); border-color:var(--accent-bright); }
.al-rail-item.is-started{ color:var(--ink); font-weight:600; }
.al-rail-actions{ display:flex; flex-direction:column; gap:10px; padding-top:14px; border-top:1px solid var(--line); }
.al-rail-actions .btn-solid{ width:100%; justify-content:center; }
.al-rail-hint{ font-size:.76rem; line-height:1.5; color:var(--muted); margin:0; }
.al-clear-btn{ background:none; border:none; color:var(--muted); font-size:.82rem; font-weight:500; text-decoration:underline; cursor:pointer; padding:2px 0; text-align:left; }
.al-clear-btn:hover{ color:#B23A2F; }

/* ---- Form column ---- */
.al-form-col{ min-width:0; max-width:640px; }
.al-section{ padding:0 0 44px; margin:0 0 44px; border-bottom:1px solid var(--line); scroll-margin-top:24px; }
.al-section:last-child{ border-bottom:none; margin-bottom:0; }
.al-section .wf-step-head h2{ font-size:1.3rem; }

.al-table-repeater .repeater-row{ padding:18px 18px 4px; }

/* ---- Follow-up fields greyed out when their parent answer makes them moot ---- */
.field[data-depends-on]{ transition:opacity .15s ease; }
.field[data-depends-on].is-greyed{ opacity:.4; }
.field[data-depends-on].is-greyed .pill span{ cursor:not-allowed; }
.field[data-depends-on].is-greyed input[type=text]{ cursor:not-allowed; background:var(--band); }

/* ---- Boxed question group (e.g. DPS) ---- */
.al-box{ border:1px solid var(--line); border-radius:8px; padding:20px 20px 4px; margin:0 0 16px; background:#fff; }
.al-box .field-label{ display:block; margin:0 0 10px; }
.al-box .field{ margin:0 0 20px; }

/* ---- Rectangular, full-width segmented toggles ---- */
.al-shell .pill-group{ display:flex; flex-wrap:wrap; gap:0; width:100%; border:1.5px solid var(--line); border-radius:6px; overflow:hidden; }
.al-shell .pill{ flex:1 1 0; min-width:90px; }
.al-shell .pill span{
  display:flex; align-items:center; justify-content:center; text-align:center; width:100%; height:100%;
  padding:12px 10px; border-radius:0; border:none; border-right:1px solid var(--line);
}
.al-shell .pill:last-child span{ border-right:none; }
.al-shell .pill input:checked + span{ background:var(--accent); border-color:var(--accent); color:#fff; }
.al-shell .pill input:focus-visible + span{ outline:2px solid var(--accent); outline-offset:-2px; }

/* ---- Print-only mirror (hidden on screen) ---- */
.al-print-only{ display:none; }

.al-sheet{ background:#fff; font-family:'Lora',serif; color:var(--ink); }
.al-sheet-title{ font-size:.72rem; font-weight:700; letter-spacing:.14em; text-transform:uppercase; color:var(--accent); font-family:'Work Sans',sans-serif; margin:0 0 4px; }
.al-sheet-logo{ height:22px; width:auto; margin:0 0 10px; display:block; }
.al-sheet-heading{ font-size:1.15rem; font-weight:600; margin:0 0 18px; }
.al-sheet-meta{ display:flex; justify-content:space-between; gap:12px; font-size:.82rem; color:var(--muted); font-family:'Work Sans',sans-serif; margin:0 0 20px; padding-bottom:14px; border-bottom:1.5px solid var(--ink); }
.al-sheet-meta b{ color:var(--ink); font-weight:600; }

.al-doc-block{ margin:0 0 20px; }
.al-doc-block-title{ font-size:.68rem; font-weight:700; letter-spacing:.1em; text-transform:uppercase; color:var(--accent); font-family:'Work Sans',sans-serif; margin:0 0 8px; }
.al-doc-row{ display:flex; gap:14px; padding:7px 0; border-bottom:1px solid var(--line); font-size:.92rem; line-height:1.5; }
.al-doc-row:last-child{ border-bottom:none; }
.al-doc-row .k{ flex:none; width:42%; color:var(--muted); }
.al-doc-row .v{ flex:1; word-break:break-word; }
.al-doc-row .v.empty{ color:var(--line); }
.al-doc-empty{ font-size:.86rem; color:var(--muted); font-style:italic; font-family:'Work Sans',sans-serif; padding:4px 0; }

.al-doc-table{ width:100%; border-collapse:collapse; font-size:.84rem; margin:0 0 4px; }
.al-doc-table th{ text-align:left; font-family:'Work Sans',sans-serif; font-size:.66rem; font-weight:700; letter-spacing:.05em; text-transform:uppercase;
  color:var(--muted); border-bottom:1.5px solid var(--ink); padding:0 8px 6px 0; }
.al-doc-table td{ padding:8px 8px 8px 0; border-bottom:1px solid var(--line); vertical-align:top; }
.al-doc-table tr:last-child td{ border-bottom:none; }

.al-sheet-sign{ margin:30px 0 0; padding-top:22px; border-top:1px solid var(--line); font-size:.78rem; color:var(--muted); font-family:'Work Sans',sans-serif; }
.al-sheet-sign .line{ border-bottom:1px solid var(--ink); height:34px; max-width:220px; margin:0 0 6px; }
.al-sheet-footer{ margin:26px 0 0; padding-top:14px; border-top:1px dashed var(--line); font-size:.72rem; color:var(--muted); font-family:'Work Sans',sans-serif; line-height:1.5; }

.al-sheet-wishes{ min-height:340px; background-image:repeating-linear-gradient(to bottom, transparent, transparent 27px, var(--line) 28px); background-position:0 76px; }
.al-sheet-wishes .al-sheet-heading{ margin-bottom:6px; }
.al-sheet-wishes .al-wishes-lede{ font-size:.8rem; color:var(--muted); font-family:'Work Sans',sans-serif; margin:0 0 30px; }
.al-sheet-wishes .al-wishes-body{ font-size:.94rem; line-height:28px; white-space:pre-wrap; }
.al-sheet-wishes .al-wishes-empty{ font-size:.86rem; color:var(--muted); font-style:italic; font-family:'Work Sans',sans-serif; }

/* ============ RESPONSIVE ============ */
@media (max-width:760px){
  .al-layout{ grid-template-columns:1fr; }
  .al-form-col{ max-width:none; }
  .al-rail-wrap{ position:static; margin:0 0 34px; }
  .al-rail{ flex-direction:row; flex-wrap:wrap; gap:8px; margin:0 0 18px; }
  .al-rail-item{ padding:7px 12px; border:1px solid var(--line); border-radius:20px; }
  .al-rail-actions{ flex-direction:row; align-items:center; border-top:none; padding-top:0; flex-wrap:wrap; }
  .al-rail-actions .btn-solid{ width:auto; }
  .al-rail-hint{ display:none; }
}

/* ============ PRINT ============ */
@media print{
  .no-print{ display:none !important; }
  .al-shell{ padding:0; max-width:none; }
  .al-layout{ display:none; }
  .al-print-only{ display:block; }
  .al-print-only .al-sheet-wishes{ page-break-before:always; background-position:0 100px; }
  body{ background:#fff; }
  @page{ margin:16mm 14mm; }
}
