/* Institutional colors are inherited from the Leal camera workspace. */
.clw-recording-gallery{display:grid;grid-template-columns:repeat(auto-fill,minmax(230px,1fr));gap:16px;margin:16px 0}.clw-recording-card{border:1px solid #dce2ec;border-radius:12px;overflow:hidden;background:#fff;min-width:0}.clw-recording-selected{outline:2px solid #1944a6}.clw-recording-preview{display:block;position:relative;width:100%;aspect-ratio:16/9;background:#0e1830;border:0;padding:0;color:#fff;overflow:hidden}.clw-recording-preview leal-recording-thumbnail{display:block;height:100%;width:100%;position:relative}.clw-recording-preview video{width:100%;height:100%;object-fit:contain;opacity:0}.clw-recording-preview .fa-film{position:absolute;left:calc(50% - 16px);top:calc(50% - 16px);font-size:32px;color:#a4b4d1}.clw-recording-preview .clw-thumbnail-ready video{opacity:1}.clw-thumbnail-ready .fa-film{display:none}.clw-source-chip,.clw-duration{position:absolute;background:rgba(8,18,40,.86);padding:4px 7px;border-radius:5px;font-size:11px;line-height:1.4}.clw-source-chip{left:8px;top:8px}.clw-duration{right:8px;bottom:8px}.clw-recording-info{padding:12px;display:grid;gap:4px}.clw-recording-info small{color:#65738b}.clw-card-actions{display:flex;gap:7px;flex-wrap:wrap;align-items:center;padding:0 12px 12px}.clw-card-actions label{font-size:12px;margin:0}.clw-gallery-filters{margin-top:14px}.clw-recording-detail{border:1px solid #dce2ec;border-radius:12px;padding:16px;margin:16px 0;background:#fff}.clw-recording-detail>header{display:flex;align-items:center;justify-content:space-between;gap:10px}.clw-recording-detail h3{margin:0 0 14px;font-size:18px}.clw-recording-detail-layout{display:grid;grid-template-columns:minmax(0,2fr) minmax(240px,1fr);gap:18px}.clw-recording-detail-layout>div:only-child{grid-column:1/-1}.clw-player-videos{display:grid;grid-template-columns:1fr;gap:10px;background:#10192b;border-radius:10px;overflow:hidden}.clw-player-dual{grid-template-columns:repeat(2,minmax(0,1fr))}.clw-player-videos figure{margin:0;position:relative}.clw-player-videos figcaption{padding:8px 12px;color:#fff;font-size:12px;background:#17253f}.clw-player-videos video{width:100%;aspect-ratio:16/9;display:block;background:#090f1c}.clw-player-controls{display:flex;gap:10px;align-items:center;flex-wrap:wrap;margin:12px 0}.clw-player-controls label{margin:0}.clw-seek{flex:1;min-width:140px}.clw-seek input{width:100%;accent-color:#1944a6}.clw-route-map{height:280px;min-height:220px;border-radius:10px;z-index:0}.clw-period-shortcuts{display:flex;gap:7px;flex-wrap:wrap;margin:10px 0}.clw-event-cards{display:grid;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:12px;margin:16px 0}.clw-event-card{padding:14px;border:1px solid #dce2ec;border-radius:10px;background:#fff}.clw-event-card h4{font-size:15px;margin:8px 0}.clw-event-card time{color:#65738b}.clw-sd-card .clw-recording-preview{display:flex;align-items:center;justify-content:center;gap:8px;cursor:pointer}.clw-sd-card .clw-recording-preview>i{font-size:34px}.clw-sd-card .clw-recording-info strong{overflow-wrap:anywhere}.clw-recording-card:focus-within{outline:2px solid #1944a6}.clw-player-videos:fullscreen{align-content:center;background:#060b14}.clw-player-videos:fullscreen video{max-height:85vh}.clw-player-videos:fullscreen .clw-player-dual{grid-template-columns:1fr 1fr}@media(max-width:1000px){.clw-recording-detail-layout{grid-template-columns:1fr}.clw-player-dual{grid-template-columns:1fr}}@media(max-width:600px){.clw-recording-gallery{grid-template-columns:1fr}.clw-player-controls{gap:8px}.clw-seek{flex-basis:100%}.clw-recording-detail{padding:10px}.clw-recording-detail h3{font-size:16px}.clw-event-cards{grid-template-columns:1fr}}

.leal-recording-modal .modal-dialog{width:1280px;max-width:calc(100% - 24px);margin:18px auto}.leal-recording-modal .modal-content{border:0;border-radius:15px;overflow:hidden}.leal-recording-modal .clw-recording-dialog-body{padding:18px;max-height:calc(100vh - 125px);overflow:auto}.leal-recording-modal .clw-recording-detail-layout{grid-template-columns:minmax(0,2fr) minmax(280px,1fr)}.leal-recording-modal .clw-recording-detail-layout>div{min-width:0}.leal-recording-modal .modal-header .modal-title{margin:0}.leal-recording-modal .clw-route-map{height:320px}.leal-recording-modal .clw-card-actions{padding:8px 0}.leal-recording-modal .modal-title .fa{margin-right:8px}@media(max-width:820px){.leal-recording-modal .modal-dialog{margin:8px auto;max-width:calc(100% - 12px)}.leal-recording-modal .clw-recording-detail-layout{grid-template-columns:1fr}.leal-recording-modal .clw-recording-dialog-body{padding:12px;max-height:calc(100vh - 100px)}}
.clw-recording-settings .camera-cloud-overview{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;align-items:stretch}.clw-recording-settings .camera-status-row,.clw-recording-settings .camera-cloud-channels,.clw-recording-settings .camera-cloud-usage,.clw-recording-settings .camera-cloud-details{margin:0;padding:16px;border:1px solid #d8e1ed;border-radius:12px;background:#fff;min-width:0}.clw-recording-settings .camera-status-row{display:flex;flex-direction:column;align-items:flex-start;gap:12px}.clw-recording-settings .camera-status-row .camera-status{margin:0}.clw-recording-settings .camera-cloud-channels .camera-searchbar{display:flex;flex-wrap:wrap;gap:12px}.clw-recording-settings .camera-cloud-details>summary{cursor:pointer;color:#234ea7;font-weight:600}.clw-recording-settings .camera-cloud-details[open]>summary{margin-bottom:12px}@media(max-width:820px){.clw-recording-settings .camera-cloud-overview{grid-template-columns:1fr}}
.leal-video-workspace .clw-library-toolbar{display:flex;align-items:center;justify-content:space-between;gap:10px;flex-wrap:wrap;margin-bottom:12px}.leal-video-workspace .clw-library-toolbar .lvw-subnav,.leal-video-workspace .clw-library-toolbar .clw-period-shortcuts{margin:0;gap:6px}.leal-video-workspace .clw-library-filters{display:grid;grid-template-columns:minmax(170px,1fr) minmax(170px,1fr) minmax(150px,1fr) minmax(150px,1fr) minmax(180px,1.3fr);gap:12px;align-items:end;margin:0 0 12px}.leal-video-workspace .clw-library-filters>label{margin:0;min-width:0;display:block}.leal-video-workspace .clw-library-filters .form-control{width:100%;min-width:0;margin-top:4px}.leal-video-workspace .clw-library-actions{display:flex;align-items:center;justify-content:space-between;gap:10px;flex-wrap:wrap;margin:8px 0}.leal-video-workspace .clw-library-actions .camera-cloud-pagination-options,.leal-video-workspace .clw-library-actions .camera-cloud-selection{display:flex;align-items:center;gap:10px;margin:0;flex-wrap:wrap}.leal-video-workspace .clw-library-actions label{margin:0}.leal-video-workspace .clw-library-actions .camera-cloud-page-size{display:flex;align-items:center;gap:6px}.leal-video-workspace .clw-library-actions .camera-cloud-page-size select{width:75px}.leal-video-workspace .clw-library-area .vc-native-filters{width:100%;gap:12px;margin-bottom:12px}.leal-video-workspace .clw-library-area .vc-native-filters>label{flex:1 1 160px;min-width:0;margin:0}@media(max-width:1200px){.leal-video-workspace .clw-library-filters{grid-template-columns:repeat(2,minmax(0,1fr))}.leal-video-workspace .clw-library-filters>label:last-child{grid-column:1/-1}}@media(max-width:600px){.leal-video-workspace .clw-library-filters{grid-template-columns:1fr}.leal-video-workspace .clw-library-toolbar>div{width:100%}.leal-video-workspace .clw-library-toolbar .lvw-subnav{display:flex}.leal-video-workspace .clw-library-toolbar .lvw-subnav>button{flex:1}.leal-video-workspace .clw-library-actions{align-items:flex-start}.leal-video-workspace .clw-library-actions .camera-cloud-selection{gap:8px}}
