/* =====================================================================
   Escrow Printer — incorporated.ink
   A self-contained studio on the shared Community Services design
   tokens (mobile-first, senior-friendly). The printable sheets carry
   the seal on every page so a printed statement cannot be quietly
   edited without breaking the fingerprint.
   ===================================================================== */

:root {
  --paper:#ffffff; --wash:#f5f7fb; --ink:#0f172a; --muted:#4a5568; --line:#d2d6dc;
  --brand:#0e7490; --brand-2:#14b8a6; --brand-soft:#e2f3f7; --brand-deep:#0a4f63;
  --accent:#f59e0b; --accent-soft:#fef3d9;
  --good:#059669; --good-soft:#e3f6ef; --bad:#dc2626; --bad-soft:#fdeaea; --warn:#d97706; --warn-soft:#fdf1df;
  --radius:16px; --radius-sm:10px; --radius-xs:7px;
  --shadow-sm:0 1px 2px rgb(15 23 42/.05),0 1px 3px rgb(15 23 42/.07);
  --shadow-md:0 6px 20px -6px rgb(15 23 42/.14);
  --mono:"SFMono-Regular",ui-monospace,Menlo,Consolas,"Liberation Mono",monospace;
  --display:"Inter",system-ui,-apple-system,"Segoe UI",Roboto,sans-serif;
  --serif:Georgia,"Times New Roman",serif;
  --fs-base:18px; --fs-lg:22px; --fs-xl:28px; --fs-2xl:36px; --tap-min:52px;
}

html{scroll-behavior:smooth;}
body{
  font-family:var(--display);font-size:var(--fs-base);line-height:1.6;
  background:var(--wash);color:var(--ink);-webkit-font-smoothing:antialiased;
  -webkit-text-size-adjust:100%;
}
h1,h2,h3,h4{letter-spacing:-.02em;color:var(--ink);}
a{color:var(--brand);text-decoration:none;} a:hover{color:var(--brand-deep);}
.mono{font-family:var(--mono);font-variant-numeric:tabular-nums;}
.small-caps{text-transform:uppercase;letter-spacing:.08em;font-size:.78rem;font-weight:700;}
.muted{color:var(--muted);}

.app-nav{background:rgb(255 255 255/.92);backdrop-filter:blur(10px);border-bottom:2px solid var(--line);position:sticky;top:0;z-index:1030;}
.app-nav .navbar-brand{font-weight:800;letter-spacing:-.02em;font-size:1.1rem;}
.brand-dot{display:inline-block;width:12px;height:12px;border-radius:50%;margin-right:.45rem;vertical-align:1px;}
.wrap{max-width:1080px;margin-inline:auto;padding-inline:clamp(16px,4vw,32px);}

.panel{background:var(--paper);border:2px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow-sm);}
.panel-pad{padding:clamp(16px,4vw,24px);}
.panel-head{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:16px 20px;border-bottom:2px solid var(--line);flex-wrap:wrap;}
.panel-title{font-size:var(--fs-lg);font-weight:700;margin:0;}

.badge-soft{font-weight:700;border-radius:999px;padding:.4em .85em;font-size:.82rem;}
.bge-brand{background:var(--brand-soft);color:var(--brand-deep);}
.bge-good{background:var(--good-soft);color:var(--good);}
.bge-bad{background:var(--bad-soft);color:var(--bad);}
.bge-warn{background:var(--warn-soft);color:var(--warn);}
.bge-accent{background:var(--accent-soft);color:#92400e;}
.bge-line{background:var(--wash);color:var(--muted);border:2px solid var(--line);}

.form-label{font-size:var(--fs-base);font-weight:700;margin-bottom:6px;}
.form-control,.form-select{border-color:var(--line);border-radius:var(--radius-xs);font-size:var(--fs-base);padding:.65rem .85rem;min-height:var(--tap-min);}
.form-control:focus,.form-select:focus{border-color:var(--brand-2);box-shadow:0 0 0 .25rem rgb(20 184 166/.2);}
.btn{border-radius:var(--radius-xs);font-weight:700;padding:.6rem 1.2rem;font-size:var(--fs-base);min-height:var(--tap-min);display:inline-flex;align-items:center;gap:.5rem;}
.btn-brand{background:var(--brand);border-color:var(--brand);color:#fff;}
.btn-brand:hover{background:var(--brand-deep);border-color:var(--brand-deep);color:#fff;}
.btn-ghost{background:transparent;border:2px solid var(--line);color:var(--ink);}
.btn-ghost:hover{border-color:var(--brand);color:var(--brand);background:var(--brand-soft);}
.btn-warn{background:var(--accent);border-color:var(--accent);color:#fff;}
.btn-warn:hover{background:#d97706;border-color:#d97706;color:#fff;}

.app-foot{border-top:2px solid var(--line);background:var(--paper);color:var(--muted);font-size:.88rem;}

/* ---------- the studio steps ---------- */
.step-card{margin-bottom:20px;}
.step-head{display:flex;align-items:center;gap:14px;margin-bottom:14px;}
.step-num{flex:0 0 44px;height:44px;border-radius:14px;display:grid;place-items:center;font-weight:800;font-size:1.1rem;background:var(--brand-soft);color:var(--brand-deep);}
.step-title{margin:0;font-size:var(--fs-lg);font-weight:800;}
.step-sub{color:var(--muted);font-size:.95rem;}

/* ---------- the seal block ---------- */
.seal-card{background:var(--wash);border:2px solid var(--line);border-radius:var(--radius);padding:18px 20px;}
.scan-do{background:var(--paper);border:2px solid var(--line);border-radius:var(--radius);padding:16px 18px;height:100%;}
.scan-do-title{font-weight:800;margin-bottom:8px;}
.scan-do .btn{display:inline-flex;align-items:center;gap:6px;margin-top:4px;}
.seal-badge{display:flex;align-items:center;gap:10px;margin-bottom:8px;}
.seal-badge i{font-size:1.2rem;color:var(--brand);}
.seal-hex{font-family:var(--mono);font-size:.95rem;word-break:break-all;color:var(--ink);line-height:1.7;}
.seal-thumb{font-family:var(--mono);font-weight:700;color:var(--brand-deep);}
.wax{width:64px;height:64px;border-radius:50%;background:radial-gradient(circle at 35% 30%,#f6b23c,#b45309 70%);display:grid;place-items:center;font-family:var(--mono);font-size:.72rem;font-weight:800;color:#5b2e05;letter-spacing:.02em;text-align:center;box-shadow:var(--shadow-sm);margin-inline:auto;}

/* ---------- printable sheet ---------- */
.sheet{max-width:720px;margin-inline:auto;background:#fff;border:2px solid var(--line);border-radius:var(--radius-sm);padding:28px 30px 34px;}
.sheet .sheet-meta{display:flex;justify-content:space-between;align-items:center;gap:10px;border-bottom:2px solid #e5e7eb;padding-bottom:12px;flex-wrap:wrap;}
.sheet .sheet-brand{font-weight:800;letter-spacing:.02em;color:var(--brand-deep);}
.sheet h2{font-family:var(--serif);text-align:center;margin:18px 0 4px;font-size:1.5rem;}
.sheet .parties{text-align:center;color:var(--muted);font-size:1rem;margin-bottom:16px;}
.sheet ol{padding-left:1.4rem;}
.sheet ol li{margin-bottom:10px;font-size:1.02rem;line-height:1.55;}
.market-card{border:2px dashed var(--line);border-radius:var(--radius-sm);padding:12px 14px;margin-top:14px;font-size:.98rem;background:var(--wash);}
.market-card .mc-row{display:flex;justify-content:space-between;gap:10px;padding:3px 0;border-bottom:1px solid #edf0f3;}
.market-card .mc-row:last-child{border-bottom:0;}
.market-card .mc-k{font-weight:700;color:var(--muted);}
.sig-block{display:grid;grid-template-columns:1fr;gap:22px;margin-top:26px;}
@media(min-width:640px){.sig-block{grid-template-columns:1fr 1fr;}}
.sig-line{border-top:1px solid #1f2937;padding-top:6px;min-height:52px;}
.sig-note{font-size:.82rem;color:var(--muted);}
.witness{border:2px solid #d2d6dc;border-radius:var(--radius-sm);padding:16px 18px;margin-top:22px;background:#fbfdff;}
.witness h3{font-size:1.05rem;font-weight:800;margin-bottom:8px;}
.witness .w-copy{font-size:.95rem;color:var(--muted);}
.seal-foot{display:flex;align-items:center;gap:12px;margin-top:24px;padding-top:14px;border-top:2px solid #e5e7eb;}
.seal-foot .seal-hex{font-size:.88rem;}
.honest-note{margin-top:14px;font-size:.9rem;color:var(--muted);background:var(--warn-soft);border:2px solid #f3d9a4;border-radius:var(--radius-sm);padding:12px 14px;}

/* chest / ledger */
.chest-row{display:flex;justify-content:space-between;align-items:center;gap:10px;padding:12px 0;border-bottom:2px solid var(--line);flex-wrap:wrap;}
.chest-row:last-child{border-bottom:0;}
.chest-count{font-size:var(--fs-xl);font-weight:800;}

/* verify result */
.verify-card{border-radius:var(--radius);padding:16px 18px;font-weight:700;display:flex;gap:10px;align-items:flex-start;}
.verify-ok{background:var(--good-soft);color:var(--good);border:2px solid var(--good);}
.verify-bad{background:var(--bad-soft);color:var(--bad);border:2px solid var(--bad);}

/* ---------- printing: the sheets only ---------- */
@media print{
  body{background:#fff;}
  .no-print,.app-nav,.app-foot,.print-actions{display:none !important;}
  .wrap{max-width:100%;padding:0;}
  .step-card,.panel{border:0;box-shadow:none;margin:0;padding:0;}
  .sheet{max-width:100%;border:0;border-radius:0;padding:0;}
  .witness{page-break-inside:avoid;}
  .sig-block{page-break-inside:avoid;}
  a[href]::after{content:"";}
}

@media(min-width:768px){
  :root{--fs-base:17px;--fs-lg:20px;--fs-xl:26px;--fs-2xl:34px;}
}
@media(min-width:1024px){
  :root{--fs-base:16px;--fs-lg:19px;--fs-xl:24px;--fs-2xl:32px;}
}