:root {--blue:#004aad;--navy:#004aad;--green:#43b54a;--ink:#202d3e;--muted:#63738a;--line:#dfe7f1;--bg:#e2e9f2;--radius:20px;}
body {background:var(--bg);}
h1,h2,h3 {font-weight:550; letter-spacing:-.04em;}
.booking-layout {padding:24px; gap:22px; align-items:flex-start;}
.booking-sidebar {position:sticky; top:24px; height:calc(100dvh - 48px); width:220px; flex-shrink:0; border:0; border-radius:26px; padding:28px 18px 24px;}
.booking-sidebar nav {margin-top:30px;}
.booking-brand {font-weight:600; font-size:21px; letter-spacing:-.6px;}
.brand-sub {font-size:10px; color:#63738a; font-weight:400; letter-spacing:0;}
.sidebar-label {font-size:9px; font-weight:500; margin:42px 12px 14px; color:#73859c;}
.sidebar-item {font-size:12px; font-weight:450; padding:12px; border-radius:10px; gap:10px;}
.sidebar-item.active {background:#e5effc; color:#004aad; box-shadow:inset 4px 0 0 #43b54a; font-weight:550;}
.sidebar-item:hover {background:#e7f5e8; color:#004aad;}
.sidebar-item .ga-icon {font-size:19px;}
.sidebar-bottom {font-size:11px; border-color:#edf2f8; color:#63738a;}
.internal-chip {color:#287d30; background:#e7f5e8; border:0; font-size:10px; font-weight:450;}
.booking-main {margin-left:0; width:calc(100% - 242px); min-width:0; padding:35px 30px 24px; background:#f9fbfe; border-radius:26px; min-height:calc(100dvh - 48px);}
.booking-header {margin-bottom:22px;}
.booking-header h1 {font-size:38px; font-weight:600; letter-spacing:-1.5px;}
.eyebrow {color:#63738a; font-size:11px; letter-spacing:0; font-weight:450; margin-bottom:13px;}
.lead {font-size:12px; color:#63738a;}
.button {border-radius:9px; background:#004aad; font-size:12px; font-weight:500;}
.button:hover {background:#003c8c;}
.button.secondary {background:white; color:#004aad; border-color:#dfe7f1;}
.button.secondary:hover {background:#eef4fc; border-color:#d6e4f5;}
.button .ga-icon {font-size:12px;}
.button.block {font-size:13px;}
.booking-topline {font-size:11px; color:#63738a;}
.booking-filters {border:0; border-radius:17px; padding:19px 20px;}
.booking-filters label,.field-label {font-weight:450; color:#63738a;}
.booking-filters select,.date-picker input {border-color:#dfe7f1; background:#f8faff; color:#355e92;}
.booking-filters .vacant-toggle {font-size:11px; color:#63738a;}
.icon-button {color:#5f7899; border-color:#dfe7f1;}
.schedule-panel {border:0; background:white; border-radius:20px;}
.schedule-intro {padding:21px 22px; border-color:#edf2f8;}
.schedule-intro h2 {font-size:17px; font-weight:550;}
.schedule-intro p {color:#63738a; font-size:11px; margin-top:5px;}
.legend {color:#63738a;}
.legend .waiting {background:#e3c473;}
.legend .approved {background:#43b54a;}
.legend .claimed {background:#004aad;}
.room-photo {background:#f5f8fc; height:118px; border-radius:14px;}
.room-photo img[src*="/assets/art/"] {object-fit:contain; padding:0 25px;}
.room-title {font-size:13px; font-weight:550; color:#004aad;}
.room-meta {font-size:11px; color:#63738a; font-weight:400;}
.room-info {color:#63738a;}
.room-actions .button {border-radius:7px; font-weight:500;}
.schedule-table th {border-color:#edf2f8;}
.schedule-table td {border-color:#edf2f8;}
.schedule-table .time-label {color:#63738a;}
.schedule-cell .slot-button:hover {background:#eef4fc;}
.schedule-cell.selected {background:#dceafb;}
.schedule-cell.past {background:repeating-linear-gradient(135deg,#fafcff,#fafcff 5px,#f2f6fb 5px,#f2f6fb 6px);}
.booking-block {font-weight:400;}
.booking-block.waiting {background:#fbf2d5; border-color:#ecda9f; color:#978044;}
.booking-block.approved {background:#e7f5e8; border-color:#c2e4c6; color:#287d30;}
.booking-block.claimed {background:#e5effc; border-color:#cbdff9; color:#004aad;}
.booking-block strong {font-weight:550;}
.booking-footer {color:#63738a;}
dialog {border:0; border-radius:24px; box-shadow:0 25px 80px #004aad24;}
dialog::backdrop {background:#1539695c; backdrop-filter:blur(4px);}
.dialog-header h2 {font-size:23px; font-weight:550;}
.dialog-header p {color:#63738a; font-size:11px;}
.dialog-close {color:#63738a;}
.booking-summary {background:#eef4fc; border:0; color:#355e92; border-radius:13px; padding:15px;}
.booking-summary strong {font-weight:550; color:#004aad;}
.form-field>span {color:#63738a; font-size:12px; font-weight:450;}
.form-field input,.form-field select,.form-field textarea {background:#f8faff; border-color:#dfe7f1; color:#355e92; font-size:13px; border-radius:10px;}
.form-field input:focus,.form-field select:focus,.form-field textarea:focus {border-color:#004aad; box-shadow:0 0 0 3px #eef4fc;}
.form-submit {background:#004aad; box-shadow:none;}
.equipment-options {background:#f8faff; border-color:#dfe7f1;}
.suggest-list {border-color:#dfe7f1; box-shadow:0 12px 28px #004aad12;}
.suggest-option {color:#355e92;}
.suggest-option:hover,.suggest-option.on {background:#e7f5e8;}
.booking-number {color:#004aad; font-weight:600; font-size:26px;}
.result-note {color:#63738a;}
.status.waiting {background:#fbf2d5; color:#927836;}
.status.approved {background:#e7f5e8; color:#287d30;}
.status.claimed {background:#e5effc; color:#004aad;}
.claim-page {background:radial-gradient(ellipse at 80% 0,#e1f2e4,transparent 50%),#f7f9fc;}
.claim-wrap {margin:70px auto;}
.claim-card {border:0; border-radius:24px; box-shadow:none; padding:30px;}
.claim-card h1 {font-size:30px;}
.claim-room {background:#e7f5e8; border:0; border-radius:14px;}
.claim-room strong {font-size:16px; font-weight:550; color:#287d30;}
.claim-room span {color:#63738a;}
.claim-back {color:#355e92;}
@media(max-width:1100px) {.booking-layout{padding:18px;gap:16px}.booking-sidebar{width:194px;top:18px;height:calc(100dvh - 36px);padding:25px 14px}.booking-main{width:calc(100% - 210px);margin:0;padding:28px 24px}}
@media(max-width:760px) {
  .booking-layout {display:block; padding:10px;}
  .booking-sidebar {position:static; width:100%; height:auto; border-radius:20px; padding:16px; margin-bottom:10px;}
  .booking-sidebar .booking-brand {font-size:18px;}
  .booking-sidebar .sidebar-item {background:#e7f5e8; font-size:10px; gap:6px; padding:9px;}
  .booking-main {width:100%; margin:0; border-radius:22px; padding:25px 16px 20px;}
  .booking-header h1 {font-size:33px;}
  .booking-filters {padding:17px; gap:17px;}
  .booking-filters label,.field-label {font-size:10px;}
  .booking-topline {font-size:10px;}
  .schedule-intro {padding:18px;}
  .room-photo {height:95px;}
  .room-photo img[src*="/assets/art/"] {padding:0 10px;}
  .form-field input,.form-field select {font-size:16px;}
  .claim-wrap {margin:35px auto;}
}
