:root{--ink:#141414;--cream:#f4f1ed;--cream-dark:#e9e0d1;--paper:#fffcf8;--gold:#bd945a;--gold-dark:#8a6230;--gold-soft:#d8bf99;--line:#e6e0d6;--muted:#5c564e;--err:#8b2c1a;--ok-bg:#e7f0e4;--ok-ink:#1e4a28;--soon-bg:#f3e6cf;--soon-ink:#5a3e12;--cancel-bg:#f4d9d4;--cancel-ink:#6f2418;--info-bg:#e8eef6;--shadow:0 8px 24px #1414140f;--font-display:"Gilda Display",Georgia,"Times New Roman",serif;--font-body:Manrope,"Segoe UI",Roboto,Helvetica,Arial,sans-serif;--radius:16px}*{box-sizing:border-box}body{font:16px/1.5 var(--font-body);background:var(--cream);color:var(--ink);min-height:100vh;margin:0}.wrap{max-width:1150px;margin:0 auto;padding:16px 20px 48px}header{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;gap:16px;margin-bottom:24px;padding:8px 0 16px;display:flex}.brand{color:inherit;align-items:center;gap:12px;min-width:0;text-decoration:none;display:flex}.brand img{background:var(--cream);border-radius:12px;flex:none;width:48px;height:48px}h1{font-family:var(--font-display);color:var(--ink);margin:0;font-size:clamp(1.15rem,2.4vw,1.55rem);font-weight:400;line-height:1.25}.who{color:var(--muted);text-align:right;flex:none;font-size:13px}.admin-login-btn{color:var(--ink);border:1px solid var(--line);background:0 0;border-radius:999px;flex:none;padding:6px 14px;font-size:13px;font-weight:600}.admin-login-btn:hover:not(:disabled){background:var(--cream-dark)}h2{font-family:var(--font-display);letter-spacing:-.01em;margin:0 0 8px;font-size:1.7rem;font-weight:400}h3{font-family:var(--font-body);letter-spacing:-.03em;margin:0 0 10px;font-weight:700}.lede{color:var(--muted);margin:0 0 18px}.card{background:var(--paper);border-radius:var(--radius);box-shadow:var(--shadow);border:1px solid var(--line);margin:12px 0;padding:20px;overflow-x:auto}.narrow{max-width:400px;margin:28px auto;padding:28px 28px 24px}.auth-mark{width:88px;height:100px;margin:0 auto 12px;display:block}label{color:var(--ink);flex-direction:column;gap:6px;margin-bottom:12px;font-size:13px;font-weight:600;display:flex}input,select{border:1px solid var(--line);font:inherit;color:var(--ink);background:#fff;border-radius:8px;padding:10px 12px}input:focus,select:focus{outline:2px solid var(--gold);outline-offset:1px;border-color:var(--gold)}.pw-wrap{display:block;position:relative}.pw-wrap input{box-sizing:border-box;width:100%;padding-right:44px}.pw-toggle{color:var(--muted);box-shadow:none;background:0 0;border:0;border-radius:8px;justify-content:center;align-items:center;padding:6px;line-height:0;display:flex;position:absolute;top:50%;right:2px;transform:translateY(-50%)}.pw-toggle:hover:not(:disabled){background:var(--cream);color:var(--ink)}button{background:var(--gold);color:var(--ink);cursor:pointer;font:inherit;border:0;border-radius:999px;padding:10px 18px;font-weight:600}button:hover:not(:disabled){background:var(--gold-soft)}button:focus-visible{outline:2px solid var(--ink);outline-offset:2px}button:disabled{opacity:.55;cursor:not-allowed}button.secondary{background:var(--ink);color:var(--cream)}button.link{color:var(--gold-dark);background:0 0;border-radius:0;padding:0;font-size:13px;font-weight:600;text-decoration:underline}a{color:var(--gold-dark)}.grid{grid-template-columns:repeat(auto-fill,minmax(200px,1fr));align-items:end;gap:0 12px;display:grid}.grid h3{grid-column:1/-1}table{border-collapse:collapse;width:100%;font-size:13px}th,td{text-align:left;border-bottom:1px solid var(--line);vertical-align:top;padding:8px}tr.total td{border-top:2px solid var(--cream-dark);font-weight:700}tr.dim{opacity:.5}.stats{flex-wrap:wrap;gap:12px;display:flex}.stat{background:var(--paper);border-radius:var(--radius);min-width:170px;box-shadow:var(--shadow);border:1px solid var(--line);padding:14px}.stat .v{font-family:var(--font-display);color:var(--gold-dark);font-size:2rem;font-weight:400}.stat .l{color:var(--muted);font-size:12px}.pill{text-transform:capitalize;background:#eee;border-radius:999px;padding:2px 10px;font-size:12px;font-weight:600;display:inline-block}.pill.completed{background:var(--ok-bg);color:var(--ok-ink)}.pill.upcoming{background:var(--soon-bg);color:var(--soon-ink)}.pill.cancelled{background:var(--cancel-bg);color:var(--cancel-ink)}.pill.readonly{background:var(--info-bg);color:var(--ink)}.tabs button{background:var(--paper);color:var(--ink);border:1px solid var(--line);border-radius:999px;margin-bottom:6px;margin-right:6px}.tabs button.on{background:var(--ink);color:var(--cream);border-color:var(--ink)}.flash{background:var(--soon-bg);color:var(--soon-ink);border-radius:8px;padding:10px 12px}.err{color:var(--err);font-weight:600}.muted{color:var(--muted);font-size:13px}.note{background:var(--info-bg);border-radius:8px;padding:8px 12px;font-size:13px}.code{letter-spacing:1px;font-family:ui-monospace,monospace}.steps li{margin:3px 0}.attention{border-left:4px solid var(--gold)}.check{flex-direction:row;align-items:center;gap:8px;font-size:14px}.check input{width:auto}a.button{background:var(--gold);color:var(--ink);border-radius:999px;margin-left:8px;padding:8px 14px;font-weight:600;text-decoration:none;display:inline-block}.props{flex-wrap:wrap;gap:4px 18px;margin:6px 0 12px;display:flex}.small{word-break:break-word;max-width:420px;font-size:11px}details{margin-top:10px}h4{margin:14px 0 4px}.lookup{max-width:none}.lookup .row{flex-wrap:wrap;align-items:end;gap:12px;margin:0 0 8px;display:flex}.lookup .row label{flex:1;min-width:160px;margin-bottom:0}.lookup .row button{margin-bottom:2px}.uses-stat{text-align:center;padding:8px 8px 20px}.uses-stat .uses-number{font-family:var(--font-display);color:var(--ink);margin:0;font-size:clamp(3rem,8vw,4.5rem);line-height:1}.uses-stat .uses-label{color:var(--muted);letter-spacing:.02em;margin:8px 0 0;font-size:.95rem}.inf-home{max-width:1100px}.inf-tabs{gap:8px;margin:0 0 20px;display:flex}.inf-tabs button{color:var(--ink);border:1px solid var(--line);background:0 0;border-radius:999px;padding:8px 16px}.inf-tabs button.on{background:var(--ink);color:var(--cream);border-color:var(--ink)}.results{margin-top:8px}.results .summary{color:var(--ink);margin:4px 0 12px;font-weight:600}.empty-lead{color:var(--muted);margin-bottom:4px}.table-wrap{border:1px solid var(--line);background:#fff;border-radius:12px;overflow:auto}.bookings-table{border-collapse:separate;border-spacing:0;width:100%;min-width:28rem;margin:0;font-size:15px}.bookings-table thead th{background:var(--cream);color:var(--ink);letter-spacing:.06em;text-transform:uppercase;border-bottom:1px solid var(--line);white-space:nowrap;padding:12px 16px;font-size:11px;font-weight:700}.bookings-table td{border-bottom:1px solid var(--line);vertical-align:middle;padding:14px 16px}.bookings-table tbody tr:last-child td{border-bottom:0}.bookings-table tbody tr:nth-child(2n){background:#f8f4ee}.bookings-table .col-date{text-align:left}.bookings-table .col-nights{text-align:center;font-variant-numeric:tabular-nums;width:5.5rem}.bookings-table .col-status{text-align:left;width:8.5rem}.bookings-table .col-money{text-align:right;font-variant-numeric:tabular-nums;white-space:nowrap}.bookings-table tfoot .totals-row td{background:var(--cream);border-top:1px solid var(--line);border-bottom:0;font-weight:700}.bookings-table tr.is-cancelled td{color:var(--muted)}.dash-stats{flex-wrap:wrap;gap:12px;margin:0 0 16px;display:flex}.dash-stats .stat,.payout-balance .stat{border:1px solid var(--line);background:#fff;border-radius:12px;flex:1;min-width:140px;padding:14px 16px}.dash-stats .stat .v,.payout-balance .stat .v{font-family:var(--font-display);font-size:1.55rem;line-height:1.1}.dash-stats .stat .l,.payout-balance .stat .l{color:var(--muted);margin-top:6px;font-size:.85rem}.uses-stat.compact{padding:0 8px 16px}.uses-stat.compact .uses-number{font-size:clamp(1.8rem,4vw,2.4rem)}.bookings-table .pill{padding:3px 10px;font-size:12px}.bank-masked{font-variant-numeric:tabular-nums;letter-spacing:.04em}.payout-balance{flex-wrap:wrap;gap:12px;margin:0 0 16px;display:flex}.payout-balance .stat{flex:1;min-width:140px}.payout-note{background:var(--cream);border-radius:10px;margin:0 0 18px;padding:12px 14px}@media (width<=560px){header{flex-wrap:wrap;align-items:flex-start}.narrow{margin:16px auto;padding:22px 18px}.lookup .row{flex-direction:column;align-items:stretch}.lookup .row button{width:100%}.bookings-table{min-width:0;font-size:14px}.bookings-table thead{display:none}.bookings-table,.bookings-table tbody,.bookings-table tfoot,.bookings-table tr,.bookings-table td{width:100%;display:block}.bookings-table tr{border-bottom:1px solid var(--line);padding:10px 14px 12px}.bookings-table tbody tr:last-child{border-bottom:0}.bookings-table td{text-align:right;border:0;justify-content:space-between;align-items:center;gap:12px;padding:6px 0;display:flex}.bookings-table td:before{content:attr(data-label);letter-spacing:.06em;text-transform:uppercase;color:var(--muted);text-align:left;font-size:11px;font-weight:700}.bookings-table .col-nights,.bookings-table .col-status,.bookings-table .col-money{text-align:right;width:auto}}.inf-home.admin-home{max-width:1150px}.inf-tabs button.admin-entry{color:var(--muted);border:1px solid var(--line);background:0 0;margin-left:auto;font-weight:600}.inf-tabs button.admin-entry.on{background:var(--cream-dark);color:var(--ink);border-color:var(--ink)}.admin-tools{grid-template-columns:220px 1fr;align-items:start;gap:20px;display:grid}.admin-subnav{background:var(--paper);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow);flex-direction:column;gap:2px;padding:10px;display:flex}.admin-subnav-title{letter-spacing:.08em;text-transform:uppercase;color:var(--muted);margin:4px 8px 8px;font-size:11px;font-weight:700}.admin-subnav button{color:var(--ink);text-align:left;background:0 0;border:0;border-radius:8px;padding:8px 12px;font-weight:600}.admin-subnav button:hover:not(:disabled){background:var(--cream)}.admin-subnav button.on{background:var(--ink);color:var(--cream)}.admin-panel{min-width:0}@media (width<=800px){.admin-tools{grid-template-columns:1fr}.admin-subnav{flex-flow:wrap;gap:6px}.admin-subnav-title{width:100%;margin:0 0 4px}.admin-subnav button{border:1px solid var(--line);border-radius:999px;padding:6px 12px}}.admin-portal-bar{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;margin:0 0 18px;display:flex}
