:root{--ink:#1c1917;--muted:#5c534c;--paper:#f7f3eb;--card:#fffdf8;--line:#e4dcd0;--accent:#b54a32;--accent-ink:#8f3825}
*{box-sizing:border-box}
body{margin:0;font:17px/1.55 system-ui,-apple-system,"Segoe UI",Roboto,Arial,sans-serif;color:var(--ink);background:var(--paper)}
h1,h2,h3,legend{font-family:Georgia,"Times New Roman",serif;font-weight:600;line-height:1.2}
h1{font-size:clamp(28px,5vw,38px);margin:28px 0 12px}h2{font-size:22px;margin:28px 0 10px}
a{color:var(--accent-ink)}
.wrap{max-width:820px;margin:0 auto;padding:0 20px}
header{border-bottom:1px solid var(--line);padding:16px 0}
.bar{display:flex;gap:16px;justify-content:space-between;align-items:center;flex-wrap:wrap}
.brand{font-family:Georgia,serif;font-size:20px;color:var(--ink);text-decoration:none}.brand span{color:var(--accent)}
nav a{margin-left:14px;font-size:15px}
.lead{font-size:18px;color:var(--muted)}
.btn{display:inline-block;background:var(--accent);color:#fff;border:0;border-radius:6px;padding:11px 18px;font:inherit;cursor:pointer;text-decoration:none}
.btn:hover{background:var(--accent-ink)}.btn.ghost{background:transparent;color:var(--accent-ink);border:1px solid var(--line)}
.card{background:var(--card);border:1px solid var(--line);border-radius:8px;padding:18px;margin:18px 0}
input[type=email],input[type=text],input[type=password],input[inputmode],textarea,input[type=date]{width:100%;padding:10px;border:1px solid var(--line);border-radius:6px;font:inherit;background:#fff}
input[type=date]{width:auto}
label.main{display:block;font-weight:600;margin:10px 0 6px}
label.tick{display:flex;gap:8px;align-items:flex-start;margin:12px 0;font-size:15px}
label.tick input{margin-top:4px}
.field{margin:0 0 18px}.options label{display:block;margin:4px 0}
form section{border-top:1px solid var(--line);padding:22px 0 6px}
.msg{min-height:1.4em;color:var(--accent-ink)}
.placeholder{background:#fff3cd;border:1px dashed #b58a00;padding:10px;font-size:14px}
.tablewrap{overflow-x:auto}table{border-collapse:collapse;width:100%;font-size:15px}th,td{border-bottom:1px solid var(--line);padding:8px;text-align:left;vertical-align:top}
.slots{list-style:none;padding:0;display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:8px}
.tabs .btn{margin:0 8px 8px 0}.small{font-size:14px;color:var(--muted)}
footer{border-top:1px solid var(--line);margin-top:48px;padding:20px 0;font-size:14px;color:var(--muted)}
.ts{margin:12px 0}
select{width:100%;padding:10px;border:1px solid var(--line);border-radius:6px;font:inherit;background:#fff}
input[type=tel]{width:100%;padding:10px;border:1px solid var(--line);border-radius:6px;font:inherit;background:#fff}
fieldset.options{border:0;padding:0;margin:14px 0}
.facts{display:grid;grid-template-columns:max-content 1fr;gap:4px 14px}.facts dt{color:var(--muted)}.facts dd{margin:0}

@media print { header, nav, footer, #inv-print { display: none !important; } body { background: #fff; } .card { border: 0; box-shadow: none; } }
