:root{--bg:#f6f2e8;--panel:#fffdf8;--ink:#121212;--muted:#6e675c;--line:#e4dccf;--gold:#f5c800;--dark:#090909;--danger:#9f2f2f;--ok:#286b42}*{box-sizing:border-box}body{background:var(--bg);color:var(--ink);margin:0;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}a{color:inherit;text-decoration:none}button,input,select,textarea{font:inherit}.auth-page{background:radial-gradient(circle at 20% 20%,#f5c80038,#0000 32%),linear-gradient(135deg,#090909 0%,#202020 52%,#f5c800 52% 100%);place-items:center;min-height:100vh;padding:32px;display:grid}.auth-card{background:var(--panel);border:1px solid var(--line);width:min(520px,100%);padding:34px;box-shadow:0 28px 80px #00000042}.wide-auth-card{width:min(760px,100%)}.app{grid-template-columns:280px 1fr;min-height:100vh;display:grid}.sidebar{background:var(--dark);color:#fff;height:100vh;padding:28px 22px;position:sticky;top:0}.brand{gap:4px;margin-bottom:30px;display:grid}.brand strong{letter-spacing:-.04em;font-family:Georgia,serif;font-size:27px}.brand span,.eyebrow,.label,.small{color:var(--muted);font-size:12px}.sidebar .brand span,.sidebar .small{color:#ffffff8c}.nav{gap:8px;display:grid}.nav a,.logout-button{color:#ffffffc7;cursor:pointer;background:0 0;border:0;border-radius:14px;align-items:center;gap:10px;width:100%;padding:12px 13px;display:flex}.nav a:hover,.logout-button:hover{color:#fff;background:#ffffff14}.main{min-width:0;padding:34px}.topbar,.panel,.metric,.table-card{background:var(--panel);border:1px solid var(--line);border-radius:24px}.topbar{justify-content:space-between;align-items:center;gap:20px;margin-bottom:24px;padding:22px 26px;display:flex}h1,h2,h3{letter-spacing:-.04em;margin:0}h1{font-family:Georgia,serif;font-size:clamp(36px,4vw,58px)}h2{font-family:Georgia,serif;font-size:28px}h3{font-size:18px}p{color:var(--muted)}.grid{gap:18px;display:grid}.grid.cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.grid.cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.grid.cols-4{grid-template-columns:repeat(4,minmax(0,1fr))}.metric,.panel,.table-card{padding:22px}.metric strong{margin-top:10px;font-size:32px;display:block}.badge{color:#4c4438;background:#eee7d9;border-radius:999px;align-items:center;padding:6px 10px;font-size:12px;display:inline-flex}.badge.ok{color:var(--ok);background:#e2f1e7}.badge.warn{color:#7a5b00;background:#fff3c4}.badge.danger{color:var(--danger);background:#f9dddd}.form{gap:14px;display:grid}.form-row{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;display:grid}.compact-form{gap:8px;min-width:180px}.compact-form input{border-radius:10px;padding:8px 10px}.checkbox-row{align-items:center;gap:8px;display:flex}.checkbox-row input{width:auto}label{color:#302b24;gap:7px;font-size:13px;font-weight:700;display:grid}input,select,textarea{border:1px solid var(--line);width:100%;color:var(--ink);background:#fff;border-radius:14px;padding:12px 14px}textarea{min-height:90px}.code-block{border:1px solid var(--line);color:#f7f1e5;white-space:pre-wrap;word-break:break-word;background:#121212;border-radius:14px;max-height:360px;padding:12px;font-size:12px;line-height:1.5;overflow:auto}.button{background:var(--dark);color:#fff;cursor:pointer;border:0;border-radius:14px;justify-content:center;align-items:center;padding:12px 16px;font-weight:800;display:inline-flex}.button.gold{background:var(--gold);color:var(--dark)}.button.ghost{color:var(--dark);background:#eee7d9}.button.danger{background:var(--danger)}.compact-button{border-radius:10px;padding:8px 10px;font-size:12px}.alert{border:1px solid var(--line);border-radius:14px;margin:0 0 18px;padding:12px 16px}.alert.success{color:var(--ok);background:#e2f1e7}.alert.error{color:var(--danger);background:#f9dddd}.table-scroll{overflow-x:auto}.calendar-toolbar{justify-content:space-between;align-items:center;gap:16px;display:flex}.calendar-grid{grid-template-columns:repeat(7,minmax(120px,1fr));gap:8px;display:grid;overflow-x:auto}.calendar-day{border:1px solid var(--line);background:var(--panel);border-radius:14px;min-height:135px;padding:10px}.calendar-weekday{color:var(--muted);text-align:center;text-transform:uppercase;padding:8px 10px;font-size:12px;font-weight:800}.calendar-day.outside{opacity:.48}.calendar-day-header{justify-content:space-between;align-items:center;margin-bottom:8px;display:flex}.calendar-day-header a{background:var(--gold);width:24px;height:24px;color:var(--dark);border-radius:8px;justify-content:center;align-items:center;font-weight:800;display:inline-flex}.calendar-event{background:#eee7d9;border-radius:8px;gap:2px;margin-bottom:5px;padding:6px 7px;font-size:11px;display:grid}.calendar-event.status-confirmed,.calendar-event.status-checked_in{background:#e2f1e7}.calendar-event.status-cancelled{background:#f9dddd;text-decoration:line-through}.reservation-day{color:var(--ink);flex-direction:column;justify-content:space-between;gap:12px;text-decoration:none;display:flex}.reservation-day.selected{border-color:var(--gold);box-shadow:0 0 0 2px var(--gold)}.reservation-search-shell{background:var(--dark);color:#fff;border-radius:24px;gap:18px;margin-bottom:18px;padding:26px;display:grid}.reservation-search-shell h2{color:#fff}.reservation-kicker{color:#9b7411;letter-spacing:.08em;text-transform:uppercase;margin-bottom:6px;font-size:12px;font-weight:900;display:block}.reservation-search-shell .reservation-kicker{color:var(--gold)}.reservation-searchbar{background:var(--gold);border-radius:16px;grid-template-columns:minmax(230px,1.3fr) minmax(210px,1fr) auto;gap:5px;padding:5px;display:grid}.reservation-search-segment{background:#fff;border-radius:11px;gap:4px;padding:9px 14px;display:grid}.reservation-search-segment span{color:var(--muted);letter-spacing:.05em;text-transform:uppercase;font-size:11px;font-weight:900}.reservation-search-segment input,.reservation-search-segment select{border:0;border-radius:0;padding:0;font-size:16px;font-weight:800}.reservation-search-button{background:var(--dark);color:#fff;cursor:pointer;border:0;border-radius:11px;min-height:60px;padding:0 24px;font-weight:900}.reservation-calendar-card{border:1px solid var(--line);background:var(--panel);border-radius:24px;margin-top:18px;padding:24px}.reservation-calendar-header{text-align:center;grid-template-columns:44px 1fr 44px;align-items:center;gap:14px;margin-bottom:16px;display:grid}.reservation-month-button{border:1px solid var(--line);width:44px;height:44px;color:var(--dark);background:#fff;border-radius:50%;justify-content:center;align-items:center;font-size:20px;font-weight:900;display:inline-flex}.reservation-month-button:hover{border-color:var(--gold);background:#fff7d7}.reservation-legend{color:var(--muted);flex-wrap:wrap;justify-content:center;gap:18px;margin-bottom:16px;font-size:12px;display:flex}.reservation-legend span{align-items:center;gap:6px;display:inline-flex}.legend-dot{background:#ddd;border-radius:50%;width:10px;height:10px}.legend-dot.available{background:#2f7d4a}.legend-dot.unavailable{background:#c7c1b8}.legend-dot.selected{background:var(--gold)}.booking-calendar-grid{grid-template-columns:repeat(7,minmax(86px,1fr));gap:4px;display:grid}.booking-calendar-weekday{color:var(--muted);text-align:center;text-transform:uppercase;padding:8px;font-size:11px;font-weight:900}.booking-date{min-height:82px;color:var(--ink);border:2px solid #0000;border-radius:10px;align-content:center;justify-items:center;gap:5px;padding:8px 4px;text-decoration:none;display:grid}.booking-date:hover{border-color:var(--gold);background:#fff9e8}.booking-date.outside{opacity:.35}.booking-date.unavailable{color:#aaa39a;background:#f5f3ef}.booking-date.selected{border-color:var(--gold);color:var(--dark);background:#fff3bd}.booking-date-number{border-radius:50%;justify-content:center;align-items:center;width:34px;height:34px;font-size:15px;font-weight:900;display:inline-flex}.booking-date.available .booking-date-number{color:var(--ok);background:#e2f1e7}.booking-date.selected .booking-date-number{background:var(--dark);color:#fff}.booking-date-status{text-align:center;font-size:10px;font-weight:800}.slot-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin-top:16px;display:grid}.slot{border:1px solid var(--line);background:#f6f1e7;border-radius:12px;gap:8px;padding:10px;display:grid}.slot.unavailable{color:var(--muted);background:#eee;align-content:center}details>summary{list-style:none}details>summary::-webkit-details-marker{display:none}@media (max-width:1050px){.calendar-grid{grid-template-columns:repeat(7,minmax(150px,1fr))}.reservation-searchbar{grid-template-columns:1fr}.booking-calendar-grid{grid-template-columns:repeat(7,minmax(72px,1fr));overflow-x:auto}}table{border-collapse:collapse;width:100%}th,td{border-bottom:1px solid var(--line);text-align:left;vertical-align:top;padding:12px 10px}th{color:var(--muted);text-transform:uppercase;letter-spacing:.06em;font-size:12px}.split{grid-template-columns:1fr 360px;align-items:start;gap:18px;display:grid}@media (max-width:1050px){.app,.split,.grid.cols-2,.grid.cols-3,.grid.cols-4,.form-row{grid-template-columns:1fr}.sidebar{height:auto;position:static}}
