:root{color-scheme:light;--bg: #f6f8fa;--surface: #ffffff;--surface-subtle: #f2f6f8;--text: #17232f;--muted: #667486;--faint: #8d9baa;--border: #dbe3ea;--strong-border: #b8c5d0;--teal: #008782;--teal-soft: #e2f5f2;--blue: #2378d6;--blue-soft: #e7f0ff;--amber: #d68500;--amber-soft: #fff1d5;--coral: #e6473d;--coral-soft: #ffe8e6;--green: #28996b;--green-soft: #e5f6ef;--purple: #6d61d2;--purple-soft: #eeecff;--shadow: 0 10px 28px rgba(32, 54, 70, .08);--radius: 8px}*{box-sizing:border-box}html,body,#root{min-height:100%}body{margin:0;background:var(--bg);color:var(--text);font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;font-size:14px;line-height:1.45}button,input,select,textarea{font:inherit}button{cursor:pointer}button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:3px solid rgba(35,120,214,.24);outline-offset:2px}button:disabled{cursor:not-allowed;opacity:.65}.app-shell{min-height:100vh;display:flex;flex-direction:column}.topbar{height:72px;display:flex;align-items:center;justify-content:space-between;padding:0 28px;background:var(--surface);border-bottom:1px solid var(--border)}.brand,.topbar-actions,.user-chip,.page-tabs,.header-actions,.action-row,.booking-note,.status-line,.block-header{display:flex;align-items:center}.brand{gap:10px;min-width:300px}.brand h1,.brand p,.section-header h2,.section-header p,.detail-heading h2,.detail-heading p,.metric-card p,.checkin-box p,.release-box p{margin:0}.brand h1{font-size:20px;line-height:1.1}.brand p{color:var(--muted);font-size:12px}.page-tabs{align-self:stretch;gap:22px}.page-tabs button{height:100%;display:inline-flex;align-items:center;gap:8px;border:0;border-bottom:3px solid transparent;background:transparent;color:var(--muted);font-size:14px;font-weight:700;padding:0 4px}.page-tabs button.active{color:var(--teal);border-color:var(--teal)}.page-tabs button.locked:not(.active){color:#7c8793}.page-tabs button.locked svg{color:var(--amber)}.topbar-actions{min-width:410px;justify-content:flex-end;gap:16px}.role-switcher{display:flex;align-items:center;gap:8px;color:var(--muted);font-size:12px;font-weight:800}.role-switcher .select-wrap{width:136px}.role-switcher select{min-height:34px;padding-left:10px;font-weight:800}.icon-button{width:36px;height:36px;display:inline-grid;place-items:center;border:1px solid transparent;border-radius:8px;background:transparent;color:var(--muted)}.icon-button:hover,.icon-button:focus-visible{border-color:var(--border);background:var(--surface-subtle)}.detail-icon{width:36px;height:36px;display:inline-grid;flex:0 0 auto;place-items:center;border:1px solid var(--border);border-radius:8px;background:var(--surface-subtle);color:var(--muted)}.user-chip{gap:10px;border-left:1px solid var(--border);padding-left:16px}.user-chip>span{width:34px;height:34px;display:grid;place-items:center;border-radius:50%;background:#efe4d7;color:#795a36;font-weight:800;font-size:12px}.user-chip strong,.user-chip small{display:block}.user-chip strong{font-size:13px}.user-chip small{color:var(--muted);font-size:12px}.workspace{flex:1;min-height:0}.booking-grid{display:grid;grid-template-columns:190px minmax(660px,1fr) 330px}.admin-grid{display:grid;grid-template-columns:206px minmax(680px,1fr) 340px}.access-grid{display:grid;grid-template-columns:206px minmax(0,1fr)}.sidebar{background:var(--surface);border-right:1px solid var(--border);padding:22px 18px}.admin-sidebar{padding-top:22px}.access-panel{min-width:0;display:grid;place-items:center;padding:32px}.access-card{width:min(520px,100%);display:grid;gap:12px;justify-items:start;padding:24px;border:1px solid var(--border);background:var(--surface);border-radius:var(--radius);box-shadow:var(--shadow)}.access-card h2,.access-card p{margin:0}.access-card h2{font-size:24px;line-height:1.1}.access-card p{color:var(--muted);font-size:13px}.access-icon{width:42px;height:42px;display:grid;place-items:center;border-radius:8px;background:var(--amber-soft);color:var(--amber)}.access-summary{display:grid;gap:3px;padding:12px;border:1px solid var(--border);background:#fbfcfd;border-radius:var(--radius)}.access-summary strong{color:var(--text)}.access-summary span,.access-summary small{color:var(--muted)}.sidebar-block{margin-top:24px;padding-top:18px;border-top:1px solid var(--border)}.sidebar h3,.detail-panel h3,.booking-composer h3,.table-panel h3,.inventory-panel h3,.reporting-panel h3,.layout-import-panel h3,.audit-panel h3,.production-panel h3{margin:0 0 12px;font-size:13px;line-height:1.2}.field{display:grid;gap:7px;margin-bottom:12px;color:var(--muted);font-size:12px;font-weight:700}.select-wrap{position:relative;display:block}.select-wrap select,.input{width:100%;min-height:38px;-webkit-appearance:none;-moz-appearance:none;appearance:none;border:1px solid var(--border);border-radius:6px;background:#fff;color:var(--text);padding:0 34px 0 12px;font-size:13px}.input:disabled{color:var(--muted);background:#f4f7fa}.text-area{min-height:78px;resize:vertical;padding:10px 12px;line-height:1.4}.select-wrap svg{position:absolute;right:11px;top:50%;transform:translateY(-50%);color:var(--muted);pointer-events:none}.check-option{display:flex;align-items:center;gap:8px;margin:8px 0;color:#334354;font-size:13px}.check-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px 12px}.check-grid .check-option{min-height:34px;margin:0;padding:7px 9px;border:1px solid var(--border);border-radius:6px;background:#fff;font-size:12px;font-weight:800}.form-group{display:grid;gap:8px;color:var(--muted);font-size:12px;font-weight:700}.check-option input{width:15px;height:15px;accent-color:var(--teal)}.text-button{border:0;background:transparent;color:var(--blue);font-size:12px;font-weight:800;padding:0}.legend{display:grid;gap:9px}.legend div{display:flex;align-items:center;gap:8px;color:#334354;font-size:12px}.legend span:not(.zone-swatch){width:15px;height:15px;border-radius:3px;border:1px solid currentColor}.legend .available{background:var(--green-soft);color:var(--green)}.legend .upcoming{background:var(--purple-soft);color:var(--purple)}.legend .booked{background:var(--blue-soft);color:var(--blue)}.legend .mine{background:var(--amber-soft);color:var(--amber)}.legend .risk{background:var(--coral-soft);color:var(--coral)}.zone-swatch{width:15px;height:15px;border:1px dashed var(--teal);background:#00878212;border-radius:3px}.floor-workspace,.admin-center{min-width:0;padding:18px 18px 26px}.section-header{justify-content:space-between;gap:16px;margin-bottom:12px}.section-header.tight{margin-top:14px}.section-header h2{font-size:24px;line-height:1.1}.section-header p{color:var(--muted);font-size:13px;margin-top:4px}.header-actions{gap:10px}.flow-steps{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin-bottom:12px}.flow-step{display:grid;grid-template-columns:28px 1fr;gap:9px;align-items:center;min-height:58px;padding:10px;border:1px solid var(--border);background:var(--surface);border-radius:var(--radius)}.flow-step>span{width:28px;height:28px;display:grid;place-items:center;border-radius:50%;background:var(--teal-soft);color:var(--teal);font-size:12px;font-weight:900}.flow-step strong,.flow-step small{display:block}.flow-step strong{font-size:13px;line-height:1.15}.flow-step small{color:var(--muted);font-size:12px;line-height:1.25;margin-top:2px}.availability-summary{display:grid;grid-template-columns:repeat(2,minmax(120px,auto)) 1fr;align-items:center;gap:12px;margin-bottom:12px;padding:10px 12px;border:1px solid var(--border);background:var(--surface);border-radius:var(--radius)}.availability-summary div{min-height:34px;display:grid;align-content:center;padding-right:12px;border-right:1px solid var(--border)}.availability-summary strong{color:var(--teal);font-size:18px;line-height:1}.availability-summary span,.availability-summary p{color:var(--muted);font-size:12px;font-weight:700}.availability-summary p{margin:0}.permission-banner{min-height:42px;display:flex;align-items:center;gap:10px;margin-bottom:12px;padding:10px 12px;border:1px solid #f0d49a;background:var(--amber-soft);color:#72511a;border-radius:var(--radius);font-size:13px;font-weight:800}.permission-banner svg{flex:0 0 auto;color:var(--amber)}.sync-pill{min-height:32px;display:inline-flex;align-items:center;gap:7px;border:1px solid var(--border);border-radius:999px;background:#fff;color:var(--muted);padding:0 11px;font-size:12px;font-weight:800;white-space:nowrap}.sync-pill.connected{border-color:#badfd7;background:var(--teal-soft);color:var(--teal)}.sync-pill.offline{border-color:#f1c5c1;background:var(--coral-soft);color:var(--coral)}.sync-pill.empty{border-color:#f0d49a;background:var(--amber-soft);color:var(--amber)}.primary-button,.secondary-button,.mini-button{min-height:38px;display:inline-flex;align-items:center;justify-content:center;gap:8px;border-radius:6px;font-size:13px;font-weight:800}.primary-button{border:1px solid #00736f;background:var(--teal);color:#fff;padding:0 14px}.primary-button:hover,.primary-button:focus-visible{background:#006f6b}.primary-button:disabled,.secondary-button:disabled{cursor:not-allowed;opacity:.62}.secondary-button{border:1px solid var(--border);background:#fff;color:var(--blue);padding:0 14px}.secondary-button:hover,.secondary-button:focus-visible{border-color:#b6d0ef;background:var(--blue-soft)}.mini-button{min-height:28px;padding:0 10px;border:1px solid #bfdbff;background:#fff;color:var(--blue);font-size:12px}.mini-button.danger{border-color:#f3bbb7;color:var(--coral)}.mini-button.danger:hover,.mini-button.danger:focus-visible{background:var(--coral-soft)}.filter-summary{display:grid;gap:2px;margin:8px 0 10px;padding:10px;border:1px solid #badfd7;background:var(--teal-soft);border-radius:6px}.filter-summary strong{color:var(--teal);font-size:20px;line-height:1}.filter-summary span,.filter-summary em{color:#315c62;font-size:12px;font-style:normal;font-weight:800}.filter-summary em{color:var(--muted);font-weight:700}.floor-plan-wrap{border:1px solid var(--strong-border);background:#fff;box-shadow:var(--shadow);border-radius:var(--radius);overflow:hidden}.floor-plan{position:relative;width:100%;height:clamp(500px,calc(100vh - 430px),540px);background:linear-gradient(#edf2f5 1px,transparent 1px),linear-gradient(90deg,#edf2f5 1px,transparent 1px),#fbfcfd;background-size:34px 34px}.floor-plan:before,.floor-plan:after{content:"";position:absolute;pointer-events:none;border:3px solid #596575}.floor-plan:before{top:0;right:0;bottom:0;left:0}.floor-plan:after{left:45%;top:43%;width:12%;height:18%;background:#ffffffeb}.parking-floor-plan{background:radial-gradient(circle at 18% 18%,rgba(255,255,255,.65),transparent 18%),radial-gradient(circle at 74% 75%,rgba(255,255,255,.48),transparent 20%),linear-gradient(#d8dee3 1px,transparent 1px),linear-gradient(90deg,#d8dee3 1px,transparent 1px),#edf1f3;background-size:100% 100%,100% 100%,68px 68px,68px 68px,auto}.parking-floor-plan:after{display:none}.parking-garage-layer{position:absolute;top:0;right:0;bottom:0;left:0;z-index:1;pointer-events:none;overflow:hidden}.garage-drive-lane{position:absolute;z-index:1;background:linear-gradient(90deg,transparent,rgba(255,255,255,.22),transparent),#d0d6db;border:2px solid rgba(112,124,136,.45);box-shadow:inset 0 0 28px #41516414}.main-lane{left:8%;right:8%;top:34%;height:27%;border-right:0;border-left:0}.main-lane:after{content:"";position:absolute;left:8%;right:8%;top:50%;border-top:3px dashed rgba(255,255,255,.78)}.ramp-lane{right:9%;top:36%;width:16%;height:42%;transform:skewY(-8deg);border-radius:4px}.garage-curb{position:absolute;z-index:4;height:9px;border-radius:2px;background:repeating-linear-gradient(135deg,#f5c84b 0,#f5c84b 9px,#4c5866 9px,#4c5866 18px);box-shadow:0 1px 3px #1f2a3724}.curb-top{left:10%;top:31%;width:72%}.curb-bottom{left:20%;top:63%;width:58%}.garage-crosswalk{position:absolute;left:10%;top:43%;z-index:4;width:12%;height:13%;background:repeating-linear-gradient(90deg,rgba(255,255,255,.82) 0 7px,transparent 7px 15px);opacity:.86}.garage-bay,.garage-bookable-bay{position:absolute;z-index:3;border:2px solid rgba(255,255,255,.94);border-radius:3px;background:#ffffff14;box-shadow:inset 0 0 0 1px #808c981f}.garage-bay.north{border-bottom:0}.garage-bay.south{border-top:0}.garage-bay.east{border-left:0}.garage-bay:after{content:"";position:absolute;top:12%;right:50%;bottom:12%;left:50%;border-left:1px solid rgba(255,255,255,.55)}.garage-bookable-bay{left:55.8%;top:67%;width:9%;height:21%;z-index:4;border-color:#2378d69e;border-top:0;background:#2378d614;box-shadow:inset 0 0 0 2px #ffffffad,0 0 0 4px #2378d614}.garage-column{position:absolute;z-index:5;width:22px;height:22px;transform:translate(-50%,-50%);border:2px solid #8996a2;border-radius:5px;background:linear-gradient(145deg,#e2e8ed,#bac4cc);box-shadow:0 2px 5px #1f2a3729}.garage-column:after{content:"";position:absolute;top:5px;right:5px;bottom:5px;left:5px;border:1px solid rgba(89,101,117,.35);border-radius:2px}.garage-sign{position:absolute;z-index:6;min-width:34px;height:24px;display:inline-grid;place-items:center;transform:translate(-50%,-50%);border-radius:4px;border:1px solid currentColor;background:#ffffffe6;font-size:11px;font-weight:900;letter-spacing:0;line-height:1}.garage-sign.level{color:#415164}.garage-sign.entry{color:#1e6f53}.garage-sign.exit{color:#a15f05}.garage-sign.ev{color:var(--blue)}.garage-arrow{position:absolute;z-index:4;width:56px;height:24px;transform:translate(-50%,-50%)}.garage-arrow:before{content:"";position:absolute;left:4px;right:14px;top:10px;border-top:4px solid rgba(255,255,255,.8)}.garage-arrow:after{content:"";position:absolute;right:6px;top:5px;border-top:7px solid transparent;border-bottom:7px solid transparent;border-left:12px solid rgba(255,255,255,.8)}.garage-arrow.down{width:24px;height:56px}.garage-arrow.down:before{left:10px;right:auto;top:4px;bottom:14px;border-top:0;border-left:4px solid rgba(255,255,255,.8)}.garage-arrow.down:after{left:5px;right:auto;top:auto;bottom:6px;border-right:7px solid transparent;border-left:7px solid transparent;border-top:12px solid rgba(255,255,255,.8);border-bottom:0}.parking-floor-plan .desk-space{z-index:7;width:62px;height:50px;grid-template-rows:25px 16px;border-radius:4px;background:#dbf4f1f0}.parking-floor-plan .desk-space:before{content:"";position:absolute;top:6px;right:8px;bottom:5px;left:8px;border:1px solid rgba(30,111,83,.28);border-top:0;border-radius:0 0 3px 3px}.parking-floor-plan .desk-space.selected{z-index:8}.department-zone{position:absolute;border-radius:8px;border:1px dashed currentColor;background:color-mix(in srgb,currentColor 8%,transparent);color:var(--teal);pointer-events:none}.department-zone span{position:absolute;top:-13px;left:10px;min-height:20px;display:inline-flex;align-items:center;border:1px solid currentColor;border-radius:999px;background:#fbfcfd;padding:0 7px;font-size:12px;font-weight:900;line-height:1;white-space:nowrap}.department-zone.engineering{color:var(--teal)}.department-zone.product{color:var(--purple)}.department-zone.marketing{color:var(--amber)}.department-zone.it{color:#0b8d91}.desk-space,.room-space{position:absolute;border-radius:5px;transition:transform .16s ease,box-shadow .16s ease,border-color .16s ease}.desk-space{width:48px;height:38px;display:grid;grid-template-rows:20px 14px;place-items:center;border:2px solid var(--green);background:var(--green-soft);color:#1e6f53}.desk-space svg{stroke-width:1.8}.desk-space span{font-size:11px;font-weight:900;color:var(--text)}.desk-space.booked{border-color:var(--blue);background:var(--blue-soft);color:var(--blue)}.desk-space.upcoming{border-color:var(--purple);background:var(--purple-soft);color:var(--purple)}.desk-space.mine{border-color:var(--amber);background:var(--amber-soft);color:var(--amber)}.desk-space.risk{border-color:var(--coral);background:var(--coral-soft);color:var(--coral)}.room-space{display:grid;grid-template-columns:1fr 28px;grid-template-rows:auto 1fr;align-items:center;justify-items:center;border:2px solid var(--green);background:#e5f6efe6;color:#18664b;padding:6px;overflow:hidden}.room-space span{grid-column:1 / -1;font-size:12px;font-weight:900;color:inherit}.room-space strong{grid-column:1 / -1;font-size:12px;color:inherit}.room-space.booked{border-color:var(--blue);background:#e7f0fff2;color:var(--blue)}.room-space.upcoming{border-color:var(--purple);background:#eeecfff2;color:var(--purple)}.room-space.risk{border-color:var(--coral);background:#ffe8e6f0;color:var(--coral)}.room-space.selected,.desk-space.selected{box-shadow:0 0 0 4px #2378d62e,0 10px 20px #1a416329;border-color:var(--blue);transform:translateY(-1px);z-index:8}.desk-space.filtered-out,.room-space.filtered-out{opacity:.26;filter:grayscale(.55);box-shadow:none}.room-table{grid-column:1 / -1;position:relative;width:76%;height:22px;border:2px solid currentColor;border-radius:7px;background:#ffffff73;margin-top:2px}.room-table i{position:absolute;width:5px;height:5px;border-radius:2px;background:currentColor}.room-table i:nth-child(1){left:8%;top:-7px}.room-table i:nth-child(2){left:27%;top:-7px}.room-table i:nth-child(3){left:47%;top:-7px}.room-table i:nth-child(4){left:67%;top:-7px}.room-table i:nth-child(5){left:86%;top:-7px}.room-table i:nth-child(6){left:8%;bottom:-7px}.room-table i:nth-child(7){left:27%;bottom:-7px}.room-table i:nth-child(8){left:47%;bottom:-7px}.room-table i:nth-child(9){left:67%;bottom:-7px}.room-table i:nth-child(10){left:86%;bottom:-7px}.space-amenity{position:absolute;right:8px;bottom:7px;color:var(--muted)}.risk-dot{position:absolute;top:-9px;right:-9px;color:var(--coral);fill:var(--coral-soft);background:#fff;border-radius:50%}.core-wall{position:absolute;border:2px solid #596575;background:#ffffffeb;color:#415164;font-size:11px;font-weight:800;text-align:center}.restroom{display:grid;grid-template-columns:1fr 1fr}.restroom div{display:grid;place-items:center;border-right:1px solid #8c98a5;gap:3px}.restroom div:last-child{border-right:0}.restroom.upper{left:48%;top:4%;width:17%;height:20%}.restroom.lower{left:45%;top:47%;width:12%;height:13%}.stairs{display:grid;place-items:center}.top-stairs{left:66%;top:4%;width:9%;height:20%}.bottom-stairs{left:45%;top:80%;width:12%;height:19%}.kitchenette{position:absolute;right:3%;top:4%;width:20%;height:20%;display:grid;grid-template-rows:auto auto 1fr;place-items:center;border:2px solid #8e795c;background:#fff8ed;color:#71583a;border-radius:0 0 0 6px;padding:12px}.kitchenette strong{font-size:12px}.table-icon{width:58px;height:40px;border:2px solid #9d8b72;border-radius:6px;margin-top:8px;box-shadow:22px 0 0 -12px #fff8ed,22px 0 0 -10px #9d8b72}.route-dot{position:absolute;width:18px;height:18px;border-radius:50%;background:#8abf70;box-shadow:inset 0 0 0 3px #ffffffb3}.dot-one{left:43%;top:35%}.dot-two{left:62%;top:36%}.dot-three{left:55%;top:50%}.route-line{position:absolute;left:45%;top:38%;width:28%;height:25%;border-top:3px dotted #8abf70;border-right:3px dotted #8abf70;opacity:.7}.booking-composer{margin-top:14px;padding:16px;border:1px solid var(--border);background:var(--surface);border-radius:var(--radius)}.composer-title{display:flex;align-items:center;justify-content:space-between;margin-bottom:12px}.segmented{display:inline-flex;border:1px solid var(--border);border-radius:6px;overflow:hidden}.segmented button{min-height:32px;border:0;border-right:1px solid var(--border);background:#fff;color:var(--muted);padding:0 12px;font-size:12px;font-weight:800}.segmented button:last-child{border-right:0}.segmented button.active{background:var(--blue-soft);color:var(--blue)}.segmented.compact{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));width:min(100%,168px)}.segmented.booking-for-segmented{grid-template-columns:repeat(3,minmax(0,1fr));width:min(100%,240px)}.segmented.compact button{min-height:34px;padding:0 10px;font-size:12px;line-height:1}.booking-form{display:grid;grid-template-columns:minmax(102px,.75fr) minmax(178px,1.2fr) minmax(168px,.95fr) minmax(124px,.75fr);gap:12px;align-items:end}.booking-form>*{min-width:0}.selected-booking-summary{grid-column:1 / -1;display:flex;align-items:center;justify-content:space-between;gap:12px;min-height:62px;padding:12px;border:1px solid var(--border);background:#fbfcfd;border-radius:6px}.selected-booking-summary span,.selected-booking-summary small{display:block;color:var(--muted);font-size:12px}.selected-booking-summary strong{display:block;margin:2px 0;font-size:16px;line-height:1.15}.selected-booking-summary em{flex:0 0 auto;border:1px solid currentColor;border-radius:999px;padding:5px 9px;font-size:12px;font-style:normal;font-weight:900}.selected-booking-summary.available{border-color:#badfd7;background:var(--teal-soft)}.selected-booking-summary.available em,.selected-booking-summary.available strong{color:var(--teal)}.selected-booking-summary.booked em,.selected-booking-summary.booked strong{color:var(--blue)}.selected-booking-summary.upcoming em,.selected-booking-summary.upcoming strong{color:var(--purple)}.selected-booking-summary.mine em,.selected-booking-summary.mine strong{color:var(--amber)}.selected-booking-summary.risk em,.selected-booking-summary.risk strong{color:var(--coral)}.repeat-field{grid-column:1 / 3}.agenda-field,.form-group.full-field{grid-column:1 / -1}.visitor-field{grid-column:3 / 5}.booking-for-field,.delegate-field{grid-column:span 2}.day-row{display:grid;grid-template-columns:repeat(7,minmax(32px,1fr));gap:6px}.day-row button{min-height:38px;border:1px solid var(--border);background:#fff;border-radius:6px;color:var(--muted);font-size:11px;font-weight:800;display:inline-flex;align-items:center;justify-content:center;gap:4px}.day-row button.selected{border-color:var(--teal);background:var(--teal-soft);color:var(--teal)}.time-range{display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:8px}.time-range span{color:var(--muted);font-size:12px}.time-range .select-wrap select{padding-left:9px;padding-right:24px;font-size:12px}.time-range .select-wrap svg{right:8px}.booking-rules,.booking-unavailable-note,.booking-confirmation-row{grid-column:1 / -1;border:1px solid var(--border);border-radius:6px;background:var(--surface)}.booking-rules{overflow:hidden}.booking-rules.ready{border-color:#badfd7}.booking-rules.approval{border-color:#e3d5a8}.booking-rules summary{min-height:42px;display:flex;align-items:center;gap:10px;padding:9px 12px;cursor:pointer;list-style:none}.booking-rules summary::-webkit-details-marker{display:none}.booking-rules summary>span{display:flex;align-items:center;gap:8px;min-width:0;color:var(--text)}.booking-rules summary svg{color:var(--teal)}.booking-rules summary strong{font-size:12px}.booking-rules summary em{margin-left:auto;border:1px solid currentColor;border-radius:999px;padding:4px 8px;color:var(--teal);font-size:11px;font-style:normal;font-weight:900}.booking-rules.approval summary em{color:var(--amber)}.booking-rules-body{padding:0 12px 12px;border-top:1px solid rgba(93,104,121,.16)}.policy-panel-title{margin-top:10px}.policy-panel-title span{display:block;color:var(--muted);font-size:11px;font-weight:800;text-transform:uppercase}.policy-panel-title strong{display:block;margin-top:2px;color:var(--text);font-size:13px;text-transform:capitalize}.policy-rule-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:8px;margin-top:10px;margin-bottom:10px}.policy-rule-grid span{min-height:48px;padding:8px;border:1px solid rgba(93,104,121,.18);background:#fff9;border-radius:6px;color:var(--muted);font-size:11px;font-weight:800}.policy-rule-grid strong{display:block;margin-bottom:2px;color:var(--text);font-size:12px}.policy-message-list{margin:8px 0 0;padding-left:18px;color:#466071;font-size:12px;font-weight:700}.policy-message-list.blocking{color:var(--coral)}.booking-unavailable-note,.booking-confirmation-row{min-height:42px;display:flex;align-items:flex-start;gap:9px;padding:9px 12px}.booking-unavailable-note{border-color:#f2cfca;color:#9b3934}.booking-confirmation-row{border-color:#badfd7;color:var(--teal)}.booking-unavailable-note svg,.booking-confirmation-row svg{flex:0 0 auto;margin-top:2px}.booking-unavailable-note strong,.booking-confirmation-row strong{display:block;color:var(--text);font-size:12px;line-height:1.25}.booking-unavailable-note span,.booking-confirmation-row span{display:block;margin-top:2px;color:var(--muted);font-size:12px;font-weight:700;line-height:1.35}.primary-button:disabled{cursor:not-allowed;opacity:.5}.booking-note{grid-column:1 / -1;min-height:42px;gap:8px;padding:10px 12px;background:#edf5ff;color:#375d83;border-radius:6px;font-size:12px}.booking-feedback{grid-column:1 / 5;min-height:34px;display:flex;align-items:center;padding:8px 10px;border-radius:6px;font-size:12px;font-weight:800}.booking-feedback.success{border:1px solid #9bcdbd;background:var(--teal-soft);color:var(--teal)}.booking-feedback.error{border:1px solid #f5b5b0;background:#fff1ef;color:var(--coral)}.inline-feedback{display:block;margin-top:10px;font-size:12px;font-weight:800}.inline-feedback.success{color:var(--teal)}.inline-feedback.error{color:var(--coral)}.inline-feedback.saving{color:var(--blue)}.review-button{min-height:42px;align-self:stretch;width:100%}.detail-panel{background:var(--surface);border-left:1px solid var(--border);padding:22px 20px;overflow:auto}.detail-heading{display:flex;justify-content:space-between;gap:12px;margin-bottom:16px}.detail-heading h2{font-size:18px;line-height:1.2}.detail-heading p{color:var(--muted);font-size:12px;margin-top:4px}.status-line{gap:8px;min-height:34px;border-bottom:1px solid var(--border);padding-bottom:14px}.status-line span{width:8px;height:8px;border-radius:50%}.status-line.available span{background:var(--green)}.status-line.booked span{background:var(--blue)}.status-line.upcoming span{background:var(--purple)}.status-line.mine span{background:var(--amber)}.status-line.risk span{background:var(--coral)}.status-line strong{font-size:13px}.detail-meta{display:grid;grid-template-columns:95px 1fr;row-gap:10px;column-gap:12px;padding:16px 0;border-bottom:1px solid var(--border)}.detail-meta span{color:var(--muted);font-size:12px}.detail-meta strong{font-size:13px}.amenity-list{padding:16px 0;border-bottom:1px solid var(--border)}.amenity-list span{display:inline-flex;align-items:center;gap:7px;width:50%;min-height:30px;color:#334354;font-size:12px}.item-description{padding:16px 0;border-bottom:1px solid var(--border)}.item-description p{margin:0;color:#334354;font-size:13px}.item-description div{display:flex;flex-wrap:wrap;gap:7px;margin-top:10px}.item-description span{display:inline-flex;align-items:center;min-height:26px;padding:0 8px;border:1px solid #badfd7;border-radius:999px;background:var(--teal-soft);color:#285f62;font-size:11px;font-weight:900}.schedule-block{padding:16px 0;border-bottom:1px solid var(--border)}.block-header{justify-content:space-between;gap:12px;margin-bottom:10px}.block-header h3{margin-bottom:0}.panel-chip{display:inline-flex;align-items:center;min-height:26px;padding:0 8px;border:1px solid var(--border);border-radius:999px;background:#fbfcfd;color:var(--muted);font-size:11px;font-weight:900}.schedule-list{display:grid;gap:8px}.schedule-list div{display:grid;grid-template-columns:42px 1fr;align-items:center;gap:10px}.schedule-list span{color:var(--muted);font-size:12px}.schedule-list strong{color:#3d4d5f;font-size:12px;font-weight:700}.schedule-drawer{position:fixed;top:0;right:0;bottom:0;left:0;z-index:40;display:grid;grid-template-columns:1fr minmax(360px,440px)}.schedule-drawer-backdrop{background:#17232f47}.schedule-drawer-panel{display:grid;grid-template-rows:auto auto auto 1fr;min-width:0;background:var(--surface);border-left:1px solid var(--border);box-shadow:-18px 0 34px #20364629;padding:22px;overflow:auto}.drawer-heading{display:flex;justify-content:space-between;gap:12px;padding-bottom:16px;border-bottom:1px solid var(--border)}.drawer-heading h2,.drawer-heading p,.drawer-day-summary strong,.drawer-day-summary span,.reservation-detail h3,.reservation-detail p{margin:0}.drawer-heading h2{font-size:20px;line-height:1.15}.drawer-heading p{margin-top:4px;color:var(--muted);font-size:12px}.schedule-day-tabs{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:6px;padding:16px 0}.schedule-day-tabs button{min-height:48px;display:grid;place-items:center;border:1px solid var(--border);background:#fff;color:var(--muted);border-radius:6px;font-size:11px;font-weight:900}.schedule-day-tabs button.active{border-color:var(--teal);background:var(--teal-soft);color:var(--teal)}.schedule-day-tabs strong{font-size:12px}.drawer-day-summary{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px;border:1px solid var(--border);background:#fbfcfd;border-radius:var(--radius)}.drawer-day-summary strong{font-size:13px}.drawer-day-summary span{color:var(--muted);font-size:12px;font-weight:800}.reservation-timeline{display:grid;align-content:start;gap:10px;padding-top:14px}.reservation-row{display:grid;grid-template-columns:118px 1fr;align-items:start;gap:12px;padding:12px;border:1px solid var(--border);border-radius:var(--radius);background:#fff}.reservation-time{display:grid;align-content:start;gap:5px}.reservation-time strong{color:var(--blue);font-size:12px}.reservation-time span{color:var(--muted);font-size:11px;font-weight:800}.reservation-detail{min-width:0;display:grid;gap:4px}.reservation-detail h3{font-size:13px;line-height:1.25}.reservation-detail p{color:#334354;font-size:12px}.reservation-detail small{color:var(--muted);font-size:11px}.drawer-empty-state{min-height:160px;display:grid;place-items:center;align-content:center;gap:7px;border:1px dashed var(--strong-border);background:#fbfcfd;border-radius:var(--radius);color:var(--muted);text-align:center}.drawer-empty-state strong{color:var(--text)}.drawer-empty-state span{font-size:12px}.checkin-box,.admin-actions{padding-top:16px}.checkin-box p{color:var(--muted);font-size:12px;margin-bottom:12px}.checkin-box button{width:100%}.checkin-box .checkout-button{margin-top:8px}.admin-nav{display:grid;gap:3px;margin-top:24px}.admin-nav button{min-height:40px;display:grid;grid-template-columns:20px 1fr auto;align-items:center;gap:9px;border:0;background:transparent;color:#394a5c;border-radius:6px;padding:0 10px;text-align:left;font-size:13px;font-weight:700}.admin-nav button:hover,.admin-nav button:focus-visible{background:#f3f8fa;color:var(--teal)}.admin-nav button.active{background:var(--teal-soft);color:var(--teal)}.admin-nav span{min-width:20px;min-height:20px;display:grid;place-items:center;background:var(--coral);color:#fff;border-radius:50%;font-size:11px}.admin-section-anchor{scroll-margin:16px;border-radius:var(--radius)}.admin-section-anchor:focus:not(.admin-section-active){outline:0}.utilization-section{margin-bottom:12px;padding:3px}.monitor-section{padding:3px}.admin-section-active{outline:3px solid rgba(0,135,130,.22);outline-offset:4px}.admin-subsection-active{box-shadow:0 0 0 3px #2378d629}.admin-actions.admin-subsection-active{border-radius:var(--radius);background:#f8fbff}.metric-row{display:grid;grid-template-columns:repeat(4,minmax(130px,1fr));gap:12px}.metric-card{min-height:96px;padding:14px;border:1px solid var(--border);background:var(--surface);border-radius:var(--radius)}.metric-card span{color:var(--muted);font-size:12px;font-weight:700}.metric-card strong{display:block;margin-top:7px;font-size:28px;line-height:1}.metric-card p{font-size:12px;font-weight:800;margin-top:8px}.metric-card.teal p{color:var(--teal)}.metric-card.blue p{color:var(--blue)}.metric-card.coral p{color:var(--coral)}.metric-card.amber p{color:var(--amber)}.admin-rail{display:grid;grid-template-rows:minmax(520px,auto) auto;border-left:1px solid var(--border);background:var(--surface)}.admin-rail .detail-panel{border-left:0;border-bottom:1px solid var(--border)}.table-panel,.reporting-panel,.enterprise-integrations-panel{margin-top:14px;padding:14px;border:1px solid var(--border);border-radius:var(--radius);background:var(--surface)}.report-actions{display:inline-flex;gap:8px}.analytics-metric-row{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin-bottom:12px}.analytics-metric-card{min-height:78px;padding:11px 12px;border:1px solid var(--border);border-left:4px solid var(--teal);border-radius:6px;background:#fbfcfd}.analytics-metric-card.blue{border-left-color:var(--blue)}.analytics-metric-card.purple{border-left-color:var(--purple)}.analytics-metric-card.amber{border-left-color:var(--amber)}.analytics-metric-card.coral{border-left-color:var(--coral)}.analytics-metric-card span{color:var(--muted);font-size:11px;font-weight:900;text-transform:uppercase}.analytics-metric-card strong{display:block;margin:4px 0 2px;font-size:20px}.analytics-metric-card p{margin:0;color:var(--muted);font-size:12px;font-weight:700}.report-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.report-group{display:grid;gap:8px;min-width:0}.report-group h4{margin:0;color:var(--muted);font-size:12px;text-transform:uppercase}.report-row{display:flex;align-items:center;justify-content:space-between;gap:12px;min-height:44px;padding:9px 10px;border:1px solid var(--border);border-radius:6px;background:#fbfcfd}.report-row strong,.report-row span{display:block}.report-row strong{font-size:13px}.report-row span{color:var(--muted);font-size:11px;font-weight:800}.report-row em{flex:0 0 auto;color:var(--teal);font-style:normal;font-weight:900}.enterprise-integrations-panel .block-header p{margin:3px 0 0;color:var(--muted);font-size:12px;font-weight:700}.enterprise-summary-pill{flex:0 0 auto;border:1px solid currentColor;border-radius:999px;padding:6px 10px;color:var(--amber);font-size:12px;font-weight:900}.enterprise-summary-pill.ready{color:var(--teal)}.enterprise-summary-row{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin-bottom:12px}.enterprise-summary-row span{min-height:52px;padding:10px;border:1px solid var(--border);border-radius:6px;background:#fbfcfd;color:var(--muted);font-size:11px;font-weight:900;text-transform:uppercase}.enterprise-summary-row strong{display:block;color:var(--text);font-size:18px}.enterprise-integration-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.enterprise-integration-card{display:grid;gap:10px;min-width:0;padding:12px;border:1px solid var(--border);border-left:4px solid var(--amber);border-radius:6px;background:#fbfcfd}.enterprise-integration-card.configured{border-left-color:var(--teal)}.integration-card-heading{display:flex;justify-content:space-between;gap:12px}.integration-card-heading span,.integration-card-heading small{display:block;color:var(--muted);font-size:11px;font-weight:800}.integration-card-heading strong{display:block;margin:2px 0;font-size:14px}.integration-card-heading em{flex:0 0 auto;color:var(--amber);font-size:12px;font-style:normal;font-weight:900}.enterprise-integration-card.configured .integration-card-heading em{color:var(--teal)}.enterprise-integration-card p{margin:0;color:var(--muted);font-size:12px;line-height:1.45}.integration-capabilities{display:flex;flex-wrap:wrap;gap:6px}.integration-capabilities span{border:1px solid #cbd6e2;border-radius:999px;padding:4px 7px;background:#fff;color:#43566c;font-size:11px;font-weight:800}.integration-env-list{display:grid;gap:3px;padding-top:8px;border-top:1px solid var(--border)}.integration-env-list strong{font-size:11px;text-transform:uppercase}.integration-env-list span{overflow-wrap:anywhere;color:var(--muted);font-size:11px;font-weight:800}.risk-table{display:grid}.table-row{display:grid;grid-template-columns:130px 160px minmax(120px,1fr) 150px 82px;align-items:center;gap:12px;min-height:42px;border-top:1px solid var(--border);color:#334354;font-size:12px}.table-action-row{width:100%;border-right:0;border-bottom:0;border-left:0;background:transparent;text-align:left}.table-action-row:hover,.table-action-row:focus-within,.table-action-row.selected{background:#f6faff}.table-row:first-child{border-top:0}.table-head{min-height:32px;color:var(--muted);font-weight:900}.table-row strong{color:var(--blue)}.table-row small{display:block;color:var(--muted);font-size:11px}.danger-text{color:var(--coral);font-weight:800}.table-empty{min-height:48px;display:grid;place-items:center;border-top:1px solid var(--border);color:var(--muted);font-size:12px;font-weight:800}.admin-actions .action-row{gap:8px}.admin-actions .action-row button{flex:1}.release-box{margin-top:14px;padding:14px;border:1px solid var(--border);background:#fbfcfd;border-radius:var(--radius)}.release-box strong{color:var(--coral)}.release-box.available strong,.release-box.booked strong,.release-box.upcoming strong,.release-box.mine strong{color:#3d4d5f}.release-box small{color:var(--muted)}.progress{height:8px;margin:10px 0 8px;background:#e9eef3;border-radius:999px;overflow:hidden}.progress span{display:block;height:100%;background:var(--coral)}.release-box.available .progress span{background:var(--green)}.release-box.booked .progress span,.release-box.upcoming .progress span,.release-box.mine .progress span{background:var(--blue)}.space-settings-form{display:grid;gap:10px;margin-top:18px;padding-top:16px;border-top:1px solid var(--border)}.space-settings-form .field{margin-bottom:0}.settings-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:10px}.full-field{grid-column:1 / -1}.layout-settings{display:grid;gap:10px;padding:12px;border:1px solid var(--border);background:#fbfcfd;border-radius:var(--radius)}.layout-settings-heading{display:flex;align-items:center;justify-content:space-between;gap:10px}.layout-settings-heading span{display:inline-flex;align-items:center;gap:7px;color:var(--text);font-size:12px;font-weight:900}.layout-settings-heading svg{color:var(--blue)}.layout-settings-heading small{color:var(--muted);font-size:11px;font-weight:800;text-align:right}.toggle-option{min-height:38px;display:flex;align-items:center;gap:8px;align-self:end;border:1px solid var(--border);background:#fff;border-radius:6px;padding:0 10px;color:#334354;font-size:12px;font-weight:800}.toggle-option input{width:15px;height:15px;accent-color:var(--teal)}.settings-save{width:100%;margin-top:2px}.inventory-panel,.layout-import-panel,.audit-panel,.production-panel{padding:18px 20px 22px}.layout-import-panel,.audit-panel,.production-panel{border-top:1px solid var(--border)}.layout-json-input{width:100%;min-height:180px;resize:vertical;border:1px solid var(--border);border-radius:var(--radius);background:#fbfcfd;color:#243242;padding:10px 12px;font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,monospace;font-size:11px;line-height:1.45}.inventory-list{display:grid;gap:13px}.inventory-list div{display:grid;grid-template-columns:1fr auto;gap:3px 10px}.inventory-list span{color:var(--muted);font-size:12px;font-weight:700}.inventory-list strong{font-size:13px}.inventory-list em{grid-column:2;color:var(--muted);font-size:12px;font-style:normal}.integration-box{margin-top:18px;padding:12px;border:1px solid #bfe5e1;background:var(--teal-soft);border-radius:var(--radius)}.integration-box div{display:flex;align-items:center;gap:8px;color:var(--teal)}.integration-box p,.integration-box span{display:block;margin:7px 0 0;color:#315c62;font-size:12px}.integration-box span{font-weight:800}.audit-list{display:grid;gap:8px}.audit-event{display:grid;gap:5px;padding:10px;border:1px solid var(--border);border-left:3px solid var(--blue);background:#fbfcfd;border-radius:6px}.audit-event.denied,.audit-event.failed{border-left-color:var(--coral)}.audit-event.success{border-left-color:var(--teal)}.audit-event div{display:flex;align-items:center;justify-content:space-between;gap:8px}.audit-event strong{color:var(--text);font-size:12px}.audit-event span,.audit-event small{color:var(--muted);font-size:11px;font-weight:800}.audit-event p{margin:0;color:#334354;font-size:12px}.audit-empty{min-height:52px;display:grid;place-items:center;gap:5px;border:1px dashed var(--strong-border);background:#fbfcfd;color:var(--muted);border-radius:6px;font-size:12px;font-weight:800}.production-list{display:grid;gap:9px}.production-panel .block-header p{margin:3px 0 0;color:var(--muted);font-size:12px;font-weight:700}.panel-chip.ready{background:var(--teal-soft);color:var(--teal)}.panel-chip.blocked{background:#fff8df;color:var(--amber)}.readiness-summary-row{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin-bottom:10px}.readiness-summary-row span{padding:9px 10px;border:1px solid var(--border);border-radius:6px;background:#fbfcfd;color:var(--muted);font-size:11px;font-weight:900;text-transform:uppercase}.readiness-summary-row strong{display:block;color:var(--text);font-size:17px}.readiness-domain-row{display:flex;flex-wrap:wrap;gap:6px;margin-bottom:10px}.readiness-domain-row span{border:1px solid #cbd6e2;border-radius:999px;padding:5px 8px;background:#fff;color:var(--muted);font-size:11px;font-weight:800}.readiness-domain-row strong{color:var(--text)}.production-list article{display:grid;grid-template-columns:1fr auto;gap:10px;padding:10px;border:1px solid var(--border);border-left:3px solid var(--amber);border-radius:6px;background:#fbfcfd}.production-list article.ready{border-left-color:var(--teal)}.production-list strong,.production-list span,.production-list small{display:block}.production-list strong{font-size:12px}.production-list span{margin-top:2px;color:var(--muted);font-size:11px;line-height:1.35}.production-list small{margin-top:5px;color:#425469;font-size:11px;font-weight:800;line-height:1.35}.production-list em{align-self:start;padding:3px 7px;border:1px solid currentColor;border-radius:999px;color:var(--amber);font-size:10px;font-style:normal;font-weight:900;text-transform:uppercase}.production-list article.ready em{color:var(--teal)}@media(max-width:1180px){.booking-grid,.admin-grid,.access-grid{grid-template-columns:174px minmax(560px,1fr)}.detail-panel,.admin-rail{grid-column:1 / -1;border-left:0;border-top:1px solid var(--border)}.admin-rail{grid-template-columns:1fr 1fr;grid-template-rows:auto}.floor-plan{height:500px}.booking-form{grid-template-columns:130px 1fr 210px}.booking-for-field,.visitor-field,.delegate-field{grid-column:1 / -1}.policy-rule-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.booking-note,.review-button{grid-column:1 / -1}}@media(max-width:860px){.topbar{height:auto;align-items:flex-start;gap:16px;flex-wrap:wrap;padding:16px}.brand,.topbar-actions{min-width:0}.topbar-actions{flex-wrap:wrap;justify-content:flex-start}.role-switcher{order:2;width:100%}.role-switcher .select-wrap{flex:1;width:auto}.page-tabs{order:3;width:100%;height:44px;border-top:1px solid var(--border)}.booking-grid,.admin-grid,.access-grid{display:flex;flex-direction:column}.sidebar{order:2;border-right:0;border-bottom:1px solid var(--border)}.floor-workspace,.admin-center,.access-panel{order:1;padding:16px}.detail-panel,.admin-rail{order:3}.section-header{align-items:flex-start;flex-direction:column}.header-actions{width:100%;display:grid;grid-template-columns:1fr}.flow-steps,.availability-summary{grid-template-columns:1fr}.availability-summary div{border-right:0;border-bottom:1px solid var(--border);padding:0 0 8px}.floor-plan-wrap{overflow-x:auto}.floor-plan{min-width:720px;height:500px}.booking-form,.metric-row,.analytics-metric-row,.readiness-summary-row,.admin-rail,.report-grid,.enterprise-summary-row,.enterprise-integration-grid,.check-grid,.settings-grid{grid-template-columns:1fr}.composer-title{align-items:flex-start;flex-direction:column;gap:10px}.day-row{grid-template-columns:repeat(4,minmax(0,1fr))}.repeat-field,.booking-for-field,.visitor-field,.delegate-field{grid-column:1 / -1}.policy-rule-grid{grid-template-columns:1fr}.selected-booking-summary{align-items:flex-start;flex-direction:column}.day-row button{min-width:0}.table-panel{overflow-x:auto}.risk-table{min-width:720px}.schedule-drawer{grid-template-columns:1fr}.schedule-drawer-backdrop{display:none}.schedule-drawer-panel{border-left:0;padding:16px}.reservation-row{grid-template-columns:1fr}.user-chip div{display:none}}
