/* Shared compact page headers; the camera/player containers keep their layout. */
.panel-content{padding:16px 20px;max-width:none}
.topbar{min-height:52px;padding:8px 16px}
.topbar .container-fluid{flex-wrap:nowrap}
.topbar .container-fluid>.d-flex:first-child{min-width:0;gap:10px!important}
.topbar .container-fluid>.d-flex:first-child>span:last-child{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.topbar .container-fluid>.d-flex:last-child{flex-shrink:0;gap:10px!important}
.sidebar-toggle{align-items:center;justify-content:center;width:34px;min-width:34px;padding:6px}
.sidebar .brand-header{padding:14px 16px}
.brand-name{font-size:.84rem;letter-spacing:0;line-height:1.35}
.brand-name small{font-size:.53rem;letter-spacing:.08em;margin-top:4px}
.sidebar .nav-label{padding-top:6px;padding-bottom:8px}
.sidebar .nav-link{padding:9px 12px;min-height:40px}
.sidebar .nav-link .bi{flex:0 0 20px;text-align:center}
.sidebar .offcanvas-body{padding:4px 12px 14px}
.sidebar-note{padding-top:14px}
.panel-content .page-heading{display:flex;flex-direction:row;align-items:center!important;flex-wrap:wrap;gap:8px 16px;margin-bottom:12px}
.panel-content .page-heading>div:first-child{display:flex;align-items:baseline;flex-wrap:wrap;gap:4px 12px;min-width:0;flex:1 1 28rem}
.panel-content .page-heading h1{order:0;font-size:1.25rem;line-height:1.3;margin:0;overflow-wrap:anywhere}
.panel-content .page-heading .eyebrow{order:1;font-size:.56rem;letter-spacing:.07em;margin:0;line-height:1.4}
.panel-content .page-heading p{order:2;flex:1 1 16rem;font-size:.74rem;line-height:1.45;margin:0}
.panel-content .page-heading>div:not(:first-child){flex-wrap:wrap;max-width:100%}
.panel-content .page-heading>.btn{margin:0}
.panel-content>form.card.d-flex[method="get"]{flex-direction:row;align-items:flex-end}
.panel-content>form.card.d-flex[method="get"]>label{flex:1 1 14rem;min-width:0}
.event-embed .panel-content .page-heading{display:none}
.panel-footer{padding:10px 20px}
.monitor-workspace{height:calc(100dvh - 53px)}
/* Keep monitoring controls compact so the camera image starts near the top. */
.panel-content .live-view .filter-bar,.live-view .activity-bar{padding:8px 10px;margin-bottom:8px!important}
.live-view .filter-bar>.row{margin:0;gap:6px 8px}
.live-view .filter-bar>.row>div{flex:1 1 110px;width:auto;min-width:0;margin-top:0;padding:0}
.live-view .filter-bar>.row>div:first-child{flex:1.5 1 170px}
.live-view .filter-bar>.row>.live-filter-actions{display:flex;flex:0 0 auto;flex-wrap:wrap;max-width:100%;align-items:center;gap:6px}
.live-view .live-filter-actions .btn{white-space:nowrap}
.live-view .filter-bar .form-label{font-size:.65rem;line-height:1.2;margin-bottom:3px}
.live-view .filter-bar .form-control,.live-view .filter-bar .form-select,.live-view .activity-bar .form-select{min-height:32px;height:32px;font-size:.73rem;padding-top:4px;padding-bottom:4px}
.live-view .filter-bar .btn,.live-view .activity-bar .btn{min-height:32px;padding:5px 9px}
.live-view .activity-controls{display:flex;align-items:center;flex-wrap:wrap;gap:6px 14px}
.live-view .activity-choice{display:flex;align-items:center;flex:1 1 240px;gap:8px;min-width:0}
.live-view .activity-choice .form-label{margin:0;font-size:.67rem;white-space:nowrap}
.live-view .activity-choice .form-select{flex:1;min-width:0}
.live-view .activity-controls .form-check{margin:0;min-height:0;font-size:.7rem}
.live-view .live-card-heading{min-width:0;padding:7px 10px;gap:0}
.live-view .live-camera-name{min-width:0;width:100%;margin:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;overflow-wrap:normal;font-size:.8rem;line-height:1.3}
.live-view .live-card .live-toolbar{padding:6px;gap:4px}
.live-view .live-card .live-toolbar>.d-flex{flex-wrap:wrap;justify-content:flex-end;gap:4px!important}
.live-view .live-card .live-toolbar .btn{min-height:32px;padding:5px 6px;font-size:.65rem}
.live-focus-controls{display:flex;justify-content:flex-start;margin-bottom:8px}
.live-focus-controls .btn{display:inline-flex;align-items:center;justify-content:center;width:32px;height:32px;min-height:32px;padding:5px}
.monitor-focus .sidebar,.monitor-focus .topbar,.monitor-focus .panel-footer,
.monitor-focus .live-view>.page-heading,.monitor-focus .live-view>.filter-bar,.monitor-focus .activity-bar,
.monitor-focus .live-view>.section-note,.monitor-focus .live-view>.pagination-bar{display:none!important}
.monitor-focus .panel-shell{margin-left:0!important}
.monitor-focus .panel-content{padding:8px}
.monitor-focus .live-focus-controls{position:sticky;top:0;z-index:4;background:#101010}
@media(min-width:992px) and (min-height:650px){
 .monitor-focus #live-grid{display:grid;grid-template-columns:repeat(var(--focus-columns,3),minmax(0,1fr));grid-template-rows:repeat(var(--focus-rows,4),minmax(0,1fr));gap:8px;margin:0;height:calc(100dvh - 56px)}
 .monitor-focus #live-grid>div{width:auto;min-width:0;min-height:0;margin:0;padding:0}
 .monitor-focus #live-grid .live-card,.monitor-focus #live-grid .live-player{min-height:0}
 .monitor-focus #live-grid .live-screen{min-height:0;aspect-ratio:auto}
 .monitor-focus #live-grid .live-card-heading,.monitor-focus #live-grid .live-card>.border-top{flex-shrink:0}
}
@media(max-width:575.98px){
 .live-view .filter-bar>.row>div{flex:1 1 80px}
 .live-view .filter-bar>.row>div:first-child{flex-basis:100%}
 .live-view .filter-bar>.row>.live-filter-actions{flex-basis:100%}
 .live-view .filter-bar .form-control,.live-view .filter-bar .form-select,.live-view .activity-bar .form-select{height:36px;min-height:36px}
 .live-view .filter-bar .btn,.live-view .activity-bar .btn{min-height:36px}
 .live-view .activity-choice{flex-basis:100%}
 .live-view .activity-controls{gap:8px}
 .live-view .activity-controls .form-check{flex:1 1 150px}
}
@media(min-width:992px){
 .sidebar-collapsed .sidebar{width:76px}
 .sidebar-collapsed .panel-shell{margin-left:76px}
 .sidebar-collapsed .sidebar .brand-header{padding:12px 14px}
 .sidebar-collapsed .sidebar .brand{gap:0}
 .sidebar-collapsed .sidebar .brand-name,.sidebar-collapsed .sidebar .nav-label,.sidebar-collapsed .sidebar .nav-text,.sidebar-collapsed .sidebar .sidebar-note{display:none!important}
 .sidebar-collapsed .sidebar .offcanvas-body{padding:4px 8px 12px}
 .sidebar-collapsed .sidebar .nav-link{justify-content:center;gap:0!important;padding:10px 8px;min-height:44px}
 .sidebar-collapsed .sidebar .nav-link .bi{font-size:1.2rem}
}
@media(max-width:575.98px){
 .panel-content{padding:12px}
 .panel-content .page-heading{gap:8px;margin-bottom:10px}
 .panel-content .page-heading>div:first-child{gap:4px 8px}
 .panel-content .page-heading h1{font-size:1.1rem}
 .panel-content .page-heading p{flex-basis:100%;font-size:.7rem}
 .topbar{padding:6px 4px}
 .topbar .container-fluid{gap:8px!important}
 .topbar .btn{padding:6px 8px;min-height:36px}
 .panel-footer{padding:10px 12px}
}

/* Camera catalog: one compact row for playback and management actions. */
.cameras-view .live-toolbar>.live-indicator{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.cameras-view .live-card .live-toolbar{flex-wrap:nowrap;flex-shrink:0;padding:5px}
.cameras-view .live-card .live-toolbar>.d-flex{flex-wrap:nowrap;gap:4px!important;justify-content:flex-end}
.cameras-view .live-card .live-toolbar .btn{display:inline-flex;align-items:center;justify-content:center;flex:0 0 28px;width:28px;height:28px;min-height:28px;padding:0;font-size:.8rem}
@media(pointer:coarse){.cameras-view .live-card .live-toolbar .btn{flex-basis:32px;width:32px;height:32px;min-height:32px}}
