:root{--bg:#f2efe7;--surface:#fff;--surface-alt:#faf8f2;--border:#e7e1d0;--border-strong:#d8cfb4;--text:#1c1d22;--text-muted:#6b6558;--text-faint:#a29a84;--gold:#a8842f;--gold-soft:#f5edd8;--emerald:#0b6b45;--emerald-soft:#e2f3ea;--copper:#a1531c;--copper-soft:#f7e8d3;--danger:#9b2f2f;--danger-soft:#f6dede;--radius-lg:16px;--radius-md:11px;--radius-sm:8px;--shadow-card:0 1px 2px #1414190a, 0 6px 18px #1414190d;--shadow-lift:0 18px 44px #14141924;--sans:"Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;--display:"Lora", "Georgia", serif}*{box-sizing:border-box}html,body,#root{height:100%}body{background:radial-gradient(120% 140% at 15% 0%, #f8f5ec 0%, var(--bg) 55%, #ece6d4 100%);color:var(--text);font-family:var(--sans);-webkit-font-smoothing:antialiased;margin:0;overflow:hidden}.app-shell{justify-content:center;align-items:center;height:100vh;padding:16px;display:flex}.ledger-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);width:100%;max-width:660px;max-height:100%;box-shadow:var(--shadow-lift);padding:20px 20px 18px;overflow-y:auto}@media (width>=1024px){.ledger-card{max-width:1240px;padding:26px 28px 22px}.content-grid{grid-template-columns:1.05fr 1fr;align-items:start;gap:22px;display:grid}}.masthead{border-bottom:1px solid var(--border);justify-content:space-between;align-items:flex-start;gap:12px;margin-bottom:18px;padding-bottom:14px;display:flex}.masthead h1{font-family:var(--display);color:var(--text);letter-spacing:-.01em;margin:0;font-size:21px;font-weight:700}.masthead p{color:var(--text-muted);margin:3px 0 0;font-size:12px;font-weight:500}.badge{letter-spacing:.02em;white-space:nowrap;border-radius:999px;align-items:center;gap:6px;padding:5px 11px;font-size:10.5px;font-weight:700;display:inline-flex}.badge.live{background:var(--emerald-soft);color:var(--emerald)}.badge.calculating{background:var(--gold-soft);color:var(--gold)}.badge-dot{opacity:.9;background:currentColor;border-radius:50%;width:6px;height:6px;box-shadow:0 0 0 3px}.badge.live .badge-dot{animation:1.8s ease-in-out infinite pulse-dot}@keyframes pulse-dot{0%,to{box-shadow:0 0 0 2px #0b6b452e}50%{box-shadow:0 0 0 5px #0b6b451a}}.section{background:var(--surface-alt);border:1px solid var(--border);border-radius:var(--radius-md);margin-bottom:10px;padding:12px 14px}.eyebrow{color:var(--gold);letter-spacing:.06em;text-transform:uppercase;margin:0 0 9px;font-size:10px;font-weight:700}.field-row{grid-template-columns:1fr;gap:10px;margin-bottom:10px;display:grid}.field-row:last-child{margin-bottom:0}@media (width>=480px){.field-row.cols-2{grid-template-columns:1fr 1fr}.field-row.cols-3{grid-template-columns:1.4fr 1fr 1fr}}.field label{color:var(--text-muted);margin-bottom:5px;font-size:10.5px;font-weight:600;display:block}.field input[type=text],.field input[type=number],.field select{width:100%;font-size:13.5px;font-weight:500;font-family:var(--sans);color:var(--text);background:var(--surface);border:1.5px solid var(--border-strong);border-radius:var(--radius-sm);appearance:none;outline:none;padding:9px 11px;transition:border-color .15s,box-shadow .15s}.field select{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='10' height='6'%3E%3Cpath d='M0 0l5 6 5-6z' fill='%236b6558'/%3E%3C/svg%3E");background-position:right 11px center;background-repeat:no-repeat;padding-right:28px}.field input:hover,.field select:hover{border-color:var(--gold)}.field input:focus,.field select:focus{border-color:var(--gold);box-shadow:0 0 0 3px var(--gold-soft)}.warning-banner{background:var(--copper-soft);color:var(--copper);border-radius:var(--radius-sm);margin-bottom:10px;padding:9px 11px;font-size:11.5px;font-weight:500;line-height:1.4}.parcel-tabs{background:var(--border);border-radius:var(--radius-sm);gap:2px;margin-bottom:10px;padding:3px;display:flex}.parcel-tab{text-align:center;min-width:0;color:var(--text-muted);cursor:pointer;background:0 0;border:none;border-radius:6px;flex:1;padding:7px 4px;font-size:11.5px;font-weight:600;transition:color .15s,background-color .15s,box-shadow .15s}.parcel-tab:hover{color:var(--text)}.parcel-tab.active{color:var(--text);background:var(--surface);box-shadow:var(--shadow-card)}.size-band-row{grid-template-columns:40px 1fr;align-items:center;gap:8px;margin-bottom:6px;display:grid}.size-band-row:last-child{margin-bottom:0}@media (width>=420px){.size-band-row{grid-template-columns:40px 1fr 1.3fr auto}}.size-band-row .size-label{color:var(--text-muted);font-size:11px;font-weight:700}.size-band-row .band-inputs{grid-template-columns:1fr 1fr;gap:8px;display:grid}@media (width>=420px){.size-band-row .band-inputs{display:contents}}.size-band-row input,.size-band-row select{border:1.5px solid var(--border-strong);border-radius:var(--radius-sm);background:var(--surface);outline:none;padding:7px 9px;font-size:12.5px;transition:border-color .15s,box-shadow .15s}.size-band-row input:hover,.size-band-row select:hover{border-color:var(--gold)}.size-band-row input:focus,.size-band-row select:focus{border-color:var(--gold);box-shadow:0 0 0 3px var(--gold-soft)}.availability-pill{text-align:center;white-space:nowrap;border-radius:999px;min-width:78px;padding:4px 9px;font-size:9.5px;font-weight:700}.availability-pill.available{background:var(--emerald-soft);color:var(--emerald)}.availability-pill.unavailable{background:var(--copper-soft);color:var(--copper)}.availability-pill.unknown{background:var(--border);color:var(--text-faint)}.tally{border-radius:var(--radius-md);background:linear-gradient(155deg,#0e7a4f 0%,#0b6b45 100%);border:none;grid-template-columns:1fr 1fr;gap:12px;padding:14px 16px;display:grid;box-shadow:0 10px 26px #0b6b4547}@media (width>=420px){.tally{grid-template-columns:repeat(4,1fr)}}.tally-item.gp{text-align:right;grid-column:span 2}@media (width>=420px){.tally-item.gp{grid-column:auto}}.tally-label{color:#ffffffb8;text-transform:uppercase;letter-spacing:.04em;font-size:9.5px;font-weight:700}.tally-value{font-family:var(--display);color:#fff;font-variant-numeric:tabular-nums;margin-top:3px;font-size:17px;font-weight:700}.tally-value.gp-value{font-size:27px}.status-line{color:var(--text-muted);margin-top:10px;font-size:11px;font-weight:500;line-height:1.4}.status-line.error{color:var(--danger)}
