:root{--brand:#d47579;--brand-dark:#bd5c60;--blue:#88badd;--gold:#cab87a;--ink:#332a2b;--muted:#8a7a7c;--bg:#fcf4f4;--card:#fff;--line:#eeddde;--ok:#318262;--warn:#97832f;--danger:#b91c1c;--radius:12px;--font:-apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif}*{box-sizing:border-box}body{font-family:var(--font);color:var(--ink);background:var(--bg);-webkit-font-smoothing:antialiased;margin:0;line-height:1.55}.wrap{max-width:860px;margin:0 auto;padding:0 20px}.demo-banner{background:var(--gold);color:#3c3212;text-align:center;padding:6px 12px;font-size:13px;font-weight:600}.site-header{background:var(--card);border-bottom:1px solid var(--line);margin-bottom:28px;padding:14px 0}.site-header .wrap{justify-content:space-between;align-items:center;display:flex}.brand{color:var(--ink);align-items:center;gap:8px;font-size:18px;font-weight:700;text-decoration:none;display:flex}.brand img{height:32px;display:block}.brand .badge{background:var(--blue);color:#1c3a54;vertical-align:middle;border-radius:99px;margin-left:6px;padding:2px 8px;font-size:11px}.site-header nav a{color:var(--muted);margin-left:16px;font-size:14px;text-decoration:none}.site-header nav a:hover{color:var(--brand)}h1{letter-spacing:-.02em;margin:0 0 10px;font-size:26px}h2{margin:28px 0 10px;font-size:19px}.lede{color:var(--muted);margin-top:0}a{color:var(--brand)}.back{font-size:14px;text-decoration:none}main{min-height:60vh;padding-bottom:40px}.site-footer{border-top:1px solid var(--line);color:var(--muted);text-align:center;padding:18px 0;font-size:13px}.event-grid{grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:16px;margin-top:20px;display:grid}.event-card{background:var(--card);border:1px solid var(--line);border-radius:var(--radius);color:var(--ink);padding:18px;text-decoration:none;transition:box-shadow .15s,transform .15s;display:block}.event-card:hover{transform:translateY(-2px);box-shadow:0 6px 20px #d475792e}.event-card h2{margin:4px 0 6px;font-size:18px}.event-date{color:var(--brand);text-transform:uppercase;letter-spacing:.04em;font-size:13px;font-weight:600}.event-venue,.event-times,.event-fee{color:var(--muted);font-size:14px}.field-hint{color:var(--muted);margin-top:3px;font-size:12px;font-weight:400;display:block}.event-availability{color:var(--ok);margin-top:10px;font-size:13px;font-weight:600}.event-availability.full{color:var(--danger)}.event-meta{color:var(--muted);flex-wrap:wrap;gap:6px 18px;margin-bottom:12px;font-size:15px;display:flex}.event-meta span:before{content:"•";color:var(--line);margin-right:6px}.event-meta span:first-child:before{content:"";margin:0}.slot-grid{grid-template-columns:repeat(auto-fill,minmax(110px,1fr));gap:10px;margin:18px 0;display:grid}.slot{background:var(--card);border:1px solid var(--line);color:var(--ink);cursor:pointer;border-radius:10px;flex-direction:column;align-items:center;gap:2px;padding:12px 6px;font-weight:600;text-decoration:none;transition:border-color .15s,box-shadow .15s;display:flex}.slot small{color:var(--ok);font-size:11px;font-weight:500}.slot:hover{border-color:var(--brand);box-shadow:0 3px 12px #d4757940}.slot.disabled{opacity:.45;pointer-events:none}.slot.disabled small{color:var(--muted)}form label{margin:14px 0 4px;font-size:14px;font-weight:600;display:block}input[type=text],input[type=email],input[type=tel],input[type=password],input[type=date],input[type=time],input[type=number],select,textarea{width:100%;font-size:16px;font-family:var(--font);border:1px solid var(--line);background:var(--card);color:var(--ink);border-radius:8px;padding:10px 12px}input:focus,select:focus,textarea:focus{outline:2px solid var(--blue);outline-offset:0;border-color:#0000}button,.button{background:var(--brand);color:#fff;font-size:16px;font-weight:600;font-family:var(--font);cursor:pointer;border:0;border-radius:8px;margin-top:16px;padding:12px 22px;text-decoration:none;transition:background .15s;display:inline-block}button:hover,.button:hover{background:var(--brand-dark)}button:disabled{opacity:.6;cursor:wait}.button.secondary,button.secondary{background:var(--card);color:var(--ink);border:1px solid var(--line)}.button.danger,button.danger{background:var(--danger)}.button.danger:hover,button.danger:hover{background:#991b1b}.cancel-form{flex-wrap:wrap;justify-content:center;align-items:center;gap:10px;display:flex}.cancel-note{color:var(--muted);font-size:14px}button.danger{background:var(--danger)}button.mini{margin:2px 2px 2px 0;padding:5px 10px;font-size:13px}.money-input{width:90px;padding:5px 8px;font-size:14px;display:inline-block}form.inline{display:inline}button.linklike{color:var(--brand);cursor:pointer;background:0 0;border:0;margin:0;padding:0;font-size:13px;font-weight:400;text-decoration:underline}button.linklike:hover{color:var(--brand-dark);background:0 0}#card-container{margin:6px 0 4px}#booking-form{max-width:460px}.checkout-summary{background:var(--card);border:1px solid var(--line);border-radius:var(--radius);max-width:460px;margin:14px 0 6px;padding:16px 18px}.checkout-summary .fee-line{border-top:1px dashed var(--line);margin-top:8px;padding-top:8px}.fine-print{color:var(--muted);font-size:13px}.demo-note{background:#f3ecd4;border-radius:8px;margin-top:14px;padding:10px 14px;font-size:14px}.error{color:var(--danger);background:#fee2e2;border-radius:8px;margin:12px 0;padding:10px 14px;font-size:14px}.flash{color:#245e48;background:#ddeee7;border-radius:8px;margin:12px 0;padding:10px 14px;font-size:14px}.empty{background:var(--card);border:1px dashed var(--line);border-radius:var(--radius);text-align:center;color:var(--muted);margin-top:20px;padding:30px}.confirmation{text-align:center;max-width:460px;margin:0 auto}.confirmation .check{background:var(--ok);color:#fff;border-radius:50%;width:56px;height:56px;margin:10px auto 14px;font-size:28px;line-height:56px}.confirmation-card{background:var(--card);border:1px solid var(--line);border-radius:var(--radius);text-align:left;margin:16px 0;padding:8px 18px}.confirmation-card .row{border-bottom:1px solid var(--line);justify-content:space-between;gap:12px;padding:9px 0;font-size:15px;display:flex}.confirmation-card .row:last-child{border-bottom:0}.confirmation-card .row span{color:var(--muted)}.login-box{background:var(--card);border:1px solid var(--line);border-radius:var(--radius);max-width:380px;margin:40px auto;padding:24px}.admin-toolbar{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:10px;display:flex}.admin-toolbar .button{margin-top:0}.table-scroll{margin-top:16px;overflow-x:auto}table{border-collapse:collapse;background:var(--card);border:1px solid var(--line);border-radius:var(--radius);width:100%;font-size:14px}th{text-align:left;background:var(--bg);border-bottom:2px solid var(--line);padding:10px 12px;font-size:13px}td{border-bottom:1px solid var(--line);vertical-align:top;padding:10px 12px}tr:last-child td{border-bottom:0}.row-free td{color:var(--muted)}td.actions a{margin-right:10px;font-size:13px}.status-active{color:var(--ok);font-weight:600}.status-draft{color:var(--warn);font-weight:600}.status-archived{color:var(--muted)}.ok{color:var(--ok);font-weight:600}.warn{color:var(--warn);font-weight:600}.stat-row{grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:12px;margin:18px 0;display:grid}.stat{background:var(--card);border:1px solid var(--line);border-radius:var(--radius);padding:14px 16px}.stat span{color:var(--muted);text-transform:uppercase;letter-spacing:.04em;font-size:12px;display:block}.stat strong{font-size:20px}.event-form{max-width:560px}.form-row{flex-wrap:wrap;gap:14px;display:flex}.form-row label{flex:1;min-width:140px}.muted{color:var(--muted)}.customer-search{flex-wrap:wrap;align-items:center;gap:8px;margin:16px 0 0;display:flex}.customer-search input[type=text]{flex:1;min-width:200px;max-width:340px}.customer-search .button{margin-top:0}.repeat-tag{color:var(--brand-dark);font-weight:600}.filter-bar{background:var(--card);border:1px solid var(--line);border-radius:var(--radius);flex-wrap:wrap;align-items:flex-end;gap:12px;margin-top:16px;padding:14px 16px;display:flex}.filter-bar label{color:var(--muted);text-transform:uppercase;letter-spacing:.04em;font-size:12px;display:block}.filter-bar input,.filter-bar select{margin-top:4px;padding:7px 9px;font-size:14px}.filter-bar input[type=date]{width:160px}.filter-bar input[type=text]{min-width:200px}.filter-actions{gap:8px;display:flex}.filter-actions .button{margin-top:0}.booking-paid{color:var(--ok);font-weight:600}.booking-cancelled{color:var(--danger);font-weight:600}.booking-pending{color:var(--warn);font-weight:600}.pager{color:var(--muted);justify-content:center;align-items:center;gap:12px;margin:18px 0;font-size:14px;display:flex}.pager .button{margin-top:0}@media (max-width:520px){h1{font-size:22px}.slot-grid{grid-template-columns:repeat(auto-fill,minmax(90px,1fr))}.site-header .wrap{flex-direction:column;align-items:flex-start;gap:8px}.site-header nav{flex-wrap:wrap;gap:4px 16px;display:flex}.site-header nav a{white-space:nowrap;margin-left:0}.filter-bar input[type=date],.filter-bar input[type=text],.filter-bar select,.filter-bar label{width:100%}.filter-bar{gap:10px}}
