/* ---------- nav rail / tab bar ---------- */
.brand-lockup{display:inline-flex;align-items:center;gap:9px;min-width:0;text-decoration:none}
.brand-mark{display:block;width:51px;height:38px;flex:none;overflow:visible}
.brand-wordmark{font-family:var(--sans);font-size:20px;font-weight:500;line-height:1;
  letter-spacing:-.045em;white-space:nowrap;color:var(--charcoal)}
.brand-lockup--inverse .brand-wordmark{color:var(--cream)}

.rail{position:fixed;left:0;top:0;bottom:0;width:var(--rail);background:var(--charcoal);
  padding:20px 14px;display:flex;flex-direction:column;gap:4px;z-index:50}
.rail .brand{display:flex;align-items:center;gap:10px;padding:4px 8px 20px}
.rail .brand-mark{width:48px;height:36px}
.rail .brand-wordmark{font-size:18px}
.navlink{display:flex;align-items:center;gap:11px;padding:10px 11px;border-radius:7px;
  font-size:12px;font-weight:500;letter-spacing:.09em;text-transform:uppercase;
  color:var(--stone-light);transition:.15s;width:100%;text-align:left;min-height:var(--tap)}
.navlink svg{width:16px;height:16px;flex:none;stroke:currentColor;fill:none;stroke-width:1.6}
.navlink:hover{color:var(--cream);background:rgba(255,255,255,.05)}
.navlink[aria-current="page"]{color:var(--charcoal);background:var(--amber)}
.rail-foot{margin-top:auto;padding:12px 10px;border-top:1px solid var(--dark);
  font-size:11px;color:var(--stone)}

.tabbar{display:none}
@media(max-width:860px){
  .rail{display:none}
  .tabbar{display:flex;position:fixed;left:0;right:0;bottom:0;background:var(--charcoal);
    border-top:1px solid var(--dark);z-index:60;
    padding:6px 4px calc(6px + env(safe-area-inset-bottom))}
  .tabbar button{flex:1;display:flex;flex-direction:column;align-items:center;gap:3px;
    padding:8px 2px;font-size:10px;letter-spacing:.06em;text-transform:uppercase;
    color:var(--stone);font-weight:500;border-radius:var(--radius);min-height:var(--tap)}
  .tabbar button svg{width:20px;height:20px;stroke:currentColor;fill:none;stroke-width:1.6}
  .tabbar button[aria-current="page"]{color:var(--amber)}
}

/* ---------- buttons ---------- */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:7px;
  background:var(--amber);color:var(--charcoal);font-size:13px;font-weight:500;
  padding:12px 20px;border-radius:5px;min-height:var(--tap);transition:.15s}
.btn:hover{background:var(--amber-deep);color:var(--cream)}
.btn svg{width:15px;height:15px;stroke:currentColor;fill:none;stroke-width:2}
.btn.ghost{background:transparent;border:1px solid var(--border);color:var(--mid)}
.btn.ghost:hover{border-color:var(--amber);color:var(--amber-deep);background:transparent}
.btn.sm{padding:8px 14px;font-size:12px;min-height:38px}
.btn:focus-visible{outline:2px solid var(--charcoal);outline-offset:2px}
.btn:disabled,.btn[aria-disabled="true"]{opacity:.42;cursor:not-allowed;pointer-events:none}

.backlink{display:inline-flex;align-items:center;gap:6px;font-size:12px;font-weight:500;
  letter-spacing:.06em;text-transform:uppercase;color:var(--mid);margin-bottom:12px;min-height:var(--tap)}
.backlink:hover{color:var(--charcoal)}
.backlink svg{width:14px;height:14px;stroke:currentColor;fill:none;stroke-width:2}

/* ---------- chips ---------- */
.chip{font-size:10px;font-weight:700;letter-spacing:.09em;text-transform:uppercase;
  padding:3px 9px;border-radius:99px;white-space:nowrap;
  background:var(--cream);color:var(--stone);border:1px solid var(--border)}
.chip.amber{background:rgba(239,159,39,.18);color:var(--amber-dark);border-color:transparent}
.chip.good{background:rgba(76,122,82,.15);color:var(--good);border-color:transparent}
.chip.warn{background:rgba(176,67,44,.13);color:var(--warn);border-color:transparent}

/* ---------- deal cards ---------- */
.dealcard{display:block;width:100%;text-align:left;background:var(--white);
  border:1px solid var(--border);border-radius:var(--radius-lg);padding:16px 17px;
  margin-bottom:11px;box-shadow:var(--shadow);transition:.16s}
.dealcard:hover{border-color:var(--amber);transform:translateY(-2px)}
.dealcard .row1{display:flex;align-items:baseline;justify-content:space-between;gap:12px;flex-wrap:wrap}
.dealcard .addr{font-family:var(--serif);font-size:21px;letter-spacing:-.01em}
.dealcard .price{font-family:var(--serif);font-size:20px;color:var(--mid);font-variant-numeric:tabular-nums}
.metaline{display:flex;flex-wrap:wrap;gap:8px 16px;margin-top:9px;font-size:12.5px;color:var(--stone)}
.metaline b{color:var(--mid);font-weight:500}

/* ---------- segmented control ---------- */
.seg{display:flex;gap:3px;background:var(--white);border:1px solid var(--border);
  border-radius:var(--radius);padding:3px;margin-bottom:18px;overflow-x:auto}
.seg button{flex:1;min-width:88px;padding:10px 12px;border-radius:6px;font-size:12px;
  font-weight:500;letter-spacing:.07em;text-transform:uppercase;color:var(--stone);
  white-space:nowrap;min-height:42px}
.seg button[aria-selected="true"]{background:var(--charcoal);color:var(--cream)}
@media(max-width:560px){
  .seg{gap:2px}
  .seg button{min-width:0;padding:9px 4px;font-size:10px;letter-spacing:.035em}
}

/* ---------- document rows ---------- */
.sectionhead{display:flex;align-items:baseline;gap:9px;margin:22px 0 9px}
.sectionhead h4{font-size:10px;letter-spacing:.2em;text-transform:uppercase;
  color:var(--stone);font-weight:700;margin:0}
.sectionhead .count{font-size:11px;color:var(--stone)}

.doc{display:flex;align-items:center;gap:13px;width:100%;text-align:left;background:var(--white);
  border:1px solid var(--border);border-radius:var(--radius);padding:14px 15px;
  margin-bottom:8px;transition:.15s;min-height:var(--tap)}
.doc:hover{border-color:var(--amber)}
.doc .ic{flex:none;width:36px;height:36px;border-radius:7px;display:grid;place-items:center;
  background:var(--cream);border:1px solid var(--border)}
.doc .ic svg{width:17px;height:17px;stroke:var(--stone);fill:none;stroke-width:1.5}
.doc[data-status="complete"] .ic{background:rgba(76,122,82,.12);border-color:rgba(76,122,82,.3)}
.doc[data-status="complete"] .ic svg{stroke:var(--good)}
.doc[data-status="out_for_signature"] .ic{background:rgba(239,159,39,.15);border-color:rgba(239,159,39,.4)}
.doc[data-status="out_for_signature"] .ic svg{stroke:var(--amber-deep)}
.doc .body{flex:1;min-width:0}
.doc .name{font-size:14.5px;font-weight:500;letter-spacing:-.005em}
.doc .subline{font-size:12px;color:var(--stone);margin-top:2px;
  display:flex;flex-wrap:wrap;gap:5px 10px;align-items:center}
.doc.doc-static{cursor:default}
.doc.doc-static:hover{border-color:var(--border)}
.docwhere{flex:none;max-width:82px;text-align:right;font-size:10px;font-weight:700;
  letter-spacing:.08em;line-height:1.25;text-transform:uppercase;color:var(--good)}
/* the chevron carries its own size: scoped only to .doc it collapsed to
   nothing elsewhere and the SVG grew to fill the row */
.chev{flex:none;width:15px;height:15px;stroke:var(--stone);fill:none;stroke-width:1.8}
.srctag{font-size:9.5px;font-weight:700;letter-spacing:.09em;text-transform:uppercase;
  border:1px solid var(--border);border-radius:99px;padding:1px 7px;color:var(--stone)}
.srctag.mls{border-color:rgba(239,159,39,.5);color:var(--amber-dark)}

/* ---------- sheet ---------- */
.scrim{position:fixed;inset:0;background:rgba(44,44,42,.5);z-index:80;
  opacity:0;pointer-events:none;transition:.2s}
.scrim.open{opacity:1;pointer-events:auto}
.sheet{position:fixed;z-index:90;background:var(--white);
  box-shadow:0 -8px 40px rgba(0,0,0,.24);transition:transform .24s cubic-bezier(.3,.9,.4,1)}
@media(min-width:861px){
  .sheet{top:0;right:0;bottom:0;width:min(470px,100%);transform:translateX(102%);
    border-left:1px solid var(--border);overflow-y:auto}
  .sheet.open{transform:translateX(0)}
  .sheet .grab{display:none}
}
@media(max-width:860px){
  .sheet{left:0;right:0;bottom:0;max-height:86vh;border-radius:16px 16px 0 0;
    transform:translateY(102%);overflow-y:auto}
  .sheet.open{transform:translateY(0)}
  .sheet .grab{width:36px;height:4px;border-radius:99px;background:var(--border);margin:10px auto 0}
}
.sheet .inner{padding:20px 20px calc(28px + env(safe-area-inset-bottom))}
.sheet h2{font-family:var(--serif);font-weight:400;font-size:24px;margin:6px 0 4px;letter-spacing:-.01em}
.sheet .close{position:absolute;top:14px;right:14px;width:var(--tap);height:var(--tap);
  border-radius:7px;display:grid;place-items:center;color:var(--stone)}
.sheet .close:hover{background:var(--cream);color:var(--charcoal)}
.sheet .close svg{width:17px;height:17px;stroke:currentColor;fill:none;stroke-width:2}

/* ---------- version list ---------- */
.designated{background:var(--cream);border:1px solid var(--border);
  border-left:3px solid var(--good);border-radius:0 var(--radius) var(--radius) 0;
  padding:13px 15px;margin:16px 0}
.designated .lbl{font-size:9.5px;letter-spacing:.18em;text-transform:uppercase;
  color:var(--good);font-weight:700}
.designated .val{font-size:15px;font-weight:500;margin-top:5px}
.designated .meta{font-size:12.5px;color:var(--stone);margin-top:2px}

.version{display:flex;gap:12px;padding:12px 0;border-top:1px solid var(--border);align-items:flex-start}
.version .dot{flex:none;width:9px;height:9px;border-radius:50%;background:var(--border);margin-top:6px}
.version[data-designated="true"] .dot{background:var(--good)}
.version .vbody{flex:1;min-width:0}
.version .vname{font-size:13.5px;font-weight:500}
.version .vmeta{font-size:11.5px;color:var(--stone);margin-top:1px}
.version .vnote{font-size:11px;color:var(--stone);font-style:italic;margin-top:2px}
.version .pick{flex:none}

/* ---------- forms ---------- */
.fieldset{background:var(--white);border:1px solid var(--border);border-radius:var(--radius-lg);
  padding:16px 17px;margin-bottom:13px;box-shadow:var(--shadow)}
.fieldset h3{font-size:10px;letter-spacing:.18em;text-transform:uppercase;
  color:var(--stone);font-weight:700;margin:0 0 13px}
.pathway-card{display:flex;align-items:center;justify-content:space-between;gap:18px;
  background:rgba(255,255,255,.58);border:1px solid var(--border);border-radius:var(--radius-lg);
  padding:14px 16px;margin-bottom:14px}
.pathway-copy{display:grid;gap:2px;min-width:0}
.pathway-copy strong{font-family:var(--serif);font-size:18px;font-weight:500;line-height:1.25}
.pathway-copy>span:not(.eyebrow){font-size:12.5px;color:var(--stone);line-height:1.45}
.pathway-card .btn{flex:none}
.field{margin-bottom:14px}
.field:last-child{margin-bottom:0}
.field label{display:block;font-size:12.5px;font-weight:500;color:var(--mid);margin-bottom:5px}
.field input,.field select,.field textarea{
  width:100%;font:inherit;font-size:16px;padding:12px 13px;min-height:var(--field);
  border:1px solid var(--border);border-radius:7px;background:var(--cream);color:inherit;outline:none}
.field input:focus,.field select:focus,.field textarea:focus{
  border-color:var(--amber);box-shadow:0 0 0 3px rgba(239,159,39,.18);background:var(--white)}
.field .hint{font-size:11.5px;color:var(--stone);margin-top:4px}
.prefill{display:inline-flex;align-items:center;font-size:10px;font-weight:700;
  letter-spacing:.07em;text-transform:uppercase;color:var(--amber-dark);
  background:rgba(239,159,39,.16);border-radius:99px;padding:2px 8px;margin-left:7px}
.grid2{display:grid;grid-template-columns:1fr 1fr;gap:12px}
@media(max-width:560px){ .grid2{grid-template-columns:1fr} }

.actionbar{position:sticky;bottom:0;background:linear-gradient(transparent,var(--cream) 28%);
  padding:20px 0 8px;display:flex;gap:10px;margin-top:6px}
@media(max-width:860px){ .actionbar{bottom:66px} }

/* ---------- wizard ---------- */
.stepbar{display:flex;gap:6px;margin-bottom:20px}
.stepbar div{flex:1;height:3px;border-radius:99px;background:var(--border)}
.stepbar div.done{background:var(--amber)}
.stepno{font-size:10px;letter-spacing:.2em;text-transform:uppercase;color:var(--stone);font-weight:700}
.choices{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.choices button{border:1px solid var(--border);background:var(--white);border-radius:var(--radius);
  padding:16px 14px;text-align:left;min-height:64px;transition:.15s}
.choices button[aria-pressed="true"]{border-color:var(--amber);background:rgba(239,159,39,.09);
  box-shadow:0 0 0 2px rgba(239,159,39,.2)}
.choices .ct{font-size:14.5px;font-weight:500}
.choices .cs{font-size:12px;color:var(--stone);margin-top:2px}

/* Your details: the managing-broker answer. Two columns squeeze "I am the
   managing broker" into a three-line sliver on a 375px phone, so this pair
   stacks and only splits once there is room for both to read as sentences. */
.brokerchoice{grid-template-columns:1fr}
@media(min-width:520px){ .brokerchoice{grid-template-columns:1fr 1fr} }
.profileform{max-width:620px}
.profilegaps{border-left:3px solid var(--amber)}
.profilegaps .owed{padding-left:0;list-style:none}
.profilegaps .owed li{margin:0}

/* ---------- dates ---------- */
.kpi{display:grid;grid-template-columns:repeat(auto-fit,minmax(132px,1fr));gap:10px;margin-bottom:20px}
.kpi>div{background:var(--white);border:1px solid var(--border);border-radius:var(--radius);padding:13px 14px}
.kpi .k{font-size:10px;letter-spacing:.14em;text-transform:uppercase;color:var(--stone);font-weight:700}
.kpi .v{font-family:var(--serif);font-size:22px;margin-top:3px;letter-spacing:-.01em}

.daterow{display:flex;align-items:flex-start;gap:12px;background:var(--white);
  border:1px solid var(--border);border-radius:var(--radius);padding:13px 15px;margin-bottom:7px}
.daterow[data-tone="critical"]{border-left:3px solid var(--warn)}
.daterow[data-tone="soon"]{border-left:3px solid var(--amber)}
.daterow[data-tone="past"]{opacity:.62}
.daterow .when{flex:none;width:96px}
.daterow .when .d{font-family:var(--serif);font-size:17px;letter-spacing:-.01em;line-height:1.15}
.daterow .when .dow{font-size:10.5px;color:var(--stone);margin-top:1px}
.daterow .dbody{flex:1;min-width:0}
.daterow .dname{font-size:14px;font-weight:500}
.daterow .drule{font-size:11.5px;color:var(--stone);margin-top:3px;line-height:1.45}
.cite{display:inline-block;font-size:10px;color:var(--stone);background:var(--cream);
  border:1px solid var(--border);border-radius:4px;padding:0 5px;margin-left:5px;
  font-family:ui-monospace,Menlo,monospace}
@media(max-width:560px){
  .daterow{flex-direction:column;gap:6px}
  .daterow .when{width:auto;display:flex;align-items:baseline;gap:8px}
}

/* ---------- negotiation rounds ---------- */
.roundcard{background:var(--white);border:1px solid var(--border);border-radius:var(--radius-lg);
  padding:15px 16px;margin-bottom:11px;box-shadow:var(--shadow)}
.roundcard[data-status="accepted"]{border-left:3px solid var(--good)}
.roundcard[data-status="open"]{border-left:3px solid var(--amber)}
.roundcard[data-status="declined"],.roundcard[data-status="withdrawn"]{opacity:.6}
.roundhead{display:flex;align-items:center;gap:9px;flex-wrap:wrap;margin-bottom:8px}
.rwho{font-size:12px;font-weight:700;letter-spacing:.07em;text-transform:uppercase}
.rwho.us{color:var(--amber-deep)}
.rwho.them{color:var(--mid)}
.rmeta{font-size:11.5px;color:var(--stone)}
.roundhead .chip{margin-left:auto}
.rprice{font-family:var(--serif);font-size:24px;letter-spacing:-.01em;margin:2px 0 7px}
.rnote{font-size:12px;color:var(--stone);font-style:italic;margin-top:8px;
  border-top:1px solid var(--border);padding-top:8px}
.ractions{display:flex;gap:8px;flex-wrap:wrap;margin-top:11px}

.deltarow{display:flex;justify-content:space-between;gap:12px;padding:5px 0;font-size:13px}
.deltarow .dlabel{color:var(--stone)}
.deltarow .dvals{text-align:right}
.deltarow .dvals s{color:var(--stone);margin-right:2px}
.deltarow.muted .dvals{color:var(--stone);font-size:12px}

/* ---------- address suggestions ---------- */
.suggestwrap{position:relative}
.suggestions{position:absolute;left:0;right:0;top:100%;z-index:30;background:var(--white);
  border:1px solid var(--border);border-radius:0 0 var(--radius) var(--radius);
  box-shadow:0 10px 26px rgba(44,44,42,.14);overflow:hidden}
.suggestions button{display:block;width:100%;text-align:left;padding:12px 14px;
  font-size:14px;min-height:var(--tap);border-top:1px solid var(--border)}
.suggestions button:first-child{border-top:none}
.suggestions button:hover{background:var(--cream)}
.verified-hint{color:var(--good);font-weight:500}

/* ---------- form error bar ---------- */
.formbar{background:rgba(176,67,44,.1);border:1px solid rgba(176,67,44,.35);color:var(--warn);
  border-radius:8px;padding:11px 14px;font-size:13px;margin-bottom:12px}
.field textarea{width:100%;font:inherit;font-size:16px;padding:12px 13px;
  border:1px solid var(--border);border-radius:7px;background:var(--cream);color:inherit;
  outline:none;resize:vertical}
.field textarea:focus{border-color:var(--amber);box-shadow:0 0 0 3px rgba(239,159,39,.18);background:var(--white)}

/* review fixes: real touch targets and the iPhone home-indicator gap */
.seg button{min-height:var(--tap)}
.suggestions{max-height:240px;overflow-y:auto}
@media(max-width:860px){
  .actionbar{bottom:calc(66px + env(safe-area-inset-bottom))}
  .btn.sm{min-height:var(--tap)}
}
.savewarn{font-size:11px;color:var(--warn);padding:8px 10px}

/* ---------- signing guidance ---------- */
.signguide{margin-top:11px;border-top:1px solid var(--border);padding-top:9px;font-size:12.5px}
.signguide summary{cursor:pointer;color:var(--amber-deep);font-weight:500;min-height:32px;
  display:flex;align-items:center;list-style:none}
.signguide summary::before{content:'';width:6px;height:6px;border-right:1.5px solid currentColor;
  border-bottom:1.5px solid currentColor;transform:rotate(-45deg);margin-right:8px;transition:.15s}
.signguide[open] summary::before{transform:rotate(45deg)}
.sg-path{margin:8px 0 4px;color:var(--mid)}
.sg-path ul{margin:4px 0 0;padding-left:18px}
.sg-path li{margin:2px 0}

/* ---------- sync banner ---------- */
.syncbar{position:fixed;top:0;left:0;right:0;z-index:200;background:var(--amber);
  color:var(--charcoal);font-size:13px;padding:9px 16px;text-align:center;cursor:pointer}

/* ---------- a signing link the operator must be able to copy ---------- */
.linkbox{background:var(--cream);border:1px solid var(--border);border-radius:var(--radius);
  padding:12px 14px;margin:8px 0 12px}
.linkfield{width:100%;font:inherit;font-size:12px;font-family:ui-monospace,Menlo,monospace;
  padding:9px 10px;border:1px solid var(--border);border-radius:6px;background:var(--white);
  color:var(--charcoal);margin-top:6px}
.linkactions{display:flex;gap:8px;flex-wrap:wrap;margin-top:9px}
.touchlink{display:inline-flex;align-items:center;min-height:var(--tap);padding:0 4px;
  color:var(--amber-deep);font-weight:500;text-decoration:underline}
.linkbtn{font-size:11.5px;font-weight:500;color:var(--amber-deep);text-decoration:underline;
  margin-left:9px;min-height:var(--tap);padding:0 2px}
.linkbtn:hover{color:var(--amber-dark)}

/* ---------- a document and its whole life ---------- */
.document-group{margin:24px 0 18px}
.document-group__head{display:flex;align-items:center;justify-content:space-between;gap:14px;
  margin:0 2px 11px}
.document-group__head>div{display:grid;gap:2px;min-width:0}
.document-group__head h3,.document-catalog__title{font-family:var(--serif);font-size:21px;
  line-height:1.2;font-weight:500;color:var(--charcoal);margin:0}
.document-group--required>.document-group__head{padding-left:10px;border-left:3px solid var(--amber)}
.document-catalog{background:rgba(255,255,255,.55);border:1px solid var(--border);
  border-radius:var(--radius-lg);padding:13px 15px;margin:22px 0 18px}
.document-catalog>summary{cursor:pointer;list-style:none;margin:0;min-height:44px;justify-content:flex-start}
.document-catalog>summary .chip{margin-left:auto}
.document-catalog>summary::-webkit-details-marker{display:none}
.document-catalog>summary::after{content:'+';font-size:20px;color:var(--stone);margin-left:2px}
.document-catalog[open]>summary::after{content:'−'}
.document-catalog__note{margin:2px 2px 12px}
.document-catalog__items{padding-top:2px}
.lineage{background:var(--white);border:1px solid var(--border);border-radius:var(--radius-lg);
  padding:15px 16px;margin-bottom:11px;box-shadow:var(--shadow)}
.lineage[data-origin="upload"]{background:var(--cream)}
.lineage-head{display:flex;gap:12px;align-items:center;margin-bottom:4px}
.lineage-head .ic{flex:none;width:34px;height:34px;border-radius:7px;display:grid;place-items:center;
  background:var(--cream);border:1px solid var(--border)}
.lineage[data-origin="upload"] .lineage-head .ic{background:var(--white)}
.lineage-head .ic svg{width:16px;height:16px;stroke:var(--stone);fill:none;stroke-width:1.5}
.lh-body{flex:1;min-width:0}
.lineage .name{font-size:14.5px;font-weight:500}

.lineage-version{display:flex;align-items:flex-start;gap:11px;padding:9px 0 9px 6px;
  text-decoration:none;color:inherit;border-top:1px solid var(--border);margin-top:8px;
  min-height:var(--tap)}
.lineage-version:first-of-type{margin-top:10px}
.lineage-version:hover{background:var(--cream);border-radius:6px}
.lineage-version.blank .lv-label{color:var(--mid)}
.lv-open{display:flex;align-items:flex-start;gap:11px;flex:1;min-width:0;
  color:inherit;text-decoration:none}
.lv-open-icon{display:grid;place-items:center;flex:none;min-width:24px;min-height:24px;
  color:inherit;text-decoration:none}
.lv-dot{flex:none;width:8px;height:8px;border-radius:50%;background:var(--border);margin-top:6px}
.lv-dot.current{background:var(--good);box-shadow:0 0 0 3px rgba(76,122,82,.16)}
.lv-body{flex:1;min-width:0}
.lv-label{display:block;font-size:13.5px;font-weight:500}
.lv-label .chip{margin-left:7px}
.lv-meta{display:block;font-size:11.5px;color:var(--stone);margin-top:2px}
.lv-record{flex:none;align-self:center;font-size:11px;font-weight:600;color:var(--stone);
  text-decoration:underline;text-decoration-color:var(--border);text-underline-offset:3px;
  white-space:nowrap}
.lv-record:hover{color:var(--charcoal);text-decoration-color:currentColor}
.lineage-note{font-size:12px;color:var(--stone);margin:9px 0 0;line-height:1.5}

.archive-group{margin-top:28px;border-top:1px solid var(--border);padding-top:4px}
.archive-group>summary{display:flex;align-items:center;justify-content:space-between;gap:12px;
  padding:14px 4px;cursor:pointer;font-size:12px;font-weight:700;letter-spacing:.08em;
  text-transform:uppercase;color:var(--stone)}
.archive-group>summary .count{margin-left:auto}
.archive-retention-note{margin:0 4px 12px;max-width:760px;line-height:1.5}
.archive-records .dealcard{opacity:.82}

/* The filled contract, shown in the page while its terms are still editable. */
.docframe{width:100%;height:min(62vh,620px);border:1px solid var(--border);
  border-radius:var(--radius);background:var(--cream)}
.fieldset details{border-top:1px solid var(--border);padding:6px 0 10px}
.fieldset details:first-of-type{border-top:none}
.fieldset summary{cursor:pointer;font-size:12px;font-weight:700;letter-spacing:.08em;
  text-transform:uppercase;color:var(--stone);padding:6px 0;list-style-position:inside}
.fieldset summary:hover{color:var(--charcoal)}

/* Per-document actions and the not-applying state. */
.lineage-actions{display:flex;gap:8px;flex-wrap:wrap;margin-top:10px}
.lineage-actions .btn.subtle{color:var(--stone);border-color:var(--border)}
.lineage.na{opacity:.55}
.lineage.na .name{text-decoration:line-through;text-decoration-color:var(--stone)}
.addline{display:flex;gap:8px}
.addline input{flex:1;min-width:0}

/* The counter's pick-first rows. */
.counterrow{border:1px solid var(--line,#D3D1C7);border-radius:8px;margin-bottom:8px;overflow:hidden}
.counterrow.on{border-color:var(--amber,#EF9F27)}
.counterpick{display:flex;align-items:flex-start;gap:11px;padding:11px 14px;cursor:pointer}
.counterpick input{margin-top:3px;accent-color:var(--amber,#EF9F27)}
.counterpick .cbody{display:flex;flex-direction:column;gap:1px}
.counterpick .clabel{font-weight:500}
.counterpick .cval{font-size:12.5px;color:var(--stone,#888780)}
.counterrow.on .cval{color:var(--amber-dark,#854F0B);font-weight:500}
.counteredit{padding:2px 14px 12px;border-top:1px dashed var(--line,#D3D1C7)}

/* The fully-executed selection on a version row. */
.lv-mark{flex:none;font:inherit;font-size:11px;font-weight:500;letter-spacing:.03em;
  color:var(--stone,#888780);background:transparent;border:1px solid var(--border,#D3D1C7);
  border-radius:99px;padding:3px 10px;cursor:pointer;margin-left:8px}
.lv-mark:hover{color:var(--charcoal,#2C2C2A);border-color:var(--stone,#888780)}
.lv-mark.on{background:rgba(76,122,82,.14);color:var(--good,#4C7A52);border-color:transparent}

/* Bundle splitting rows. */
.splitrow{display:flex;gap:8px;margin-bottom:8px}
.splitrow select{flex:1;min-width:0}

/* Question numbers on the offer walk. */
.qnum{color:var(--amber-dark,#854F0B);font-weight:700;font-variant-numeric:tabular-nums;margin-right:2px}

/* Required elections on the offer walk. */
.reqtag{font-size:9px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;
  color:var(--amber-dark,#854F0B);background:rgba(239,159,39,.16);
  padding:1px 6px;border-radius:99px;vertical-align:1px}

/* The signing map: pages rendered in-app with each signer's spots drawn on. */
.maphead{margin-bottom:12px}
.maphead.editable{position:sticky;top:0;z-index:6;background:var(--white);
  border:1px solid var(--border);border-radius:8px;padding:10px;box-shadow:var(--shadow)}
.maplegend{display:inline-flex;align-items:center;gap:6px;margin-right:12px;font-size:12.5px;
  font-weight:500}
.maplegend::before{content:'';width:12px;height:12px;border-radius:3px;background:var(--who)}
.maplegend small{color:var(--stone,#888780);font-weight:400}
.mappagesviewport{width:100%;max-width:100%;overflow-x:auto;overscroll-behavior-inline:contain;
  padding-bottom:4px}
.mappages{width:100%;min-width:100%}
.mappages .mappage{width:100%}
.mappage{position:relative;margin-bottom:14px;border:1px solid var(--line,#D3D1C7);
  border-radius:6px;overflow:hidden;background:#fff}
.mappage canvas{display:block;width:100%!important;height:auto!important}
.mapdoc{position:absolute;top:8px;left:8px;z-index:2;background:var(--charcoal,#2C2C2A);
  color:var(--cream,#F1EFE8);font-size:10px;font-weight:700;letter-spacing:.12em;
  text-transform:uppercase;padding:4px 10px;border-radius:99px;opacity:.92}
.mapoverlay{position:absolute;inset:0}
.mappage canvas + .mapoverlay{top:0}
.mapspot{position:absolute;border:2px solid var(--who);background:color-mix(in srgb, var(--who) 16%, transparent);
  border-radius:3px;min-height:10px}
.mapspot span{position:absolute;top:-16px;left:-2px;font-size:9px;font-weight:700;
  letter-spacing:.04em;color:#fff;background:var(--who);padding:1px 6px;border-radius:3px;
  white-space:nowrap}

/* Out-for-signature strip on a round card. */
.outstrip{background:rgba(239,159,39,.12);border:1px solid rgba(239,159,39,.35);
  border-radius:6px;padding:7px 11px;margin-bottom:10px;color:var(--amber-dark,#854F0B)}

/* Three-up anchor date fields. */
.grid3{display:grid;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:10px}

/* The round card's one question and its answers */
.rask{flex-direction:column;align-items:stretch;gap:7px}
.rasklabel{font-size:10px;letter-spacing:.14em;text-transform:uppercase;font-weight:700;color:var(--stone)}
.raskrow{display:flex;gap:8px;flex-wrap:wrap;align-items:center}
.raskrow[data-sendrow]{border-top:1px dashed var(--border);padding-top:8px;margin-top:2px}
.linkbtn.subtle{color:var(--stone)}

/* A round signed by our side reads as a stage, not a hint */
.signedstage{border-left:3px solid var(--good)}
.stagechip{display:inline-block;font-size:10px;letter-spacing:.14em;text-transform:uppercase;
  font-weight:700;color:var(--good)}

/* The map as editor */
.maptools{display:flex;gap:7px;flex-wrap:wrap;align-items:center;margin-top:9px}
.maptools .btn.armed{background:var(--amber);color:var(--charcoal)}
.mapselbar{display:flex;gap:7px;flex-wrap:wrap;align-items:center;margin-top:9px;
  padding:8px 10px;background:var(--white);border:1px solid var(--border);border-radius:6px}
.mapspot.editable{appearance:none;padding:0;font:inherit;text-align:left;color:inherit;cursor:grab}
.mapspot.editable:active{cursor:grabbing}
.mapspot.editable:focus-visible{outline:3px solid var(--charcoal);outline-offset:3px;z-index:4}
.mapspot.selected{outline:2px solid var(--who);outline-offset:2px;z-index:3}
.mapspot.editable::after{content:'';position:absolute;inset:-14px -8px}
.mapnudges{display:inline-flex;gap:4px}
.mapnudges .btn{min-width:var(--tap);padding:8px}
.mapreviewtools{display:flex;gap:7px;align-items:center;flex-wrap:wrap;margin-top:10px;
  padding-top:9px;border-top:1px solid var(--border)}
.mapspotposition{min-width:78px;text-align:center;font-size:12px;color:var(--stone)}
.mapzoom{display:inline-flex;gap:5px;align-items:center;margin-left:auto}
.mapzoom .btn{min-width:var(--tap);padding:8px}
.mapzoom [data-zoom-label]{min-width:44px;text-align:center;font-size:12px;
  font-variant-numeric:tabular-nums;color:var(--stone)}

/* what a file still owes */
.owed{margin:0 0 4px;padding-left:18px}
.owed li{margin:3px 0;font-size:14px}
.owed li a{color:var(--charcoal);font-weight:500;display:inline-flex;align-items:center;
  min-height:var(--tap);padding:3px 0}
.owed .cite{margin-left:6px}

/* Hand-placed tools */
.maptext{flex:1;min-width:140px;padding:9px;border:1px solid var(--border);border-radius:4px;
  min-height:var(--tap);font:16px var(--sans);background:var(--white);color:var(--charcoal)}
.signsendbar{position:relative;z-index:1;display:grid;grid-template-columns:1fr 1fr;gap:8px;
  background:var(--white);border-top:1px solid var(--border);padding:14px 0 0;margin-top:14px}
.flowstep{display:grid;grid-template-columns:34px minmax(0,1fr);gap:10px;align-items:start}
.stepbadge{width:30px;height:30px;border-radius:50%;display:grid;place-items:center;
  background:var(--charcoal);color:var(--cream);font-weight:700;font-size:13px;margin-top:14px}
.nextcard{border-left:3px solid var(--amber)}

/* ---------- one calm pathway through Overview ---------- */
.next-step-flow{display:grid;gap:18px}
.next-step-primary{position:relative;overflow:hidden;background:var(--white);
  border:1px solid var(--border);border-top:3px solid var(--amber);
  border-radius:var(--radius-lg);padding:22px 23px;margin:0;box-shadow:var(--shadow)}
.next-step-primary.nextcard{border-left:1px solid var(--border)}
.next-step-primary--complete{border-top-color:var(--good)}
.next-step-kicker{font-size:10px;line-height:1.3;font-weight:700;letter-spacing:.2em;
  text-transform:uppercase;color:var(--amber-dark);margin-bottom:5px}
.next-step-primary--complete .next-step-kicker{color:var(--good)}
.next-step-primary h2,.next-step-support h2{font-family:var(--serif);font-weight:500;
  color:var(--charcoal);letter-spacing:-.01em;margin:0}
.next-step-primary h2{font-size:clamp(23px,3vw,28px);line-height:1.18}
.next-step-primary__help{font-size:13px;max-width:66ch;margin:6px 0 0}
.next-step-actions{display:grid;gap:9px;margin-top:17px}
.next-step-actions__primary{gap:9px}
.next-step-actions__alternate{border-top:1px dashed var(--border);padding-top:10px}
.next-step-actions .rasklabel{margin-bottom:-2px}

.next-step-sequence{display:grid;gap:11px;margin-top:18px}
.next-step-sequence__item{position:relative}
.next-step-sequence__item:not(:last-child)::after{content:'';position:absolute;left:14px;
  top:44px;bottom:-12px;width:1px;background:var(--border)}
.next-step-sequence__item>.fieldset,.next-step-start-offer{margin:0;box-shadow:none}
.next-step-start-offer{border-color:var(--border);background:var(--cream)}

.next-step-support-group{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));
  align-items:start;gap:12px}
.next-step-support{background:rgba(255,255,255,.66);border:1px solid var(--border);
  border-radius:var(--radius-lg);padding:17px 18px;margin:0;box-shadow:none}
.next-step-support.fieldset{margin-bottom:0}
.next-step-support h2{font-size:20px;line-height:1.22}
.next-step-section-head{display:flex;align-items:flex-start;justify-content:space-between;
  gap:14px;margin-bottom:11px}
.next-step-section-head .btn{flex:none}
.next-step-readiness>[data-bba-step]{margin-top:11px}
.next-step-readiness__card{background:var(--white);box-shadow:none;margin:0;padding:14px 15px}
.next-step-readiness__card h3{margin-bottom:7px}
.next-step-readiness__card .hint{margin:5px 0 10px}

.next-step-signing__list{display:grid;gap:8px}
.next-step-signing__row{display:flex;align-items:center;justify-content:space-between;gap:12px;
  border-top:1px solid var(--border);padding-top:10px}
.next-step-signing__row:first-child{border-top:0;padding-top:0}
.next-step-signing__copy{min-width:0}
.next-step-signing__copy .metaline{margin:0;align-items:center;gap:7px}
.next-step-signing__copy .hint{margin:5px 0 0}
.next-step-signing__link{white-space:nowrap}
.next-step-summary{min-width:0}
.next-step-summary .designated{height:100%;margin:0;background:rgba(255,255,255,.66);
  border-radius:var(--radius-lg);padding:17px 18px}

.next-step-history{margin:0;padding:0;background:rgba(255,255,255,.48);box-shadow:none}
.next-step-history>details>summary{display:flex;align-items:center;justify-content:space-between;
  gap:12px;min-height:54px;padding:4px 17px;cursor:pointer;list-style:none;
  font-family:var(--serif);font-size:18px;font-weight:500;color:var(--mid)}
.next-step-history>details>summary::-webkit-details-marker{display:none}
.next-step-history>details>summary::after{content:'+';font-family:var(--sans);font-size:20px;
  font-weight:400;color:var(--stone)}
.next-step-history>details[open]>summary::after{content:'−'}
.next-step-history__rounds{display:grid;gap:10px;border-top:1px solid var(--border);
  padding:13px 14px 14px}
.next-step-history__rounds .roundcard{margin:0;box-shadow:none}

@media(max-width:560px){
  .pathway-card{align-items:stretch;flex-direction:column;gap:11px}
  .pathway-card .btn{width:100%}
  .next-step-flow{gap:14px}
  .next-step-primary{padding:18px 16px}
  .next-step-support-group{grid-template-columns:1fr;gap:10px}
  .next-step-support{padding:15px 14px}
  .next-step-section-head{align-items:stretch;flex-direction:column;gap:10px}
  .next-step-section-head .btn{width:100%}
  .next-step-actions__primary,.next-step-actions__alternate{display:grid;grid-template-columns:1fr;
    align-items:stretch;width:100%}
  .next-step-actions__primary .btn,.next-step-actions__alternate .btn{width:100%}
  .next-step-actions__alternate .linkbtn{min-height:var(--tap);text-align:left}
  .next-step-signing__row{align-items:flex-start;flex-direction:column}
  .next-step-signing__link{width:100%}
  .next-step-history>details>summary{padding:4px 14px}
  .next-step-history__rounds{padding:11px}
  .linkfield{font-size:16px}
  .lv-mark{min-height:var(--tap);font-size:13px;padding:8px 12px}
  .lineage-version{flex-wrap:wrap}
  .lv-record{margin-left:19px;min-height:32px;display:inline-flex;align-items:center}
  .signsendbar{grid-template-columns:1fr}
  .mapzoom{margin-left:0}
}
.maptools .btn.armed{background:var(--charcoal);color:var(--cream);border-color:var(--charcoal);
  box-shadow:0 0 0 3px rgba(239,159,39,.45)}
.mapoverlay.armed{cursor:crosshair}

/* Attach at the question */
.attachrow{display:flex;align-items:center;gap:10px;flex-wrap:wrap;padding:8px 10px;margin:-6px 0 12px;
  background:var(--cream);border:1px dashed var(--border);border-radius:6px}
.attachrow .abody{flex:1;min-width:180px;display:flex;flex-direction:column;gap:2px}
.attachrow .aname{font-size:13.5px;color:var(--charcoal);font-weight:500}
.attachrow .astate{font-size:12px;color:var(--stone)}
.attachrow .aactions{display:flex;gap:8px;align-items:center}

/* Questions that belong to one selected attachment. They read as part of
   that document, not as a second surprise wizard after the offer. */
.formquestions{margin:-7px 0 16px;padding:14px 14px 4px;border:1px solid var(--border);
  border-top:3px solid var(--amber);border-radius:0 0 8px 8px;background:var(--white)}
.formquestions .fqhead{display:flex;align-items:baseline;gap:8px;flex-wrap:wrap;margin-bottom:10px}
.formquestions .fqhead b{font-family:var(--serif);font-size:17px;font-weight:500;color:var(--charcoal)}
.formquestions .fqhead span{font-size:12px;color:var(--stone)}
.formquestions .field{margin-bottom:12px}

/* The envelope control card */
.envcard .signerline{padding:9px 0;border-top:1px solid var(--border)}
.envcard .signerwho{font-size:14px;color:var(--charcoal);margin-bottom:4px}
.envcard .signertl{display:flex;flex-wrap:wrap;gap:4px 6px;align-items:center;font-size:12px;color:var(--stone)}
.envcard .tl{padding:2px 8px;border-radius:999px;background:var(--cream);border:1px solid var(--border)}
.envcard .tl.on{background:var(--charcoal);color:var(--cream);border-color:var(--charcoal)}
.envcard .tl small{font-weight:400;opacity:.8;margin-left:4px}
.envcard .tlsep{color:var(--border)}
.envcard .envhistory{margin-top:8px;border-top:1px dashed var(--border)}
.envcard[data-state="voided"]{opacity:.62}
.envcard[data-state="voided"] .tl.on{background:var(--stone);border-color:var(--stone)}

/* ---------- dedicated signing workspace ---------- */
.signing-home{display:grid;gap:18px}
.signing-home__header{display:flex;align-items:center;justify-content:space-between;gap:22px;
  margin:0;padding:20px 21px;background:var(--white);border:1px solid var(--border);
  border-top:3px solid var(--amber);border-radius:var(--radius-lg);box-shadow:var(--shadow)}
.signing-home__intro{display:grid;gap:3px;max-width:610px}
.signing-home__intro .grouplabel,.signing-card__eyebrow{font-size:10px;font-weight:700;
  letter-spacing:.18em;text-transform:uppercase;color:var(--amber-dark)}
.signing-home__intro h2{font-family:var(--serif);font-size:27px;font-weight:400;
  letter-spacing:-.01em;text-transform:none;color:var(--charcoal);margin:0}
.signing-home__intro .hint{margin:2px 0 0;font-size:13px;color:var(--mid)}
.signing-home__start{flex:none}

.signing-home__routes{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
.signing-home__route{display:grid;grid-template-rows:auto auto 1fr auto;gap:6px;min-width:0;
  background:var(--white);border:1px solid var(--border);border-radius:var(--radius-lg);
  padding:17px 18px;box-shadow:var(--shadow)}
.signing-home__route--transaction{border-top:3px solid var(--amber)}
.signing-home__route--custom{border-top:3px solid var(--charcoal)}
.signing-home__route h3{font-family:var(--serif);font-size:21px;font-weight:500;line-height:1.2;
  color:var(--charcoal);margin:0}
.signing-home__route p{font-size:12.5px;line-height:1.5;color:var(--mid);margin:0 0 7px}
.signing-home__route .btn{justify-self:start}

.signing-home__path{list-style:none;counter-reset:none;display:grid;grid-template-columns:repeat(3,1fr);
  gap:0;margin:0;padding:0;background:var(--white);border:1px solid var(--border);
  border-radius:var(--radius-lg);overflow:hidden;box-shadow:var(--shadow)}
.signing-home__path-step{display:grid;grid-template-columns:30px minmax(0,1fr);gap:10px;
  align-items:start;padding:15px 16px;min-width:0}
.signing-home__path-step+ .signing-home__path-step{border-left:1px solid var(--border)}
.signing-home__path-step>span{width:28px;height:28px;display:grid;place-items:center;border-radius:50%;
  background:rgba(239,159,39,.16);color:var(--amber-dark);font-size:12px;font-weight:700}
.signing-home__path-step div{display:grid;gap:2px;min-width:0}
.signing-home__path-step b{font-size:13px;color:var(--charcoal)}
.signing-home__path-step small{display:block;font-size:11.5px;line-height:1.4;color:var(--stone)}

.signing-home__counts{display:flex;align-items:center;gap:8px;flex-wrap:wrap}
.signing-home__counts>span{display:inline-flex;align-items:baseline;gap:5px;background:var(--white);
  border:1px solid var(--border);border-radius:999px;padding:6px 11px;color:var(--stone);
  font-size:12px}
.signing-home__counts b{font-size:15px;color:var(--charcoal);font-variant-numeric:tabular-nums}
.signing-home__empty{background:var(--white);border:1px dashed var(--border);
  border-radius:var(--radius-lg);padding:24px;text-align:center}
.signing-home__empty p{margin:3px 0}
.signing-home__group{display:grid;gap:9px;margin:0}
.signing-home__group-head{display:flex;align-items:center;justify-content:space-between;gap:12px;
  min-height:40px;margin:0;padding:0 2px}
.signing-home__group-head h3,.signing-home__group--closed>summary>span:first-child{
  font-family:var(--serif);font-size:21px;font-weight:500;color:var(--charcoal)}
.signing-home__group-note{margin:-6px 2px 1px}
.signing-home__cards{display:grid;gap:11px}
.signing-home__group--closed{border-top:1px solid var(--border);padding-top:9px}
.signing-home__group--closed>summary{cursor:pointer;list-style:none}
.signing-home__group--closed>summary::-webkit-details-marker{display:none}

.signing-card{padding:16px 17px;overflow:hidden}
.signing-card--sent,.signing-card--paper,.signing-card--expired{border-left:3px solid var(--amber)}
.signing-card--completed{border-left:3px solid var(--good)}
.signing-card__summary{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:4px 12px;
  align-items:center;margin:0}
.signing-card__eyebrow{grid-column:1}
.signing-card__status{grid-column:2;grid-row:1;margin-left:0!important;justify-self:end}
.signing-card__title{grid-column:1;font-family:var(--serif);font-size:20px;font-weight:500;
  line-height:1.2;margin:2px 0 0;color:var(--charcoal)}
.signing-card__sent{grid-column:1;color:var(--stone)}
.signing-card__summary>.chip:not(.signing-card__status){grid-column:2;grid-row:2 / span 2;
  margin-left:0!important;justify-self:end}
.signing-card__progress{grid-column:1 / -1;margin:8px 0 1px;font-size:12.5px;color:var(--mid)}
.signing-card__documents{grid-column:1 / -1;margin:0;padding:7px 0 0;font-style:normal;
  line-height:1.45}
.signing-card__people{grid-column:1 / -1;display:grid;
  grid-template-columns:repeat(auto-fit,minmax(210px,1fr));gap:7px;margin-top:8px}
/* Title, then name, then address, with the stage chip held beside all three.
   The old single row put the name and the email shoulder to shoulder and
   clipped the name first, so two rows for the same household read alike. */
.signing-card__person{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:1px 9px;
  align-items:start;min-width:0;background:var(--cream);border:1px solid var(--border);
  border-radius:7px;padding:8px 9px;font-size:12.5px}
.signing-card__role{grid-column:1;grid-row:1;font-size:9.5px;letter-spacing:.13em;
  text-transform:uppercase;font-weight:700;color:var(--stone);line-height:1.5}
.signing-card__person>.chip{grid-column:2;grid-row:1 / span 3;justify-self:end;
  align-self:center;margin-left:0!important}
.signing-card__name{grid-column:1;font-weight:500;color:var(--charcoal);
  overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.signing-card__email{grid-column:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.signing-card__delivery-summary{grid-column:1;font-size:10.5px;font-weight:700;line-height:1.4}
.signing-card__delivery-summary.warn{color:var(--warn)}
.signing-card__delivery-summary.amber{color:var(--amber-dark)}
.signing-card__execution-review{margin-top:11px;padding:10px 11px;border-left:3px solid var(--amber);
  background:rgba(239,159,39,.08);font-size:12px;line-height:1.5}
.signing-card__execution-review b{display:block;margin-bottom:2px;color:var(--charcoal)}
.signing-card__primary{margin-top:13px}
.signing-card__primary-action{min-width:170px}
.signing-card__admin{border-top:1px solid var(--border);margin-top:12px;padding-top:10px}
.signing-card__admin>summary{cursor:pointer;list-style:none;width:max-content;max-width:100%}
.signing-card__admin>summary::-webkit-details-marker{display:none}
.signing-card__admin>summary::after{content:'+';font-size:16px;line-height:1;margin-left:2px}
.signing-card__admin[open]>summary::after{content:'−'}
.signing-card__signers{margin-top:10px}
.signing-card__delivery{display:flex;align-items:flex-start;gap:8px;margin:7px 0}
.signing-card__delivery>.chip{flex:0 0 auto;margin:1px 0 0}
.signing-card__delivery>.hint{margin:0;line-height:1.45}
.signing-card__delivery--warn,.signing-card__delivery--amber{padding:8px 9px;border-radius:6px}
.signing-card__delivery--warn{background:rgba(176,67,44,.07)}
.signing-card__delivery--amber{background:rgba(239,159,39,.09)}
.signing-card__secondary-actions{padding-top:4px}
.signing-card__history .deltarow{border-top:1px solid var(--border)}

/* A one-off packet is a short, numbered walk: choose, place, review. */
.signing-compose--custom{display:grid;gap:0}
.esign-ceremony-note{margin:0 0 15px;padding:10px 12px;border-radius:7px;
  background:var(--cream);border:1px solid var(--border);font-size:12px;line-height:1.45;
  color:var(--mid)}
.esign-step{position:relative;margin:0;padding:18px 0;border-top:1px solid var(--border)}
.esign-step:first-of-type{border-top:0;padding-top:4px}
.esign-step__head{display:grid;grid-template-columns:32px minmax(0,1fr) auto;gap:10px;
  align-items:start;margin-bottom:12px}
.esign-step__number{width:30px;height:30px;display:grid;place-items:center;border-radius:50%;
  background:var(--charcoal);color:var(--cream);font-size:12px;font-weight:700}
.esign-step__head h3{font-family:var(--serif);font-size:19px;font-weight:500;line-height:1.2;
  color:var(--charcoal);margin:1px 0 2px}
.esign-step__head .hint{margin:0;line-height:1.45}
.esign-step__head>[data-selected-count]{align-self:center;white-space:nowrap}
.esign-step.is-pending{opacity:.72}

.esign-document-list{display:grid;gap:7px}
.esign-document{display:grid;grid-template-columns:auto minmax(0,1fr) auto;gap:10px;
  align-items:center;min-height:54px;padding:10px 11px;background:var(--white);
  border:1px solid var(--border);border-radius:8px;cursor:pointer}
.esign-document:has(input:checked){border-color:var(--amber);background:rgba(239,159,39,.08);
  box-shadow:inset 3px 0 0 var(--amber)}
.esign-document.is-unavailable{cursor:not-allowed;background:var(--cream);border-style:dashed}
.esign-document.is-unavailable input{cursor:not-allowed}
.esign-document.is-unavailable .esign-document__title{color:var(--mid)}
.esign-document input{width:18px;height:18px;accent-color:var(--amber-dark)}
.esign-document__copy{display:grid;gap:2px;min-width:0}
.esign-document__title{font-size:13.5px;font-weight:600;color:var(--charcoal)}
.esign-document__version,.esign-document__date{font-size:11.5px;line-height:1.35;color:var(--stone);
  overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.esign-document__date{font-size:10.5px}
.esign-document__blocked-note{margin-top:3px;font-size:11.5px;line-height:1.4;color:var(--mid)}
.esign-document-add{display:block;margin:10px 1px 0;text-align:left}
.esign-document-empty,.esign-map-empty{padding:18px;text-align:center;border:1px dashed var(--border);
  border-radius:8px;background:var(--cream)}
.esign-document-empty p,.esign-map-empty p{margin:5px 0 11px}
.esign-step__signers{margin-bottom:11px}
.signing-compose--custom .signerpick{margin-top:7px;padding:10px 11px!important;
  border:1px solid var(--border);border-radius:8px;background:var(--cream);cursor:default}
.signing-compose--custom .signerpick.is-selected{border-color:rgba(76,122,82,.55);
  background:rgba(76,122,82,.07)}
.signerpick__toggle{width:18px;height:18px;flex:none;cursor:pointer}
.esign-map-reset{display:flex;justify-content:flex-end;margin:9px 0 -4px}

.esign-readiness{display:grid;gap:10px;margin:10px 0 12px;padding:12px;
  border:1px solid var(--border);border-radius:8px;background:var(--cream)}
.esign-readiness__head{display:flex;align-items:center;justify-content:space-between;gap:8px}
.esign-readiness__head h4{font-family:var(--serif);font-size:17px;font-weight:500;margin:0}
.esign-readiness__note{font-size:11.5px;line-height:1.4;color:var(--stone);margin:0}
.esign-readiness__groups{display:grid;grid-template-columns:1fr 1fr;gap:8px}
.esign-readiness__group{display:grid;align-content:start;gap:5px;min-width:0}
.esign-readiness__label{font-size:9px;font-weight:700;letter-spacing:.14em;text-transform:uppercase;
  color:var(--stone)}
.esign-readiness__row{display:flex;align-items:center;justify-content:space-between;gap:7px;
  min-width:0;padding:7px 8px;border-radius:6px;background:var(--white);border:1px solid var(--border)}
.esign-readiness__row>span:first-child{display:grid;gap:1px;min-width:0}
.esign-readiness__row b{font-size:11.5px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.esign-readiness__row small{font-size:10px;color:var(--stone)}
.esign-readiness__row.ready{border-color:rgba(76,122,82,.35)}
.signing-compose__preview{display:flex;align-items:center;gap:9px;flex-wrap:wrap;margin-top:11px}
.signing-compose__preview .hint{margin:0;flex:1 1 180px}
.esign-sendbar{grid-template-columns:1fr}

@media(max-width:700px){
  /* The complete field toolbar can be taller than half a phone screen. Let it
     scroll away so the PDF has a usable tap area instead of hiding beneath a
     giant sticky panel. */
  .maphead.editable{position:static}
  .signing-home__header{align-items:stretch;flex-direction:column;gap:14px;padding:18px 17px}
  .signing-home__start{width:100%}
  .signing-home__routes{grid-template-columns:1fr}
  .signing-home__route .btn{width:100%;justify-self:stretch}
  .signing-home__path{grid-template-columns:1fr}
  .signing-home__path-step+ .signing-home__path-step{border-left:none;border-top:1px solid var(--border)}
  .signing-card__summary{grid-template-columns:minmax(0,1fr)}
  .signing-card__status,.signing-card__summary>.chip:not(.signing-card__status){
    grid-column:1;grid-row:auto;justify-self:start}
  .signing-card__title,.signing-card__sent{grid-column:1}
  .signing-card__primary-action{width:100%}
  .signing-card__people{grid-template-columns:1fr}
  .signing-card__admin>summary{width:100%}
  .esign-step__head{grid-template-columns:32px minmax(0,1fr)}
  .esign-step__head>[data-selected-count]{grid-column:2;justify-self:start}
  .esign-readiness__groups{grid-template-columns:1fr}
  .esign-document{grid-template-columns:auto minmax(0,1fr)}
  .esign-document>.chip{grid-column:2;justify-self:start}
}

/* When the card's primary action is the disclosure itself, the summary wears
   the primary button and reaches the same width as a real action would. */
.signing-card__manage.signing-card__primary-action{margin-top:13px;text-align:center}

/* Whose seat this is, wherever a person is named. The neighbouring .cite is
   deliberately monospaced because it cites machine things - a form field, an
   edition - and a person's role is not one of those. */
.roletag{display:inline-block;font-size:9.5px;letter-spacing:.13em;text-transform:uppercase;
  font-weight:700;color:var(--stone);margin-left:6px;vertical-align:1px}

/* A private signing link, shown so it can be handed over by text when a
   recipient's mail system accepts the invitation and then hides it. Small,
   monospaced and fully selectable: it is meant to be read and copied, not
   typed over. */
.linkout{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:12px;
  padding:11px 10px;border:1px solid var(--border);border-radius:6px;background:var(--cream);
  color:var(--charcoal);width:100%}

/* ---------- finding the file, which is step one on the road ---------- */
.dealfind{width:100%;box-sizing:border-box;margin:0 0 14px;padding:12px 14px;
  font:inherit;font-size:16px;color:var(--charcoal);background:var(--white);
  border:1px solid var(--border);border-radius:var(--radius)}
.dealfind:focus{outline:2px solid var(--amber);outline-offset:1px;border-color:transparent}

@media (max-width:860px){
  /* Outdoors, 10px letter-spaced capitals carried the one line that says
     where a file stands, including a deadline three days out. */
  .chip{font-size:12px;letter-spacing:.04em;padding:4px 10px}
  /* The banner sat over the top of the page head, so the first tap on
     New transaction dismissed the banner instead of opening the wizard. */
  .syncbar{top:auto;bottom:calc(66px + env(safe-area-inset-bottom,0px))}
}

/* ---------- the front page a stranger sees at agenthero.pro ---------- */
/* Bands break the page padding so each section reads as its own surface. The
   breakout is the padding only, never 100vw, which would add a scrollbar's
   width of horizontal overflow on a desktop. */
.landing{margin:-26px -24px -90px}
/* Signed out there is no navigation, so the rail must not reserve its column
   and push the whole page off centre. The shell keeps its markup; the layout
   simply stops making room for something nobody can see. */
body.is-landing .main{margin-left:0}
body.is-landing .rail{display:none}
.landing__band,.landing__hero,.landing__factband,.landing__door{padding-left:24px;padding-right:24px}

.landing__hero{background:var(--charcoal);color:var(--cream);padding-top:20px;padding-bottom:44px}
.landing__top{display:flex;align-items:center;justify-content:space-between;gap:12px;
  max-width:1020px;margin:0 auto 34px}
.landing__hero .btn.ghost{border-color:var(--dark);color:var(--cream);background:transparent}
.landing__hero .btn.ghost:hover{background:var(--dark);color:var(--cream)}
.landing__heroin{max-width:1020px;margin:0 auto;display:grid;gap:34px;align-items:center}
.landing__eyebrow{font-size:11px;font-weight:600;letter-spacing:.2em;text-transform:uppercase;
  color:var(--amber);margin:0 0 14px}
.landing h1{font-family:var(--serif);font-weight:400;font-size:42px;line-height:1.05;
  letter-spacing:-.015em;margin:0 0 16px;color:var(--cream);text-wrap:balance}
.landing__lede{font-size:17px;line-height:1.6;color:var(--stone-light);max-width:46ch;margin:0 0 24px}
.landing__actions{display:flex;flex-wrap:wrap;gap:10px}
.landing__actions .btn{min-height:var(--tap);padding-left:22px;padding-right:22px}
.landing__art{display:block;width:100%;max-width:340px;height:auto;margin:0 auto;
  filter:drop-shadow(0 18px 34px rgba(0,0,0,.34))}

.landing__work{max-width:1020px;margin:0 auto;padding:48px 24px 8px}
.landing__kicker{font-size:11px;font-weight:600;letter-spacing:.2em;text-transform:uppercase;
  color:var(--amber-dark);margin:0 0 22px}
.landing__steps{display:grid;gap:0}
.landing__card{padding:24px 0;border-top:1px solid var(--border)}
.landing__card:first-child{border-top:0;padding-top:0}
.landing__step{display:flex;align-items:center;gap:10px;margin:0 0 8px;
  font-size:11px;font-weight:600;letter-spacing:.14em;text-transform:uppercase;color:var(--stone)}
.landing__num{display:inline-flex;align-items:center;justify-content:center;
  width:24px;height:24px;border-radius:99px;background:var(--amber);color:var(--charcoal);
  font-size:12px;font-weight:700;letter-spacing:0;flex:none}
.landing__card h2{font-family:var(--serif);font-weight:400;font-size:25px;line-height:1.18;
  margin:0 0 8px;color:var(--charcoal);text-wrap:balance}
.landing__card p{margin:0;color:var(--mid);line-height:1.62;max-width:64ch}

.landing__factband{background:var(--white);border-top:1px solid var(--border);
  border-bottom:1px solid var(--border);padding-top:34px;padding-bottom:34px;margin-top:40px}
.landing__facts{max-width:1020px;margin:0 auto;display:grid;gap:24px}
.landing__fact h3{font-size:15px;font-weight:600;margin:0 0 6px;color:var(--charcoal)}
.landing__fact p{margin:0;font-size:14px;line-height:1.62;color:var(--mid)}

.landing__door{background:var(--charcoal);color:var(--cream);padding-top:46px;padding-bottom:46px;
  text-align:center}
.landing__door h2{font-family:var(--serif);font-weight:400;font-size:30px;margin:0 0 8px;
  color:var(--cream)}
.landing__door>p{color:var(--stone-light);margin:0 0 20px}
.landing__door .btn{min-height:var(--tap);padding-left:26px;padding-right:26px}
.landing__door .landing__note{color:var(--stone);margin:20px auto 0}

.landing__note{font-size:13px;line-height:1.6;color:var(--stone);margin:16px 0 0;max-width:56ch}
.landing__foot{max-width:1020px;margin:0 auto;padding:26px 24px 40px;font-size:13px;color:var(--stone)}
.landing__foot p{margin:0 0 6px}

@media (min-width:760px){
  .landing h1{font-size:60px}
  .landing__heroin{grid-template-columns:1.05fr .95fr;gap:48px}
  .landing__hero{padding-top:26px;padding-bottom:64px}
  .landing__facts{grid-template-columns:repeat(3,1fr);gap:30px}
  .landing__steps{grid-template-columns:1fr 1fr;gap:0 44px}
  .landing__card:nth-child(2){border-top:0;padding-top:0}
  .landing__work{padding-top:60px;padding-bottom:8px}
}
