: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;--warning:#9a5b00;--warning-bg:#fff7e5;--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}button{-webkit-tap-highlight-color:transparent}.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}.small-eyebrow{margin-bottom:6px;font-size:11px}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:780px;color:var(--muted);font-size:17px;line-height:1.75}.refresh-button,.submit-button,.resolve-button,.feedback-button,.secondary-button{cursor:pointer;border-radius:999px;font-weight:800;transition:transform .18s,opacity .18s,background .18s,border-color .18s}.refresh-button,.submit-button{color:#fff;background:linear-gradient(135deg, var(--primary), var(--primary-dark));border:0;box-shadow:0 10px 24px #1b5f9e40}.refresh-button{white-space:nowrap;padding:12px 18px}.submit-button{width:100%;padding:14px 18px}.submit-button.compact{width:auto;padding:11px 18px}.refresh-button:hover,.submit-button:hover,.resolve-button:hover,.feedback-button:hover,.secondary-button:hover,.cancel-button:hover{transform:translateY(-1px)}.refresh-button:disabled,.submit-button:disabled,.resolve-button:disabled,.feedback-button:disabled,.secondary-button:disabled,.cancel-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}.issue-banner{background:linear-gradient(135deg,#fff0f0f5,#fff7e5eb),#fff;border:1px solid #9b2c2c38;border-radius:26px;margin-bottom:18px;padding:20px;box-shadow:0 18px 45px #9b2c2c1c}.issue-banner-header{justify-content:space-between;align-items:flex-start;gap:18px;margin-bottom:12px;display:flex}.issue-banner h2{color:var(--danger);margin-bottom:8px;font-size:24px}.issue-banner p{color:#724040;margin-bottom:0;line-height:1.65}.issue-banner-header>strong{min-width:58px;color:var(--danger);text-align:center;background:#fffc;border-radius:999px;padding:8px 12px}.issue-list{gap:10px;display:grid}.issue-item{background:#ffffffbd;border:1px solid #9b2c2c2e;border-radius:18px;justify-content:space-between;align-items:center;gap:16px;padding:14px;display:flex}.issue-item strong{margin-bottom:4px;display:block}.issue-item blockquote,.history-item blockquote{color:#704040;background:#fff0f0b3;border-left:3px solid #9b2c2c59;border-radius:10px;margin:8px 0 0;padding:8px 10px;line-height:1.55}.resolve-button{color:var(--success);background:#e8f7efe0;border:1px solid #14734a38;flex:none;padding:9px 14px}.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,.history-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}.history-header{align-items:flex-start}.history-header p{color:var(--muted);margin:8px 0 0;line-height:1.6}.booking-form{gap:14px;display:grid}.booking-form label,.history-controls label,.feedback-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}.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}.field-hint{color:var(--muted);font-size:12px;font-weight:500;line-height:1.5}.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,.history-card{margin-top:22px}.empty{color:var(--muted);margin:0}.history-empty{padding-top:8px}.reservation-list,.history-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,.history-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,.history-item strong{margin-bottom:5px;display:block}.reservation-item p,.history-item p{color:var(--muted);margin:0;line-height:1.5}.history-item small{color:var(--muted);margin-top:8px;line-height:1.5;display:block}.reservation-main{min-width:0}.person{text-align:right;min-width:128px}.person span,.person small{display:block}.person span{font-weight:800}.person small{color:var(--muted);margin-top:4px}.action-row{align-items:center;gap:8px;display:flex}.action-row.vertical{flex-direction:column;align-items:flex-end;margin-top:10px}.cancel-button,.feedback-button,.secondary-button{border:1px solid #1b5f9e38;padding:7px 12px;font-size:13px}.cancel-button{color:var(--danger);background:#fff0f0d9;border-color:#9b2c2c3d}.cancel-button:hover{background:#ffe4e4}.feedback-button{color:var(--primary-dark);background:#eef6ffe6}.feedback-button:hover{background:#e2f0ff}.secondary-button{color:var(--muted);background:#ffffffe0}.badge-row{flex-wrap:wrap;align-items:center;gap:8px;margin:0 0 6px;display:flex}.long-badge,.long-label,.status-badge{border-radius:999px;width:fit-content;padding:3px 8px;font-size:12px;font-weight:800;line-height:1.4;display:inline-block}.long-badge{margin-top:4px}.long-badge,.long-label{color:var(--primary-dark);background:#1b5f9e1a}.long-reservation{background:#eef6ffc7;border-color:#1b5f9e42}.status-badge.neutral{color:var(--muted);background:#6873861a}.status-badge.ok{color:var(--success);background:var(--success-bg)}.status-badge.warning{color:var(--warning);background:var(--warning-bg)}.status-badge.danger,.status-badge.missing{color:var(--danger);background:var(--danger-bg)}.status-badge.canceled{color:#555;background:#32323217}.history-controls{background:#f8fbffbf;border:1px solid #dde5f0d9;border-radius:20px;grid-template-columns:160px 160px minmax(220px,1fr) auto;align-items:end;gap:12px;margin-bottom:18px;padding:14px;display:grid}.history-status{flex:0 0 128px;align-content:start;justify-items:end;gap:8px;display:grid}.modal-backdrop{z-index:50;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#0a142257;place-items:center;padding:20px;display:grid;position:fixed;inset:0}.modal-card{background:#fffffffa;border:1px solid #dde5f0e6;border-radius:28px;width:min(620px,100%);max-height:calc(100vh - 40px);padding:24px;overflow:auto;box-shadow:0 24px 70px #0c1c3647}.modal-header{justify-content:space-between;align-items:flex-start;gap:14px;margin-bottom:18px;display:flex}.modal-header h2{margin-bottom:6px;font-size:26px}.modal-subtitle{color:var(--muted);margin:0;line-height:1.55}.icon-button{border:1px solid var(--line);width:34px;height:34px;color:var(--muted);cursor:pointer;background:#fff;border-radius:50%;font-size:24px;line-height:1}.feedback-form{gap:14px;display:grid}.feedback-question{border:1px solid var(--line);background:#f8fbffdb;border-radius:18px;padding:14px}.feedback-question p{color:#384355;margin:0 0 10px;font-weight:800}.radio-row{gap:14px;display:flex}.radio-row label{align-items:center;gap:6px;font-weight:700;display:flex}.radio-row input{width:auto}.modal-actions{justify-content:flex-end;gap:10px;margin-top:2px;display:flex}.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}@media (max-width:940px){.page-shell{width:min(100% - 22px,760px);padding:28px 0}.hero,.issue-banner-header{display:grid}.grid-layout{grid-template-columns:1fr}.history-controls{grid-template-columns:1fr 1fr}.slot{grid-template-columns:1fr;gap:6px}}@media (max-width:600px){.two-columns,.history-controls,.reservation-item,.history-item,.issue-item{grid-template-columns:1fr;display:grid}.person,.history-status{text-align:left;justify-items:start}.action-row.vertical{align-items:flex-start}.modal-actions{display:grid}.submit-button.compact,.secondary-button{width:100%}}
