:root{--brand:#0f766e;--bg:#f6f7f8;--card:#fff;--text:#14181b;--muted:#5d6870;--line:#dfe3e6;--danger:#b42318;--ok:#1a7f4b;--warn:#a15c00;--radius:12px}@media (prefers-color-scheme:dark){:root{--bg:#101315;--card:#181c1f;--text:#eef1f2;--muted:#9aa5ab;--line:#2a3035}}*{box-sizing:border-box}body,html{margin:0;padding:0}body{background:var(--bg);color:var(--text);font:16px/1.5 system-ui,-apple-system,Segoe UI,Roboto,sans-serif;-webkit-text-size-adjust:100%}a{color:var(--brand);text-decoration:none}h1{font-size:1.5rem;margin:0 0 .75rem}h2{font-size:1.15rem;margin:1.25rem 0 .5rem}h3{font-size:1rem;margin:0 0 .25rem}.wrap{max-width:880px;margin:0 auto;padding:16px}.muted{color:var(--muted)}.small{font-size:.875rem}.row{display:flex;gap:10px;align-items:center;flex-wrap:wrap}.between{justify-content:space-between}.stack>*+*{margin-top:12px}.grid2{display:grid;grid-gap:12px;gap:12px;grid-template-columns:1fr}@media (min-width:640px){.grid2{grid-template-columns:1fr 1fr}}.card{background:var(--card);border:1px solid var(--line);border-radius:var(--radius);padding:14px}a.card{display:block;color:inherit}a.card:active{border-color:var(--brand)}label{display:block;font-weight:600;font-size:.9rem;margin-bottom:4px}input,select,textarea{width:100%;font:inherit;padding:12px;border:1px solid var(--line);border-radius:10px;background:var(--card);color:var(--text);min-height:46px}textarea{min-height:96px}input[type=checkbox]{width:22px;min-height:22px;height:22px}.btn,button{font:inherit;font-weight:600;background:var(--brand);color:#fff;border:0;border-radius:10px;padding:12px 18px;min-height:48px;cursor:pointer;display:inline-flex;align-items:center;justify-content:center;gap:6px}.btn.secondary,button.secondary{background:transparent;color:var(--brand);border:1px solid var(--brand)}.btn.danger,button.danger{background:var(--danger)}.btn.small,button.small{min-height:38px;padding:6px 12px;font-size:.9rem}button:disabled{opacity:.5}.badge{display:inline-block;padding:2px 10px;border-radius:999px;font-size:.78rem;font-weight:700;background:#e7ecef;color:#33414a}@media (prefers-color-scheme:dark){.badge{background:#2a3238;color:#d6dde1}}.badge.new{background:#dbeafe;color:#1e3a8a}.badge.scheduled{background:#ede9fe;color:#4c1d95}.badge.in_progress{background:#ffedd5;color:#9a3412}.badge.snagging{background:#fee2e2;color:#991b1b}.badge.accepted,.badge.complete{background:#dcfce7;color:#166534}.badge.sent{background:#dbeafe;color:#1e3a8a}.badge.cancelled,.badge.declined,.badge.expired{background:#e5e7eb;color:#4b5563}nav.top{background:var(--card);border-bottom:1px solid var(--line);position:-webkit-sticky;position:sticky;top:0;z-index:5}nav.top .wrap{padding-top:8px;padding-bottom:8px;display:flex;gap:4px;align-items:center;overflow-x:auto}nav.top a{padding:10px 12px;border-radius:8px;color:var(--text);font-weight:600;white-space:nowrap}nav.top a:hover{background:var(--bg)}nav.top .brand{color:var(--brand);margin-right:8px}.flash{padding:10px 14px;border-radius:10px;background:#fef3c7;color:#78350f;margin-bottom:12px}.flash.ok{background:#dcfce7;color:#14532d}table{width:100%;border-collapse:collapse}td,th{text-align:left;padding:8px 6px;border-bottom:1px solid var(--line);vertical-align:top}th{font-size:.8rem;color:var(--muted);text-transform:uppercase;letter-spacing:.03em}td.num,th.num{text-align:right;white-space:nowrap}.photos{display:grid;grid-template-columns:repeat(auto-fill,minmax(140px,1fr));grid-gap:8px;gap:8px}.photos img{width:100%;aspect-ratio:1;object-fit:cover;border-radius:10px;display:block}.photos figure{margin:0}.photos figcaption{font-size:.75rem;color:var(--muted)}.pill-group{display:flex;gap:8px;flex-wrap:wrap}.checks label{display:flex;align-items:center;gap:10px;font-weight:500;padding:8px 0;margin:0}.hide{display:none}.center{text-align:center}.hero{background:var(--brand);color:#fff;padding:56px 16px 48px}.hero h1{font-size:2rem;margin:0 0 12px}.hero p{max-width:560px;margin:0 0 20px;opacity:.95}.hero .btn{background:#fff;color:var(--brand)}section.block{padding:36px 16px}section.block.alt{background:var(--card)}footer.site{padding:28px 16px;color:var(--muted);font-size:.875rem;border-top:1px solid var(--line)}.quote-doc{background:#fff;color:#14181b;border-radius:var(--radius);padding:20px;border:1px solid var(--line)}.quote-doc table td,.quote-doc table th{border-color:#e3e7ea}@media print{.noprint,nav.top{display:none!important}body{background:#fff}}