:root{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;--bg:#f4f7fb;--card:#ffffffe6;--text:#162033;--muted:#687386;--line:#dde5f0;--primary:#1b5f9e;--primary-dark:#0f3f73;--success:#14734a;--success-bg:#e8f7ef;--danger:#9b2c2c;--danger-bg:#fff0f0;--free-bg:#f8fbff;--booked-bg:#eef6ff;--shadow:0 18px 55px #1a2d4d1f}*{box-sizing:border-box}body{background:radial-gradient(circle at top left, #4b91d633, transparent 32rem), linear-gradient(135deg, #f8fbff 0%, var(--bg) 48%, #eef3f8 100%);min-height:100vh;color:var(--text);margin:0;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,Microsoft YaHei,sans-serif}button,input,select,textarea{font:inherit}.page-shell{width:min(1180px,100% - 32px);margin:0 auto;padding:48px 0}.hero{justify-content:space-between;align-items:flex-start;gap:24px;margin-bottom:22px;display:flex}.eyebrow{color:var(--primary);letter-spacing:.14em;text-transform:uppercase;margin:0 0 10px;font-size:13px;font-weight:700}h1,h2,h3,p{margin-top:0}h1{letter-spacing:-.05em;margin-bottom:14px;font-size:clamp(32px,5vw,56px);line-height:1.05}.hero-text{max-width:760px;color:var(--muted);font-size:17px;line-height:1.75}.refresh-button,.submit-button{cursor:pointer;color:#fff;background:linear-gradient(135deg, var(--primary), var(--primary-dark));border:0;border-radius:999px;transition:transform .18s,opacity .18s;box-shadow:0 10px 24px #1b5f9e40}.refresh-button{white-space:nowrap;padding:12px 18px}.submit-button{width:100%;padding:14px 18px;font-weight:700}.refresh-button:hover,.submit-button:hover{transform:translateY(-1px)}.refresh-button:disabled,.submit-button:disabled{cursor:not-allowed;opacity:.6;transform:none}.notice{color:var(--danger);background:var(--danger-bg);border:1px solid #ffd2d2;border-radius:18px;margin-bottom:18px;padding:14px 16px}.notice.success{color:var(--success);background:var(--success-bg);border-color:#bde8cf}.grid-layout{grid-template-columns:minmax(320px,.85fr) minmax(360px,1.15fr);align-items:start;gap:22px;display:grid}.card{background:var(--card);box-shadow:var(--shadow);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border:1px solid #dde5f0d9;border-radius:28px}.booking-card,.timeline-card,.upcoming-card{padding:24px}.card-header{justify-content:space-between;align-items:center;gap:14px;margin-bottom:18px;display:flex}.card-header h2{letter-spacing:-.02em;margin:0;font-size:22px}.card-header span{color:var(--muted);font-size:14px}.booking-form{gap:14px;display:grid}.booking-form label{color:#384355;gap:8px;font-size:14px;font-weight:700;display:grid}input,select,textarea{border:1px solid var(--line);width:100%;color:var(--text);background:#ffffffe0;border-radius:16px;outline:none;padding:12px 14px}input:focus,select:focus,textarea:focus{border-color:#1b5f9ea6;box-shadow:0 0 0 4px #1b5f9e17}textarea{resize:vertical}.two-columns{grid-template-columns:1fr 1fr;gap:12px;display:grid}.timeline{gap:10px;display:grid}.slot{border:1px solid var(--line);border-radius:18px;grid-template-columns:140px 1fr;align-items:center;gap:14px;padding:14px;display:grid}.slot.free{background:var(--free-bg)}.slot.booked{background:var(--booked-bg);border-color:#1b5f9e33}.slot-time{color:var(--muted);font-size:14px;font-weight:800}.slot-content{gap:2px;display:grid}.slot-content span{color:var(--muted);font-size:14px}.upcoming-card{margin-top:22px}.empty{color:var(--muted);margin:0}.reservation-list{gap:22px;display:grid}.date-group h3{color:var(--primary-dark);margin-bottom:10px;font-size:17px}.reservation-items{gap:10px;display:grid}.reservation-item{border:1px solid var(--line);background:#ffffffb8;border-radius:18px;justify-content:space-between;gap:16px;padding:14px 16px;display:flex}.reservation-item strong{margin-bottom:5px;display:block}.reservation-item p{color:var(--muted);margin:0;line-height:1.5}.person{text-align:right;min-width:110px}.person span,.person small{display:block}.person span{font-weight:800}.person small{color:var(--muted);margin-top:4px}@media (max-width:880px){.page-shell{width:min(100% - 22px,680px);padding:28px 0}.hero{display:grid}.grid-layout{grid-template-columns:1fr}.slot{grid-template-columns:1fr;gap:6px}}@media (max-width:520px){.two-columns,.reservation-item{grid-template-columns:1fr;display:grid}.person{text-align:left}}.field-hint{color:var(--muted);font-size:12px;font-weight:500;line-height:1.5}.reservation-main{min-width:0}.cancel-button{cursor:pointer;color:var(--danger);background:#fff0f0d9;border:1px solid #9b2c2c3d;border-radius:999px;margin-top:10px;padding:7px 12px;font-size:13px;font-weight:800;transition:transform .18s,opacity .18s,background .18s}.cancel-button:hover{background:#ffe4e4;transform:translateY(-1px)}.cancel-button:disabled{cursor:not-allowed;opacity:.6;transform:none}.site-footer{color:var(--muted);text-align:center;margin-top:26px;padding:22px 8px 4px;font-size:13px;line-height:1.7}.site-footer p{margin:4px 0}.form-note{color:var(--muted);background:#eef6ffb3;border:1px dashed #1b5f9e42;border-radius:14px;margin:-2px 0 2px;padding:10px 12px;font-size:13px;line-height:1.6}.long-badge{width:fit-content;color:var(--primary-dark);background:#1b5f9e1a;border-radius:999px;margin-top:4px;padding:3px 8px;font-size:12px;font-weight:800;line-height:1.4;display:inline-block}.long-reservation{background:#eef6ffc7;border-color:#1b5f9e42}.long-label{color:var(--primary-dark);background:#1b5f9e1a;border-radius:999px;margin:0 0 6px;padding:3px 8px;font-size:12px;font-weight:800;display:inline-block}
