:root{--ink:#17231e;--forest:#244b3b;--gold:#bd9150;--cream:#f6f1e7;--paper:#fffdf8;--muted:#647068;--red:#b63d37;--green:#168c52;--line:#ded7ca;--shadow:0 18px 60px rgba(20,35,28,.12)}*{box-sizing:border-box}html{font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;color:var(--ink);background:var(--cream)}body{margin:0;min-height:100vh}button,input,select{font:inherit}a{color:inherit}.shell{width:min(1180px,calc(100% - 32px));margin:auto}.topbar{position:sticky;top:0;z-index:20;background:rgba(255,253,248,.94);backdrop-filter:blur(18px);border-bottom:1px solid var(--line)}.topbar-inner{min-height:72px;display:flex;align-items:center;justify-content:space-between;gap:20px}.brand{display:flex;align-items:center;gap:12px;font-family:Georgia,serif;font-size:22px}.mark{width:38px;height:38px;border:1px solid var(--gold);border-radius:50%;display:grid;place-items:center;color:var(--gold);font-weight:700}.nav{display:flex;gap:10px}.button,.nav a{border:0;border-radius:999px;padding:12px 18px;text-decoration:none;cursor:pointer;font-weight:750;display:inline-flex;align-items:center;justify-content:center;gap:8px}.button-primary{background:var(--forest);color:white}.button-gold{background:var(--gold);color:#17130c}.button-ghost,.nav a{background:transparent;border:1px solid var(--line)}.button-danger{background:#fff0ee;color:#8f2e28}.hero{padding:58px 0 36px}.eyebrow{text-transform:uppercase;letter-spacing:.18em;font-size:12px;font-weight:800;color:var(--gold)}h1,h2{font-family:Georgia,serif;font-weight:500;margin:.35em 0}h1{font-size:clamp(42px,7vw,78px);line-height:.96;max-width:850px}h2{font-size:clamp(28px,4vw,42px)}.lede{font-size:18px;line-height:1.65;color:var(--muted);max-width:760px}.dashboard{display:grid;grid-template-columns:minmax(0,1.05fr) minmax(360px,.95fr);gap:24px;padding-bottom:70px}.card{background:var(--paper);border:1px solid var(--line);border-radius:24px;box-shadow:var(--shadow);padding:28px}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px}.field{display:grid;gap:8px}.field.full{grid-column:1/-1}.field label{font-size:13px;font-weight:800}.field small{color:var(--muted)}input{width:100%;padding:14px 15px;border:1px solid #cfc7b9;border-radius:12px;background:white;color:var(--ink);outline:none}input:focus{border-color:var(--gold);box-shadow:0 0 0 3px rgba(189,145,80,.17)}.status{border-radius:12px;padding:13px 15px;margin-top:16px;display:none}.status.show{display:block}.status.ok{background:#e6f6ed;color:#156a43}.status.error{background:#fff0ee;color:#982f29}.result{margin-top:18px;padding:18px;border-radius:16px;background:#edf5f0;display:none}.result.show{display:block}.copy-row{display:flex;gap:8px;margin-top:8px}.copy-row input{font-size:13px}.table-wrap{overflow:auto;border:1px solid var(--line);border-radius:16px}.table{width:100%;border-collapse:collapse;font-size:13px}.table th,.table td{text-align:left;padding:13px;border-bottom:1px solid var(--line);white-space:nowrap}.table th{font-size:11px;text-transform:uppercase;letter-spacing:.1em;color:var(--muted)}.pill{display:inline-block;padding:4px 8px;border-radius:999px;background:#eee9df;font-size:11px;font-weight:800}.pill.opened{background:#dff3e8;color:#156a43}.summary{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin-bottom:18px}.metric{padding:16px;border-radius:16px;background:#f1ece2}.metric strong{font-family:Georgia,serif;font-size:28px;display:block}.metric span{font-size:11px;text-transform:uppercase;letter-spacing:.1em;color:var(--muted)}
.confirm-page{background:#18382d;color:white;min-height:100vh;padding:24px}.confirm-card{width:min(760px,100%);margin:30px auto;background:var(--paper);color:var(--ink);border-radius:30px;overflow:hidden;box-shadow:0 28px 90px rgba(0,0,0,.3)}.confirm-head{padding:34px 34px 24px;background:linear-gradient(135deg,#efe3cb,#fffdf8)}.confirm-body{padding:30px 34px 36px}.detail-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}.detail{background:#f3eee4;padding:16px;border-radius:14px}.detail span{display:block;color:var(--muted);font-size:12px;margin-bottom:4px}.detail strong{font-size:18px}.voucher-frame{width:100%;height:min(65vh,760px);border:1px solid var(--line);border-radius:16px;margin-top:22px;background:white}.loader{min-height:60vh;display:grid;place-items:center;text-align:center}.spinner{width:44px;height:44px;border:3px solid #d8cfbf;border-top-color:var(--gold);border-radius:50%;animation:spin .8s linear infinite;margin:auto}@keyframes spin{to{transform:rotate(360deg)}}
.consent{position:fixed;inset:auto 16px 16px;z-index:100;background:#fff;color:var(--ink);border:1px solid var(--line);box-shadow:0 22px 80px rgba(0,0,0,.26);border-radius:20px;padding:20px;max-width:680px;margin:auto;display:none}.consent.show{display:block}.consent h3{margin:0 0 8px;font-family:Georgia,serif;font-size:24px}.consent p{margin:0 0 16px;color:var(--muted);line-height:1.5}.consent-actions{display:flex;flex-wrap:wrap;gap:10px}.privacy-note{font-size:12px;color:var(--muted);margin-top:12px}.home{min-height:100vh;display:grid;place-items:center;padding:24px;text-align:center}.home .card{max-width:680px}
@media(max-width:850px){.dashboard{grid-template-columns:1fr}.nav{display:none}.hero{padding-top:36px}.card{padding:20px}}@media(max-width:560px){.shell{width:min(100% - 20px,1180px)}.form-grid,.detail-grid{grid-template-columns:1fr}.field.full{grid-column:auto}.summary{grid-template-columns:1fr 1fr}.confirm-page{padding:8px}.confirm-card{margin:8px auto;border-radius:22px}.confirm-head,.confirm-body{padding:24px 20px}.voucher-frame{height:60vh}.consent{inset:auto 8px 8px;padding:18px}.consent-actions .button{flex:1 1 100%}.copy-row{flex-direction:column}}

.consent-scrim{display:none;position:fixed;z-index:90;inset:0;background:rgba(8,18,14,.34);pointer-events:auto}.consent-scrim.show{display:block}.consent{inset:auto 14px 14px auto;width:min(370px,calc(100vw - 28px));max-width:370px;max-height:calc(100vh - 28px);margin:0;padding:18px;border-radius:16px;overflow:auto;z-index:100}.consent h3{font-size:20px}.consent p{font-size:13px;margin-bottom:13px}.consent-link{display:block;width:100%;margin-top:7px;padding:4px;border:0;background:transparent;color:#263c33;text-decoration:underline;font-size:12px;font-weight:700;cursor:pointer}.consent .privacy-note{font-size:10px}@media(max-width:560px){.consent{inset:auto 8px 8px auto;width:calc(100vw - 16px);max-height:calc(100vh - 16px)}}
