:root{font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;color:#26262b;background:#f5f5f7;font-synthesis:none}*{box-sizing:border-box}body{margin:0;display:flex;min-height:100vh}aside{width:238px;flex-shrink:0;background:#111114;color:white;padding:40px 25px;display:flex;flex-direction:column;position:fixed;inset:0 auto 0 0}.brand{font-size:27px;letter-spacing:-1px;font-weight:750;text-decoration:none;color:white;line-height:1}.brand span{display:block;font-size:12px;letter-spacing:1.5px;font-weight:400;margin-top:9px;color:#b3b3bb}.brand b{color:white}.local{font-size:10px;letter-spacing:1.7px;color:#a6a6b1;margin-top:50px;display:flex;align-items:center;gap:8px}.local i{width:7px;height:7px;background:#63caa0;border-radius:50%}nav{display:grid;gap:6px;margin-top:22px}nav button{color:#a9a9b3;background:none;text-align:left;padding:13px;border-radius:9px;font-weight:500}nav button.active{background:#2a2a30;color:white}.aside-bottom{margin-top:auto;font-size:14px;line-height:1.65;color:#c0c0ca}.aside-bottom small{display:block;font-size:10px;color:#797984;margin-top:20px}main{margin-left:238px;flex:1;padding:44px 44px 50px;min-width:0}header{display:flex;align-items:center;justify-content:space-between;gap:20px;border-bottom:1px solid #dddde3;padding-bottom:27px}h1{font-size:32px;letter-spacing:-1.2px;margin:8px 0 0;line-height:1.2}h2{font-size:21px;letter-spacing:-.5px;margin:0 0 8px}h3{font-size:16px;margin:0}p{font-size:14px;line-height:1.6;color:#7b7b87;margin:0}.eyebrow{font-size:10px;font-weight:650;letter-spacing:1.6px;color:#9999a4}.actions{padding:32px 0;display:flex;gap:22px;align-items:center;justify-content:space-between}.action-buttons{display:flex;gap:10px;flex-wrap:wrap}button{font:inherit;font-size:12px;border:0;border-radius:9px;padding:13px 16px;font-weight:650;cursor:pointer;min-height:42px}button:disabled{opacity:.45;cursor:default}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible{outline:3px solid #4b9fe7;outline-offset:3px}.primary{background:#cf273d;color:white}.secondary{background:white;border:1px solid #dcdce2;color:#303038}.quiet{background:#e9e9ee;color:#55555e}.stats{display:grid;grid-template-columns:repeat(3,1fr);gap:15px;margin-bottom:24px}.stat{background:white;border:1px solid #e6e6eb;border-radius:14px;padding:22px}.stat strong{display:block;font-size:32px;letter-spacing:-1px;margin-top:8px}.stat p{font-size:12px}.workspace{display:grid;grid-template-columns:280px minmax(0,1fr);gap:20px}.rooms,.schedule,.devices,.settings-card,.network-card{background:white;border:1px solid #e6e6eb;border-radius:16px;padding:24px}.section-heading{display:flex;justify-content:space-between;gap:12px;align-items:center;margin-bottom:18px}.section-heading>span{color:#9999a4;font-size:11px}.room{display:flex;width:100%;align-items:center;text-align:left;padding:15px 10px;gap:11px;background:none;border-radius:10px;margin:5px 0;font-weight:500}.room.active{background:#f3f3f6}.room .dot{height:9px;width:9px;border-radius:50%;background:#20916c;flex-shrink:0}.room[data-status=Occupied] .dot{background:#cf273d}.room[data-status=Upcoming] .dot{background:#c49128}.room strong{font-size:14px;display:block}.room small{font-size:11px;color:#9999a4;display:block;margin-top:4px}.room .arrow{margin-left:auto;color:#aaa}.schedule{min-height:390px}.meeting{display:flex;gap:20px;padding:18px 0;border-bottom:1px solid #ececf1;align-items:center}.meeting time{font-size:12px;color:#93939f;line-height:1.6;min-width:42px}.meeting strong{display:block;font-size:14px}.meeting small{display:block;font-size:11px;color:#9696a3;margin-top:6px}.meeting .detail{flex:1}.meeting button{font-size:11px;padding:8px 10px;min-height:32px}.devices{margin-top:22px}.device{display:flex;align-items:center;gap:16px;border-bottom:1px solid #eeeef2;padding:14px 0}.device:last-child{border:0}.device .detail{flex:1}.device strong{font-size:13px}.device p,.device small{font-size:11px;color:#999}.badge{background:#e8f5ef;color:#298269;padding:6px 10px;border-radius:20px;font-size:10px;white-space:nowrap}.badge.offline{background:#fbecef;color:#bd354a}.badge.independent{background:#f0f0f5;color:#7c7c89}.empty{padding:38px 0;color:#aaa;font-size:13px;line-height:1.7}.settings-card{max-width:700px;margin-top:30px;padding:32px}.settings-card h2{margin-top:10px}.settings-card>p{margin-bottom:20px}.network-card{max-width:700px;margin-top:20px}.network-card h3{margin-bottom:12px}form{display:grid;gap:18px}label{display:flex;flex-direction:column;gap:8px;font-size:12px;font-weight:600}input,select{border:1px solid #dedee6;background:#fafafb;color:#28282f;border-radius:9px;font:inherit;font-size:14px;padding:12px;min-width:0;width:100%;height:44px}input[type=file]{height:auto;font-size:11px}.row{display:flex;gap:15px}.row>*{flex:1;min-width:0}.check{flex-direction:row;align-items:center}.check input{width:18px;height:18px}.small{font-size:12px}.fingerprint{font-size:11px;overflow-wrap:anywhere;margin:12px 0}summary{font-size:12px;cursor:pointer;margin-top:16px}#schedule-date{max-width:180px;margin:0 0 10px}#error:empty{display:none}#error{background:#fce9ec;color:#af283e;padding:14px;border-radius:10px;margin-top:20px;font-size:13px}dialog{border:0;border-radius:20px;padding:30px;width:min(540px,calc(100vw - 30px));max-height:90vh;overflow:auto;box-shadow:0 25px 100px #0004}dialog::backdrop{background:#15151b88}dialog h2{font-size:24px;margin-bottom:12px}dialog .qr{display:block;width:220px;height:220px;margin:24px auto 10px}.code{text-align:center;letter-spacing:4px;font-size:24px;font-weight:700}.invite-link{text-align:center;font-size:11px;overflow-wrap:anywhere;margin:14px 0}.dialog-actions{display:flex;justify-content:flex-end;gap:10px;margin-top:22px}#toast{position:fixed;bottom:25px;left:calc(50% + 119px);transform:translateX(-50%);background:#202027;color:white;border-radius:10px;padding:14px 20px;font-size:13px;display:none;z-index:5}[hidden]{display:none!important}@media(max-width:1200px){main{padding:28px}.actions{align-items:flex-start;flex-direction:column}.workspace{grid-template-columns:230px minmax(0,1fr)}}@media(max-width:850px){aside{width:180px;padding:30px 16px}.brand{font-size:23px}main{margin-left:180px;padding:20px}.workspace{grid-template-columns:1fr}.rooms{padding:18px}.stats{gap:8px}.stat{padding:14px}h1{font-size:26px}#toast{left:50%}}

dialog.pairing-dialog{width:min(780px,calc(100vw - 30px))}.pairing-methods{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.2fr);gap:28px;margin:24px 0}.pairing-methods h3{margin-bottom:8px}.pairing-scan{text-align:center;padding-right:24px;border-right:1px solid #e6e6eb}.pairing-scan .qr{width:190px;height:190px;margin:12px auto}.installation-link{font-size:12px;color:#bc253b;display:inline-block;line-height:1.5}.pairing-manual{display:flex;flex-direction:column;gap:14px}.pairing-value{display:flex;gap:6px}.pairing-value input{font-family:ui-monospace,Consolas,monospace;font-size:14px;flex:1;min-width:0;background:#f2f4f7;color:#24242c}.pairing-value button{padding:8px 10px;min-height:44px;flex-shrink:0}@media(max-width:650px){.pairing-methods{grid-template-columns:1fr;gap:22px}.pairing-scan{border-right:0;border-bottom:1px solid #e6e6eb;padding:0 0 18px}.pairing-scan .qr{width:150px;height:150px}.pairing-value input{font-size:13px}}

.setup-choice{display:flex;flex-direction:column;gap:8px;max-width:225px}.setup-choice p{font-size:11px;line-height:1.45}.event-background-preview{height:100px;border-radius:10px;background:#17171b;padding:8px}.event-background-preview img{width:100%;height:100%;object-fit:contain}.setup-summary{display:flex;align-items:center;gap:12px;background:#f3f4f6;border-radius:10px;padding:10px 12px;margin:14px 0 0;font-size:11px;color:#60606d;line-height:1.5}.setup-summary img{width:42px;height:42px;object-fit:contain;background:#17171b;border-radius:6px}.pairing-dialog .pairing-methods{margin-top:16px;margin-bottom:16px}
/* Company panel: original fair sidebar, white cards and red actions. */
:root{--accent:#cf273d;--line:#e6e6eb;--muted:#7b7b87;--ink:#26262b;color-scheme:light}.panel-shell{margin-left:238px;flex:1;min-width:0}.panel main{margin-left:0;max-width:1700px;width:100%;padding:32px 44px 50px}.top{padding:24px 44px;background:#f5f5f7;min-height:90px;border-bottom:1px solid #dddde3}.top #identity{display:flex;align-items:center;gap:12px;font-size:12px;color:#7b7b87}.panel aside nav{margin-top:22px}.panel .login{max-width:600px;margin:7vh auto}.card{background:#fff;border:1px solid #e6e6eb;border-radius:16px;padding:24px;margin-bottom:20px}.room-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(270px,1fr));gap:18px}.room-grid .card{margin-bottom:0}.room-grid+h2{margin-top:28px}.room-heading{display:flex;align-items:start;justify-content:space-between;gap:10px}.room-heading h2{margin-top:0}.section-heading h1{margin:0}.section-heading .actions{padding:0;gap:8px;justify-content:flex-end}.section-heading{margin:12px 0 24px}.actions input{width:auto;max-width:180px}.fields{display:flex;gap:14px;flex-wrap:wrap;align-items:end}.fields label{flex:1;min-width:125px}.fields>button{margin-bottom:0}.fields label.check{flex:1.5;min-width:180px}.fields .check input{width:18px;height:18px}.muted,small{color:#7b7b87}.card>p{margin:8px 0 14px}.card>small{font-size:11px}.meetings{margin-top:16px}.meeting{display:flex;flex-direction:column;align-items:start;width:100%;text-align:left;background:transparent;border:0;border-radius:0;border-bottom:1px solid #ececf1;padding:15px 0;gap:6px}.meeting time{min-width:0;font-size:12px;line-height:1.4}.meeting strong{font-size:14px}.meeting span{font-size:11px;color:#7b7b87}.past{opacity:.45}.operation{display:flex;justify-content:space-between;align-items:center;width:100%;gap:14px;padding:15px 0;border:0;border-bottom:1px solid #ececf1;border-radius:0;background:transparent;text-align:left;flex-wrap:wrap}.operation strong{font-size:14px}.operation span{font-size:12px;color:#7b7b87}.badge{display:inline-block}.warning{padding:12px 14px;border-radius:10px;background:#fff3dc;color:#875716;font-size:13px;line-height:1.5}.audit{display:flex;justify-content:space-between;gap:15px;padding:12px 0;border-bottom:1px solid #ececf1;font-size:11px;overflow-wrap:anywhere}.audit>*{flex:1}.login h1{margin-bottom:16px}.login p{margin-bottom:18px}.login form{margin:20px 0}.login small{display:block;margin-top:20px;overflow-wrap:anywhere}textarea{font:inherit;font-size:14px;border:1px solid #dedee6;border-radius:9px;background:#fafafb;color:#28282f;padding:12px;width:100%;min-width:0;resize:vertical}dialog form{display:grid;gap:14px}dialog p{margin-bottom:4px}dialog .actions{padding:8px 0 0;display:flex;gap:10px;justify-content:flex-end}dialog label{gap:6px}dialog .fields{gap:12px}.modal-error{color:#af283e;font-size:13px;line-height:1.5}.modal-error:empty{display:none}.pair-code{text-align:center;font-size:26px;letter-spacing:4px;color:#26262b;margin:10px 0 20px}dialog .qr{width:auto;height:auto;text-align:center;margin:14px auto}dialog .qr svg{display:block;max-width:100%;height:auto;margin:auto;background:#fff}.date-list{display:grid;gap:8px;max-height:50vh;overflow:auto}.quiet{color:#55555e}.danger{background:#fbecef;color:#a82e3b}#notice{position:fixed;bottom:25px;left:calc(50% + 119px);transform:translateX(-50%);background:#202027;color:#fff;border-radius:10px;padding:14px 20px;font-size:13px;max-width:90vw;z-index:10}.setup-page{display:block;background:#f5f5f7}.setup-page .top{background:#111114;color:#fff}.setup-page .top .brand{color:#fff}.setup-main{max-width:900px;padding:48px 28px 32px;margin:auto;min-width:0}.setup-main>h1{font-size:clamp(30px,5vw,44px);margin-bottom:16px}.setup-intro{font-size:16px;line-height:1.7;margin-bottom:34px}.setup-label{font-size:12px;color:#aaaab5}.setup-step{display:grid;grid-template-columns:36px minmax(0,1fr);gap:20px;padding:26px}.step-number{width:34px;height:34px;background:#fbecef;color:#cf273d;border-radius:50%;display:grid;place-items:center;font-weight:650}.setup-step h2{margin:4px 0 12px}.setup-step p{line-height:1.7;font-size:14px}.setup-step strong{color:#303038}.setup-buttons{display:flex;flex-wrap:wrap;gap:10px;margin:16px 0 22px}.button{display:inline-flex;align-items:center;justify-content:center;text-align:center;border-radius:9px;padding:13px 16px;background:#f0f0f4;color:#303038;font-size:13px;font-weight:650;text-decoration:none}.button.primary{background:#cf273d;color:#fff}.setup-step details{padding:12px 0;border-top:1px solid #e6e6eb}.setup-step summary{margin-top:0}.setup-step details p{margin-top:10px}.setup-address{padding:12px 16px;background:#f3f4f7;border-radius:9px;font-family:ui-monospace,monospace;overflow-wrap:anywhere}.setup-fingerprint{padding:18px 6px}.setup-fingerprint code{font-size:11px;overflow-wrap:anywhere;line-height:1.8}.setup-main footer{margin-top:28px;font-size:11px;color:#9999a4}@media(max-width:1200px){.panel main{padding:28px}.top{padding:22px 28px}.section-heading .actions{flex-direction:row;align-items:center}}@media(max-width:850px){.panel-shell{margin-left:180px}.panel main{padding:20px}.top{padding:20px;gap:10px}.top #identity{flex-wrap:wrap;font-size:11px}.section-heading{align-items:flex-start;flex-direction:column}.section-heading .actions{flex-wrap:wrap}.room-grid{grid-template-columns:1fr}#notice{left:50%}.audit{flex-direction:column;gap:5px}}@media(max-width:600px){.panel aside{width:145px;padding:25px 12px}.panel aside .brand{font-size:21px}.panel aside nav button{font-size:11px;padding:11px}.panel-shell{margin-left:145px}.panel main{padding:16px}.top{padding:16px}.top>.eyebrow{display:none}.fields{gap:10px}.fields label{min-width:100px}.setup-main{padding:30px 18px}.setup-step{padding:20px 16px;gap:12px;grid-template-columns:29px minmax(0,1fr)}.step-number{width:29px;height:29px}.setup-buttons{flex-direction:column}.setup-page .top{padding:22px 18px}.setup-label{max-width:95px;text-align:right}}

/* Native date/time inputs must not force wider columns on iPad. */
dialog .booking-fields{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:12px;align-items:start}dialog .booking-fields>label:first-child{grid-column:1/-1}dialog label{min-width:0}dialog input,dialog select,dialog textarea{box-sizing:border-box;min-width:0;max-width:100%;width:100%}dialog input[type=date],dialog input[type=time]{appearance:none;-webkit-appearance:none;display:block;min-height:44px} .meeting-booker{display:block;opacity:.65;font-size:13px;margin-top:5px}.meeting[role=button]{cursor:pointer}.meeting[role=button]:focus-visible{outline:3px solid #111;outline-offset:-3px}button[aria-pressed=true]{background:#151515;color:white}
@media(min-width:700px){dialog:has(.booking-fields){width:min(820px,calc(100vw - 40px));max-width:820px;padding:24px}dialog form:has(.booking-fields){grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:12px 20px;align-items:start}dialog form:has(.booking-fields)>h2,dialog form:has(.booking-fields)>p,dialog form:has(.booking-fields)>.actions,dialog form:has(.booking-fields)>.modal-error{grid-column:1/-1}dialog form:has(.booking-fields) textarea{min-height:78px}}
.meetings .meeting{display:grid;grid-template-columns:100px minmax(0,1fr);gap:4px 14px}.meetings .meeting time{grid-column:1;grid-row:1/4;align-self:start}.meetings .meeting strong,.meetings .meeting small,.meetings .meeting span{grid-column:2;overflow-wrap:anywhere}.meetings .meeting small{margin:0}
.branding-editor{margin:22px 0}.branding-editor .section-heading{margin-top:0}.branding-workspace{display:grid;grid-template-columns:minmax(245px,300px) minmax(0,1fr);gap:28px}.branding-controls{display:flex;flex-direction:column;gap:12px}.branding-controls h3{margin:8px 0 0}.branding-controls input[type=file]{max-width:100%;font-size:11px;padding:8px}.branding-file{font-size:12px;gap:5px}.branding-buttons{display:flex;flex-wrap:wrap;gap:6px}.branding-buttons button{padding:9px 11px;font-size:11px;min-height:36px}.branding-range{display:grid;grid-template-columns:1fr auto;gap:8px;font-size:12px;margin:0}.branding-range input{grid-column:1/-1;width:100%;accent-color:#cf273d;padding:0;height:24px}.branding-range output{color:#7b7b87;font-size:11px}.branding-preview-column{min-width:0;align-self:start;position:sticky;top:20px}.branding-preview-toolbar{display:flex;justify-content:space-between;gap:10px;align-items:end;margin-bottom:12px;flex-wrap:wrap}.branding-preview-toolbar label{font-size:11px;margin:0;max-width:210px}.branding-preview-toolbar select{font-size:12px;padding:8px;min-height:36px}.branding-preview-viewport{position:relative;width:100%;overflow:hidden;border-radius:14px;background:#126b53;box-shadow:0 10px 30px #0002;aspect-ratio:1280/800}.branding-preview-viewport iframe{position:absolute;left:0;top:0;border:0;transform-origin:top left;pointer-events:none}.branding-drag-surface{position:absolute;inset:0;cursor:grab;touch-action:none}.branding-drag-surface:active{cursor:grabbing}.branding-hint{font-size:11px;margin-top:12px!important}.branding-error{color:#af283e;font-size:12px}.branding-error:empty{display:none}#branding-saved{font-size:12px;color:#298269}@media(max-width:1100px){.branding-workspace{grid-template-columns:1fr}.branding-preview-column{position:static;grid-row:1}.branding-controls{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);align-items:start}.branding-controls h3,.branding-controls .branding-file,.branding-controls .branding-buttons,.branding-controls .branding-error,#branding-saved{grid-column:1/-1}}@media(max-width:650px){.branding-controls{display:flex}.branding-editor .section-heading{gap:12px}.branding-preview-toolbar{align-items:start;flex-direction:column}}
/* A compact room monitor fits below both planner and administrator navigation. */
.panel aside{padding-top:30px;padding-bottom:24px}.panel aside .local{margin-top:30px}.panel aside nav{flex:none}.sidebar-health{margin-top:auto;padding-top:22px;min-height:0;display:flex;flex-direction:column;flex:0 1 auto}.sidebar-health:empty{display:none}.sidebar-health h2{font-size:9px;text-transform:uppercase;letter-spacing:1.4px;color:#81818e;font-weight:500;margin:0 0 10px}.sidebar-health-list{max-height:250px;min-height:0;overflow-y:auto;scrollbar-width:thin;scrollbar-color:#484850 transparent}.sidebar-health-list::-webkit-scrollbar{width:4px}.sidebar-health-list::-webkit-scrollbar-thumb{background:#484850;border-radius:5px}.sidebar-room{padding:10px 0;height:50px;border-bottom:1px solid #ffffff0a}.sidebar-room>div{display:flex;justify-content:space-between;align-items:center;gap:7px}.sidebar-room strong{font-size:11px;color:#dfdfe6;font-weight:500;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.room-live-status{font-size:9px;white-space:nowrap}.room-live-status.available{color:#86cfb3}.room-live-status.occupied{color:#ee8999}.room-live-status.upcoming{color:#e7bf79}.sidebar-room-health{margin-top:6px;font-size:8px;white-space:nowrap}.sidebar-room-health .healthy{color:#929e99}.sidebar-room-health .attention{color:#d9b47c}.sidebar-room-health .failed{color:#ee8999}.panel .aside-bottom{margin-top:18px;flex:none;font-size:12px}.panel .aside-bottom small{margin-top:8px;font-size:9px}.local i.healthy{background:#63caa0}.local i.attention{background:#d4a65d}.local i.failed{background:#e35f78}.local i.unknown{background:#777783}
/* Shared room calendar. */
.planner-heading{display:flex;align-items:center;justify-content:space-between;gap:20px;margin:8px 0 24px}.planner-heading h1{font-size:28px;margin:9px 0 8px;letter-spacing:-.8px}.planner-heading p{font-size:11px;color:#92929c}.planner-toolbar{display:flex;justify-content:space-between;align-items:center;gap:12px;flex-wrap:wrap;margin-bottom:18px}.planner-navigation{display:flex;align-items:center;gap:6px}.planner-navigation button{min-height:36px;padding:8px 13px;background:#fff;border:1px solid #e2e2e8;font-size:11px}.planner-navigation #planner-prev,.planner-navigation #planner-next{font-size:23px;line-height:1;padding:5px 12px}.planner-navigation input{width:146px;min-width:0;min-height:36px;padding:7px 9px;font-size:11px;border:1px solid #e2e2e8;background:#fff;border-radius:8px}.planner-modes{display:flex;padding:4px;background:#e9e9ef;border-radius:10px;gap:2px}.planner-modes button{background:transparent;min-height:30px;padding:7px 14px;font-size:11px;color:#777784}.planner-modes button[aria-pressed=true]{background:#fff;color:#25252c;box-shadow:0 1px 4px #0001}.planner-filters{display:flex;align-items:center;justify-content:space-between;gap:14px;margin-bottom:12px}.planner-room-filters{display:flex;flex-wrap:wrap;gap:7px}.planner-room-filter{position:relative;display:flex;align-items:center;gap:7px;border:1px solid #dcdce4;border-radius:8px;padding:8px 10px;font-size:10px;color:#777784;margin:0;cursor:pointer;background:transparent}.planner-room-filter:has(input:checked){border-color:var(--event-color);color:#363640;background:#fff}.planner-room-filter input{width:13px;height:13px;padding:0;margin:0;accent-color:var(--event-color)}.planner-room-filter .filter-dot{height:7px;width:7px;background:var(--event-color);border-radius:50%;flex:none}.filter-shortcuts{display:flex;gap:5px;flex:none}.filter-shortcuts button{min-height:28px;padding:5px;font-size:9px;color:#81818d;background:transparent}.planner-alert{background:#fff2dd;color:#8a612b;padding:12px 15px;font-size:12px;line-height:1.5;border-radius:9px;margin:12px 0}.planner-alert button{background:none;padding:4px 8px;min-height:24px;color:#8a612b;text-decoration:underline;font-size:11px}.planner-loading{height:20px;font-size:10px;color:#9696a2}.calendar-placeholder{min-height:400px;display:grid;place-items:center;font-size:13px;color:#999;background:white;border:1px solid #e5e5eb;border-radius:14px}.calendar-scroll{overflow:auto;background:#fff;border:1px solid #e3e3eb;border-radius:14px;scrollbar-width:thin;scrollbar-color:#c3c3ce transparent;max-height:calc(100dvh - 315px);min-height:360px}.time-calendar{min-width:var(--calendar-min-width);width:100%}.timeline-head,.timeline-body{display:grid;grid-template-columns:64px repeat(var(--calendar-columns),minmax(0,1fr))}.timeline-head{position:sticky;top:0;z-index:8;background:white;border-bottom:1px solid #dddde7;height:56px}.timeline-column-heading{display:flex;align-items:center;justify-content:center;gap:6px;background:white;border-radius:0;border-left:1px solid #eeeef4;font-size:11px;font-weight:400;min-width:0;padding:8px}.timeline-column-heading>span{color:#9696a3;text-transform:capitalize;font-size:10px}.timeline-column-heading strong{font-size:13px;font-weight:500;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.timeline-column-heading.is-today strong{color:#cf273d}.timeline-column-heading i{width:7px;height:7px;border-radius:50%;flex:none}.time-corner{position:sticky;left:0;z-index:9;display:flex;align-items:center;justify-content:center;color:#a0a0aa;font-size:8px;background:white}.timeline-body{height:var(--calendar-height)}.time-labels{position:sticky;left:0;z-index:7;background:white;height:100%;border-right:1px solid #eeeef4}.time-labels>span{position:absolute;right:10px;font-size:9px;color:#9b9ba9;line-height:20px;transform:translateY(-1px)}.time-column{position:relative;min-width:0;height:var(--calendar-height);border-right:1px solid #eeeef4;background:repeating-linear-gradient(to bottom,#fff 0,#fff 29px,#f1f1f6 29px,#f1f1f6 30px,#fff 30px,#fff 59px,#e8e8f0 59px,#e8e8f0 60px);cursor:crosshair}.time-column.is-today{background:repeating-linear-gradient(to bottom,#fffdfd 0,#fffdfd 29px,#f1f1f6 29px,#f1f1f6 30px,#fffdfd 30px,#fffdfd 59px,#e8e8f0 59px,#e8e8f0 60px)}.planner-event{position:absolute;z-index:2;min-height:0;overflow:hidden;border-left:3px solid var(--event-color);border-radius:5px;padding:5px 5px;text-align:left;color:#343440;display:flex;flex-direction:column;justify-content:start;gap:3px;box-shadow:0 1px 2px #00000005;cursor:pointer}.planner-event strong{font-size:10px;font-weight:500;line-height:1.35;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;flex:none}.planner-event span{font-size:8px;line-height:1.4;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;opacity:.75}.planner-event.short-event{padding-top:2px;padding-bottom:1px}.planner-event.short-event span{display:none}.planner-event.is-free{border-left-style:dashed;opacity:.65}.planner-event:focus-visible{z-index:10;outline:2px solid var(--event-color);outline-offset:1px}.now-line{position:absolute;left:0;right:0;z-index:5;height:1px;background:#d9364b;pointer-events:none}.now-line i{display:block;width:5px;height:5px;background:#d9364b;border-radius:50%;position:absolute;top:-2px;left:-2px}.month-calendar{min-width:840px}.month-weekdays{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));position:sticky;top:0;z-index:3;background:white;border-bottom:1px solid #e5e5ee}.month-weekdays span{padding:14px 8px;font-size:9px;text-align:center;color:#8c8c99}.month-days{display:grid;grid-template-columns:repeat(7,minmax(0,1fr))}.month-day{min-height:132px;border-right:1px solid #eeeef4;border-bottom:1px solid #eeeef4;padding:5px 5px 7px;min-width:0}.month-day.outside{background:#fafafb}.month-day.is-today{background:#fff9f9}.month-day>header{padding:0;min-height:30px;display:flex;align-items:center;gap:5px;justify-content:start;border:0;margin-bottom:4px}.month-day>header>button:first-child{min-height:25px;min-width:26px;padding:4px;background:transparent;font-size:11px;font-weight:500;border-radius:50%;color:#656572}.month-day.is-today>header>button:first-child{background:#cf273d;color:#fff}.month-day.outside>header>button:first-child{color:#b3b3bd}.month-day>header>span{font-size:8px;color:#a0a0aa}.month-day .month-add{margin-left:auto;min-height:24px;padding:2px 6px;font-size:16px;background:transparent;color:#a9a9b4;opacity:0}.month-day:hover .month-add,.month-add:focus-visible{opacity:1}.month-event{width:100%;display:flex;align-items:center;gap:4px;min-width:0;min-height:24px;padding:4px 3px;background:transparent;border-radius:4px;text-align:left}.month-event:hover{background:#f0f0f4}.month-event i{width:5px;height:5px;background:var(--event-color);border-radius:50%;flex:none}.month-event time{font-size:8px;color:#92929e;flex:none}.month-event span{font-size:9px;color:#454550;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;font-weight:400}.month-more{background:none;color:#8b8b98;font-size:8px;min-height:20px;padding:3px 9px}.panel main:has(.planner-heading){padding-top:28px}.panel-shell:has(.planner-heading) .top{min-height:74px;padding-top:16px;padding-bottom:16px}@media(min-width:1600px){.calendar-scroll{max-height:calc(100dvh - 315px)}.planner-event strong{font-size:11px}.planner-event span{font-size:9px}}@media(max-height:700px){.panel aside{padding-top:22px;padding-bottom:16px}.panel aside .local{margin-top:23px}.panel aside nav{margin-top:16px}.panel aside nav button{padding-top:11px;padding-bottom:11px}.sidebar-health{padding-top:14px}.sidebar-health-list{max-height:220px}.sidebar-room{height:44px;padding:8px 0}.panel .aside-bottom{margin-top:13px}.planner-heading{margin-bottom:17px}.planner-heading h1{font-size:25px}.calendar-scroll{min-height:300px}}@media(max-width:1000px){.planner-filters{align-items:start}.filter-shortcuts{flex-direction:column}.planner-heading h1{font-size:24px}.planner-toolbar{gap:10px}.planner-modes button{padding-left:10px;padding-right:10px}.sidebar-room-health{font-size:7px}.sidebar-room strong{font-size:10px}.room-live-status{font-size:8px}}@media(max-width:600px){.planner-heading{align-items:start;flex-direction:column}.planner-heading h1{font-size:22px}.planner-navigation{flex-wrap:wrap}.planner-navigation input{width:135px}.planner-room-filter{font-size:9px;padding:6px}.calendar-scroll{max-height:65dvh}.sidebar-room-health{white-space:normal;gap:3px!important;flex-direction:column;align-items:start!important}.sidebar-room{height:58px}.sidebar-health-list{max-height:290px}.sidebar-room strong{max-width:77px}.room-live-status{font-size:7px}}
.planner-refresh{margin-left:auto;min-height:34px;padding:7px 10px;background:transparent;color:#92929f;font-size:10px}.planner-modes{flex:none}
.planner-room-filter{flex-direction:row}.planner-room-filter span{flex:none}.planner-room-filter span:last-child{flex:initial}
.planner-event strong{white-space:normal;display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:3;overflow-wrap:anywhere;line-height:1.25}.planner-event span{white-space:normal;overflow-wrap:anywhere;display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2}.planner-event.short-event strong{-webkit-line-clamp:1;white-space:nowrap}.month-scroll{height:max(440px,calc(100dvh - 315px));max-height:none;min-height:440px}.month-calendar{height:100%;display:flex;flex-direction:column}.month-weekdays{flex:none}.month-days{flex:1;grid-template-rows:repeat(6,minmax(0,1fr));min-height:0}.month-day{position:relative;min-height:0;overflow:hidden;padding:4px}.month-day>header{min-height:22px;height:22px;margin-bottom:2px}.month-day>header>button:first-child{min-height:22px;padding:2px}.month-event{height:16px;min-height:16px;padding:1px 3px}.month-event span{font-size:8px}.month-more{position:absolute;right:3px;bottom:3px;background:#f4f4f8f2;color:#767683;border-radius:4px;padding:2px 4px;min-height:15px;font-size:7px}.month-weekdays span{padding-top:11px;padding-bottom:11px}

/* Compact room cards: connection health and availability stay separate. */
.sidebar-health-list{max-height:324px;display:flex;flex-direction:column;gap:6px;flex-shrink:1}.sidebar-room{display:grid;grid-template-columns:minmax(0,1fr) 48px;gap:0;height:60px;min-height:60px;padding:0;border:1px solid;border-radius:8px;overflow:hidden;flex:none}.sidebar-room>div{display:flex;align-items:stretch;justify-content:center;gap:0}.sidebar-room .sidebar-room-main{padding:7px 8px;flex-direction:column;justify-content:center;min-width:0;gap:3px}.sidebar-room strong{font-size:10px;line-height:1.15;font-weight:500;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:none}.sidebar-connection{display:flex;gap:4px;align-items:center;font-size:8px;line-height:1.1;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.sidebar-connection i{width:4px;height:4px;border-radius:50%;background:currentColor;flex:none}.sidebar-calendar{font-size:7px;line-height:1.1}.sidebar-calendar.calendar-ok{color:#83d8b0}.sidebar-calendar.calendar-error{color:#ff9eac}.sidebar-room.health-healthy{background:#18382c;border-color:#2c6149;color:#a4f1c6}.sidebar-room.health-attention{background:#3c3020;border-color:#735733;color:#f1c17b}.sidebar-room.health-failed{background:#42232c;border-color:#81404f;color:#ff9eac}.sidebar-room strong{color:inherit}.sidebar-room .room-live-status{border-left:1px solid #ffffff15;flex-direction:column;align-items:center;gap:5px;font-size:8px;white-space:normal;text-align:center;padding:5px 2px;line-height:1.2}.room-live-status i{width:6px;height:6px;border-radius:50%;background:currentColor}.room-live-status.available{background:#244b3d;color:#9aebc3}.room-live-status.occupied{background:#692d3b;color:#ffb3c1}.room-live-status.upcoming{background:#614a27;color:#ffda8d}.room-live-status.unknown{background:#34343c;color:#bcbcc9}.branding-toggle{display:flex;flex-direction:row;align-items:center;gap:9px;font-size:12px}.branding-toggle input{width:17px;height:17px;margin:0;accent-color:#c83045}
@media(max-height:760px){.sidebar-health-list{max-height:274px}.sidebar-room{height:50px;min-height:50px}.sidebar-room .sidebar-room-main{padding:5px 7px;gap:2px}.sidebar-room strong{font-size:9px}.sidebar-connection{font-size:7px}.sidebar-calendar{font-size:6px}.sidebar-room .room-live-status{font-size:7px}}
@media(max-width:600px){.sidebar-room{grid-template-columns:minmax(0,1fr) 35px}.sidebar-room strong{font-size:8px}.sidebar-connection{font-size:6px}.sidebar-calendar{font-size:6px}.sidebar-room .room-live-status{font-size:6px}}

/* Room monitor: connection header above the larger availability section. */
.sidebar-health-list{max-height:454px;gap:6px;flex:1;min-height:0}.sidebar-room{display:flex;flex-direction:column;grid-template-columns:none;height:86px;min-height:86px;border:1px solid #ffffff1a;border-radius:8px;background:none}.sidebar-room .sidebar-room-main{height:32px;min-height:32px;flex:none;padding:4px 8px;gap:2px;justify-content:center}.sidebar-room-main.health-healthy{background:#20503a;color:#b5f4d2}.sidebar-room-main.health-attention{background:#604723;color:#ffe0a4}.sidebar-room-main.health-failed{background:#602d39;color:#ffbac8}.sidebar-room strong{font-size:10px;line-height:1.2}.sidebar-connection{font-size:7px;line-height:1.1}.sidebar-room .room-live-status{height:54px;min-height:54px;display:flex;flex-direction:column;align-items:flex-start;justify-content:center;border-left:0;border-top:1px solid #ffffff10;gap:3px;text-align:left;padding:5px 8px;white-space:nowrap}.room-live-status>strong{display:flex;align-items:center;gap:6px;font-size:15px;font-weight:500;color:inherit;overflow:visible}.sidebar-timing{display:flex;flex-direction:column;gap:2px;min-width:0;width:100%;font-size:8px;line-height:1.2;opacity:.9}.sidebar-timing span{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.sidebar-room .room-live-status.available{background:#173c2d}.sidebar-room .room-live-status.occupied{background:#642b39}.sidebar-room .room-live-status.upcoming{background:#644d25}.sidebar-room .room-live-status.unknown{background:#34343c}.sidebar-health{flex:0 1 auto}.timeline-body{height:var(--calendar-height)}.time-column{background:repeating-linear-gradient(to bottom,#fff 0,#fff 44px,#f1f1f6 44px,#f1f1f6 45px,#fff 45px,#fff 89px,#e8e8f0 89px,#e8e8f0 90px)}.time-column.is-today{background:repeating-linear-gradient(to bottom,#fffdfd 0,#fffdfd 44px,#f1f1f6 44px,#f1f1f6 45px,#fffdfd 45px,#fffdfd 89px,#e8e8f0 89px,#e8e8f0 90px)}.planner-event{gap:2px;padding:5px;justify-content:flex-start}.planner-event strong{display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;font-size:10px;line-height:13px;-webkit-line-clamp:1}.planner-event span{font-size:8px;line-height:10px;flex:none}.planner-event .event-booker{opacity:.9}.planner-event .event-hours{font-weight:600;opacity:.85}.planner-event .event-room{opacity:.75}.planner-event.short-event span{display:block}@media(max-height:760px){.sidebar-health-list{max-height:454px}.sidebar-room{height:86px;min-height:86px}.sidebar-room .sidebar-room-main{height:32px;min-height:32px}.sidebar-room .room-live-status{font-size:9px}.sidebar-connection{font-size:7px}}

.planner-event span{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}

/* Company panel: fluid workspace, room tables and searchable people. */
.panel{--panel-sidebar-width:clamp(270px,18vw,340px)}
.panel aside{width:var(--panel-sidebar-width)}
.panel .panel-shell{margin-left:var(--panel-sidebar-width);width:calc(100% - var(--panel-sidebar-width));min-width:0;max-width:none}
.panel main{max-width:none;width:100%}.panel #content{width:100%;min-width:0}
.panel #toast{left:calc(50% + var(--panel-sidebar-width)/2)}
.panel .sidebar-room strong{font-size:12px}.panel .sidebar-connection{font-size:10px}.panel .sidebar-calendar{font-size:9px}.panel .room-live-status{font-size:11px}
.table-card{padding:8px 20px}.table-scroll{overflow-x:auto;width:100%;scrollbar-width:thin}
.management-table{width:100%;border-collapse:collapse;table-layout:fixed;min-width:760px;text-align:left;font-size:12px}
.management-table th{padding:17px 12px;color:#81818e;font-size:10px;font-weight:500;border-bottom:1px solid #e6e6ed}
.management-table td{padding:19px 12px;vertical-align:middle;border-bottom:1px solid #eeeef3;overflow-wrap:anywhere;line-height:1.6}
.management-table tr:last-child td{border-bottom:0}.management-table td strong{font-weight:500;font-size:13px}
.rooms-table th:nth-child(1){width:20%}.rooms-table th:nth-child(2){width:23%}.rooms-table th:nth-child(3){width:15%}.rooms-table th:nth-child(4){width:11%}.rooms-table th:nth-child(5){width:7%}.rooms-table th:nth-child(6){width:24%}
.table-actions{display:flex;gap:6px;flex-wrap:wrap}.table-actions button,.management-table td>button{padding:8px 10px;font-size:10px;min-height:34px}
.table-status{font-size:10px}.table-status.healthy{color:#27825b}.table-status.attention{color:#a86c22}.device-id{color:#8d8d9a;font-size:10px}
.room-edit-form{display:grid;grid-template-columns:minmax(150px,1fr) minmax(200px,1.4fr) minmax(155px,.8fr) auto;align-items:end;gap:18px;margin-top:20px}.room-edit-form .check{min-height:44px}
.discovered-list{display:flex;flex-direction:column;border:1px solid #e6e6ed;border-radius:12px;overflow:hidden;margin-bottom:20px;background:white}.discovered-list>button{background:white;text-align:left;border-radius:0;display:flex;gap:20px;justify-content:space-between;border-bottom:1px solid #eeeef3}.discovered-list>button:last-child{border-bottom:0}.discovered-list small{overflow-wrap:anywhere}.discovered-list>button:hover{background:#f4f4f8}
dialog.booking-dialog{width:min(850px,calc(100vw - 32px));max-height:calc(100dvh - 32px);overflow:visible;padding:28px}
dialog.booking-dialog form{max-height:calc(100dvh - 88px);overflow:auto;padding:2px 4px 4px;gap:14px;scrollbar-width:thin}
.booking-identity-row{display:grid;grid-template-columns:1.2fr 1fr;gap:18px;align-items:start}.booking-date-row{display:grid;grid-template-columns:1.2fr 1fr 1fr;gap:18px}
.booking-dialog .actions{padding:8px 0 0;margin:0;flex-direction:row;justify-content:flex-end;gap:10px}.booking-dialog h2{margin:0 0 3px}
.person-picker{position:relative;min-width:0}.person-picker>label{margin-bottom:8px}.person-selected{display:block;margin-top:4px;min-height:13px;font-size:10px;overflow-wrap:anywhere}
.people-results{position:absolute;top:76px;left:0;right:0;max-height:205px;overflow:auto;z-index:20;padding:5px;border:1px solid #dddde6;border-radius:10px;background:white;box-shadow:0 12px 25px #2222}
.people-results button{display:flex;flex-direction:column;gap:3px;width:100%;text-align:left;background:transparent;padding:9px 10px;font-size:12px;border-radius:6px;min-height:45px}.people-results button:hover,.people-results button[aria-selected=true]{background:#f1f1f6}.people-results strong{font-weight:500}.people-results small{font-size:10px;font-weight:400;overflow-wrap:anywhere}.people-empty{padding:10px;font-size:12px}
.participant-list-heading{display:flex;gap:6px;align-items:center;font-size:11px;color:#656572;margin:8px 0}.participant-list-heading span{color:#9696a3}
.participant-chips{display:flex;gap:7px;flex-wrap:wrap;max-height:125px;overflow:auto;scrollbar-width:thin;padding:2px}.participant-chips>p{font-size:11px}
.participant-chip{display:flex;align-items:center;gap:12px;padding:8px 10px;border:1px solid #e2e2ea;border-radius:9px;min-width:0;background:#fafafb}.participant-chip>span{display:flex;flex-direction:column;gap:3px;min-width:0}.participant-chip strong{font-size:11px;font-weight:500;overflow-wrap:anywhere}.participant-chip small{font-size:9px;overflow-wrap:anywhere}.participant-chip .organizer-tag{background:#ececf3;border-radius:5px;color:#777787;padding:4px 6px;flex:none}.participant-chip button{font-size:18px;min-height:26px;min-width:26px;padding:0;background:transparent;color:#8f8f9b}.participant-chip button:hover{color:#cf273d}
@media(min-width:2000px){.panel main,.panel .top{padding-left:52px;padding-right:52px}.table-actions button{font-size:12px}.management-table{font-size:14px}.management-table th{font-size:12px}}
@media(max-width:1100px){.panel{--panel-sidebar-width:250px}.room-edit-form{grid-template-columns:1fr 1fr}.panel main,.panel .top{padding-left:24px;padding-right:24px}}
@media(max-width:700px){.panel{--panel-sidebar-width:180px}.panel aside{padding-left:14px;padding-right:14px}.panel main,.panel .top{padding-left:16px;padding-right:16px}.panel .sidebar-room strong{font-size:10px}.panel .sidebar-connection,.panel .sidebar-calendar{font-size:8px}.panel .room-live-status{font-size:9px}.booking-identity-row{grid-template-columns:1fr}.booking-date-row{gap:10px}.room-edit-form{grid-template-columns:1fr}.section-heading{align-items:start;flex-wrap:wrap}.discovered-list>button{flex-direction:column;gap:4px}.booking-dialog .actions{flex-wrap:wrap}}
@media(max-width:450px){.panel{--panel-sidebar-width:145px}.panel aside{padding-left:10px;padding-right:10px}.panel aside nav button{padding-left:8px;padding-right:8px;font-size:10px}.panel .brand{font-size:20px}.panel main,.panel .top{padding-left:12px;padding-right:12px}dialog.booking-dialog{padding:18px}.booking-date-row{grid-template-columns:1fr 1fr}.booking-date-row>label:first-child{grid-column:1/-1}}

.device-table th:nth-child(1){width:19%}.device-table th:nth-child(2){width:19%}.device-table th:nth-child(3){width:22%}.device-table th:nth-child(4){width:20%}.device-table th:nth-child(5){width:20%}.history-room-email{display:block;font-size:10px;overflow-wrap:anywhere}
.recurrence-options{display:grid;gap:12px;margin-top:12px;padding:15px;background:#f7f7fa;border-radius:10px}.recurrence-options>label{max-width:140px}.recurrence-weekdays{display:flex;gap:8px;flex-wrap:wrap}.recurrence-weekdays label{flex-direction:row;align-items:center;font-size:11px;gap:5px}.recurrence-weekdays input{width:16px;height:16px;accent-color:#c32d44}.recurrence-end{display:grid;grid-template-columns:1fr 1fr;gap:14px}
