:root{--midnight: #161032;--lake: #095256;--rich-teal: #324f54;--moss: #abc4ab;--cove: #dff2d8;--foam: #f7fff6;--aioli: #f8fbf4;--sand: #eae2b7;--dawn: #ebe2b7;--heather: #eaebe7;--aurora: #ffa302;--shine: #fcbf49;--line: rgba(22, 16, 50, .12);--line-soft: rgba(22, 16, 50, .07);--shadow: 0 1px 2px rgba(22, 16, 50, .04), 0 8px 30px rgba(22, 16, 50, .06)}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;font-family:Figtree,system-ui,sans-serif;color:var(--midnight);line-height:1.55;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}@keyframes rise{0%{opacity:0;transform:translateY(10px) scale(.9)}to{opacity:1;transform:none}}.questionnaire{background:radial-gradient(1200px 500px at 50% -200px,var(--cove),transparent 60%),linear-gradient(180deg,var(--aioli),var(--foam));min-height:100vh}.wrap{max-width:760px;margin:0 auto;padding:0 20px 80px}.masthead{text-align:center;padding:56px 20px 40px}.sunburst{width:56px;height:56px;margin:0 auto 22px;display:block;animation:rise .9s ease both}.eyebrow{font-size:12px;letter-spacing:.28em;text-transform:uppercase;color:var(--lake);font-weight:600;margin:0 0 14px}.questionnaire h1{font-family:Fraunces,serif;font-weight:500;font-size:clamp(30px,6vw,46px);line-height:1.08;margin:0 0 16px;letter-spacing:-.01em}.lede{max-width:52ch;margin:0 auto;font-size:16.5px;color:var(--rich-teal)}.gold-rule{width:64px;height:2px;margin:28px auto 0;background:linear-gradient(90deg,var(--shine),var(--aurora));border-radius:2px}.card{background:#fff;border:1px solid var(--line-soft);border-radius:18px;padding:32px 30px;margin:22px 0;box-shadow:var(--shadow)}.sec-head{display:flex;align-items:baseline;gap:14px;margin:0 0 6px}.sec-num{font-family:Fraunces,serif;font-size:14px;color:var(--aurora);font-weight:600;font-variant-numeric:tabular-nums}.sec-head h2{font-family:Fraunces,serif;font-weight:500;font-size:23px;margin:0;letter-spacing:-.01em}.sec-sub{color:var(--rich-teal);font-size:14.5px;margin:0 0 22px}.grid{display:grid;grid-template-columns:1fr 1fr;gap:16px 18px}.grid-3{display:grid;grid-template-columns:1fr 1fr 1fr;gap:16px 18px}.field{display:flex;flex-direction:column;gap:7px;margin-bottom:16px}.field.full{grid-column:1 / -1}.questionnaire label{font-size:13.5px;font-weight:600;color:var(--midnight)}.questionnaire label .opt{font-weight:400;color:var(--rich-teal)}.req{color:var(--aurora)}.questionnaire input[type=text],.questionnaire input[type=email],.questionnaire input[type=tel],.questionnaire input[type=date],.questionnaire input[type=time],.questionnaire input[type=number],.questionnaire select,.questionnaire textarea{font-family:inherit;font-size:15px;color:var(--midnight);background:var(--aioli);border:1px solid var(--line);border-radius:11px;padding:12px 13px;width:100%;transition:border-color .15s,box-shadow .15s,background .15s}.questionnaire textarea{resize:vertical;min-height:84px}.questionnaire input:focus,.questionnaire select:focus,.questionnaire textarea:focus{outline:none;border-color:var(--lake);background:#fff;box-shadow:0 0 0 3px #09525626}.questionnaire ::placeholder{color:#16103266}.chips{display:flex;flex-wrap:wrap;gap:10px}.chip{position:relative}.chip input{position:absolute;opacity:0;inset:0;cursor:pointer}.chip span{display:inline-block;padding:9px 15px;border-radius:999px;border:1px solid var(--line);background:var(--aioli);font-size:14px;cursor:pointer;transition:all .15s;-webkit-user-select:none;user-select:none}.chip input:hover+span{border-color:var(--moss)}.chip input:checked+span{background:var(--cove);border-color:var(--lake);color:var(--lake);font-weight:600}.chip input:focus-visible+span{box-shadow:0 0 0 3px #09525633}.radio-row{display:flex;gap:10px;flex-wrap:wrap}.radio-row .chip span{min-width:64px;text-align:center}.reveal{margin-top:6px;animation:rise .35s ease both}.exp-list{display:flex;flex-direction:column;gap:10px}.exp2{position:relative}.exp2 input{position:absolute;opacity:0;inset:0;cursor:pointer}.exp2 .row{display:flex;align-items:flex-start;gap:15px;padding:16px 18px;border:1px solid var(--line);border-radius:13px;background:var(--aioli);cursor:pointer;transition:all .15s}.exp2 .box{flex:0 0 auto;width:22px;height:22px;border-radius:7px;border:1.5px solid var(--moss);background:#fff;display:grid;place-items:center;margin-top:1px;transition:all .15s}.exp2 .box svg{width:13px;height:13px;opacity:0;transition:opacity .15s}.exp2 .txt .t{display:block;font-weight:600;font-size:15px}.exp2 .txt .d{display:block;font-size:13px;color:var(--rich-teal);line-height:1.45;margin-top:2px}.exp2 input:hover+.row{border-color:var(--moss)}.exp2 input:checked+.row{background:var(--cove);border-color:var(--lake)}.exp2 input:checked+.row .box{background:var(--lake);border-color:var(--lake)}.exp2 input:checked+.row .box svg{opacity:1}.exp2 input:focus-visible+.row{box-shadow:0 0 0 3px #09525633}.actions{text-align:center;margin-top:8px}.btn{font-family:inherit;font-size:15.5px;font-weight:600;cursor:pointer;border:none;border-radius:999px;padding:15px 40px;transition:transform .12s,filter .15s,box-shadow .15s}.btn-primary{background:var(--lake);color:#fff;box-shadow:0 6px 18px #09525640}.btn-primary:hover:not(:disabled){filter:brightness(1.08);transform:translateY(-1px)}.btn-primary:active:not(:disabled){transform:translateY(0)}.btn-ghost{background:transparent;color:var(--lake);border:1px solid var(--lake)}.btn-ghost:hover:not(:disabled){background:var(--cove)}.btn:disabled{opacity:.6;cursor:progress}.btn:focus-visible{outline:none;box-shadow:0 0 0 3px #0952564d}.fineprint{font-size:12.5px;color:var(--rich-teal);margin-top:16px}.err{border-color:var(--aurora)!important;box-shadow:0 0 0 3px #ffa3022e!important}.err-msg{color:#b45309;font-size:12.5px;margin-top:-8px;margin-bottom:14px}.review{animation:rise .5s ease both}.review pre{white-space:pre-wrap;font-family:inherit;font-size:14.5px;color:var(--midnight);background:var(--aioli);border:1px solid var(--line-soft);border-radius:13px;padding:22px;margin:0 0 22px}.review-actions{display:flex;gap:12px;flex-wrap:wrap;justify-content:center}.toast{position:fixed;left:50%;bottom:28px;transform:translate(-50%) translateY(20px);background:var(--midnight);color:#fff;padding:12px 22px;border-radius:999px;font-size:14px;opacity:0;pointer-events:none;transition:all .25s;z-index:50}.toast.show{opacity:1;transform:translate(-50%) translateY(0)}.confirm-mark{width:62px;height:62px;margin:0 auto 10px;border-radius:999px;background:var(--cove);border:1px solid var(--moss);display:grid;place-items:center}.confirm-mark svg{width:28px;height:28px}.confirm-body{text-align:center}.confirm-body h2{font-family:Fraunces,serif;font-weight:500;font-size:26px;margin:0 0 10px}.confirm-body p{color:var(--rich-teal);font-size:15px;max-width:46ch;margin:0 auto 8px}footer.site-footer{text-align:center;color:var(--rich-teal);font-size:13px;margin-top:40px;line-height:1.7}footer.site-footer .brand{font-family:Fraunces,serif;color:var(--midnight);font-size:15px;margin:0 0 6px}footer.site-footer p{margin:0 0 6px}footer.site-footer a{color:var(--lake)}@media(max-width:600px){.grid,.grid-3{grid-template-columns:1fr}.card{padding:26px 20px}}@media(prefers-reduced-motion:reduce){*{animation:none!important;transition:none!important;scroll-behavior:auto}}.admin{min-height:100vh;background:linear-gradient(180deg,var(--aioli),var(--foam));color:var(--midnight)}.login-shell{min-height:100vh;display:grid;place-items:center;padding:32px 20px;background:radial-gradient(900px 420px at 50% -160px,var(--cove),transparent 62%),linear-gradient(180deg,var(--aioli),var(--foam))}.login-card{width:100%;max-width:400px;background:#fff;border:1px solid var(--line-soft);border-radius:18px;padding:34px 30px;box-shadow:var(--shadow);text-align:center}.login-card h1{font-family:Fraunces,serif;font-weight:500;font-size:25px;margin:0 0 8px;letter-spacing:-.01em}.login-card p.sub{color:var(--rich-teal);font-size:14px;margin:0 0 24px}.login-card form{display:flex;flex-direction:column;gap:12px;text-align:left}.login-card label{font-size:13px;font-weight:600}.login-card input{font-family:inherit;font-size:15px;color:var(--midnight);background:var(--aioli);border:1px solid var(--line);border-radius:11px;padding:12px 13px;width:100%;transition:border-color .15s,box-shadow .15s,background .15s}.login-card input:focus{outline:none;border-color:var(--lake);background:#fff;box-shadow:0 0 0 3px #09525626}.login-card .btn{width:100%;padding:13px 20px;margin-top:4px}.login-error{background:#ffa3021a;border:1px solid rgba(255,163,2,.4);color:#8a4b04;border-radius:11px;padding:10px 13px;font-size:13.5px}.login-note{font-size:12px;color:var(--rich-teal);margin:20px 0 0}.admin-bar{background:var(--midnight);color:#fff;padding:16px 24px;display:flex;align-items:center;gap:16px;flex-wrap:wrap}.admin-bar .mark{font-family:Fraunces,serif;font-size:17px;letter-spacing:-.01em}.admin-bar .mark span{display:block;font-family:Figtree,sans-serif;font-size:11px;letter-spacing:.22em;text-transform:uppercase;color:var(--moss);font-weight:600}.admin-bar .spacer{flex:1}.bar-btn{font-family:inherit;font-size:13.5px;font-weight:600;border-radius:999px;padding:9px 18px;cursor:pointer;border:1px solid rgba(255,255,255,.28);background:transparent;color:#fff;text-decoration:none;transition:background .15s,border-color .15s}.bar-btn:hover{background:#ffffff1f;border-color:#ffffff80}.bar-btn.solid{background:var(--shine);border-color:var(--shine);color:var(--midnight)}.bar-btn.solid:hover{filter:brightness(1.06);background:var(--shine)}.admin-body{max-width:1220px;margin:0 auto;padding:28px 24px 80px}.stat-row{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:14px;margin-bottom:26px}.stat{background:#fff;border:1px solid var(--line-soft);border-radius:15px;padding:18px 20px;box-shadow:0 1px 2px #1610320a}.stat .k{font-size:11.5px;letter-spacing:.14em;text-transform:uppercase;color:var(--rich-teal);font-weight:600;margin:0 0 6px}.stat .v{font-family:Fraunces,serif;font-size:30px;line-height:1;font-variant-numeric:tabular-nums;margin:0}.stat .hint{font-size:12.5px;color:var(--rich-teal);margin:7px 0 0}.toolbar{display:flex;gap:12px;align-items:center;flex-wrap:wrap;margin-bottom:18px}.toolbar input[type=search],.toolbar select{font-family:inherit;font-size:14.5px;color:var(--midnight);background:#fff;border:1px solid var(--line);border-radius:11px;padding:11px 13px;transition:border-color .15s,box-shadow .15s}.toolbar input[type=search]{flex:1 1 260px}.toolbar input:focus,.toolbar select:focus{outline:none;border-color:var(--lake);box-shadow:0 0 0 3px #09525626}.count-note{font-size:13px;color:var(--rich-teal)}.table-wrap{background:#fff;border:1px solid var(--line-soft);border-radius:16px;box-shadow:var(--shadow);overflow:hidden}table.subs{width:100%;border-collapse:collapse;font-size:14px}table.subs th{text-align:left;font-size:11.5px;letter-spacing:.12em;text-transform:uppercase;color:var(--rich-teal);font-weight:600;padding:14px 16px;border-bottom:1px solid var(--line-soft);background:var(--aioli);white-space:nowrap}table.subs td{padding:14px 16px;border-bottom:1px solid var(--line-soft);vertical-align:top}table.subs tbody tr{cursor:pointer;transition:background .12s}table.subs tbody tr:hover{background:var(--foam)}table.subs tbody tr:last-child td{border-bottom:none}.guest-name{font-weight:600}.guest-sub{color:var(--rich-teal);font-size:12.5px}.nowrap{white-space:nowrap}.tags{display:flex;flex-wrap:wrap;gap:5px}.tag{font-size:11.5px;background:var(--cove);color:var(--lake);border:1px solid rgba(9,82,86,.18);border-radius:999px;padding:2px 9px;white-space:nowrap}.tag.plain{background:var(--heather);color:var(--rich-teal);border-color:var(--line-soft)}.pill{display:inline-block;font-size:11.5px;font-weight:600;border-radius:999px;padding:4px 11px;white-space:nowrap;border:1px solid transparent}.pill-new{background:#ffa30229;color:#8a4b04;border-color:#ffa30259}.pill-in_review{background:var(--dawn);color:#6b551a;border-color:#6b551a40}.pill-contacted{background:var(--cove);color:var(--lake);border-color:#09525640}.pill-arranged{background:var(--lake);color:#fff}.pill-archived{background:var(--heather);color:var(--rich-teal);border-color:var(--line-soft)}.empty{padding:60px 24px;text-align:center;color:var(--rich-teal)}.empty strong{display:block;font-family:Fraunces,serif;font-weight:500;font-size:19px;color:var(--midnight);margin-bottom:6px}.pager{display:flex;align-items:center;justify-content:center;gap:14px;margin-top:20px;font-size:13.5px;color:var(--rich-teal)}.pager button{font-family:inherit;font-size:13.5px;font-weight:600;background:#fff;border:1px solid var(--line);border-radius:999px;padding:8px 16px;cursor:pointer;color:var(--lake)}.pager button:disabled{opacity:.45;cursor:default}.drawer-scrim{position:fixed;inset:0;background:#1610326b;z-index:60;animation:fade .18s ease both}@keyframes fade{0%{opacity:0}to{opacity:1}}.drawer{position:fixed;top:0;right:0;bottom:0;width:min(620px,100%);background:var(--foam);z-index:61;overflow-y:auto;box-shadow:-18px 0 50px #1610322e;animation:slide .22s ease both}@keyframes slide{0%{transform:translate(24px);opacity:.4}to{transform:none;opacity:1}}.drawer-head{position:sticky;top:0;background:#fff;border-bottom:1px solid var(--line-soft);padding:20px 24px;display:flex;align-items:flex-start;gap:14px}.drawer-head h2{font-family:Fraunces,serif;font-weight:500;font-size:22px;margin:0 0 4px;letter-spacing:-.01em}.drawer-head .meta{font-size:13px;color:var(--rich-teal)}.icon-btn{margin-left:auto;flex:0 0 auto;background:var(--aioli);border:1px solid var(--line);border-radius:999px;width:34px;height:34px;display:grid;place-items:center;cursor:pointer;color:var(--rich-teal);font-size:17px;line-height:1;font-family:inherit}.icon-btn:hover{background:var(--cove);border-color:var(--moss)}.drawer-body{padding:22px 24px 60px}.detail-block{background:#fff;border:1px solid var(--line-soft);border-radius:15px;padding:20px 22px;margin-bottom:14px}.detail-block h3{font-family:Fraunces,serif;font-weight:500;font-size:16px;margin:0 0 14px;padding-bottom:10px;border-bottom:1px solid var(--line-soft)}.kv{display:grid;grid-template-columns:150px 1fr;gap:8px 16px;font-size:14px}.kv dt{color:var(--rich-teal);font-size:12.5px;font-weight:600;padding-top:2px}.kv dd{margin:0;white-space:pre-wrap;overflow-wrap:anywhere}.bullets{margin:0;padding-left:20px;font-size:14px}.bullets li{margin-bottom:5px}.host-controls{display:flex;flex-direction:column;gap:12px}.host-controls label{font-size:12.5px;font-weight:600;color:var(--rich-teal);display:block;margin-bottom:6px}.host-controls select,.host-controls textarea{font-family:inherit;font-size:14.5px;color:var(--midnight);background:var(--aioli);border:1px solid var(--line);border-radius:11px;padding:11px 13px;width:100%}.host-controls textarea{min-height:110px;resize:vertical}.host-controls select:focus,.host-controls textarea:focus{outline:none;border-color:var(--lake);background:#fff;box-shadow:0 0 0 3px #09525626}.save-row{display:flex;align-items:center;gap:12px}.save-row .btn{padding:11px 26px;font-size:14.5px}.saved-note{font-size:13px;color:var(--lake);font-weight:600}.detail-actions{display:flex;gap:10px;flex-wrap:wrap;margin-top:4px}.detail-actions a,.detail-actions button{font-family:inherit;font-size:13.5px;font-weight:600;color:var(--lake);background:#fff;border:1px solid var(--lake);border-radius:999px;padding:9px 18px;cursor:pointer;text-decoration:none}.detail-actions a:hover,.detail-actions button:hover{background:var(--cove)}.loading{padding:50px 24px;text-align:center;color:var(--rich-teal);font-size:14px}@media(max-width:900px){table.subs .hide-sm{display:none}}@media(max-width:600px){.kv{grid-template-columns:1fr;gap:2px 0}.kv dd{margin-bottom:10px}.admin-body{padding:20px 14px 60px}.drawer-body{padding:18px 16px 60px}.detail-block{padding:18px 16px}}
