/* Shared compact Aqua Glass controls for the three management portals. */
.panel-compact{
 --ui-space:12px;--ui-small:8px;--ui-control:40px;--ui-radius:999px;
 --ui-teal:#0c7e87;--ui-ink:#155861;
 --ui-glass:linear-gradient(155deg,#f3ffff9c,#64c9cc36 55%,#24aab326);
 --ui-hover:linear-gradient(155deg,#21b2b9eb,#087f89f5);
 font-size:15px;line-height:1.45;
}
.panel-compact :is(button,.button-link,.file-select-button,.tv-capture-upload){
 min-height:var(--ui-control);border-radius:var(--ui-radius);padding:8px 15px;
 font-size:14px;font-weight:650;line-height:1.3;
 border:1px solid #70bdc17d;color:var(--ui-ink);background:var(--ui-glass);
 box-shadow:inset 0 1px 0 #ffffffd9,0 2px 8px #0c737c0c;
 backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);
 transition:background .15s,color .15s,border-color .15s,box-shadow .15s;
 text-decoration:none;max-width:100%;vertical-align:middle;
}
.panel-compact :is(button,.button-link,.file-select-button,.tv-capture-upload):is(:hover,:focus-visible):not(:disabled):not([aria-disabled=true]){
 background:var(--ui-hover);color:#fff;border-color:#0b909b;
 box-shadow:inset 0 1px 0 #ffffff6b,0 0 0 3px #23b4bd1f,0 3px 12px #07899126;transform:none;
}
.panel-compact :is(button,.button-link):is(.active,.selected,[aria-pressed=true],[aria-selected=true]){
 background:var(--ui-hover);color:#fff;border-color:#0b909b;
}
.panel-compact :is(button,.button-link):active:not(:disabled){box-shadow:inset 0 2px 5px #06505b28;transform:none}
.panel-compact button:disabled{opacity:.48;cursor:not-allowed;transform:none;box-shadow:inset 0 1px 0 #ffffff9c}
.panel-compact :is(button,a,input,select,textarea,summary):focus-visible{outline:2px solid #078a96;outline-offset:3px}
.panel-compact :where(input:not([type=checkbox]):not([type=radio]):not([type=range]):not([type=file]),select,textarea){
 min-height:var(--ui-control);padding:8px 12px;margin:5px 0 10px;border-radius:14px;line-height:1.4;font-size:15px;max-width:100%;
}
.panel-compact textarea{min-height:82px}
.panel-compact label{font-size:14px;line-height:1.4}
.panel-compact :is(input[type=checkbox],input[type=radio]){width:20px;height:20px;flex:0 0 20px;min-height:0;margin:0 8px 0 0;padding:0;accent-color:#078b94}
.panel-compact h1{font-size:30px;line-height:1.2;margin:8px 0 12px}
.panel-compact h2{font-size:22px;line-height:1.3;margin:8px 0 12px}
.panel-compact h3{font-size:17px;line-height:1.35;margin:8px 0}
.panel-compact :is(p,.muted){font-size:14px;line-height:1.5;margin:8px 0}
.panel-compact :is(p[role=status],.error):empty{display:none}
.panel-compact :is(.box,.card,article,.hotel-card){padding:16px 18px;margin:10px 0;border-radius:22px}
.panel-compact :is(.box,.card,article)>:first-child{margin-top:0}
.panel-compact :is(.box,.card,article)>:last-child{margin-bottom:0}
.panel-compact #app>main{padding:16px 24px 28px;max-width:1760px}
.panel-compact #content>details.box{padding:12px 16px;margin:8px 0}
.panel-compact #content>details.box>summary{font-size:17px;line-height:1.4;padding:2px 0}
.panel-compact #content>details.box>div>.box{margin:12px 0 0}
.panel-compact .content-disclosure{margin:8px 0;border-radius:20px;border-color:#bdd8db;background:#ffffff9e}
.panel-compact .content-disclosure>summary{padding:10px 14px;font-size:16px;line-height:1.4}
.panel-compact .content-disclosure>div{padding:0 12px 12px}
.panel-compact .content-disclosure>div>.box{margin:0;padding:12px 2px 2px;background:transparent;border:0;box-shadow:none;backdrop-filter:none;-webkit-backdrop-filter:none}
.panel-compact :is(.row,.actions,.action-row,.list-actions,.activity-card-actions,.tv-capture-actions){gap:8px;flex-wrap:wrap}
.panel-compact :is(.actions,.action-row){display:flex;align-items:center}
.panel-compact :is(.two-col,.twocol){gap:14px}
.panel-compact .cards{gap:12px;flex-wrap:wrap}
.panel-compact .cards .card{min-width:150px;margin:0}
.panel-compact .card strong{font-size:28px}
.panel-compact :is(td,th){padding:10px 12px;font-size:14px;vertical-align:middle}
.panel-compact :is(td button,#bulktargets td button){min-height:36px;padding:6px 12px;font-size:13px;margin:3px}
.panel-compact .empty{padding:24px 16px;font-size:14px}
.panel-compact .notice,.panel-compact .callout{padding:10px 14px;font-size:14px;line-height:1.5}
.panel-compact .portal-title-row{gap:10px;margin:10px 0}
.rooms-page .panel-page-heading{display:flex;align-items:center;flex-wrap:wrap;gap:8px 16px;margin:8px 0 12px}
.rooms-page .panel-page-heading>h1{margin:0}
.room-page-tabs{display:inline-flex;flex-wrap:wrap;align-items:center;gap:4px;padding:4px;border:1px solid #9acfd28c;border-radius:24px;background:#effcfc75}
.panel-compact .room-page-tabs>[role=tab]{margin:0;min-height:36px;padding:7px 13px;background:transparent;border-color:transparent;box-shadow:none}
.panel-compact .room-page-tabs>[role=tab][aria-selected=true]{background:var(--ui-hover);color:#fff;border-color:#0b909b;box-shadow:inset 0 1px 0 #ffffff6b,0 2px 6px #07899120}
.rooms-page #content>p[role=status]{display:inline-block;margin:0 12px 10px 0;font-size:13px}
.panel-compact .subtitle{margin:0 0 14px}
.panel-compact .hotel-grid{gap:12px}
.panel-compact .hotel-card .numbers{gap:24px;margin:12px 0}
.panel-compact .hotel-card .numbers strong{font-size:24px}
.panel-compact .in-nav-group{margin:6px 0;border-radius:22px}
.panel-compact .in-nav-summary{min-height:46px;padding:9px 12px;font-size:14px;gap:10px}
.panel-compact .in-nav-group[open]>.in-nav-summary{background:#4dbbc221}
.panel-compact #app>aside button{min-height:40px;padding:8px 12px;margin:4px 0;font-size:14px;border-radius:999px;background:#64c9cc0a;color:#d6eeef;gap:10px}
.panel-compact #app>aside nav.in-grouped-nav .in-nav-items button{
 min-height:40px!important;padding:8px 12px!important;margin:3px 0!important;font-size:14px!important;border-radius:999px!important;gap:10px!important;
}
.panel-compact #app>aside button:is(:hover,:focus-visible,.active){background:linear-gradient(150deg,#52c6cd52,#168f995c);color:#fff;border-color:#8fdbdf8c;box-shadow:inset 0 1px 0 #ffffff30,0 0 12px #17acb51c}
.panel-compact .in-nav-items{padding:3px 6px 6px}
.panel-compact #app>aside .in-icon,.panel-compact #app>aside .in-icon svg{width:22px;height:22px;flex-basis:22px}
.panel-compact .sidebar-bottom{margin-top:20px}
.panel-compact #app>aside{padding-top:8px}
.panel-compact #app>aside>img{display:block}
.panel-compact #app>aside>small{margin-bottom:20px}
.panel-compact :is(.activity-source,.check,.startup-audio-toggle){gap:10px;margin:10px 0;font-size:15px}
.panel-compact :is(.activity-toolbar,.activity-card-actions){margin-top:12px}
.panel-compact .activity-week-tabs{margin:12px 0;gap:6px}
.panel-compact .activity-admin-list{gap:12px}
.panel-compact .activity-admin-card{padding:0;margin:0}
.panel-compact .activity-admin-card>div{padding:12px}
.panel-compact .activity-admin-card h3{font-size:17px;margin:8px 0}
.panel-compact .activity-image-field{margin-top:14px;padding-top:14px}
.panel-compact dialog{max-width:calc(100vw - 24px);padding:20px;border-radius:24px}
.panel-compact .startup-audio-grid{margin:12px 0;gap:12px}
.panel-compact .startup-audio-card{padding:14px;border-radius:20px}
.panel-compact .startup-audio-card:has(input:checked){padding:13px}
.panel-compact .startup-audio-card strong{font-size:18px}
.panel-compact .startup-audio-card small{font-size:13px}
.panel-compact .startup-audio-card .check{margin:0 0 10px}
.panel-compact .report-toolbar{gap:10px;margin-bottom:14px}
.panel-compact .report-toolbar select{margin:0;min-width:130px}
.panel-compact .report-cards{gap:12px}
.panel-compact .report-card{padding:16px;gap:8px;border-radius:22px}
.panel-compact .report-card strong{font-size:34px}
.panel-compact .report-grid{gap:14px;margin-top:14px}
.panel-compact .report-bar{margin:10px 0}
.panel-compact .usage-reports>.box,.panel-compact .report-energy{margin-top:14px}
.panel-compact .report-note{padding:12px 14px}
.panel-compact .report-energy-fields{gap:10px}
.panel-compact .tv-capture{padding:14px!important}
.panel-compact .tv-capture>summary{font-size:17px;padding:4px 0}
.panel-compact .tv-capture-upload{min-height:42px;margin:8px 0;padding:9px 14px}
.panel-compact :is(.branding-card,.device){padding:14px;border-radius:20px}
.panel-compact .branding-preview{margin:12px 0}
.panel-compact .room-chat-sidebar{padding:14px}
.panel-compact .room-chat-thread header{padding:12px 16px}
.panel-compact .room-chat-compose{padding:12px 16px}
.panel-compact .room-chat-contact{border-radius:999px!important;padding:10px!important}
.panel-compact .room-chat-sidebar>button,.panel-compact .room-chat .room-chat-contact{background:linear-gradient(155deg,#75d5d533,#26aab326)!important;color:#eefcfd!important;border:1px solid #80c6ca70!important}
.panel-compact .room-chat-sidebar>button:is(:hover,:focus-visible,[aria-pressed=true]),.panel-compact .room-chat .room-chat-contact:is(:hover,:focus-visible,[aria-pressed=true]){background:var(--ui-hover)!important;color:white!important;border-color:#69d1d7!important;box-shadow:0 0 0 3px #23b4bd1f}
.panel-compact .login-form{padding:32px}
.panel-compact .login-form label{margin-top:14px}
.panel-compact .login-form button{margin:4px 0 14px;padding:10px 15px}
.panel-compact .login-form>a{display:block;width:fit-content;margin:8px 0;font-size:13px}
.panel-compact .account-box{padding:24px;max-width:520px;width:calc(100% - 32px)}
.panel-compact .account-dialog :is(button,a){margin-top:12px}
/* Native file controls remain the real upload inputs; only the visible picker changes. */
.panel-compact :where(.file-control){position:relative;display:flex;align-items:center;gap:10px;min-width:0;max-width:100%;margin:5px 0 10px}
.panel-compact .file-control>input[type=file]{position:absolute!important;width:1px!important;height:1px!important;min-height:0!important;margin:0!important;padding:0!important;opacity:0!important;pointer-events:none;border:0!important;clip-path:inset(50%)}
.panel-compact .file-control .file-select-button{display:inline-flex;align-items:center;justify-content:center;gap:8px;flex:0 0 auto;min-height:40px;margin:0;white-space:nowrap}
.panel-compact .file-select-button svg{width:18px;height:18px;flex:none}
.panel-compact .file-selection{display:block;min-width:0;overflow:hidden;white-space:nowrap;text-overflow:ellipsis;font-size:13px;font-weight:450;color:#526f74}
.panel-compact input[type=file]::file-selector-button{border:1px solid #70bdc17d;border-radius:999px;padding:8px 14px;background:var(--ui-glass);color:var(--ui-ink);font:600 14px system-ui;cursor:pointer;margin-right:12px}
.panel-compact #panel-search-results button{border-radius:999px;min-height:38px;padding:7px 12px}
.panel-compact #panel-search-results button:hover{background:var(--ui-hover);color:white}
.panel-compact :is(.in-emoji-grid button,.room-chat-emojis button){border-radius:50%!important}
.panel-compact :is(.in-emoji-grid button,.room-chat-emojis button):is(:hover,:focus-visible){background:#5acbd052!important;border-color:#14949b!important}
.panel-compact .local-app-transfer{margin-top:12px}
.panel-compact .local-app-transfer>summary{width:fit-content;max-width:100%;padding:9px 14px;border:1px solid #70bdc17d;border-radius:999px;background:var(--ui-glass);color:var(--ui-ink);font-size:14px;cursor:pointer}
.panel-compact .local-app-transfer>summary:is(:hover,:focus-visible){background:var(--ui-hover);color:white;box-shadow:0 0 0 3px #23b4bd1f}
.panel-compact .local-app-transfer .button-link{display:inline-flex;align-items:center;justify-content:center}
.panel-compact .mobile-menu-toggle{padding:8px 12px;min-height:44px}
.panel-compact #app>aside .mobile-menu-close{min-height:44px!important}
@media(max-width:850px){
 .panel-compact{--ui-control:44px}
 .panel-compact #app>aside{padding-top:12px!important}
 .panel-compact #app>aside>img{margin-top:0}
 .panel-compact #app>main{padding:12px 14px 24px!important}
 .panel-compact :is(.box,.card,article,.hotel-card){padding:14px;border-radius:20px}
 .panel-compact :where(input:not([type=checkbox]):not([type=radio]):not([type=range]):not([type=file]),select,textarea){font-size:16px}
 .panel-compact :is(td,th){padding:9px 10px}
 .panel-compact :is(td button,#bulktargets td button){min-height:44px}
 .panel-compact .file-control{gap:8px}
 .panel-compact .file-control .file-select-button{min-height:44px;padding:8px 12px}
 .panel-compact .login-form{padding:24px}
 .panel-compact .activity-admin-card{padding:0}
}
@media(prefers-reduced-motion:reduce){.panel-compact :is(button,.button-link){transition:none}}
