.room-layout{display:grid;grid-template-columns:minmax(0,1.35fr) minmax(300px,.75fr);gap:20px;align-items:start;margin-bottom:30px}.room-card{background:var(--white);border:1px solid var(--line);border-radius:13px;padding:24px;min-width:0}.room-form{box-shadow:0 12px 36px #2345370a}.room-card-heading,.room-agenda-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:18px}.room-card-heading h2,.room-agenda-heading h2{font-size:21px;font-weight:550;letter-spacing:-.4px;margin:8px 0 7px}.room-card-heading p{font-size:12px;color:var(--muted);line-height:1.6;margin:0}.room-heading-icon,.room-detail-icon{display:grid;place-items:center;width:44px;height:44px;flex-shrink:0;border-radius:12px;color:#617d4d;background:#edf2e4}.room-heading-icon .icon,.room-detail-icon .icon{width:21px;height:21px}.room-select-row{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:16px;align-items:end;margin-top:24px}.room-select-row .field,.room-form-grid .field{margin:0}.room-capacity{display:grid;gap:6px;padding:0 3px 12px;min-width:110px}.room-capacity span,.room-detail-lines span{font-size:11px;color:#87947b}.room-capacity strong{font-size:14px;font-weight:600}.room-form-grid{display:grid;grid-template-columns:1.2fr .8fr .8fr;gap:12px;margin:16px 0}.room-form>.field{margin-bottom:16px}.room-form textarea{resize:vertical;min-height:84px}.room-participants-head{display:flex;justify-content:space-between;gap:15px;align-items:flex-start;margin:18px 0 11px}.room-participants-head>div{display:grid;gap:5px}.room-participants-head strong{font-size:13px;font-weight:600}.room-participants-head span{font-size:11px;color:var(--muted);line-height:1.5}.room-participants-head>span{white-space:nowrap;color:#63834e;font-size:11px}.room-participants{max-height:202px;overflow:auto;border:1px solid var(--line);border-radius:9px;padding:4px 12px}.room-person{display:flex;align-items:center;gap:10px;min-height:45px;border-bottom:1px solid #edf0e9;font-size:12px;color:#4a6145;cursor:pointer}.room-person:last-child{border-bottom:0}.room-person-avatar{width:27px;height:27px;border-radius:50%;display:grid;place-items:center;background:#e7eddd;color:#688251;font-size:9px;overflow:hidden;flex-shrink:0}.room-person>span:nth-child(2){flex:1}.room-person input{width:16px;min-height:16px}.room-help{font-size:12px;color:var(--muted);padding:14px;border:1px dashed var(--line);border-radius:8px}.room-capacity-warning{margin-top:12px;border-radius:8px;padding:10px 12px;background:#f6f0df;color:#897245;font-size:11px}.room-submit{margin-top:19px;min-height:49px}.room-form-note{text-align:center;margin:10px auto 0;max-width:420px;color:#89947e;font-size:10px;line-height:1.6}.room-side-column{display:grid;gap:18px}.room-details{padding:23px}.room-details .room-card-heading h2{font-size:24px}.room-detail-lines{margin-top:21px;border-top:1px solid var(--line)}.room-detail-lines>div{display:flex;justify-content:space-between;gap:14px;padding:12px 0;border-bottom:1px solid #eef0e8}.room-detail-lines strong{font-size:12px;font-weight:550;text-align:right}.room-resource{color:#61814e}.room-availability{display:flex;align-items:flex-start;gap:10px;border-radius:9px;padding:13px;margin-top:17px;font-size:12px;line-height:1.5}.room-availability .icon{width:17px;height:17px}.room-availability strong,.room-availability small{display:block}.room-availability small{margin-top:4px;font-size:10px}.room-availability.free{background:#edf3e4;color:#5d7948}.room-availability.busy{background:#f5eee0;color:#8b7446}.room-availability.unavailable{background:#f5eae4;color:#945d48}.room-availability.checking{background:#f0f2e9;color:#718166;align-items:center}.room-free-dot{width:9px;height:9px;margin:5px 4px;border-radius:50%;background:#73985c;box-shadow:0 0 0 4px #dce9cb}.room-spinner{width:14px;height:14px;border-radius:50%;border:2px solid #d8dfcf;border-top-color:#6c8a55;animation:room-spin .7s linear infinite}@keyframes room-spin{to{transform:rotate(360deg)}}.room-agenda-card{padding:20px 21px}.room-agenda-heading{align-items:center;margin-bottom:14px}.room-agenda-heading h2{margin-bottom:0}.room-agenda-heading .icon-button{color:#718566}.room-no-meetings{padding:18px 0 4px;font-size:12px;color:#89947d;line-height:1.6}.room-meeting{display:grid;grid-template-columns:39px minmax(0,1fr) auto;gap:10px;padding:14px 0;border-top:1px solid #eef0e9;align-items:start}.room-meeting-date{display:grid;justify-items:center;gap:1px;color:#738b60}.room-meeting-date strong{font-size:18px;font-weight:550;line-height:1.2}.room-meeting-date span{font-size:9px;text-transform:uppercase}.room-meeting-main{min-width:0}.room-meeting-title{display:grid;gap:6px}.room-meeting-title>strong{font-size:12px;font-weight:600;overflow-wrap:anywhere}.room-state{font-size:9px;width:max-content;border-radius:99px;padding:4px 7px;background:#f1f1ea;color:#777f70}.room-state.confirmed{background:#eaf2df;color:#5d7d40}.room-state.pending,.room-state.sync_error,.room-state.cancel_pending{background:#f5efdf;color:#8c7648}.room-state.declined,.room-state.cancelled{background:#f2e9e3;color:#94604c}.room-meeting-main p{font-size:10px;color:#76856d;margin:6px 0 4px}.room-meeting-main>small{font-size:9px;color:#9aa18f}.room-text-button{display:block;border:0;background:transparent;color:#607c4a;padding:8px 0 0;font-size:10px;text-align:left}.room-cancel{border:0;background:transparent;color:#947a65;font-size:9px;padding:3px}.room-empty{background:var(--white);border:1px solid var(--line);border-radius:13px;padding:40px}.room-empty h2{font-size:20px}.room-empty p{color:var(--muted);font-size:13px}
@media(max-width:1050px){.room-layout{grid-template-columns:minmax(0,1fr) minmax(280px,.82fr);gap:14px}.room-card{padding:20px}.room-details{padding:20px}}
@media(max-width:820px){.room-layout{grid-template-columns:1fr}.room-side-column{grid-template-columns:repeat(2,minmax(0,1fr));align-items:start}.room-agenda-card{min-height:100%}}
@media(max-width:600px){.room-layout{gap:12px}.room-card{padding:17px}.room-side-column{grid-template-columns:1fr}.room-card-heading h2{font-size:19px}.room-form-grid{grid-template-columns:1fr 1fr}.room-form-grid .field:first-child{grid-column:1/-1}.room-select-row{gap:10px;grid-template-columns:minmax(0,1fr) auto}.room-capacity{min-width:85px}.room-participants-head{align-items:flex-start}.room-meeting{grid-template-columns:35px minmax(0,1fr) auto;gap:8px}.room-meeting-main p{line-height:1.5}.room-cancel{font-size:9px}}
.room-calendar-connect{display:grid;gap:9px;margin-top:16px;padding:12px;border:1px solid #dce5d2;border-radius:9px;background:#f5f7f1;color:#637856;font-size:11px;line-height:1.55}.room-calendar-connect .secondary{display:flex;width:max-content;align-items:center;gap:8px;text-decoration:none;padding:8px 12px;font-size:11px}.room-calendar-connect .icon{width:14px;height:14px}
.room-map-marker{cursor:pointer;outline:none}.room-marker-halo{fill:#eff3e766;stroke:transparent;stroke-width:1.5;vector-effect:non-scaling-stroke;transition:fill .18s,stroke .18s}.room-marker-disc{fill:#174e45;stroke:#fffefa;stroke-width:2;vector-effect:non-scaling-stroke;filter:drop-shadow(0 2px 3px #173d3433);transition:fill .18s}.room-marker-glyph{fill:none;stroke:#fffefa;stroke-width:1.25;stroke-linecap:round;stroke-linejoin:round;vector-effect:non-scaling-stroke}.room-map-marker.free .room-marker-disc{fill:#6c9e73}.room-map-marker.busy .room-marker-disc{fill:#9ca99b}.room-map-marker.unavailable .room-marker-disc{fill:#b39a68}.room-map-marker:hover .room-marker-halo,.room-map-marker:focus-visible .room-marker-halo,.room-map-marker.selected .room-marker-halo{fill:#dce9bcaa;stroke:#a2b97a}.room-map-marker.selected .room-marker-disc{fill:#174e45}.room-legend{white-space:nowrap}.room-legend i{display:inline-block;width:10px;height:10px;border-radius:50%;background:#174e45;border:2px solid #fffefa;box-shadow:0 0 0 1px #b9c8be}.room-map-heading{display:flex;align-items:center;gap:12px;margin:20px 0 16px}.room-map-heading-icon{width:42px;height:42px;display:grid;place-items:center;border-radius:12px;background:#eaf0df;color:#678756}.room-map-heading-icon .icon{width:19px;height:19px}.room-map-heading h2{font-size:22px;line-height:1.25;margin:0 0 4px;overflow-wrap:anywhere}.room-map-heading p{font-size:11px;color:var(--muted);margin:0}.room-map-availability{display:flex;align-items:flex-start;gap:10px;padding:13px;border-radius:9px;margin:0 0 19px;font-size:12px;line-height:1.5}.room-map-availability .icon{width:17px;height:17px;flex:none}.room-map-availability strong,.room-map-availability small{display:block}.room-map-availability small{margin-top:4px;font-size:10px}.room-map-availability.free{background:#edf3e4;color:#5d7948}.room-map-availability.busy{background:#f5eee0;color:#8b7446}.room-map-availability.unavailable{background:#f5eae4;color:#945d48}.room-map-availability.checking{background:#f0f2e9;color:#718166;align-items:center}.room-map-availability+.detail-line{margin-top:0}.room-map-availability~.primary{margin-top:17px}
.room-schedule-card{background:var(--white,#fffefa);border:1px solid var(--line,#dfe5d8);border-radius:16px;padding:26px;margin-bottom:26px;min-width:0}.room-schedule-heading{display:flex;align-items:center;justify-content:space-between;gap:24px;flex-wrap:wrap}.room-schedule-heading h2{font-size:25px;margin:8px 0;color:var(--green,#173f37)}.room-schedule-heading p{font-size:12px;color:var(--muted);margin:0}.room-schedule-controls{display:flex;align-items:center;gap:8px}.room-schedule-controls .field{font-size:10px;gap:4px}.room-schedule-controls input{padding:9px 11px;min-height:38px}.room-schedule-controls>.icon-button{font-size:25px}.room-schedule-legend{display:flex;gap:18px;align-items:center;flex-wrap:wrap;margin:22px 0 14px;font-size:11px;color:#6d7d68}.room-schedule-legend>span{display:flex;align-items:center;gap:6px}.room-schedule-legend i{width:10px;height:10px;border-radius:3px;display:inline-block}.room-schedule-legend .free{background:#dceac8}.room-schedule-legend .busy{background:#365e51}.room-schedule-legend .unknown{background:#dbd5c7}.room-schedule-legend small{margin-left:auto}.room-schedule-scroll{overflow:auto;border:1px solid #dce3d5;border-radius:10px;scrollbar-color:#bcc9ad #f2f4ed;scrollbar-width:thin}.room-schedule-table{min-width:1424px}.room-schedule-header,.room-schedule-row{display:grid;grid-template-columns:224px minmax(0,1fr)}.room-schedule-header{height:42px;background:#f6f7f0;color:#7d8876;font-size:10px;border-bottom:1px solid #dce3d5}.room-schedule-header>div:first-child{position:sticky;left:0;background:#f6f7f0;z-index:3;padding:14px 16px}.room-schedule-hours{position:relative;overflow:hidden}.room-schedule-hours span{position:absolute;top:14px;transform:translateX(5px);font-variant-numeric:tabular-nums}.room-schedule-row{min-height:91px;border-bottom:1px solid #e5e9df}.room-schedule-row:last-child{border-bottom:0}.room-schedule-name{position:sticky;left:0;z-index:2;background:#fffefa;padding:16px;border-right:1px solid #e2e8d9;display:grid;align-content:center;gap:5px}.room-schedule-name strong{font-size:12px;font-weight:600;color:#244c40;line-height:1.4}.room-schedule-name small{font-size:10px;color:#8b9582}.room-schedule-status{font-size:9px;color:#739052}.room-schedule-status.unknown{color:#9e7951}.room-schedule-track{position:relative;background:repeating-linear-gradient(to right,transparent 0,transparent calc(100% / 24 - 1px),#e5eadc calc(100% / 24 - 1px),#e5eadc calc(100% / 24));background-color:#f6f8f1}.room-schedule-segment{position:absolute;top:20px;height:49px;overflow:hidden;white-space:nowrap;border:1px solid #fffefa;border-radius:7px;display:flex;align-items:center;justify-content:center;font-size:10px;padding:0 5px;transition:filter .15s}.room-schedule-segment span{overflow:hidden;text-overflow:clip;pointer-events:none}.room-schedule-segment.free{background:#dceac8;color:#638146;cursor:pointer}.room-schedule-segment.free:hover{background:#c4dc9e;box-shadow:inset 0 0 0 2px #739452}.room-schedule-segment.busy{background:#365e51;color:#fffefa}.room-schedule-segment.past{opacity:.48;cursor:default}.room-schedule-unknown{position:absolute;inset:20px 0;background:repeating-linear-gradient(135deg,#e5e2d8,#e5e2d8 7px,#eeece5 7px,#eeece5 14px);display:grid;place-items:center;color:#92846e;font-size:11px;border-radius:6px}.room-schedule-foot{display:flex;justify-content:space-between;gap:12px;color:#8d9784;font-size:10px;padding-top:13px}.room-schedule-loading,.room-schedule-error{min-height:130px;display:flex;align-items:center;justify-content:center;gap:15px;color:var(--muted);font-size:12px}.room-booking-dialog{border:1px solid #d7dfce;border-radius:18px;padding:0;width:min(640px,calc(100vw - 28px));max-height:calc(100dvh - 40px);overflow:auto;color:#264b40;background:#fffefa;box-shadow:0 24px 100px #15372c44}.room-booking-dialog::backdrop{background:#163e3666;backdrop-filter:blur(4px)}.room-dialog-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:20px;margin-bottom:22px}.room-dialog-heading h2{font-size:25px;line-height:1.25;margin:9px 0 6px}.room-dialog-heading p{font-size:12px;margin:0}.room-dialog-form{border:0;border-radius:0;padding:30px}.room-dialog-form .room-availability{margin:12px 0 18px}.room-dialog-form>.field{margin-top:15px}.room-dialog-form textarea{resize:vertical}.room-dialog-form .room-participants-head{margin-top:20px}
@media(max-width:700px){.room-schedule-card{padding:17px;margin-bottom:16px}.room-schedule-controls{width:100%;gap:4px;flex-wrap:wrap}.room-schedule-controls .field{flex:1}.room-schedule-heading{gap:15px}.room-schedule-heading h2{font-size:22px}.room-schedule-legend{gap:12px}.room-schedule-legend small{width:100%;margin-left:0}.room-schedule-name,.room-schedule-header>div:first-child{padding-left:10px;padding-right:10px}.room-schedule-header,.room-schedule-row{grid-template-columns:160px minmax(0,1fr)}.room-schedule-table{min-width:1360px}.room-schedule-name strong{font-size:11px}.room-schedule-foot{flex-wrap:wrap}.room-dialog-form{padding:20px}.room-dialog-heading h2{font-size:22px}}

.room-floor-tray{margin:16px 0 24px;padding:22px;border:1px solid #dce3d5;border-radius:16px;background:#fffefa}.room-floor-tray p{color:#7b8d83;font-size:13px;margin:8px 0 14px}.room-tray-buttons{display:flex;flex-wrap:wrap;gap:10px}.room-tray-button{display:flex;align-items:center;gap:12px;text-align:left;border:1px solid #dce3d5;border-radius:12px;padding:13px 16px;background:#f5f7f0;color:#25483d;cursor:pointer}.room-tray-button span{display:grid;gap:5px}.room-tray-button small{font-size:11px;color:#718378}.room-tray-button.busy{background:#f2e9d7}.room-tray-button.unknown{background:#f1f0eb}.room-tray-button.selected,.room-tray-button:hover{border-color:#537f63;box-shadow:0 0 0 2px #537f6320}.room-floor-tray .text-button{color:#25483d;border:0;background:none;text-decoration:underline;cursor:pointer}.room-booking-dialog .room-person{min-width:0}.room-booking-dialog .room-person span{overflow-wrap:anywhere}
