:root{--wall-bg:#f8fafc;--wall-text:#1e293b;--wall-text-muted:#64748b;--wall-text-secondary:#94a3b8;--wall-border:#e2e8f0;--wall-border-dark:#cbd5e1;--wall-primary:#3b82f6;--wall-success:#22c55e;--wall-success-dark:#16a34a;--wall-danger:#dc2626;--wall-danger-light:#ef4444;--wall-warning:#f59e0b;--wall-warning-dark:#d97706;--list-card-bg:#ffffff;--list-card-border:rgba(15,23,42,0.08);--list-card-shadow:0 1px 2px rgba(15,23,42,0.04),0 0 0 1px rgba(15,23,42,0.02);--list-card-shadow-hover:0 6px 16px rgba(15,23,42,0.08),0 0 0 1px rgba(15,23,42,0.05);--list-header-bg:#1e293b;--list-header-text:rgba(255,255,255,0.95);--list-header-muted:rgba(255,255,255,0.58);--list-header-hover:#ffffff;--list-label:#64748b;--list-value:#0f172a;--list-divider:rgba(15,23,42,0.06);--list-stripe-online:#10b981;--list-stripe-offline:#dc2626;--list-stripe-stale:#f59e0b;--list-tint-online:rgba(16,185,129,0.07);--list-tint-offline:rgba(220,38,38,0.08);--list-tint-stale:rgba(245,158,11,0.09);--list-pill-online:#059669;--list-pill-offline:#dc2626;--list-pill-stale:#d97706;}body{background:var(--wall-bg);margin:0;padding:0;font-family:"Helvetica","Arial",sans-serif;text-align:center;color:var(--wall-text);overflow-x:hidden;max-width:100vw;}#cameraWall.wall-loading{visibility:hidden;}.wall-loading-indicator{text-align:center;padding:60px 20px;color:var(--wall-text-muted);}.wall-loading-spinner{width:50px;height:50px;border:4px solid var(--wall-border);border-top-color:var(--wall-primary);border-radius:50%;margin:0 auto 20px;animation:wall-spin 1s linear infinite;}@keyframes wall-spin{to{transform:rotate(360deg);}}.wall-loading-text{font-size:18px;font-weight:500;color:#334155;margin-bottom:8px;}.wall-loading-filter{font-size:14px;color:var(--wall-primary);font-weight:500;margin-bottom:12px;}.wall-loading-progress{font-size:13px;color:var(--wall-text-secondary);}a{color:blue;text-decoration:none;}a:visited,a:active{color:blue;}a:hover{color:red;}#pageHeader{background:linear-gradient(135deg,#f8fafc 0%,#e2e8f0 100%);padding:15px 20px 10px;margin-bottom:10px;border-bottom:1px solid var(--wall-border-dark);position:relative;}.hero-stats{max-width:100%;margin:0 auto;padding:0;display:flex;flex-wrap:wrap;justify-content:center;gap:0 12px;}.stat-cards{display:flex;justify-content:center;gap:8px;flex-wrap:wrap;margin-bottom:8px;}.stat-card{background:#ffffff;border:2px solid var(--wall-border);border-radius:8px;padding:6px 16px;min-width:95px;text-align:center;box-shadow:0 1px 4px rgba(0,0,0,0.06);transition:transform 0.2s,box-shadow 0.2s;}.stat-card:hover{transform:translateY(-1px);box-shadow:0 2px 8px rgba(0,0,0,0.1);}.stat-card.primary{background:#fff;border-color:var(--wall-primary);}.stat-card.primary .stat-value{color:#2563eb;}.stat-card.success{background:#fff;border-color:var(--wall-success);}.stat-card.success .stat-value{color:var(--wall-success-dark);}.stat-card.danger{background:#fff;border-color:var(--wall-danger-light);}.stat-card.danger .stat-value{color:var(--wall-danger);}.stat-value{font-size:22px;font-weight:700;color:var(--wall-text);line-height:1.2;}.stat-label{font-size:10px;color:var(--wall-text-muted);text-transform:uppercase;letter-spacing:0.5px;margin-top:2px;}.progress-container{max-width:800px;margin:0 auto 18px;width:100%;flex-basis:100%;}.progress-bar{height:10px;background:var(--wall-border);border-radius:10px;overflow:hidden;box-shadow:inset 0 1px 2px rgba(0,0,0,0.1);}.progress-fill{height:100%;background:linear-gradient(90deg,#22c55e 0%,#4ade80 100%);border-radius:10px;transition:width 0.5s ease-out;}.progress-label{text-align:center;font-size:14px;color:var(--wall-text-muted);margin-top:8px;}.progress-label span{font-weight:700;color:var(--wall-success-dark);font-size:16px;}.stat-cards-secondary{margin-bottom:8px;}.stat-card-compact .stat-value{color:var(--wall-primary);}.stat-card-actuations .stat-value{color:#8b5cf6;}.stat-card-actuations{border-color:#c4b5fd;}.dashboard-links{display:flex;justify-content:center;gap:12px;margin-top:8px;}.dashboard-link{display:inline-flex;align-items:center;gap:4px;padding:5px 14px;background:var(--wall-bg-card);border:1px solid var(--wall-border);border-radius:20px;color:var(--wall-text-muted);text-decoration:none;font-size:12px;font-weight:500;transition:all 0.2s;}.dashboard-link:hover{color:#fff;border-color:#3b82f6;background:#1e1e3a;}.analytics-link:hover{border-color:#22c55e;}.storage-link:hover{border-color:#f59e0b;}.stat-card.clickable{cursor:pointer;transition:transform 0.15s,box-shadow 0.15s;}.stat-card.clickable:hover{transform:translateY(-2px);box-shadow:0 4px 12px rgba(0,0,0,0.15);}.map-lightbox-overlay{display:none;position:fixed;top:0;left:0;width:100%;height:100%;background:rgba(0,0,0,0.6);z-index:10000;justify-content:center;align-items:center;}.map-lightbox-overlay.visible{display:flex;}.map-lightbox{background:white;border-radius:12px;padding:0;max-width:1600px;width:85%;box-shadow:0 20px 60px rgba(0,0,0,0.3);overflow:hidden;}.map-lightbox-header{display:flex;justify-content:space-between;align-items:center;padding:16px 20px;border-bottom:1px solid var(--wall-border);}.map-lightbox-header h2{margin:0;font-size:18px;color:var(--wall-text);}.map-lightbox-close{background:none;border:none;font-size:24px;color:var(--wall-text-muted);cursor:pointer;padding:0 4px;line-height:1;}.map-lightbox-close:hover{color:var(--wall-text);}.map-lightbox-body{padding:0;}#mapContainer{height:70vh;width:100%;border-radius:0 0 12px 12px;}@media (max-width:768px){.map-lightbox{width:95%;}#mapContainer{height:60vh;}}@media (max-width:480px){.map-lightbox{width:98%;}#mapContainer{height:50vh;}}.map-count-tooltip{background:transparent !important;border:none !important;box-shadow:none !important;color:#fff;font-weight:700;font-size:13px;text-shadow:0 1px 3px rgba(0,0,0,0.5);}.map-count-tooltip::before{display:none !important;}.filter-bar{display:flex;justify-content:center;align-items:center;flex-wrap:wrap;gap:15px;padding:10px 15px;background:rgba(255,255,255,0.6);margin-top:10px;border-top:1px solid var(--wall-border);}.filter-toggles{display:flex;flex-wrap:wrap;gap:8px;justify-content:center;}.filter-toggle{display:inline-flex;align-items:center;gap:6px;padding:8px 14px;border:1px solid var(--wall-border-dark);border-radius:20px;font-size:13px;font-weight:bold;cursor:pointer;transition:all 0.2s ease;background-color:#f1f5f9;color:var(--wall-text-secondary);}.filter-toggle.active{background-color:white;color:var(--wall-text);border-color:var(--wall-text-secondary);box-shadow:0 1px 3px rgba(0,0,0,0.1);}.filter-toggle:hover{transform:scale(1.05);}.filter-dot{display:inline-block;width:12px;height:12px;border-radius:50%;}.filter-dot.online{background-color:var(--wall-success);box-shadow:0 0 6px var(--wall-success);}.filter-dot.offline{background-color:var(--wall-danger-light);box-shadow:0 0 6px var(--wall-danger-light);}.filter-dot.stale{background-color:var(--wall-warning);box-shadow:0 0 6px var(--wall-warning);}.filter-dot.dslr{background-color:#6366f1;box-shadow:0 0 6px #6366f1;}.filter-dot.micro{background-color:#06b6d4;box-shadow:0 0 6px #06b6d4;}.filter-separator{display:inline-block;width:1px;height:24px;background-color:var(--wall-border-dark);margin:0 2px;}.filter-toggle span:last-child{font-size:11px;background-color:rgba(0,0,0,0.08);padding:2px 8px;border-radius:12px;min-width:24px;text-align:center;}.filter-toggle.active span:last-child{background-color:rgba(0,0,0,0.06);}#filterOnline.active{background:linear-gradient(135deg,#dcfce7 0%,#bbf7d0 100%);border-color:var(--wall-success);color:#166534;}#filterOnline.active span:last-child{background-color:rgba(34,197,94,0.2);color:#166534;}#filterOffline.active{background:linear-gradient(135deg,#fee2e2 0%,#fecaca 100%);border-color:var(--wall-danger-light);color:#991b1b;}#filterOffline.active span:last-child{background-color:rgba(239,68,68,0.2);color:#991b1b;}#filterStale.active{background:linear-gradient(135deg,#fef3c7 0%,#fde68a 100%);border-color:var(--wall-warning);color:#92400e;}#filterStale.active span:last-child{background-color:rgba(245,158,11,0.2);color:#92400e;}#filterDslr.active{background:linear-gradient(135deg,#e0e7ff 0%,#c7d2fe 100%);border-color:#6366f1;color:#3730a3;}#filterDslr.active span:last-child{background-color:rgba(99,102,241,0.2);color:#3730a3;}#filterMicro.active{background:linear-gradient(135deg,#cffafe 0%,#a5f3fc 100%);border-color:#06b6d4;color:#155e75;}#filterMicro.active span:last-child{background-color:rgba(6,182,212,0.2);color:#155e75;}.cameraContainer.filter-hidden{display:none !important;}.camera-manage-panel{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);background:white;z-index:2000;border-radius:8px;box-shadow:0 10px 40px rgba(0,0,0,0.25),0 0 0 1px rgba(0,0,0,0.05);overflow:hidden;min-width:200px;max-width:220px;}.manage-panel-header{display:flex;justify-content:space-between;align-items:center;padding:10px 12px;background:var(--wall-text);color:white;}.manage-panel-title{font-weight:600;font-size:13px;}.manage-panel-close{background:transparent;border:none;color:rgba(255,255,255,0.7);width:20px;height:20px;font-size:18px;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:color 0.2s;padding:0;line-height:1;}.manage-panel-close:hover{color:white;}.manage-panel-buttons{padding:6px 0;}.manage-panel-btn{display:flex;align-items:center;gap:10px;padding:8px 14px;border:none;background:transparent;color:#334155;font-size:13px;cursor:pointer;transition:background 0.15s;text-align:left;width:100%;}.manage-panel-btn:hover{background:#f1f5f9;}.manage-panel-btn .btn-icon{font-size:15px;width:20px;text-align:center;opacity:0.7;}.manage-panel-btn:hover .btn-icon{opacity:1;}.manage-panel-btn.btn-watch .btn-icon{color:var(--wall-warning);opacity:1;}.manage-panel-btn.btn-watch.watching{background:#fef3c7;}.manage-panel-divider{height:1px;background:var(--wall-border);margin:6px 0;}.manage-panel-section-title{font-size:10px;font-weight:600;color:var(--wall-text-secondary);text-transform:uppercase;letter-spacing:0.5px;padding:4px 14px;background:var(--wall-bg);border-top:1px solid var(--wall-border);border-bottom:1px solid var(--wall-border);margin-bottom:2px;}.manage-panel-move-grid{display:flex;flex-direction:column;padding:0;}.manage-panel-btn.btn-small{padding:7px 14px;font-size:12px;border-radius:0;background:transparent;width:100%;justify-content:flex-start;gap:8px;}.manage-panel-btn.btn-small:hover{background:#f1f5f9;}.manage-panel-btn.btn-archive{color:#92400e;}.manage-panel-btn.btn-archive:hover{background:#fef3c7;}.show-mobile{display:none;}.hide-mobile{display:inline;}.section-header{color:var(--wall-danger);background:white;border:2px solid #fecaca;border-radius:12px;padding:12px 20px;width:calc(100% - 20px);max-width:none;flex-basis:100%;display:block;margin:15px 10px;text-align:center;font-size:20px;font-weight:600;box-shadow:0 2px 8px rgba(0,0,0,0.06);letter-spacing:0.5px;box-sizing:border-box;}.section-header-rounded{border-radius:12px;width:auto;}.section-header.section-installed{color:var(--wall-danger);border-color:#fecaca;background:linear-gradient(135deg,#fff 0%,#fef2f2 100%);}.section-header.section-watchlist{color:#b45309;border-color:#fcd34d;background:linear-gradient(135deg,#fff 0%,#fef3c7 100%);font-size:16px;padding:8px 15px;}.section-header.section-watchlist .watch-star{color:var(--wall-warning);margin-right:6px;}.section-header.section-actionrequired{color:#b91c1c;border-color:#fca5a5;background:linear-gradient(135deg,#fff 0%,#fee2e2 100%);font-size:16px;padding:8px 15px;}.section-header.section-actionrequired .action-required-icon{display:inline-flex;align-items:center;margin-right:6px;color:#dc2626;}.section-header.section-actionrequired .action-required-icon svg{width:16px;height:16px;}.section-header.section-onhold{color:var(--wall-warning-dark);border-color:#fed7aa;background:linear-gradient(135deg,#fff 0%,#fffbeb 100%);}.section-header.section-toberemoved{color:#7c3aed;border-color:#ddd6fe;background:linear-gradient(135deg,#fff 0%,#f5f3ff 100%);}.section-header.section-removed{color:#6b7280;border-color:#e5e7eb;background:linear-gradient(135deg,#fff 0%,#f9fafb 100%);}.section-header.section-future{color:#0891b2;border-color:#a5f3fc;background:linear-gradient(135deg,#fff 0%,#ecfeff 100%);}.section-header.section-previous{color:#6b7280;border-color:#d1d5db;background:linear-gradient(135deg,#fff 0%,#f3f4f6 100%);display:block;width:100%;max-width:100%;margin-bottom:15px;position:relative;}.archived-toggle{display:inline-block;margin-left:12px;padding:4px 14px;font-size:13px;font-weight:500;color:#6b7280;background:#f3f4f6;border:1px solid #d1d5db;border-radius:16px;cursor:pointer;vertical-align:middle;transition:background 0.15s ease,color 0.15s ease;}.archived-toggle:hover{background:#e5e7eb;color:#374151;}body.show-archived .archived-toggle{background:#6b7280;color:#fff;border-color:#6b7280;}body.show-archived .archived-toggle:hover{background:#4b5563;border-color:#4b5563;}.cameraContainer.previous-project{display:none !important;}body.show-archived .cameraContainer.previous-project{display:inline-flex !important;}body.show-archived.list-view .cameraContainer.previous-project{display:flex !important;}.section-header-grey{color:#6b7280;border-color:#d1d5db;background:linear-gradient(135deg,#fff 0%,#f3f4f6 100%);}.cameraContainer.previous-project{width:190px;max-width:190px;min-width:190px;display:inline-flex;flex-direction:column;border-radius:6px;overflow:visible;box-shadow:0 1px 3px rgba(0,0,0,0.08);border:1px solid var(--wall-border);background:#fff;margin:5px;vertical-align:top;flex-shrink:0;flex-grow:0;}.cameraContainer.previous-project .headContainer{display:none;}.cameraContainer.previous-project .linkContainer{display:none;}.cameraContainer.previous-project .imageContainer{position:relative;width:190px;height:auto;overflow:visible;display:flex;flex-direction:column;border-radius:5px 5px 0 0;}.cameraContainer.previous-project .wallImage{width:190px;height:127px;object-fit:cover;border-radius:5px 5px 0 0;flex-shrink:0;}.cameraContainer.previous-project .VPNNumber,.cameraContainer.previous-project .VPNNumberOld,.cameraContainer.previous-project .wallImageTime,.cameraContainer.previous-project .financeStatus,.cameraContainer.previous-project .statusText,.cameraContainer.previous-project .mobileNumber,.cameraContainer.previous-project .pingTime,.cameraContainer.previous-project .carrier,.cameraContainer.previous-project .fleetSim,.cameraContainer.previous-project .cameraTypeInternal,.cameraContainer.previous-project .cameraShutter,.cameraContainer.previous-project .cameraModes,.cameraContainer.previous-project .cameraType,.cameraContainer.previous-project .powerOff,.cameraContainer.previous-project .lensName,.cameraContainer.previous-project .aexif,.cameraContainer.previous-project .bexif,.cameraContainer.previous-project .cexif,.cameraContainer.previous-project .dexif,.cameraContainer.previous-project .eexif,.cameraContainer.previous-project .USBStatusText,.cameraContainer.previous-project .cpuTemp,.cameraContainer.previous-project .cpuUsage,.cameraContainer.previous-project .memoryUsage,.cameraContainer.previous-project .load,.cameraContainer.previous-project .uptime,.cameraContainer.previous-project .users,.cameraContainer.previous-project .storageNumber,.cameraContainer.previous-project .softwareVersion,.cameraContainer.previous-project .serviceRegion,.cameraContainer.previous-project .overlay-question,.cameraContainer.previous-project .overlay-caution,.cameraContainer.previous-project .overlay-error,.cameraContainer.previous-project .offlineYellow,.cameraContainer.previous-project .offlineOrange,.cameraContainer.previous-project .offlineRed{display:none !important;}.cameraContainer.future-project{width:auto;min-width:0;max-width:none;display:inline-flex;border-radius:6px;overflow:hidden;box-shadow:0 1px 3px rgba(0,0,0,0.08);border:1px solid #a5f3fc;background:#ecfeff;margin:4px;vertical-align:top;flex-shrink:0;flex-grow:0;}.cameraContainer.future-project .headContainer,.cameraContainer.future-project .linkContainer{display:none !important;}.cameraContainer.future-project .imageContainer{position:relative;width:auto;height:auto;overflow:visible;}.cameraContainer.future-project .imageContainer>*{display:none !important;}.cameraContainer.future-project .cameraName{position:static !important;display:block !important;font-size:15px;font-weight:600;padding:10px 18px;background:transparent;color:#0e7490;text-align:center;white-space:nowrap;width:auto !important;border:none;border-radius:0;text-shadow:none;}.cameraContainer.microcontroller .cameraShutter,.cameraContainer.microcontroller .cameraModes,.cameraContainer.microcontroller .cameraType,.cameraContainer.microcontroller .powerOff,.cameraContainer.microcontroller .lensName,.cameraContainer.microcontroller .aexif,.cameraContainer.microcontroller .bexif,.cameraContainer.microcontroller .cexif,.cameraContainer.microcontroller .dexif,.cameraContainer.microcontroller .eexif,.cameraContainer.microcontroller .USBStatusText,.cameraContainer.microcontroller .cpuTemp,.cameraContainer.microcontroller .cpuUsage,.cameraContainer.microcontroller .memoryUsage,.cameraContainer.microcontroller .load,.cameraContainer.microcontroller .uptime,.cameraContainer.microcontroller .users,.cameraContainer.microcontroller .storageNumber,.cameraContainer.microcontroller .softwareVersion,.cameraContainer.microcontroller .pingTime{display:none !important;}.microBattery,.microSolar,.microTemp,.microFirmware,.microDisk,.microUpdate{display:none !important;}.cameraContainer.microcontroller .microBattery,.cameraContainer.microcontroller .microSolar,.cameraContainer.microcontroller .microTemp,.cameraContainer.microcontroller .microFirmware,.cameraContainer.microcontroller .microDisk,.cameraContainer.microcontroller .microUpdate{display:block !important;position:absolute;width:auto;left:5px;text-align:left;font-size:80%;color:white;font-weight:bold;text-shadow:1px 1px black;}.cameraContainer.microcontroller .microBattery{top:103px;}.cameraContainer.microcontroller .microSolar{top:123px;}.cameraContainer.microcontroller .microTemp{top:143px;}.cameraContainer.microcontroller .microFirmware{top:163px;}.cameraContainer.microcontroller .microDisk{top:183px;}.cameraContainer.microcontroller .microUpdate{top:203px;}@media (max-width:500px){.cameraContainer.microcontroller .microBattery{top:29%;}.cameraContainer.microcontroller .microSolar{top:34%;}.cameraContainer.microcontroller .microTemp{top:40%;}.cameraContainer.microcontroller .microFirmware{top:45%;}.cameraContainer.microcontroller .microDisk{top:51%;}.cameraContainer.microcontroller .microUpdate{top:56%;}}.microBattery.battery-good{color:#73e873;}.microBattery.battery-warning{color:#ffd700;}.microBattery.battery-critical{color:#ff4444;}.cameraContainer.previous-project .cameraName{position:static !important;display:block !important;order:10;font-size:10px;font-weight:500;padding:5px 6px;background:var(--wall-bg);color:#475569;text-align:center;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;border-top:1px solid var(--wall-border);border-radius:0 0 5px 5px;width:100%;box-sizing:border-box;line-height:1.2;}#cameraWall{padding:10px;}.wall-section{width:100%;}.wall-section-cameras{display:grid;grid-template-columns:repeat(auto-fill,minmax(400px,1fr));gap:6px;justify-items:center;}@media (max-width:900px){.wall-section-cameras{grid-template-columns:repeat(auto-fill,minmax(309px,1fr));}}@media (max-width:500px){.wall-section-cameras{grid-template-columns:1fr;}}.sort-dropdown{padding:6px 8px;border:1px solid var(--wall-border-dark);border-radius:4px;font-size:12px;color:#475569;background:white;cursor:pointer;transition:border-color 0.2s;}.sort-dropdown:hover{border-color:var(--wall-primary);}.sort-dropdown:focus{outline:none;border-color:var(--wall-primary);box-shadow:0 0 0 2px rgba(59,130,246,0.2);}#cameraWall.drag-mode .cameraContainer{cursor:grab;}#cameraWall.drag-mode .cameraContainer:active{cursor:grabbing;}#cameraWall.drag-mode .cameraContainer a,#cameraWall.drag-mode .cameraContainer button{pointer-events:none;}.sortable-ghost{opacity:0.4;}.sortable-chosen{box-shadow:0 4px 16px rgba(0,0,0,0.2);transform:scale(1.02);}.sortable-drag{opacity:0.9;}#cameraWall.drag-mode .hoverGraphCanvas{pointer-events:none;display:none;}#cameraWall.drag-mode::before{content:'Drag tiles to reorder \2022 Click "Done" when finished';display:block;width:100%;text-align:center;padding:8px 16px;background:var(--wall-primary);color:white;font-size:13px;border-radius:4px;margin-bottom:8px;box-sizing:border-box;}@media (min-width:1600px){.hero-stats{align-items:stretch;gap:12px;flex-wrap:nowrap;}.stat-cards{margin-bottom:0;gap:0;flex-wrap:nowrap;background:#ffffff;border-radius:8px;padding:0;align-items:stretch;border:1px solid var(--wall-border);box-shadow:0 2px 8px rgba(0,0,0,0.06);}.stat-card{padding:8px 16px;min-width:auto;border-radius:0;background:#ffffff;border:none;border-right:1px solid var(--wall-border);display:flex;flex-direction:column;justify-content:center;}.stat-card:first-child{border-radius:8px 0 0 8px;}.stat-card:last-child{border-radius:0 8px 8px 0;border-right:none;}.stat-card.primary,.stat-card.success,.stat-card.danger{background:#ffffff;border-color:var(--wall-border);}.stat-card.success .stat-value{color:var(--wall-success-dark);}.stat-card.danger .stat-value{color:var(--wall-danger);}.stat-cards-secondary{margin-top:0;}.progress-container{margin:0;min-width:140px;max-width:180px;background:#ffffff;border-radius:8px;padding:8px 15px;display:flex;flex-direction:column;justify-content:center;border:1px solid var(--wall-border);box-shadow:0 2px 8px rgba(0,0,0,0.06);flex-basis:auto;width:auto;}.progress-bar{height:8px;}.progress-label{font-size:11px;margin-top:4px;}.progress-label span{font-size:13px;}.filter-bar{margin-top:10px;}}@media (min-width:1900px){.hero-stats{gap:16px;}.stat-card{padding:10px 20px;}.stat-value{font-size:24px;}.stat-label{font-size:9px;}.progress-container{min-width:160px;max-width:200px;padding:10px 18px;}.progress-bar{height:10px;}.progress-label{font-size:12px;}.progress-label span{font-size:14px;}}@media (max-width:1400px){.stat-value{font-size:30px;}.stat-card{padding:12px 22px;min-width:110px;}}@media (max-width:1200px){.stat-value{font-size:26px;}.stat-card{padding:10px 18px;min-width:95px;}.stat-label{font-size:11px;}}@media (max-width:1100px){.filter-bar{flex-direction:column;gap:10px;}.filter-toggle{padding:6px 12px;font-size:12px;}.stat-cards{gap:6px;}.stat-card{padding:5px 10px;min-width:70px;}.stat-value{font-size:18px;}.stat-label{font-size:9px;}}@media (max-width:768px){#pageHeader{padding:10px 5px 8px;}.hero-stats{padding:0 5px;}.stat-cards{gap:4px;}.stat-card{padding:4px 8px;min-width:55px;border-radius:6px;}.stat-value{font-size:15px;}.stat-label{font-size:7px;letter-spacing:0;}.progress-container{margin-bottom:10px;}.progress-bar{height:6px;}.progress-label{font-size:10px;margin-top:4px;}.progress-label span{font-size:12px;}.filter-toggles{width:100%;}.filter-toggle{flex:1;justify-content:center;min-width:90px;}.section-header{font-size:18px;padding:8px;}.archived-toggle{font-size:11px;padding:3px 10px;margin-left:8px;}.headContent{font-size:clamp(7px,2.2vw,10px);padding:clamp(1px,0.4vw,3px);}.head-camera-name{font-size:clamp(7px,2.2vw,10px);padding:clamp(1px,0.4vw,3px);}.linkContainer{font-size:clamp(7px,2vw,10px);}.linkContainer>div[id^="imageCounts-"]{font-size:clamp(6px,1.8vw,9px);}.show-mobile{display:inline !important;}.hide-mobile{display:none !important;}}@media (max-width:400px){.search-input{width:120px;font-size:11px;padding:5px 25px 5px 8px;}.search-input:focus{width:150px;}.sort-dropdown{font-size:11px;padding:4px 6px;}#dragModeLabel{display:none;}}@media (max-width:360px){.search-input{width:100px;font-size:10px;padding:4px 22px 4px 6px;}.search-input:focus{width:120px;}.stat-card{min-width:60px;padding:8px 10px;}.stat-card .stat-value{font-size:20px;}.stat-card .stat-label{font-size:10px;}.filter-toggle{padding:5px 8px;font-size:10px;}}.cameraContainer{display:block;position:relative;background-color:rgba(216,216,216,0.86);width:100%;max-width:600px;color:black;box-shadow:2px 2px 2px black;border-radius:3px 3px 0px 0px;content-visibility:auto;contain-intrinsic-size:auto 600px 400px;}.headContainer{text-align:center;width:100%;}.headContent{display:inline-block;font-size:clamp(9px,2vw,12px);padding:clamp(2px,0.5vw,5px);white-space:nowrap;}.headContent a{font-size:inherit;}.head-camera-name{display:none;}.imageContainer{position:relative;}.tile-image-loader{display:none;position:absolute;top:0;left:0;right:0;bottom:0;z-index:5;background:rgba(30,41,59,0.85);justify-content:center;align-items:center;border-radius:3px 3px 0 0;pointer-events:none;}.tile-image-loader.visible{display:flex;}.tile-image-loader.refresh{background:transparent;}.tile-image-loader.refresh .spinner{border-color:rgba(255,255,255,0.3);border-top-color:#fff;filter:drop-shadow(0 0 4px rgba(0,0,0,0.6));}.tile-image-loader .spinner{width:24px;height:24px;border:3px solid #334155;border-top-color:var(--wall-primary);border-radius:50%;animation:spin 1s linear infinite;}.wallImage{margin:0;width:100%;height:auto;aspect-ratio:544 / 361;border-radius:3px 3px 0px 0px;object-fit:cover;}.wallImage:hover{}.hover-graph-canvas{position:absolute;top:0;left:0;width:100%;z-index:1100;pointer-events:none;opacity:0;transition:opacity 0.2s ease-in-out;border-radius:3px 3px 0 0;}.hover-graph-canvas.visible{opacity:1;cursor:pointer;}body.list-view .hover-graph-canvas{display:none !important;}.linkContainer{display:flex;flex-wrap:nowrap;justify-content:flex-start;align-items:center;font-size:10px;}.linkContainer .headContent{flex-shrink:0;float:none !important;margin-right:1px;}.linkContainer>div[id^="imageCounts-"]{display:flex;flex-wrap:nowrap;gap:1px;font-size:9px;float:none !important;margin-left:auto;}.linkContainer>div[id^="imageCounts-"] a{font-size:inherit;white-space:nowrap;padding:1px 2px;}.overlay-error{position:absolute;width:50px;height:130px;top:50%;left:50%;transform:translate(-50%,-60%);z-index:1000;}.overlay-question{position:absolute;width:80px;height:140px;top:50%;left:50%;transform:translate(-50%,-60%);z-index:1000;}.overlay-caution{position:absolute;width:50px;height:130px;top:50%;left:50%;transform:translate(-50%,-60%);z-index:1000;}.VPNNumber{position:absolute;left:0;right:0;margin-left:auto;margin-right:auto;width:80%;max-width:260px;top:calc(2%+14px);font-weight:bold;font-size:clamp(12px,3.3vw,16px);color:#21cd25;text-shadow:1px 1px black;}.VPNNumberOld{position:absolute;left:0;right:0;margin-left:auto;margin-right:auto;width:80%;max-width:260px;top:calc(2%+14px);font-weight:bold;font-size:clamp(12px,3.3vw,16px);color:red;text-shadow:1px 1px black;}.wallImageTime{position:absolute;left:0;right:0;margin-left:auto;margin-right:auto;width:80%;max-width:280px;bottom:clamp(15px,8%,30px);font-weight:bold;font-size:clamp(11px,3.5vw,16px);color:#2EFF00;text-shadow:1px 1px black;}.cameraName{position:absolute;left:clamp(3px,1%,5px);right:auto;margin-left:0;width:58%;bottom:clamp(2px,0.8%,3px);font-weight:bold;font-size:clamp(9px,2.5vw,12px);color:#91ef7c;text-shadow:1px 1px black;text-align:left;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;}.upload-server-badge{position:absolute;top:calc(50% - 100px);left:50%;transform:translateX(-50%);background:rgba(245,130,32,0.5);color:#fff;font-weight:700;font-size:14px;padding:4px 12px;border-radius:4px;letter-spacing:0.5px;text-shadow:1px 1px 2px rgba(0,0,0,0.4);pointer-events:none;z-index:1001;white-space:nowrap;}.statusText{position:absolute;right:clamp(3px,1%,5px);bottom:clamp(2px,0.8%,3px);text-align:right;font-weight:bold;font-size:clamp(9px,2.5vw,12px);color:#f9ff00;text-shadow:1px 1px black;width:38%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;}.offlineYellow{position:absolute;left:0;right:0;margin-left:auto;margin-right:auto;width:280px;bottom:80px;font-weight:bold;font-size:100%;color:yellow;text-shadow:1px 1px black;}.offlineOrange{position:absolute;left:0;right:0;margin-left:auto;margin-right:auto;width:280px;bottom:80px;font-weight:bold;font-size:100%;color:orange;text-shadow:1px 1px black;}.offlineRed{position:absolute;left:0;right:0;margin-left:auto;margin-right:auto;width:280px;bottom:80px;font-weight:bold;font-size:100%;color:red;text-shadow:1px 1px black;}.focusIssues{position:absolute;left:0;right:0;top:212px;margin-left:auto;margin-right:auto;width:280px;font-weight:bold;font-size:90%;text-align:center;color:orange;text-shadow:1px 1px black;}.afError{position:absolute;left:0;right:0;top:235px;margin-left:auto;margin-right:auto;width:280px;font-weight:bold;font-size:90%;text-align:center;color:red;text-shadow:1px 1px black;}.toggleStatus{position:absolute;left:0;right:0;margin-left:auto;margin-right:auto;width:400px;max-width:calc(100% - 16px);bottom:117px;font-weight:bold;font-size:80%;color:red;text-shadow:1px 1px black;}.serviceRegion{position:absolute;left:0;right:0;margin-left:auto;margin-right:auto;width:80%;max-width:280px;bottom:clamp(30px,16%,60px);font-weight:bold;font-size:clamp(9px,2.5vw,12px);color:white;text-shadow:1px 1px black;}.financeStatus{position:absolute;width:auto;top:14%;left:clamp(3px,1%,5px);text-align:left;font-weight:bold;font-size:clamp(8px,2.2vw,11px);color:#f9ff00;text-shadow:1px 1px black;}.carrier{position:absolute;width:auto;top:2%;left:clamp(3px,1%,5px);text-align:left;font-weight:bold;font-size:clamp(8px,2.2vw,11px);color:#f9ff00;text-shadow:1px 1px black;}.mobileNumber{position:absolute;width:auto;top:8%;left:clamp(3px,1%,5px);text-align:left;font-weight:bold;font-size:clamp(8px,2.2vw,11px);color:#f9ff00;text-shadow:1px 1px black;}.mobileNumber a,.mobileNumber a:visited{color:#f9ff00;}.mobileNumber.mobile-fresh,.mobileNumber.mobile-fresh a,.mobileNumber.mobile-fresh a:visited{color:#48bb78;}.fleetSim{position:absolute;width:auto;top:14%;left:clamp(3px,1%,5px);text-align:left;font-weight:bold;font-size:clamp(7px,2vw,10px);text-shadow:1px 1px black;cursor:help;}.fleetSim .fleet-dot{display:inline-block;width:7px;height:7px;border-radius:50%;margin-right:3px;vertical-align:middle;}.fleetSim.fleet-active{color:#48bb78;}.fleetSim.fleet-active .fleet-dot{background:#48bb78;}.fleetSim.fleet-inactive{color:#a0aec0;}.fleetSim.fleet-inactive .fleet-dot{background:#a0aec0;}.pingTime{position:absolute;width:auto;top:74%;left:clamp(3px,1%,5px);text-align:left;font-weight:bold;font-size:clamp(8px,2.2vw,11px);color:white;text-shadow:1px 1px black;}.cameraTypeInternal{position:absolute;left:0;right:0;margin-left:auto;margin-right:auto;width:80%;max-width:280px;top:12%;font-weight:bold;font-size:clamp(9px,2.5vw,13px);color:white;text-shadow:1px 1px black;opacity:50%;}.cameraShutter{position:absolute;width:auto;bottom:8%;left:clamp(3px,1%,5px);text-align:left;font-weight:bold;font-size:clamp(8px,2vw,10px);color:#f9ff00;text-shadow:1px 1px black;}.cameraShutterGreen{color:white;}.cameraShutterOrange{color:white;}.cameraShutterRed{color:white;}.cameraModes{position:absolute;width:auto;top:2%;right:clamp(3px,1%,5px);text-align:right;font-weight:bold;font-size:clamp(8px,2.2vw,11px);color:#f9ff00;text-shadow:1px 1px black;}.cameraType{position:absolute;width:auto;top:8%;right:clamp(3px,1%,5px);text-align:right;font-weight:bold;font-size:clamp(8px,2.2vw,11px);color:#f9ff00;text-shadow:1px 1px black;}.powerOff{position:absolute;width:auto;top:14%;right:clamp(3px,1%,5px);text-align:right;font-weight:bold;font-size:clamp(7px,1.8vw,9px);text-shadow:1px 1px black;}.memCard{position:absolute;width:auto;top:65px;right:5px;text-align:right;font-weight:bold;font-size:70%;text-shadow:1px 1px black;}.lensName{position:absolute;width:auto;top:29%;right:clamp(3px,1%,5px);text-align:right;font-size:clamp(7px,2vw,10px);color:#f9ff00;font-weight:bold;text-shadow:1px 1px black;}.aexif{position:absolute;width:auto;top:34%;right:clamp(3px,1%,5px);text-align:right;font-size:clamp(7px,2vw,10px);color:#f9ff00;font-weight:bold;text-shadow:1px 1px black;}.bexif{position:absolute;width:auto;top:50%;right:clamp(3px,1%,5px);text-align:right;font-size:clamp(7px,2vw,10px);color:#f9ff00;font-weight:bold;text-shadow:1px 1px black;}.cexif{position:absolute;width:auto;top:44%;right:clamp(3px,1%,5px);text-align:right;font-size:clamp(7px,2vw,10px);color:#f9ff00;font-weight:bold;text-shadow:1px 1px black;}.dexif{position:absolute;width:auto;top:56%;right:clamp(3px,1%,5px);text-align:right;font-size:clamp(7px,2vw,10px);color:#f9ff00;font-weight:bold;text-shadow:1px 1px black;}.eexif{position:absolute;width:auto;top:39%;right:clamp(3px,1%,5px);text-align:right;font-size:clamp(7px,2vw,10px);color:#f9ff00;font-weight:bold;text-shadow:1px 1px black;}.USBStatusText{position:absolute;right:clamp(3px,1%,5px);bottom:8%;text-align:right;font-weight:bold;font-size:clamp(7px,1.8vw,9px);color:#f9ff00;text-shadow:1px 1px black;}.cpuTemp{position:absolute;width:auto;top:29%;left:clamp(3px,1%,5px);text-align:left;font-size:clamp(7px,2vw,10px);color:white;font-weight:bold;text-shadow:1px 1px black;}.cpuUsage{position:absolute;width:auto;top:35%;left:clamp(3px,1%,5px);text-align:left;font-size:clamp(7px,2vw,10px);color:white;font-weight:bold;text-shadow:1px 1px black;}.memoryUsage{position:absolute;width:auto;top:41%;left:clamp(3px,1%,5px);text-align:left;font-size:clamp(7px,2vw,10px);color:white;font-weight:bold;text-shadow:1px 1px black;}.load{position:absolute;width:auto;top:47%;left:clamp(3px,1%,5px);text-align:left;font-size:clamp(7px,2vw,10px);color:white;font-weight:bold;text-shadow:1px 1px black;}.uptime{position:absolute;width:auto;top:53%;left:clamp(3px,1%,5px);text-align:left;font-size:clamp(7px,2vw,10px);color:white;font-weight:bold;text-shadow:1px 1px black;}.users{position:absolute;width:auto;top:59%;left:clamp(3px,1%,5px);text-align:left;font-size:clamp(7px,2vw,10px);color:white;font-weight:bold;text-shadow:1px 1px black;}.softwareVersion{position:absolute;width:auto;top:2%;left:26%;text-align:left;font-size:clamp(7px,2vw,10px);color:white;font-weight:bold;text-shadow:1px 1px black;}.storageNumber{position:absolute;width:auto;top:66%;right:clamp(3px,1%,5px);text-align:right;font-size:clamp(7px,2vw,10px);color:white;font-weight:bold;text-shadow:1px 1px black;}.cameraTypeMicro{position:absolute;right:3px;width:15px;top:3px;font-weight:bold;font-size:45%;color:#ffe000;text-shadow:1px 1px black;opacity:70%;}.loading{display:inline-block;padding:20px;color:white;font-size:150%;}.error-message{background-color:rgba(255,0,0,0.8);color:white;padding:20px;margin:20px;border-radius:5px;}.anchor-target{display:block;position:relative;top:-60px;visibility:hidden;}.confirm-overlay{display:none;position:fixed;top:0;left:0;right:0;bottom:0;background:rgba(0,0,0,0.6);z-index:20000;justify-content:center;align-items:center;}.confirm-overlay.visible{display:flex;}.confirm-dialog{background:white;border-radius:12px;box-shadow:0 10px 40px rgba(0,0,0,0.3);min-width:min(350px,90vw);max-width:450px;overflow:hidden;font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,sans-serif;}.confirm-header{padding:15px 20px;background:var(--wall-primary);color:white;font-weight:bold;font-size:16px;}.confirm-body{padding:25px 20px;font-size:15px;color:#333;text-align:center;}.confirm-footer{padding:15px 20px;background:#f8f9fa;display:flex;justify-content:center;gap:15px;}.confirm-btn{padding:10px 25px;border:none;border-radius:6px;font-size:14px;cursor:pointer;font-weight:500;transition:background-color 0.2s;}.confirm-cancel{background:#6c757d;color:white;}.confirm-cancel:hover{background:#5a6268;}.confirm-ok{background:#dc3545;color:white;}.confirm-ok:hover{background:#c82333;}.confirm-ok.confirm-success{background:#28a745;}.confirm-ok.confirm-success:hover{background:#218838;}.toast-container{position:fixed;top:70px;right:20px;z-index:30000;}.toast{background:#333;color:white;padding:12px 20px;border-radius:6px;margin-bottom:10px;box-shadow:0 4px 12px rgba(0,0,0,0.2);animation:toastSlideIn 0.3s ease;font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,sans-serif;font-size:14px;}.toast.success{background:#28a745;}.toast.error{background:#dc3545;}@keyframes toastSlideIn{from{transform:translateX(100%);opacity:0;}to{transform:translateX(0);opacity:1;}}.graph-modal-overlay{display:none;position:fixed;top:0;left:0;right:0;bottom:0;background:rgba(0,0,0,0.6);z-index:25000;justify-content:center;align-items:center;padding:20px;}.graph-modal-overlay.visible{display:flex;}.graph-modal{background:white;border-radius:12px;box-shadow:0 10px 40px rgba(0,0,0,0.3);width:100%;max-width:900px;max-height:90vh;overflow:hidden;display:flex;flex-direction:column;}.graph-modal-header{display:flex;justify-content:space-between;align-items:center;padding:15px 20px;background:linear-gradient(135deg,#3b82f6 0%,#2563eb 100%);color:white;}.graph-modal-header h2{margin:0;font-size:18px;font-weight:600;}.graph-modal-close{background:rgba(255,255,255,0.2);border:none;color:white;width:32px;height:32px;border-radius:6px;font-size:24px;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:background 0.2s;}.graph-modal-close:hover{background:rgba(255,255,255,0.3);}.graph-modal-body{padding:20px;overflow:auto;flex:1;}.graph-loading{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:15px;padding:60px;color:var(--wall-text-muted);}.graph-loading .spinner{width:40px;height:40px;border:3px solid var(--wall-border);border-top-color:var(--wall-primary);border-radius:50%;animation:spin 1s linear infinite;}@keyframes spin{to{transform:rotate(360deg);}}#imageGraphCanvas{display:block;margin:0 auto;}.manage-panel-btn.btn-graph:hover{background:#eff6ff;border-color:var(--wall-primary);color:#1d4ed8;}@media (max-width:768px){.graph-modal{max-width:100%;margin:10px;max-height:calc(100vh - 20px);}.graph-modal-body{padding:10px;}}.search-container{position:relative;display:flex;align-items:center;}.search-input{width:180px;padding:7px 30px 7px 12px;border:1px solid var(--wall-border-dark);border-radius:20px;font-size:12px;background:white;transition:all 0.2s;}.search-input:focus{outline:none;border-color:var(--wall-primary);box-shadow:0 0 0 3px rgba(59,130,246,0.1);width:220px;}.search-input::placeholder{color:var(--wall-text-secondary);}.search-clear{position:absolute;right:6px;background:none;border:none;color:var(--wall-text-secondary);font-size:16px;cursor:pointer;padding:0;width:20px;height:20px;display:none;align-items:center;justify-content:center;border-radius:50%;}.search-clear:hover{background:#f1f5f9;color:var(--wall-text-muted);}.search-input:not(:placeholder-shown)+.search-clear{display:flex;}.filter-actions{display:flex;gap:8px;align-items:center;}.action-btn{display:inline-flex;align-items:center;gap:4px;padding:6px 12px;background:white;border:1px solid var(--wall-border);border-radius:6px;font-size:12px;font-weight:500;color:#475569;cursor:pointer;transition:all 0.2s;}.action-btn:hover:not(:disabled){background:var(--wall-bg);border-color:var(--wall-border-dark);}.action-btn:disabled{opacity:0.5;cursor:not-allowed;}.action-btn.active{background:var(--wall-primary);border-color:var(--wall-primary);color:white;}.action-icon{font-size:14px;}.refresh-status{display:flex;align-items:center;gap:6px;padding:4px 10px;background:white;border:1px solid var(--wall-border);border-radius:6px;font-size:12px;color:var(--wall-text-muted);}.refresh-label{font-weight:500;}.refresh-time{font-family:monospace;color:var(--wall-success);font-weight:600;}.refresh-btn{background:none;border:none;color:var(--wall-text-muted);cursor:pointer;font-size:16px;padding:2px;border-radius:4px;transition:all 0.2s;}.refresh-btn:hover{background:#f1f5f9;color:var(--wall-primary);}.refresh-btn.refreshing{animation:spin 1s linear infinite;}.bulk-actions-bar{display:flex;justify-content:space-between;align-items:center;padding:10px 20px;background:linear-gradient(135deg,#3b82f6 0%,#2563eb 100%);color:white;flex-wrap:wrap;gap:10px;}.bulk-actions-left,.bulk-actions-right{display:flex;align-items:center;gap:8px;flex-wrap:wrap;}.bulk-btn{padding:6px 12px;border:1px solid rgba(255,255,255,0.3);border-radius:4px;background:rgba(255,255,255,0.1);color:white;font-size:12px;cursor:pointer;transition:all 0.2s;}.bulk-btn:hover{background:rgba(255,255,255,0.2);}.bulk-btn-primary{background:var(--wall-success);border-color:var(--wall-success);}.bulk-btn-primary:hover{background:var(--wall-success-dark);}.bulk-btn-secondary{background:var(--wall-warning);border-color:var(--wall-warning);}.bulk-btn-secondary:hover{background:var(--wall-warning-dark);}.bulk-select{padding:6px 10px;border:1px solid rgba(255,255,255,0.3);border-radius:4px;background:rgba(255,255,255,0.1);color:white;font-size:12px;cursor:pointer;}.bulk-select option{background:var(--wall-text);color:white;}.bulk-count{font-weight:600;padding:0 10px;}.camera-checkbox{position:absolute;top:5px;left:5px;width:24px;height:24px;background:white;border:2px solid var(--wall-primary);border-radius:4px;cursor:pointer;z-index:50;display:none;align-items:center;justify-content:center;font-size:16px;color:white;transition:all 0.2s;}.camera-checkbox:hover{background:#eff6ff;}.camera-checkbox.checked{background:var(--wall-primary);}.camera-checkbox.checked::after{content:'✓';}.select-mode .camera-checkbox{display:flex;}.camera-badge{position:absolute;top:-5px;right:-5px;min-width:20px;height:20px;padding:0 5px;border-radius:10px;font-size:10px;font-weight:700;color:white;display:flex;align-items:center;justify-content:center;z-index:60;box-shadow:0 2px 4px rgba(0,0,0,0.2);}.badge-offline{background:var(--wall-danger-light);}.badge-stale{background:var(--wall-warning);}.badge-storage{background:var(--wall-primary);}.section-badge{display:inline-flex;gap:6px;margin-left:10px;font-size:12px;}.section-badge-item{display:inline-flex;align-items:center;gap:3px;padding:2px 8px;border-radius:10px;font-weight:600;}.section-badge-item.offline{background:#fecaca;color:#991b1b;}.section-badge-item.stale{background:#fef3c7;color:#92400e;}.lightbox-overlay{display:none;position:fixed;top:0;left:0;right:0;bottom:0;background:rgba(0,0,0,0.75);z-index:30000;justify-content:center;align-items:flex-start;padding:20px;overflow-y:auto;}.lightbox-overlay.visible{display:flex;}.lightbox-container{background:white;border-radius:12px;box-shadow:0 20px 60px rgba(0,0,0,0.4);width:100%;max-width:1600px;max-height:calc(100vh - 40px);overflow:hidden;display:flex;flex-direction:column;margin:auto 0;}.lightbox-header{display:flex;align-items:center;justify-content:space-between;padding:15px 20px;background:linear-gradient(135deg,#1e40af 0%,#3b82f6 100%);color:white;flex-shrink:0;}.lightbox-title-section{display:flex;align-items:center;gap:15px;}.lightbox-title-section h2{margin:0;font-size:18px;font-weight:600;}.lightbox-job-number{background:rgba(255,255,255,0.2);padding:4px 12px;border-radius:4px;font-size:14px;font-weight:600;}.lightbox-health{display:flex;align-items:center;gap:8px;}.health-indicator{width:14px;height:14px;border-radius:50%;border:2px solid rgba(255,255,255,0.5);}.health-indicator.green{background:var(--wall-success);box-shadow:0 0 8px var(--wall-success);}.health-indicator.amber{background:var(--wall-warning);box-shadow:0 0 8px var(--wall-warning);}.health-indicator.red{background:var(--wall-danger-light);box-shadow:0 0 8px var(--wall-danger-light);}.health-text{font-size:13px;opacity:0.9;}.lightbox-controls{display:flex;align-items:center;gap:8px;}.lightbox-compare-btn{background:rgba(255,255,255,0.2);border:none;color:white;width:32px;height:32px;border-radius:6px;font-size:18px;cursor:pointer;transition:background 0.2s;}.lightbox-compare-btn:hover{background:rgba(255,255,255,0.3);}.lightbox-compare-btn.selected{background:var(--wall-success);}.lightbox-watch-btn{background:rgba(255,255,255,0.2);border:none;color:white;width:32px;height:32px;border-radius:6px;font-size:18px;cursor:pointer;transition:all 0.2s;display:flex;align-items:center;justify-content:center;}.lightbox-watch-btn:hover{background:rgba(255,255,255,0.3);}.lightbox-watch-btn.watching{background:var(--wall-warning);color:var(--wall-text);}.lightbox-watch-btn.watching:hover{background:#fbbf24;}.watch-icon{line-height:1;}.lightbox-ar-btn{background:rgba(255,255,255,0.2);border:none;color:white;width:32px;height:32px;border-radius:6px;font-size:18px;cursor:pointer;transition:all 0.2s;display:flex;align-items:center;justify-content:center;}.lightbox-ar-btn:hover{background:rgba(255,255,255,0.3);}.lightbox-ar-btn.ar-active{background:#dc2626;color:white;}.lightbox-ar-btn.ar-active:hover{background:#b91c1c;}.ar-icon{line-height:1;display:flex;align-items:center;}.ar-icon svg{width:16px;height:16px;}.manage-panel-btn.btn-action-required .btn-icon{color:#dc2626;opacity:1;}.manage-panel-btn.btn-action-required.ar-active{background:#fee2e2;}.lightbox-close{background:rgba(255,255,255,0.2);border:none;color:white;width:32px;height:32px;border-radius:6px;font-size:24px;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:background 0.2s;}.lightbox-close:hover{background:rgba(255,255,255,0.3);}.lightbox-nav-btn{background:rgba(255,255,255,0.2);border:none;color:white;width:40px;height:40px;border-radius:6px;font-size:28px;font-weight:bold;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:background 0.2s,transform 0.1s;flex-shrink:0;line-height:1;}.lightbox-nav-btn:hover{background:rgba(255,255,255,0.35);transform:scale(1.1);}.lightbox-nav-btn:active{transform:scale(0.95);}.lightbox-nav-btn.loading{opacity:0.5;pointer-events:none;}.lightbox-nav-prev{margin-right:10px;}.lightbox-nav-next{margin-right:4px;}.lightbox-body{flex:1;overflow-y:auto;padding:20px;}.lightbox-footer{display:flex;align-items:center;justify-content:center;gap:16px;padding:10px 20px;background:var(--wall-card-bg);border-top:1px solid var(--wall-border);}.lightbox-footer .lightbox-nav-btn{background:rgba(100,116,139,0.2);color:var(--wall-text-muted);}.lightbox-footer .lightbox-nav-btn:hover{background:rgba(59,130,246,0.3);color:var(--wall-primary);}.lightbox-footer-label{font-size:12px;color:var(--wall-text-secondary);user-select:none;}.lightbox-actions-bar{margin-bottom:12px;}.lightbox-actions-bar .quick-actions-grid{grid-template-columns:repeat(8,1fr);}.lightbox-main{display:grid;grid-template-columns:1fr;gap:16px;margin-bottom:16px;}.lightbox-sidebar{background:var(--wall-bg);border:1px solid var(--wall-border);border-radius:6px;padding:12px;}.lightbox-sidebar .lightbox-image-age{position:static;background:none;padding:0 0 8px 0;border-radius:0;color:var(--wall-text-secondary);font-size:13px;border-bottom:1px solid var(--wall-border);margin-bottom:8px;}.lightbox-sidebar .lightbox-time-links{background:none;padding:0;flex-wrap:wrap;}.lightbox-panels{display:flex;flex-direction:column;gap:8px;margin-bottom:16px;}@media (min-width:1200px){.lightbox-main{grid-template-columns:1fr 300px;}}.lightbox-image-section{position:relative;background:var(--wall-text);border-radius:8px;overflow:hidden;align-self:start;}.lightbox-image-loader{display:none;position:absolute;top:0;left:0;right:0;bottom:0;z-index:2;background:var(--wall-text);justify-content:center;align-items:center;}.lightbox-image-loader.visible{display:flex;}.lightbox-image-loader .spinner{width:40px;height:40px;border:3px solid #334155;border-top-color:var(--wall-primary);border-radius:50%;animation:spin 1s linear infinite;}.lightbox-image{width:100%;height:auto;display:block;vertical-align:bottom;}.lightbox-image-time{position:absolute;bottom:40px;left:0;right:0;text-align:center;font-size:18px;font-weight:700;color:var(--wall-success);text-shadow:2px 2px 4px rgba(0,0,0,0.8);}.lightbox-refresh-btn{position:absolute;top:10px;right:10px;z-index:3;background:rgba(0,0,0,0.5);border:none;color:white;width:48px;height:48px;border-radius:8px;font-size:32px;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:background 0.2s;line-height:1;}.lightbox-refresh-btn:hover{background:rgba(59,130,246,0.7);}.lightbox-image-countdown{position:absolute;top:10px;left:10px;z-index:3;background:rgba(0,0,0,0.5);padding:6px 12px;border-radius:6px;color:var(--wall-border-dark);font-size:13px;font-weight:500;}.lightbox-image-age{position:absolute;bottom:10px;right:10px;z-index:3;background:rgba(0,0,0,0.6);padding:4px 10px;border-radius:4px;color:white;font-size:12px;}.lightbox-time-links{display:flex;gap:4px;background:var(--wall-text);padding:6px 8px;}.lb-time-link{display:inline-block;padding:3px 10px;background:#334155;color:var(--wall-text-secondary);font-size:12px;font-weight:600;text-decoration:none;border-radius:4px;transition:background 0.15s;}.lb-time-link:hover{background:#475569;color:var(--wall-border);}.lightbox-panel{background:var(--wall-bg);border:1px solid var(--wall-border);border-radius:6px;padding:10px 12px;}.panel-title{margin:0 0 8px 0;font-size:14px;font-weight:600;color:var(--wall-text-muted);text-transform:uppercase;letter-spacing:0.5px;}.quick-actions-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:8px;}.quick-action-btn{display:flex;flex-direction:row;align-items:center;justify-content:center;gap:4px;padding:4px 6px;background:white;border:1px solid var(--wall-border);border-radius:4px;text-decoration:none;color:#475569;font-size:11px;transition:all 0.2s;cursor:pointer;white-space:nowrap;}.quick-action-btn:hover{background:#eff6ff;border-color:var(--wall-primary);color:#1d4ed8;}.quick-action-btn:active,.quick-action-btn.pressed{transform:scale(0.92);background:#dbeafe;border-color:var(--wall-primary);}.qa-icon{font-size:14px;line-height:1;}.qa-text{text-align:center;}.micro-stat-card.dslr-online .micro-stat-icon{color:var(--wall-success-dark);}.micro-stat-card.dslr-online .micro-stat-val{color:var(--wall-success-dark);}.micro-stat-card.dslr-online{border-color:#bbf7d0;background:#f0fdf4;}.micro-stat-card.dslr-offline .micro-stat-icon{color:var(--wall-danger);}.micro-stat-card.dslr-offline .micro-stat-val{color:var(--wall-danger);}.micro-stat-card.dslr-offline{border-color:#fecaca;background:#fef2f2;}.micro-stat-card.dslr-warning .micro-stat-icon{color:var(--wall-warning-dark);}.micro-stat-card.dslr-warning .micro-stat-val{color:var(--wall-warning-dark);}.micro-stat-card.dslr-warning{border-color:#fde68a;background:#fffbeb;}.micro-stat-card.dslr-hot .micro-stat-icon{color:var(--wall-danger);}.micro-stat-card.dslr-hot .micro-stat-val{color:var(--wall-danger);}.micro-stat-card.dslr-warm .micro-stat-icon{color:var(--wall-warning-dark);}.micro-stat-card.dslr-warm .micro-stat-val{color:var(--wall-warning-dark);}.micro-stat-card.dslr-normal .micro-stat-icon{color:var(--wall-primary);}.micro-stat-card .dslr-icon-camera,.micro-stat-card .dslr-icon-shutter,.micro-stat-card .dslr-icon-lens,.micro-stat-card .dslr-icon-zoom,.micro-stat-card .dslr-icon-aperture,.micro-stat-card .dslr-icon-iso,.micro-stat-card .dslr-icon-expcomp,.micro-stat-card .dslr-icon-apo{color:#475569;}.micro-stat-card .dslr-icon-cpu{color:#7c3aed;}.micro-stat-card .dslr-icon-region{color:var(--wall-primary);}.micro-stat-card .dslr-icon-uptime,.micro-stat-card .dslr-icon-version{color:var(--wall-text-muted);}.micro-stat-card[id^="dslrCard"]{padding:8px 9px;gap:8px;border-radius:6px;}.micro-stat-card[id^="dslrCard"] .micro-stat-icon{width:27px;height:27px;}.micro-stat-card[id^="dslrCard"] .micro-stat-val{font-size:11px;}.micro-stat-card[id^="dslrCard"] .micro-stat-label{font-size:8px;}.lightbox-tabs{display:flex;gap:4px;border-bottom:1px solid var(--wall-border);margin-bottom:15px;}.tab-btn{padding:10px 20px;background:none;border:none;border-bottom:2px solid transparent;color:var(--wall-text-muted);font-size:13px;font-weight:500;cursor:pointer;transition:all 0.2s;}.tab-btn:hover{color:var(--wall-text);}.tab-btn.active{color:var(--wall-primary);border-bottom-color:var(--wall-primary);}.lightbox-tab-content{min-height:150px;}.tab-panel{display:none;}.tab-panel.active{display:block;}.image-timeline{display:flex;gap:10px;overflow-x:auto;padding:10px 0;}.timeline-item{flex-shrink:0;width:120px;text-align:center;}.timeline-thumb{width:120px;height:80px;object-fit:cover;border-radius:6px;cursor:pointer;transition:transform 0.2s;border:2px solid transparent;}.timeline-thumb:hover{transform:scale(1.05);border-color:var(--wall-primary);}.timeline-time{font-size:11px;color:var(--wall-text-muted);margin-top:5px;}.timeline-loading{color:var(--wall-text-muted);padding:20px;text-align:center;width:100%;}.lightbox-graph-container{background:white;border-radius:8px;padding:10px;}.graph-nav-bar{display:flex;align-items:center;justify-content:center;gap:12px;margin-bottom:6px;}.graph-nav-btn{width:32px;height:32px;border:1px solid var(--border-color,#e2e8f0);border-radius:6px;background:#f8fafc;color:#475569;font-size:20px;line-height:1;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:background 0.15s,color 0.15s;}.graph-nav-btn:hover{background:#e2e8f0;color:#1e293b;}.graph-nav-btn:disabled{opacity:0.3;cursor:default;}.graph-nav-label{font-size:12px;color:#64748b;min-width:100px;text-align:center;}.graph-canvas-wrap{position:relative;}.graph-loading-overlay{display:none;position:absolute;inset:0;background:rgba(255,255,255,0.85);z-index:5;justify-content:center;align-items:center;}.graph-loading-overlay.visible{display:flex;}.graph-loading-overlay .spinner{width:32px;height:32px;border:3px solid #e2e8f0;border-top-color:var(--wall-primary);border-radius:50%;animation:spin 1s linear infinite;}.graph-tooltip{display:none;position:absolute;background:rgba(15,23,42,0.92);color:#fff;padding:6px 10px;border-radius:6px;font-size:11px;line-height:1.4;pointer-events:none;white-space:nowrap;z-index:10;}.graph-tooltip.visible{display:block;}#lightboxGraphCanvas{max-width:100%;}.comparison-overlay{display:none;position:fixed;top:0;left:0;right:0;bottom:0;background:rgba(0,0,0,0.8);z-index:35000;padding:20px;overflow-y:auto;}.comparison-overlay.visible{display:block;}.comparison-container{background:white;border-radius:12px;max-width:1400px;margin:0 auto;overflow:hidden;}.comparison-header{display:flex;justify-content:space-between;align-items:center;padding:15px 20px;background:linear-gradient(135deg,#7c3aed 0%,#a855f7 100%);color:white;}.comparison-header h2{margin:0;font-size:18px;}.comparison-body{display:grid;grid-template-columns:1fr auto 1fr;gap:0;padding:20px;}.comparison-camera{min-height:400px;}.comparison-divider{width:1px;background:var(--wall-border);margin:0 20px;}.comparison-loading{display:flex;align-items:center;justify-content:center;height:100%;color:var(--wall-text-secondary);}@media (max-width:900px){.filter-bar{flex-direction:column;gap:10px;}.filter-actions{flex-wrap:wrap;justify-content:center;}.refresh-status{width:100%;justify-content:center;}.lightbox-actions-bar .quick-actions-grid{grid-template-columns:repeat(4,1fr);}.comparison-body{grid-template-columns:1fr;}.comparison-divider{width:100%;height:1px;margin:20px 0;}}@media (max-width:600px){.lightbox-container{max-height:100vh;border-radius:0;}.lightbox-overlay{padding:0;}.lightbox-title-section h2{font-size:14px;}.lightbox-job-number{font-size:12px;padding:2px 8px;}.lightbox-nav-btn{width:32px;height:32px;font-size:22px;}.lightbox-nav-prev{margin-right:6px;}.lightbox-actions-bar .quick-actions-grid{grid-template-columns:repeat(3,1fr);}.bulk-actions-bar{padding:8px 10px;}.bulk-btn{padding:4px 8px;font-size:11px;}}body.list-view #cameraWall{padding:8px;background:var(--wall-border);}body.list-view .wall-section-cameras{display:flex;flex-wrap:wrap;gap:10px;align-items:stretch;justify-content:center;}body.list-view .section-header{margin:6px 0 0;border-radius:4px 4px 0 0;}body.list-view .cameraContainer{position:relative;display:flex;flex-direction:column;flex:0 0 380px;width:380px;max-width:380px;box-sizing:border-box;background:var(--list-card-bg);border:1px solid var(--list-card-border);border-left:4px solid transparent;border-radius:6px;box-shadow:var(--list-card-shadow);overflow:hidden;margin:0;padding:0;cursor:pointer;min-height:92px;isolation:isolate;contain:layout paint;transition:transform 0.12s ease,box-shadow 0.18s ease,border-left-color 0.15s ease;}body.list-view .cameraContainer:hover{transform:translateY(-1px);box-shadow:var(--list-card-shadow-hover);}body.list-view .cameraContainer.row-online{border-left-color:var(--list-stripe-online);background:linear-gradient(90deg,var(--list-tint-online) 0,var(--list-card-bg) 140px);}body.list-view .cameraContainer.row-offline{border-left-color:var(--list-stripe-offline);background:linear-gradient(90deg,var(--list-tint-offline) 0,var(--list-card-bg) 140px);}body.list-view .cameraContainer.row-stale{border-left-color:var(--list-stripe-stale);background:linear-gradient(90deg,var(--list-tint-stale) 0,var(--list-card-bg) 140px);}body.list-view .cameraContainer.selected{outline:2px solid var(--wall-primary);outline-offset:-1px;}body.list-view .headContainer{display:flex;flex-wrap:nowrap;align-items:center;width:auto;min-width:0;order:0;margin:0;padding:0;background:var(--list-header-bg);gap:0;}body.list-view .headContainer .headContent{font-family:ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;font-size:10.5px;padding:5px 7px;float:none !important;background-color:transparent !important;border-right:none !important;color:var(--list-header-muted) !important;font-weight:500;white-space:nowrap;letter-spacing:0.01em;}body.list-view .headContainer .headContent:first-child,body.list-view .headContainer .headContent:nth-child(2){color:var(--list-header-text) !important;font-weight:600;font-size:10px;text-transform:uppercase;letter-spacing:0.08em;}body.list-view .headContainer .headContent a{font-size:10.5px;color:var(--list-header-muted) !important;text-decoration:none;transition:color 0.15s ease;font-weight:500;}body.list-view .headContainer .headContent a:hover{color:var(--list-header-hover) !important;}body.list-view .headContainer .headContent.link-ssh,body.list-view .headContainer .headContent.link-chat,body.list-view .headContainer .headContent.link-logs{display:inline-block !important;margin-left:0;padding:5px 6px;}body.list-view .headContainer .headContent.link-ssh{margin-left:auto;}body.list-view .headContainer .headContent.link-chat::before,body.list-view .headContainer .headContent.link-logs::before{content:"\00b7";margin-right:5px;color:rgba(255,255,255,0.28);}body.list-view .headContainer>span[style*="clear"]{display:none;}body.list-view .headContainer>div[style*="display:inline-block"][style*="text-align:center"]{display:none;}body.list-view .headContainer .link-xero,body.list-view .headContainer .link-streak,body.list-view .headContainer .link-cam,body.list-view .headContainer .link-copy{display:none !important;}body.list-view .imageContainer{position:static;display:grid;grid-template-columns:1fr 1.25fr;grid-auto-flow:dense;gap:6px 10px;padding:10px 12px 10px 14px;order:1;min-width:0;background:transparent;align-items:center;}body.list-view .wallImage,body.list-view .imageContainer>a,body.list-view .overlay-question,body.list-view .overlay-caution,body.list-view .overlay-error,body.list-view .offlineYellow,body.list-view .offlineOrange,body.list-view .offlineRed,body.list-view .focusIssues,body.list-view .afError,body.list-view .toggleStatus,body.list-view .linkContainer,body.list-view .tile-image-loader{display:none !important;}body.list-view .VPNNumber,body.list-view .VPNNumberOld,body.list-view .cameraName,body.list-view .wallImageTime,body.list-view .statusText,body.list-view .cameraShutter,body.list-view .cpuTemp,body.list-view .cpuUsage,body.list-view .memoryUsage,body.list-view .storageNumber,body.list-view .serviceRegion,body.list-view .financeStatus,body.list-view .mobileNumber,body.list-view .pingTime,body.list-view .carrier,body.list-view .fleetSim,body.list-view .cameraTypeInternal,body.list-view .cameraModes,body.list-view .cameraType,body.list-view .powerOff,body.list-view .lensName,body.list-view .aexif,body.list-view .bexif,body.list-view .cexif,body.list-view .dexif,body.list-view .eexif,body.list-view .USBStatusText,body.list-view .load,body.list-view .uptime,body.list-view .users,body.list-view .softwareVersion,body.list-view .memCard,body.list-view .microBattery,body.list-view .microSolar{position:static !important;display:block !important;width:auto !important;text-shadow:none !important;margin:0;text-align:left;white-space:nowrap;color:var(--list-label) !important;padding:1px 0;font-size:11.5px;font-weight:500;opacity:1 !important;overflow:hidden;text-overflow:ellipsis;font-family:ui-sans-serif,system-ui,-apple-system,"Segoe UI",sans-serif;}body.list-view .cameraName{display:none !important;}body.list-view .upload-server-badge{display:none !important;}body.list-view .head-camera-name{display:block;font-family:ui-sans-serif,system-ui,-apple-system,"Segoe UI",sans-serif;font-size:12.5px;font-weight:600;letter-spacing:-0.005em;color:var(--list-header-text);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;padding:5px 8px;min-width:0;flex:1;}body.list-view .statusText{order:2;grid-column:1;justify-self:start;align-self:center;display:inline-block !important;text-align:center;font-family:ui-sans-serif,system-ui,-apple-system,sans-serif;font-size:10.5px;font-weight:700;text-transform:uppercase;letter-spacing:0.09em;padding:3px 9px;border-radius:999px;color:#ffffff !important;background:var(--list-pill-online);white-space:nowrap;width:auto !important;overflow:visible !important;line-height:1.4;}body.list-view .cameraContainer.row-offline .statusText{background:var(--list-pill-offline);}body.list-view .cameraContainer.row-stale .statusText{background:var(--list-pill-stale);}body.list-view .wallImageTime{order:3;grid-column:2;text-align:right;font-family:ui-monospace,"SF Mono","JetBrains Mono",Consolas,"Liberation Mono",monospace;font-size:12.5px;font-weight:500;font-feature-settings:"tnum" 1,"cv11" 1;padding:2px 0;color:var(--list-value) !important;background:transparent;white-space:nowrap;border-radius:0;align-self:center;}body.list-view .VPNNumber,body.list-view .VPNNumberOld{display:none !important;}body.list-view .head-region{display:none !important;}body.list-view .head-jobnumber{display:none !important;}body.list-view .pingTime{order:10;grid-column:1;font-family:ui-monospace,"SF Mono","JetBrains Mono",Consolas,"Liberation Mono",monospace;font-size:11px;font-weight:500;color:var(--list-label) !important;padding:2px 0;font-feature-settings:"tnum" 1;letter-spacing:0;border-top:1px solid var(--list-divider);padding-top:6px;margin-top:2px;}body.list-view .carrier,body.list-view .fleetSim,body.list-view .mobileNumber,body.list-view .financeStatus,body.list-view .cpuTemp,body.list-view .cpuUsage,body.list-view .memoryUsage,body.list-view .load,body.list-view .uptime,body.list-view .users,body.list-view .cameraShutter{display:none !important;}body.list-view .USBStatusText{order:11;grid-column:2;text-align:right;font-family:ui-sans-serif,system-ui,sans-serif;font-size:11px;font-weight:500;color:var(--list-value) !important;padding:2px 0;border-top:1px solid var(--list-divider);padding-top:6px;margin-top:2px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}body.list-view .USBStatusText::before{content:"";display:inline-block;width:6px;height:6px;border-radius:50%;background:var(--list-stripe-online);margin-right:6px;vertical-align:middle;transform:translateY(-1px);}body.list-view .USBStatusText[style*="#73e873"]{color:var(--list-value) !important;}body.list-view .USBStatusText[style*="red"]:not([style*="#73e873"]),body.list-view .USBStatusText[style*="rgb(255,0,0)"]{color:var(--list-stripe-offline) !important;font-weight:600;}body.list-view .USBStatusText[style*="red"]:not([style*="#73e873"])::before,body.list-view .USBStatusText[style*="rgb(255,0,0)"]::before{background:var(--list-stripe-offline);}body.list-view .cameraModes,body.list-view .cameraType,body.list-view .powerOff,body.list-view .lensName,body.list-view .storageNumber,body.list-view .softwareVersion,body.list-view .serviceRegion,body.list-view .cameraTypeInternal,body.list-view .memCard,body.list-view .aexif,body.list-view .bexif,body.list-view .cexif,body.list-view .dexif,body.list-view .eexif{display:none !important;}body.list-view .storageNumber br,body.list-view .pingTime br{display:none;}body.list-view .microBattery,body.list-view .microSolar,body.list-view .microTemp,body.list-view .microFirmware,body.list-view .microDisk,body.list-view .microUpdate{display:none !important;}body.list-view .cameraContainer.microcontroller .microBattery,body.list-view .cameraContainer.microcontroller .microSolar{display:block !important;font-family:ui-monospace,"SF Mono","JetBrains Mono",Consolas,monospace;font-size:11px;font-weight:500;order:10;padding:2px 0;font-feature-settings:"tnum" 1;border-top:1px solid var(--list-divider);padding-top:6px;margin-top:2px;}body.list-view .cameraContainer.microcontroller .microBattery{grid-column:1;}body.list-view .cameraContainer.microcontroller .microSolar{grid-column:2;text-align:right;}body.list-view .cameraContainer.microcontroller .microBattery.battery-good{color:var(--list-stripe-online) !important;}body.list-view .cameraContainer.microcontroller .microBattery.battery-warning{color:var(--list-stripe-stale) !important;}body.list-view .cameraContainer.microcontroller .microBattery.battery-critical{color:var(--list-stripe-offline) !important;font-weight:600;}body.list-view .cameraContainer.microcontroller .microTemp,body.list-view .cameraContainer.microcontroller .microDisk,body.list-view .cameraContainer.microcontroller .cameraShutter,body.list-view .cameraContainer.microcontroller .cpuTemp,body.list-view .cameraContainer.microcontroller .cpuUsage,body.list-view .cameraContainer.microcontroller .memoryUsage,body.list-view .cameraContainer.microcontroller .storageNumber,body.list-view .cameraContainer.microcontroller .cameraModes,body.list-view .cameraContainer.microcontroller .cameraType,body.list-view .cameraContainer.microcontroller .powerOff,body.list-view .cameraContainer.microcontroller .lensName,body.list-view .cameraContainer.microcontroller .USBStatusText,body.list-view .cameraContainer.microcontroller .load,body.list-view .cameraContainer.microcontroller .uptime,body.list-view .cameraContainer.microcontroller .users,body.list-view .cameraContainer.microcontroller .softwareVersion,body.list-view .cameraContainer.microcontroller .memCard,body.list-view .cameraContainer.microcontroller .microFirmware,body.list-view .cameraContainer.microcontroller .microUpdate{display:none !important;}body.list-view .cameraContainer.previous-project{display:flex;flex-direction:column;width:auto;max-width:none;min-width:0;border-radius:6px;overflow:hidden;}body.list-view .cameraContainer.previous-project .cameraName{display:none !important;}body.list-view .cameraContainer.previous-project .VPNNumber,body.list-view .cameraContainer.previous-project .VPNNumberOld,body.list-view .cameraContainer.previous-project .wallImageTime,body.list-view .cameraContainer.previous-project .statusText,body.list-view .cameraContainer.previous-project .cameraShutter,body.list-view .cameraContainer.previous-project .cpuTemp,body.list-view .cameraContainer.previous-project .cpuUsage,body.list-view .cameraContainer.previous-project .memoryUsage,body.list-view .cameraContainer.previous-project .storageNumber,body.list-view .cameraContainer.previous-project .carrier,body.list-view .cameraContainer.previous-project .mobileNumber,body.list-view .cameraContainer.previous-project .pingTime,body.list-view .cameraContainer.previous-project .load,body.list-view .cameraContainer.previous-project .uptime,body.list-view .cameraContainer.previous-project .users,body.list-view .cameraContainer.previous-project .softwareVersion,body.list-view .cameraContainer.previous-project .cameraType,body.list-view .cameraContainer.previous-project .lensName,body.list-view .cameraContainer.previous-project .cameraModes,body.list-view .cameraContainer.previous-project .powerOff,body.list-view .cameraContainer.previous-project .USBStatusText,body.list-view .cameraContainer.previous-project .memCard,body.list-view .cameraContainer.previous-project .serviceRegion,body.list-view .cameraContainer.previous-project .financeStatus,body.list-view .cameraContainer.previous-project .cameraTypeInternal{display:none !important;}body.list-view .cameraContainer.future-project{display:flex;flex-direction:column;width:auto;max-width:none;min-width:0;border-radius:6px;overflow:hidden;background:linear-gradient(90deg,rgba(14,116,144,0.08) 0,var(--list-card-bg) 140px);border-left-color:#06b6d4;}body.list-view .cameraContainer.future-project .headContainer{display:none !important;}body.list-view .cameraContainer.future-project .imageContainer>*{display:none !important;}body.list-view .cameraContainer.future-project .cameraName{position:static !important;display:block !important;font-family:ui-sans-serif,system-ui,sans-serif;font-size:14px;padding:12px 18px;background:transparent;color:#0e7490 !important;text-align:center;font-weight:600;letter-spacing:-0.005em;text-shadow:none;order:1;}body.list-view .camera-checkbox{position:static;flex-shrink:0;margin:0 0 2px;align-self:flex-end;}body.list-view .camera-manage-panel{z-index:10000;}@media (min-width:769px){body.list-view .head-camera-name{font-size:14px;padding:6px 10px;}body.list-view .statusText{font-size:11.5px;padding:4px 11px;letter-spacing:0.1em;}body.list-view .wallImageTime{font-size:14px;padding:3px 0;}body.list-view .pingTime,body.list-view .USBStatusText{font-size:12px;padding:2px 0;padding-top:7px;}body.list-view .cameraContainer.microcontroller .microBattery,body.list-view .cameraContainer.microcontroller .microSolar{font-size:12px;padding:2px 0;padding-top:7px;}}@media (min-width:1600px){body.list-view .wall-section-cameras{gap:12px;}body.list-view .cameraContainer{flex:0 0 400px;width:400px;max-width:400px;}}@media (max-width:1100px){body.list-view .wall-section-cameras{gap:10px;}body.list-view .cameraContainer{flex:0 0 340px;width:340px;max-width:340px;}}@media (max-width:820px){body.list-view .wall-section-cameras{gap:8px;}body.list-view .cameraContainer{flex:0 0 100%;width:100%;max-width:520px;}}@media (max-width:500px){body.list-view .wall-section-cameras{gap:6px;}body.list-view #cameraWall{padding:6px;}body.list-view .cameraContainer{flex:0 0 100%;width:100%;max-width:100%;padding:0;}body.list-view .imageContainer{padding:8px 10px 8px 12px;gap:5px 8px;}body.list-view .headContainer{flex-wrap:wrap;gap:2px;}body.list-view .headContent{flex-shrink:1;min-width:0;}body.list-view .aexif,body.list-view .bexif,body.list-view .cexif,body.list-view .dexif,body.list-view .eexif,body.list-view .memCard,body.list-view .cameraTypeInternal{display:none !important;}}@media (max-width:375px){body.list-view .headContainer .link-logs,body.list-view .headContainer .link-ssh{display:none !important;}}.micro-stat-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;}.micro-stat-card{display:flex;align-items:center;gap:10px;background:var(--wall-bg);border:1px solid var(--wall-border);border-radius:8px;padding:10px 12px;transition:border-color 0.15s;}.micro-stat-card:hover{border-color:var(--wall-border-dark);}.micro-stat-icon{flex-shrink:0;width:36px;height:36px;display:flex;align-items:center;justify-content:center;color:var(--wall-text-muted);}.micro-stat-icon svg{width:100%;height:100%;}.micro-stat-info{display:flex;flex-direction:column;min-width:0;}.micro-stat-val{font-size:15px;font-weight:600;color:var(--wall-text);line-height:1.2;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}.micro-stat-label{font-size:10px;color:var(--wall-text-secondary);text-transform:uppercase;letter-spacing:0.5px;line-height:1.3;}.micro-stat-card.battery-good .micro-stat-icon{color:var(--wall-success-dark);}.micro-stat-card.battery-good .micro-stat-val{color:var(--wall-success-dark);}.micro-stat-card.battery-good{border-color:#bbf7d0;background:#f0fdf4;}.micro-stat-card.battery-warning .micro-stat-icon{color:var(--wall-warning-dark);}.micro-stat-card.battery-warning .micro-stat-val{color:var(--wall-warning-dark);}.micro-stat-card.battery-warning{border-color:#fde68a;background:#fffbeb;}.micro-stat-card.battery-low .micro-stat-icon{color:var(--wall-danger);}.micro-stat-card.battery-low .micro-stat-val{color:var(--wall-danger);}.micro-stat-card.battery-low{border-color:#fecaca;background:#fef2f2;}.micro-stat-card.solar-active .micro-stat-icon{color:var(--wall-warning-dark);}.micro-stat-card.temp-hot .micro-stat-icon{color:var(--wall-danger);}.micro-stat-card.temp-hot .micro-stat-val{color:var(--wall-danger);}.micro-stat-card.temp-warm .micro-stat-icon{color:var(--wall-warning-dark);}.micro-stat-card.temp-warm .micro-stat-val{color:var(--wall-warning-dark);}.micro-stat-card.temp-normal .micro-stat-icon{color:var(--wall-primary);}.micro-stat-card.storage-critical .micro-stat-icon{color:var(--wall-danger);}.micro-stat-card.storage-critical .micro-stat-val{color:var(--wall-danger);}.micro-stat-card.storage-critical{border-color:#fecaca;background:#fef2f2;}.micro-stat-card.storage-warning .micro-stat-icon{color:var(--wall-warning-dark);}.micro-stat-card.storage-warning .micro-stat-val{color:var(--wall-warning-dark);}.micro-stat-card .micro-icon-firmware{color:#7c3aed;}.micro-stat-card .micro-icon-serial{color:var(--wall-text-muted);}@media (max-width:1200px){.micro-stat-grid{grid-template-columns:repeat(2,1fr);}}@media (max-width:768px){.micro-stat-grid{grid-template-columns:repeat(2,1fr);gap:6px;}.micro-stat-card{padding:8px 10px;gap:8px;}.micro-stat-icon{width:28px;height:28px;}.micro-stat-val{font-size:13px;}}@media (max-width:480px){.micro-stat-grid{grid-template-columns:1fr 1fr;gap:5px;}.micro-stat-card{padding:7px 8px;gap:6px;}.micro-stat-icon{width:24px;height:24px;}.micro-stat-val{font-size:12px;}.micro-stat-label{font-size:9px;}}.micro-tab-btn{display:none !important;}.micro-tab-btn.micro-visible{display:inline-block !important;}.micro-charts-panel{padding:15px;position:relative;}.micro-chart-block{margin-bottom:20px;}.micro-chart-block:last-child{margin-bottom:0;}.micro-chart-block h3{font-size:14px;font-weight:600;color:#374151;margin:0 0 8px 0;font-family:-apple-system,BlinkMacSystemFont,'Segoe UI',Roboto,'Helvetica Neue',Arial,sans-serif;}.micro-chart-wrapper{height:250px;position:relative;}.micro-chart-wrapper canvas{width:100% !important;height:100% !important;}.micro-charts-loading{text-align:center;padding:40px 20px;color:#6b7280;font-size:14px;font-family:-apple-system,BlinkMacSystemFont,'Segoe UI',Roboto,'Helvetica Neue',Arial,sans-serif;}.micro-charts-loading::before{content:'';display:block;width:28px;height:28px;border:3px solid #e5e7eb;border-top-color:#1a56db;border-radius:50%;margin:0 auto 12px;animation:spin 0.8s linear infinite;}.micro-charts-error{text-align:center;padding:20px;color:var(--wall-danger);font-size:13px;background:#fef2f2;border:1px solid #fecaca;border-radius:6px;margin-bottom:15px;font-family:-apple-system,BlinkMacSystemFont,'Segoe UI',Roboto,'Helvetica Neue',Arial,sans-serif;}.micro-chart-empty{text-align:center;padding:30px 20px;color:#9ca3af;font-size:13px;font-style:italic;font-family:-apple-system,BlinkMacSystemFont,'Segoe UI',Roboto,'Helvetica Neue',Arial,sans-serif;}@media (max-width:768px){.micro-chart-wrapper{height:200px;}.micro-charts-panel{padding:10px;}.micro-chart-block h3{font-size:13px;}}@media (max-width:480px){.micro-chart-wrapper{height:180px;}.micro-charts-panel{padding:8px;}.micro-chart-block h3{font-size:12px;}.micro-chart-block{margin-bottom:15px;}}.camera-control-panel{padding:10px 0;}.cc-back-btn{display:inline-block;background:none;border:none;color:var(--wall-primary);font-size:15px;font-weight:500;cursor:pointer;padding:6px 10px;margin-bottom:10px;border-radius:6px;transition:background 0.2s;}.cc-back-btn:hover{background:rgba(59,130,246,0.08);}.cc-connected-to{font-size:0.85rem;font-weight:600;color:var(--wall-text-muted);text-align:center;margin-bottom:10px;}.cc-control-buttons{display:flex;gap:0.75rem;}.cc-control-btn{flex:1;display:flex;flex-direction:column;align-items:center;gap:0.4rem;padding:1rem 0.75rem 0.85rem;background:#fff;border:2px solid var(--wall-border);border-radius:10px;color:var(--wall-text);cursor:pointer;transition:all 0.3s;font-family:inherit;box-shadow:0 1px 3px rgba(0,0,0,0.06);}.cc-control-btn:hover:not(:disabled){border-color:var(--wall-primary);transform:translateY(-2px);box-shadow:0 4px 12px rgba(59,130,246,0.15);}.cc-control-btn:active:not(:disabled){transform:translateY(0);}.cc-control-btn:disabled{opacity:0.4;cursor:not-allowed;}.cc-control-btn.cc-btn-success{border-color:var(--wall-success);}.cc-control-btn.cc-btn-success:hover:not(:disabled){border-color:var(--wall-success);box-shadow:0 4px 12px rgba(22,163,74,0.15);}.cc-control-btn.cc-btn-error{border-color:var(--wall-danger);}.cc-control-btn.cc-btn-error:hover:not(:disabled){border-color:var(--wall-danger);box-shadow:0 4px 12px rgba(220,38,38,0.15);}.cc-control-btn.cc-btn-warning{border-color:var(--wall-warning);}.cc-control-btn.cc-btn-warning:hover:not(:disabled){border-color:var(--wall-warning);box-shadow:0 4px 12px rgba(217,119,6,0.15);}.cc-control-btn.cc-btn-loading{border-color:var(--wall-warning);opacity:0.85;}.cc-btn-icon{font-size:1.8rem;line-height:1;}.cc-btn-label{font-size:0.95rem;font-weight:600;}.cc-btn-status{font-size:0.78rem;font-weight:500;min-height:1.2em;transition:color 0.3s;color:var(--wall-text-muted);}.cc-btn-status:empty{display:none;}.cc-btn-status.cc-status-success{color:var(--wall-success);}.cc-btn-status.cc-status-error{color:var(--wall-danger);}.cc-btn-status.cc-status-warning{color:var(--wall-warning);}.cc-btn-status.cc-status-loading{color:var(--wall-warning);animation:cc-pulse-text 1s infinite;}@keyframes cc-pulse-text{0%,100%{opacity:1;}50%{opacity:0.4;}}.cc-btn-age{font-size:0.68rem;color:var(--wall-text-secondary);min-height:1em;opacity:0.7;}.cc-btn-age:empty{display:none;}.cc-btn-age.cc-age-stale{color:var(--wall-warning);opacity:1;}.cc-relay-progress{display:flex;align-items:center;justify-content:center;gap:6px;margin-bottom:4px;}.cc-relay-spinner{width:14px;height:14px;border:2px solid rgba(59,130,246,0.2);border-top-color:var(--wall-primary);border-radius:50%;animation:cc-relay-spin 0.7s linear infinite;flex-shrink:0;}@keyframes cc-relay-spin{to{transform:rotate(360deg);}}.cc-relay-step{font-size:0.68rem;font-weight:700;text-transform:uppercase;letter-spacing:0.5px;color:var(--wall-primary);background:rgba(59,130,246,0.1);padding:2px 8px;border-radius:10px;}.cc-relay-desc{display:block;font-size:0.78rem;font-weight:500;color:var(--wall-text-muted);}.cc-btn-device-list{display:flex;flex-direction:column;gap:0.25rem;margin-top:0.4rem;width:100%;}.cc-btn-device-row{display:flex;align-items:center;justify-content:center;gap:0.4rem;font-size:0.72rem;font-family:monospace;background:#f1f5f9;border-radius:4px;padding:0.25rem 0.4rem;}.cc-btn-device-name{color:var(--wall-text);font-weight:600;}.cc-btn-device-size{color:var(--wall-success);}.cc-btn-device-mount{color:var(--wall-warning);font-size:0.68rem;}.cc-btn-device-unmounted{color:var(--wall-text-secondary);font-size:0.68rem;font-style:italic;}.cc-raw-details{margin-top:10px;background:#f8fafc;border:1px solid var(--wall-border);border-radius:6px;overflow:hidden;}.cc-raw-details summary{padding:8px 12px;font-size:0.82rem;font-weight:500;color:var(--wall-text-muted);cursor:pointer;user-select:none;}.cc-raw-details summary:hover{background:#f1f5f9;}.cc-raw-details pre{margin:0;padding:10px 12px;font-size:0.72rem;line-height:1.5;background:#1e293b;color:#e2e8f0;overflow-x:auto;white-space:pre-wrap;word-break:break-all;max-height:200px;overflow-y:auto;}.cc-history-title{font-size:0.85rem;font-weight:600;color:var(--wall-text-muted);margin:12px 0 6px;}.cc-history-log{display:flex;flex-direction:column;gap:6px;max-height:280px;overflow-y:auto;}.cc-history-entry{padding:6px 10px;border-left:3px solid var(--wall-border);background:#f8fafc;border-radius:0 4px 4px 0;font-size:0.78rem;}.cc-history-entry.cc-history-success{border-left-color:var(--wall-success);}.cc-history-entry.cc-history-error{border-left-color:var(--wall-danger);}.cc-history-entry.cc-history-warning{border-left-color:var(--wall-warning);}.cc-history-entry.cc-history-past{opacity:0.85;background:#f1f5f9;}.cc-history-header{display:flex;align-items:center;gap:6px;flex-wrap:wrap;}.cc-history-dot{width:7px;height:7px;border-radius:50%;background:var(--wall-border-dark);flex-shrink:0;}.cc-history-success .cc-history-dot{background:var(--wall-success);}.cc-history-error .cc-history-dot{background:var(--wall-danger);}.cc-history-warning .cc-history-dot{background:var(--wall-warning);}.cc-history-label{font-weight:600;color:var(--wall-text);text-transform:capitalize;}.cc-history-result{color:var(--wall-text-muted);}.cc-history-success .cc-history-result{color:var(--wall-success-dark);}.cc-history-error .cc-history-result{color:var(--wall-danger);}.cc-history-warning .cc-history-result{color:var(--wall-warning-dark);}.cc-history-meta{color:var(--wall-text-secondary);font-size:0.72rem;margin-left:auto;}.cc-history-extra{margin-top:4px;}.cc-history-devices-inline .cc-hdev-name{font-weight:600;font-family:monospace;font-size:0.72rem;}.cc-history-devices-inline .cc-hdev-size{color:var(--wall-success);font-family:monospace;font-size:0.72rem;}.cc-history-devices-inline .cc-hdev-mount{color:var(--wall-warning-dark);font-size:0.72rem;}.cc-history-devices-inline .cc-hdev-unmounted{color:var(--wall-text-secondary);font-style:italic;font-size:0.72rem;}.cc-history-devices-inline .cc-hdev-sep{color:var(--wall-border-dark);margin:0 4px;}.cc-history-raw{margin-top:4px;}.cc-history-raw summary{font-size:0.7rem;color:var(--wall-text-secondary);cursor:pointer;}.cc-history-raw pre{margin:4px 0 0;padding:6px 8px;font-size:0.68rem;line-height:1.4;background:#1e293b;color:#e2e8f0;border-radius:4px;overflow-x:auto;white-space:pre-wrap;word-break:break-all;max-height:120px;overflow-y:auto;}.cc-history-raw .cc-result-stderr{color:#fca5a5;}@media (max-width:600px){.cc-control-buttons{flex-direction:column;}.cc-btn-icon{font-size:1.5rem;}.cc-btn-label{font-size:0.85rem;}}@media (max-width:500px){.aexif,.bexif,.cexif,.dexif,.eexif{display:none;}.load,.users{display:none;}}.bulk-ssh-btn{background:#4a5568;color:#fff;border:1px solid #4a5568;}.bulk-ssh-btn:hover{background:#2d3748;border-color:#2d3748;}.bulk-ssh-overlay{display:none;position:fixed;top:0;left:0;width:100%;height:100%;background:rgba(0,0,0,0.7);z-index:10000;justify-content:center;align-items:center;}.bulk-ssh-overlay.visible{display:flex;}.bulk-ssh-container{background:#fff;border-radius:8px;width:95%;max-width:1200px;height:90vh;max-height:900px;display:flex;flex-direction:column;box-shadow:0 4px 20px rgba(0,0,0,0.3);overflow:hidden;}.bulk-ssh-header{display:flex;justify-content:space-between;align-items:center;padding:16px 20px;background:#1a202c;color:#fff;flex-shrink:0;}.bulk-ssh-header h2{margin:0;font-size:18px;font-weight:600;}.bulk-ssh-close{background:none;border:none;color:#fff;font-size:28px;cursor:pointer;padding:0 4px;line-height:1;opacity:0.8;}.bulk-ssh-close:hover{opacity:1;}.bulk-ssh-body{flex:1;overflow-y:auto;padding:20px;}.bulk-ssh-view.hidden{display:none;}.bulk-ssh-toolbar{margin-bottom:16px;}.bulk-ssh-btn-primary{background:#3182ce;color:#fff;border:none;padding:8px 16px;border-radius:4px;cursor:pointer;font-size:14px;font-weight:500;}.bulk-ssh-btn-primary:hover{background:#2b6cb0;}.bulk-ssh-btn-primary:disabled{background:#a0aec0;cursor:not-allowed;}.bulk-ssh-btn-secondary{background:#e2e8f0;color:#2d3748;border:none;padding:8px 16px;border-radius:4px;cursor:pointer;font-size:14px;}.bulk-ssh-btn-secondary:hover{background:#cbd5e0;}.bulk-ssh-btn-secondary:disabled{opacity:0.5;cursor:not-allowed;}.bulk-ssh-btn-warning{background:#ed8936;color:#fff;border:none;padding:8px 16px;border-radius:4px;cursor:pointer;font-size:14px;}.bulk-ssh-btn-warning:hover{background:#dd6b20;}.bulk-ssh-btn-warning:disabled{background:#a0aec0;cursor:not-allowed;}.bulk-ssh-btn-sm{padding:4px 12px;font-size:12px;border-radius:3px;border:1px solid #cbd5e0;background:#fff;cursor:pointer;}.bulk-ssh-btn-sm:hover{background:#f7fafc;}.bulk-ssh-btn-sm.btn-danger{color:#e53e3e;border-color:#feb2b2;}.bulk-ssh-btn-sm.btn-danger:hover{background:#fff5f5;}.bulk-ssh-empty{text-align:center;color:#a0aec0;padding:40px 20px;font-size:15px;}.bulk-ssh-job-card{border:1px solid #e2e8f0;border-radius:6px;padding:12px 16px;margin-bottom:10px;transition:border-color 0.15s;}.bulk-ssh-job-card:hover{border-color:#a0aec0;}.bulk-ssh-job-card.status-completed{border-left:3px solid #48bb78;}.bulk-ssh-job-card.status-running{border-left:3px solid #3182ce;}.bulk-ssh-job-card.status-paused{border-left:3px solid #ed8936;}.bulk-ssh-job-card.status-pending{border-left:3px solid #a0aec0;}.bulk-ssh-job-header{display:flex;justify-content:space-between;align-items:flex-start;gap:12px;margin-bottom:8px;}.bulk-ssh-job-title{flex:1;min-width:0;}.bulk-ssh-job-title code{background:#edf2f7;padding:2px 6px;border-radius:3px;font-size:13px;word-break:break-all;}.bulk-ssh-job-desc{display:block;color:#718096;font-size:13px;margin-top:4px;}.bulk-ssh-job-meta{display:flex;align-items:center;gap:8px;flex-shrink:0;}.bulk-ssh-job-date{color:#a0aec0;font-size:12px;}.bulk-ssh-badge{font-size:11px;font-weight:600;text-transform:uppercase;padding:2px 8px;border-radius:10px;}.bulk-ssh-badge.badge-completed{background:#c6f6d5;color:#276749;}.bulk-ssh-badge.badge-running{background:#bee3f8;color:#2a4365;}.bulk-ssh-badge.badge-paused{background:#feebc8;color:#7b341e;}.bulk-ssh-badge.badge-pending{background:#e2e8f0;color:#4a5568;}.bulk-ssh-job-summary{display:flex;gap:12px;flex-wrap:wrap;margin-bottom:8px;}.bulk-ssh-stat{font-size:13px;font-weight:500;}.bulk-ssh-stat.stat-total{color:#4a5568;}.bulk-ssh-stat.stat-success{color:#38a169;}.bulk-ssh-stat.stat-failed{color:#e53e3e;}.bulk-ssh-stat.stat-offline{color:#a0aec0;}.bulk-ssh-stat.stat-pending{color:#3182ce;}.bulk-ssh-job-actions{display:flex;gap:8px;}.bulk-ssh-mini-progress{height:4px;background:#edf2f7;border-radius:2px;overflow:hidden;display:flex;margin-bottom:8px;}.bulk-ssh-mini-seg{height:100%;transition:width 0.3s ease;}.bulk-ssh-mini-seg.seg-success{background:#48bb78;}.bulk-ssh-mini-seg.seg-failed{background:#e53e3e;}.bulk-ssh-mini-seg.seg-offline{background:#ed8936;}.bulk-ssh-mini-seg.seg-pending{background:#cbd5e0;}.bulk-ssh-form{max-width:700px;}.bulk-ssh-form label{display:block;font-weight:600;font-size:13px;color:#4a5568;margin-bottom:4px;margin-top:12px;}.bulk-ssh-form label:first-child{margin-top:0;}.bulk-ssh-textarea{width:100%;padding:10px 12px;border:1px solid #cbd5e0;border-radius:4px;font-family:monospace;font-size:14px;resize:vertical;box-sizing:border-box;}.bulk-ssh-textarea:focus{border-color:#3182ce;outline:none;box-shadow:0 0 0 3px rgba(49,130,206,0.15);}.bulk-ssh-code-editor{background:#1a202c;color:#e2e8f0;border-color:#2d3748;font-size:13px;line-height:1.6;tab-size:4;min-height:180px;}.bulk-ssh-code-editor::placeholder{color:#4a5568;}.bulk-ssh-code-editor:focus{border-color:#4299e1;box-shadow:0 0 0 3px rgba(66,153,225,0.2);}.bulk-ssh-input{width:100%;padding:8px 12px;border:1px solid #cbd5e0;border-radius:4px;font-size:14px;box-sizing:border-box;}.bulk-ssh-input:focus{border-color:#3182ce;outline:none;box-shadow:0 0 0 3px rgba(49,130,206,0.15);}.bulk-ssh-form-actions{display:flex;gap:10px;margin-top:20px;}.bulk-ssh-select-toolbar{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:8px;margin-bottom:12px;}.bulk-ssh-select-actions{display:flex;align-items:center;gap:8px;}.bulk-ssh-select-count{font-size:13px;font-weight:600;color:#3182ce;}.bulk-ssh-region-pills{display:flex;gap:4px;flex-wrap:wrap;}.bulk-ssh-region-pill{padding:3px 10px;border:1px solid #cbd5e0;background:#fff;border-radius:12px;cursor:pointer;font-size:11px;color:#4a5568;font-weight:500;}.bulk-ssh-region-pill:hover{background:#f7fafc;}.bulk-ssh-region-pill.active{background:#3182ce;color:#fff;border-color:#3182ce;}.bulk-ssh-chip-grid{display:flex;flex-wrap:wrap;gap:4px;max-height:400px;overflow-y:auto;padding:4px;border:1px solid #e2e8f0;border-radius:6px;background:#f7fafc;}.bulk-ssh-chip{display:inline-flex;align-items:center;padding:3px 8px;border-radius:12px;font-size:11px;cursor:pointer;white-space:nowrap;max-width:130px;overflow:hidden;text-overflow:ellipsis;border:1px solid #cbd5e0;background:#edf2f7;color:#4a5568;transition:all 0.1s ease;user-select:none;}.bulk-ssh-chip:hover{border-color:#a0aec0;}.bulk-ssh-chip.selected{background:#fff;border-color:#3182ce;color:#2b6cb0;box-shadow:0 0 0 1px #3182ce;}.bulk-ssh-chip.region-hidden{display:none;}.bulk-ssh-chip.chip-pending{background:#edf2f7;border-color:#cbd5e0;color:#4a5568;}.bulk-ssh-chip.chip-running{background:#ebf8ff;border-color:#3182ce;color:#2b6cb0;animation:bulkSshPulse 1.5s ease-in-out infinite;}.bulk-ssh-chip.chip-success{background:#f0fff4;border-color:#48bb78;color:#276749;}.bulk-ssh-chip.chip-failed{background:#fff5f5;border-color:#e53e3e;color:#9b2c2c;}.bulk-ssh-chip.chip-offline{background:#fffaf0;border-color:#ed8936;color:#7b341e;}.bulk-ssh-chip.chip-active{box-shadow:0 0 0 2px #3182ce;}@keyframes bulkSshPulse{0%,100%{opacity:1;}50%{opacity:0.6;}}.bulk-ssh-exec-header{margin-bottom:12px;}.bulk-ssh-exec-header code{background:#edf2f7;padding:4px 8px;border-radius:3px;font-size:14px;}.bulk-ssh-exec-header span{display:block;color:#718096;font-size:13px;margin-top:4px;}.bulk-ssh-exec-top{display:flex;gap:16px;align-items:flex-start;margin-bottom:16px;}.bulk-ssh-exec-left{flex:1;min-width:0;}.bulk-ssh-exec-right{flex:0 0 280px;}.bulk-ssh-exec-bottom{}.bulk-ssh-progress{margin-bottom:16px;}.bulk-ssh-progress-bar{height:28px;background:#edf2f7;border-radius:14px;overflow:hidden;margin-bottom:8px;}.bulk-ssh-progress-fill{height:100%;background:linear-gradient(90deg,#48bb78,#38a169);border-radius:14px;color:#fff;font-size:12px;font-weight:600;display:flex;align-items:center;justify-content:center;min-width:0;transition:width 0.3s ease;}.bulk-ssh-summary{display:flex;gap:16px;flex-wrap:wrap;}.bulk-ssh-controls{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:12px;}.bulk-ssh-result-filters{display:flex;gap:4px;margin-bottom:12px;flex-wrap:wrap;}.bulk-ssh-filter-btn{padding:4px 12px;border:1px solid #cbd5e0;background:#fff;border-radius:3px;cursor:pointer;font-size:12px;color:#4a5568;}.bulk-ssh-filter-btn:hover{background:#f7fafc;}.bulk-ssh-filter-btn.active{background:#3182ce;color:#fff;border-color:#3182ce;}.bulk-ssh-detail-panel{border:1px solid #2d3748;border-radius:6px;margin-top:12px;overflow:hidden;background:#1a202c;}.bulk-ssh-detail-panel.hidden{display:none;}.bulk-ssh-detail-header{display:flex;align-items:center;gap:10px;padding:10px 16px;background:#2d3748;font-size:14px;font-weight:600;color:#e2e8f0;}.bulk-ssh-detail-header span:first-child{flex:1;min-width:0;}.bulk-ssh-detail-header span:nth-child(2){color:#a0aec0;font-family:monospace;font-size:13px;font-weight:400;}#bulkSshDetailBody{padding:12px 16px;}.bulk-ssh-detail-error{color:#fc8181;font-size:14px;margin-bottom:8px;padding:8px 12px;background:rgba(252,129,129,0.1);border-radius:4px;border-left:3px solid #fc8181;}.bulk-ssh-detail-output{background:#0d1117;color:#c9d1d9;padding:14px 16px;border-radius:4px;font-family:'SFMono-Regular',Consolas,'Liberation Mono',Menlo,monospace;font-size:13px;line-height:1.6;max-height:400px;overflow:auto;white-space:pre-wrap;word-break:break-word;margin:8px 0;border:1px solid #21262d;}.bulk-ssh-detail-stderr{background:#1c1117;color:#f97583;padding:14px 16px;border-radius:4px;font-family:'SFMono-Regular',Consolas,'Liberation Mono',Menlo,monospace;font-size:13px;line-height:1.6;max-height:200px;overflow:auto;white-space:pre-wrap;word-break:break-word;margin:8px 0;border:1px solid #3d1e28;}.bulk-ssh-detail-pending{color:#8b949e;font-size:14px;font-style:italic;padding:8px 0;}.bulk-ssh-detail-running{color:#58a6ff;font-size:14px;font-style:italic;animation:bulkSshPulse 1.5s ease-in-out infinite;padding:8px 0;}.bulk-ssh-canvas-wrap{position:relative;width:100%;aspect-ratio:1;border-radius:8px;overflow:hidden;background:#0a0f1a;border:1px solid #1a2744;max-height:280px;}.bulk-ssh-canvas-wrap canvas{display:block;width:100%;height:100%;cursor:crosshair;}.bulk-ssh-active-connections{display:flex;align-items:center;flex-wrap:wrap;gap:6px;padding:6px 10px;background:#ebf8ff;border:1px solid #bee3f8;border-radius:6px;margin-bottom:6px;font-size:12px;}.bulk-ssh-active-connections.hidden{display:none;}.bulk-ssh-active-label{color:#2b6cb0;font-weight:600;white-space:nowrap;}.bulk-ssh-active-item{display:inline-flex;align-items:center;padding:2px 8px;background:#fff;border:1px solid #90cdf4;border-radius:10px;color:#2b6cb0;font-size:11px;animation:bulkSshPulse 1.5s ease-in-out infinite;}.bulk-ssh-confirm-overlay{display:none;position:absolute;top:0;left:0;width:100%;height:100%;background:rgba(0,0,0,0.5);justify-content:center;align-items:center;z-index:10;}.bulk-ssh-confirm-overlay.visible{display:flex;}.bulk-ssh-confirm-box{background:#fff;padding:24px;border-radius:8px;text-align:center;max-width:400px;box-shadow:0 4px 12px rgba(0,0,0,0.2);}.bulk-ssh-confirm-box p{margin:0 0 16px;font-size:15px;color:#2d3748;}.bulk-ssh-confirm-actions{display:flex;gap:10px;justify-content:center;}@media (max-width:768px){.bulk-ssh-container{width:100%;height:100%;max-height:100%;border-radius:0;}.bulk-ssh-select-toolbar{flex-direction:column;align-items:flex-start;}.bulk-ssh-chip{max-width:110px;font-size:10px;}.bulk-ssh-exec-top{flex-direction:column;}.bulk-ssh-exec-right{flex:none;width:100%;}.bulk-ssh-canvas-wrap{max-height:220px;}}@media (max-width:600px){.bulk-ssh-controls{flex-direction:column;}.bulk-ssh-controls button{width:100%;}.bulk-ssh-body{padding:12px;}.bulk-ssh-header{padding:12px 16px;}.bulk-ssh-chip{max-width:100px;font-size:10px;padding:2px 6px;}}.alert-banner-container{padding:0 16px;display:flex;flex-direction:column;gap:8px;}.alert-banner-container:not(:empty){margin-bottom:12px;}.alert-banner{display:flex;align-items:center;gap:10px;padding:10px 14px;border-radius:8px;border-left:4px solid;animation:alertSlideIn 0.3s ease-out;font-size:13px;}.alert-info{background:#eff6ff;border-left-color:var(--wall-primary);color:#1e40af;}.alert-warning{background:#fffbeb;border-left-color:var(--wall-warning);color:#92400e;}.alert-critical{background:#fef2f2;border-left-color:var(--wall-danger);color:#991b1b;}.alert-banner-icon{font-size:16px;flex-shrink:0;}.alert-banner-content{flex:1;display:flex;flex-wrap:wrap;gap:4px 10px;align-items:baseline;}.alert-banner-title{font-weight:600;}.alert-banner-message{opacity:0.85;font-size:12px;}.alert-banner-tag{font-size:10px;padding:1px 6px;border-radius:4px;background:rgba(0,0,0,0.08);text-transform:uppercase;letter-spacing:0.5px;flex-shrink:0;}.alert-banner-age{font-size:11px;opacity:0.6;white-space:nowrap;flex-shrink:0;}.alert-banner-dismiss{background:none;border:none;font-size:18px;cursor:pointer;opacity:0.4;padding:0 4px;line-height:1;color:inherit;flex-shrink:0;}.alert-banner-dismiss:hover{opacity:1;}@keyframes alertSlideIn{from{transform:translateY(-10px);opacity:0;}to{transform:translateY(0);opacity:1;}}.alert-btn{position:relative;}.alert-badge{background:var(--wall-danger);color:#fff;font-size:10px;font-weight:700;padding:1px 5px;border-radius:10px;min-width:16px;text-align:center;margin-left:4px;vertical-align:middle;}.alert-manager-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:rgba(0,0,0,0.5);z-index:20000;display:flex;align-items:center;justify-content:center;padding:20px;}.alert-manager-container{background:#fff;border-radius:12px;max-width:650px;width:100%;max-height:80vh;display:flex;flex-direction:column;box-shadow:0 20px 60px rgba(0,0,0,0.3);position:relative;}.alert-manager-header{display:flex;align-items:center;justify-content:space-between;padding:16px 20px;border-bottom:1px solid #e5e7eb;}.alert-manager-header h2{margin:0;font-size:18px;color:#111827;}.alert-manager-close{background:none;border:none;font-size:24px;cursor:pointer;color:#6b7280;padding:0;line-height:1;}.alert-manager-close:hover{color:#111827;}.alert-manager-body{overflow-y:auto;padding:16px 20px;flex:1;}.alert-manager-toolbar{margin-bottom:16px;}.alert-manager-empty{text-align:center;color:#9ca3af;padding:40px 0;font-size:14px;}.alert-manager-section-title{font-size:12px;font-weight:600;text-transform:uppercase;letter-spacing:0.5px;color:#6b7280;margin:16px 0 8px;padding-bottom:4px;border-bottom:1px solid #f3f4f6;}.alert-manager-section-title:first-child{margin-top:0;}.alert-manager-toggle{cursor:pointer;user-select:none;}.alert-manager-toggle:hover{color:#374151;}.alert-list-item{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:10px 12px;border:1px solid #e5e7eb;border-radius:8px;margin-bottom:6px;}.alert-list-item.resolved{opacity:0.6;}.alert-list-left{display:flex;align-items:center;gap:10px;flex:1;min-width:0;}.alert-list-severity{font-size:10px;font-weight:700;padding:3px 8px;border-radius:4px;text-transform:uppercase;white-space:nowrap;flex-shrink:0;}.alert-list-severity.info{background:#eff6ff;color:#1e40af;}.alert-list-severity.warning{background:#fffbeb;color:#92400e;}.alert-list-severity.critical{background:#fef2f2;color:#991b1b;}.alert-list-info{display:flex;flex-direction:column;gap:2px;min-width:0;}.alert-list-title{font-size:13px;font-weight:600;color:#111827;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}.alert-list-meta{font-size:11px;color:#9ca3af;}.alert-list-tag{font-size:9px;padding:1px 5px;border-radius:3px;text-transform:uppercase;letter-spacing:0.3px;}.alert-list-tag.auto{background:#ede9fe;color:#5b21b6;}.alert-list-tag.manual{background:#ecfdf5;color:#065f46;}.alert-notif-icon{font-size:11px;margin-left:2px;}.alert-list-actions{display:flex;gap:4px;flex-shrink:0;}.alert-manager-btn-primary{background:var(--wall-primary);color:#fff;border:none;padding:8px 16px;border-radius:6px;cursor:pointer;font-size:13px;font-weight:500;}.alert-manager-btn-primary:hover{opacity:0.9;}.alert-manager-btn-secondary{background:#f3f4f6;color:#374151;border:1px solid #d1d5db;padding:8px 16px;border-radius:6px;cursor:pointer;font-size:13px;}.alert-manager-btn-secondary:hover{background:#e5e7eb;}.alert-manager-btn-sm{font-size:11px;padding:4px 10px;border-radius:4px;border:1px solid #d1d5db;background:#fff;cursor:pointer;color:#374151;}.alert-manager-btn-sm:hover{background:#f3f4f6;}.alert-manager-btn-resolve{border-color:#10b981;color:#065f46;}.alert-manager-btn-resolve:hover{background:#ecfdf5;}.alert-manager-btn-delete{border-color:var(--wall-danger);color:var(--wall-danger);}.alert-manager-btn-delete:hover{background:#fef2f2;}.alert-manager-form{display:flex;flex-direction:column;gap:16px;}.alert-form-group{display:flex;flex-direction:column;gap:4px;}.alert-form-group label{font-size:12px;font-weight:600;color:#374151;}.alert-form-input,.alert-form-textarea,.alert-form-select{padding:8px 12px;border:1px solid #d1d5db;border-radius:6px;font-size:14px;color:#111827;background:#fff;font-family:inherit;}.alert-form-input:focus,.alert-form-textarea:focus,.alert-form-select:focus{outline:none;border-color:var(--wall-primary);box-shadow:0 0 0 3px rgba(59,130,246,0.1);}.alert-form-textarea{resize:vertical;min-height:60px;}.alert-form-actions{display:flex;gap:8px;justify-content:flex-end;padding-top:8px;}.alert-manager-confirm{position:absolute;top:0;left:0;right:0;bottom:0;background:rgba(0,0,0,0.4);display:flex;align-items:center;justify-content:center;border-radius:12px;z-index:1;}.alert-manager-confirm-box{background:#fff;padding:24px;border-radius:10px;text-align:center;box-shadow:0 4px 20px rgba(0,0,0,0.2);max-width:320px;}.alert-manager-confirm-box p{margin:0 0 16px;font-size:14px;color:#374151;}.alert-manager-confirm-actions{display:flex;gap:8px;justify-content:center;}.alert-system-status{border-left-width:4px;}.alert-system-disabled{background:#f3f4f6;border-left-color:#6b7280;color:#374151;}.alert-system-paused{background:#fefce8;border-left-color:#eab308;color:#713f12;}.alert-banner-action{background:rgba(0,0,0,0.08);border:none;padding:4px 12px;border-radius:4px;cursor:pointer;font-size:12px;color:inherit;font-weight:500;white-space:nowrap;flex-shrink:0;}.alert-banner-action:hover{background:rgba(0,0,0,0.15);}.alert-system-controls{background:#f9fafb;border:1px solid #e5e7eb;border-radius:8px;padding:12px 16px;margin-bottom:16px;display:flex;flex-direction:column;gap:10px;}.alert-control-row{display:flex;align-items:center;justify-content:space-between;gap:12px;}.alert-control-label{font-size:13px;color:#374151;}.alert-pause-by{color:#9ca3af;font-size:12px;}.alert-toggle-btn{display:inline-flex;align-items:center;gap:6px;padding:4px 4px 4px 4px;border:none;border-radius:16px;cursor:pointer;font-size:11px;font-weight:600;min-width:60px;height:28px;position:relative;transition:background 0.2s;}.alert-toggle-on{background:#10b981;color:#fff;padding-left:8px;}.alert-toggle-off{background:#d1d5db;color:#6b7280;padding-left:28px;}.alert-toggle-knob{width:20px;height:20px;background:#fff;border-radius:50%;position:absolute;top:4px;transition:left 0.2s;box-shadow:0 1px 3px rgba(0,0,0,0.2);}.alert-toggle-on .alert-toggle-knob{left:calc(100% - 24px);}.alert-toggle-off .alert-toggle-knob{left:4px;}.alert-toggle-label{text-transform:uppercase;letter-spacing:0.5px;}.alert-pause-options{display:flex;gap:4px;}.alert-pause-btn{background:#fff;border:1px solid #d1d5db;border-radius:6px;padding:4px 10px;font-size:12px;cursor:pointer;color:#374151;font-weight:500;}.alert-pause-btn:hover{background:#fffbeb;border-color:#eab308;color:#92400e;}.alert-manager-resolved.hidden{display:none;}.alert-settings-section{background:#2a2a4a;border:1px solid #3d3d5c;border-radius:8px;margin-bottom:12px;overflow:hidden;}.alert-settings-header{display:flex;align-items:center;justify-content:space-between;padding:10px 14px;border-bottom:1px solid #3d3d5c;background:rgba(255,255,255,0.03);}.alert-settings-channel-name{font-weight:600;font-size:14px;color:#e5e7eb;display:flex;align-items:center;gap:6px;}.alert-settings-fields{padding:12px 14px;}.alert-settings-field{display:flex;align-items:center;gap:10px;margin-bottom:8px;}.alert-settings-field label{min-width:110px;color:#9ca3af;font-size:13px;flex-shrink:0;}.alert-settings-field input,.alert-settings-field select{flex:1;background:#1e1e3a;border:1px solid #4a4a6a;border-radius:4px;color:#e5e7eb;padding:6px 10px;font-size:13px;}.alert-settings-field input:focus,.alert-settings-field select:focus{border-color:#6366f1;outline:none;}.alert-settings-recipients{margin-top:8px;border-top:1px solid #3d3d5c;padding-top:8px;}.alert-settings-recipient-row{display:flex;align-items:center;gap:8px;margin-bottom:6px;}.alert-settings-recipient-row input{flex:1;background:#1e1e3a;border:1px solid #4a4a6a;border-radius:4px;color:#e5e7eb;padding:6px 10px;font-size:13px;}.alert-settings-recipient-row input:focus{border-color:#6366f1;outline:none;}.alert-settings-add-btn{display:block;width:calc(100% - 28px);margin:4px 14px 12px;padding:8px;background:transparent;border:1px dashed #4a4a6a;border-radius:4px;color:#9ca3af;font-size:13px;cursor:pointer;text-align:center;}.alert-settings-add-btn:hover{border-color:#6366f1;color:#a5b4fc;}.alert-settings-remove-btn{width:26px;height:26px;flex-shrink:0;background:rgba(239,68,68,0.15);border:none;border-radius:50%;color:#ef4444;font-size:16px;cursor:pointer;display:flex;align-items:center;justify-content:center;line-height:1;}.alert-settings-remove-btn:hover{background:rgba(239,68,68,0.3);}.alert-settings-save{display:flex;justify-content:flex-end;gap:8px;margin-top:16px;padding-top:12px;border-top:1px solid #3d3d5c;}.alert-settings-auto-rules{border-color:#4a4a2a;}.alert-settings-auto-rules .alert-settings-header{border-bottom-color:#4a4a2a;}.alert-settings-rule-row{display:flex;align-items:center;justify-content:space-between;margin-bottom:10px;gap:12px;}.alert-settings-rule-row label{color:#9ca3af;font-size:13px;}.alert-settings-gear{margin-left:auto;}.alert-settings-toolbar{display:flex;gap:8px;margin-bottom:12px;}.alert-settings-toolbar button{padding:6px 14px;background:#2a2a4a;border:1px solid #4a4a6a;border-radius:6px;color:#9ca3af;font-size:13px;cursor:pointer;display:flex;align-items:center;gap:6px;}.alert-settings-toolbar button:hover{border-color:#6366f1;color:#e5e7eb;}.alert-settings-test-btn{padding:4px 10px;background:transparent;border:1px solid #4a4a6a;border-radius:4px;color:#9ca3af;font-size:12px;cursor:pointer;white-space:nowrap;}.alert-settings-test-btn:hover{border-color:#6366f1;color:#a5b4fc;}.alert-settings-test-btn.sending{opacity:0.6;pointer-events:none;}.alert-settings-drag-handle{cursor:grab;color:#6b7280;padding:0 4px;user-select:none;font-size:14px;flex-shrink:0;}.alert-settings-drag-handle:active{cursor:grabbing;}.alert-settings-recipient-row.sortable-ghost{opacity:0.4;}.alert-settings-recipient-row.sortable-chosen{background:rgba(99,102,241,0.1);border-radius:4px;}.alert-recipient-toggle{width:20px;height:20px;flex-shrink:0;border-radius:50%;border:none;background:#22c55e;cursor:pointer;display:flex;align-items:center;justify-content:center;font-size:10px;color:#fff;line-height:1;padding:0;}.alert-recipient-toggle.off{background:#6b7280;}.alert-settings-recipient-row.recipient-disabled input{opacity:0.5;}.alert-settings-rule-group{background:#2a2a4a;border:1px solid #4a4a2a;border-radius:8px;margin-bottom:12px;overflow:hidden;}.alert-settings-rule-group .alert-settings-header{border-bottom-color:#4a4a2a;}.alert-settings-rule-group .alert-settings-fields{padding:12px 14px;}.alert-region-overrides{margin-top:10px;padding-top:10px;border-top:1px solid #3d3d5c;}.alert-region-overrides summary{color:#9ca3af;font-size:13px;cursor:pointer;user-select:none;}.alert-region-overrides summary:hover{color:#e5e7eb;}.alert-region-override-row{display:flex;align-items:center;gap:8px;margin-top:6px;}.alert-region-override-row select,.alert-region-override-row input{background:#1e1e3a;border:1px solid #4a4a6a;border-radius:4px;color:#e5e7eb;padding:4px 8px;font-size:13px;}.alert-region-override-row select:focus,.alert-region-override-row input:focus{border-color:#6366f1;outline:none;}.alert-region-override-add{display:inline-block;margin-top:6px;padding:4px 10px;background:transparent;border:1px dashed #4a4a6a;border-radius:4px;color:#9ca3af;font-size:12px;cursor:pointer;}.alert-region-override-add:hover{border-color:#6366f1;color:#a5b4fc;}.alert-settings-quiet-hours{background:#2a2a4a;border:1px solid #3d3d5c;border-radius:8px;margin-bottom:12px;overflow:hidden;}.alert-settings-quiet-hours .alert-settings-header{border-bottom-color:#3d3d5c;}.alert-settings-time-input{background:#1e1e3a;border:1px solid #4a4a6a;border-radius:4px;color:#e5e7eb;padding:6px 10px;font-size:13px;}.alert-settings-time-input:focus{border-color:#6366f1;outline:none;}.alert-settings-escalation{background:#2a2a4a;border:1px solid #3d3d5c;border-radius:8px;margin-bottom:12px;overflow:hidden;}.alert-settings-escalation .alert-settings-header{border-bottom-color:#3d3d5c;}.alert-settings-channel-checks{display:flex;flex-wrap:wrap;gap:12px;}.alert-settings-channel-checks label{display:flex;align-items:center;gap:4px;color:#9ca3af;font-size:13px;cursor:pointer;}.alert-settings-channel-checks input[type="checkbox"]{accent-color:#6366f1;}.alert-history-filters{display:flex;gap:6px;margin-bottom:12px;flex-wrap:wrap;}.alert-history-filter{padding:4px 12px;background:#2a2a4a;border:1px solid #4a4a6a;border-radius:16px;color:#9ca3af;font-size:12px;cursor:pointer;}.alert-history-filter:hover{border-color:#6366f1;color:#e5e7eb;}.alert-history-filter.active{background:#6366f1;border-color:#6366f1;color:#fff;}.alert-history-list{max-height:400px;overflow-y:auto;}.alert-history-item{display:flex;align-items:center;gap:10px;padding:8px 0;border-bottom:1px solid #374151;font-size:13px;}.alert-history-item:last-child{border-bottom:none;}.alert-history-channel{width:70px;flex-shrink:0;color:#9ca3af;font-size:12px;text-transform:uppercase;}.alert-history-title{flex:1;color:#e5e7eb;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;}.alert-history-time{flex-shrink:0;color:#6b7280;font-size:12px;}.alert-history-status{flex-shrink:0;font-size:12px;font-weight:600;}.alert-history-status.success{color:#22c55e;}.alert-history-status.failed{color:#ef4444;}.alert-history-type{flex-shrink:0;padding:2px 6px;border-radius:4px;font-size:11px;background:rgba(99,102,241,0.15);color:#a5b4fc;}.alert-audit-list{max-height:400px;overflow-y:auto;}.alert-audit-entry{display:flex;align-items:center;gap:10px;padding:8px 0;border-bottom:1px solid #374151;font-size:13px;}.alert-audit-entry:last-child{border-bottom:none;}.alert-audit-user{width:80px;flex-shrink:0;color:#a5b4fc;font-weight:600;font-size:12px;}.alert-audit-action{flex:1;color:#e5e7eb;}.alert-audit-time{flex-shrink:0;color:#6b7280;font-size:12px;}.alert-settings-restricted{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:40px 20px;text-align:center;color:#9ca3af;}.alert-settings-restricted span:first-child{font-size:32px;margin-bottom:12px;}.alert-settings-restricted p{margin:4px 0;font-size:14px;}.alert-history-empty,.alert-audit-empty{text-align:center;padding:30px;color:#6b7280;font-size:13px;}@media (max-width:600px){.alert-manager-container{max-width:100%;max-height:90vh;border-radius:8px;}.alert-manager-overlay{padding:10px;}.alert-list-item{flex-direction:column;align-items:flex-start;}.alert-list-actions{width:100%;justify-content:flex-end;}.alert-banner{flex-wrap:wrap;}.alert-banner-content{flex-basis:calc(100% - 60px);}.alert-settings-field{flex-direction:column;align-items:flex-start;}.alert-settings-field label{min-width:auto;}.alert-settings-recipient-row{flex-wrap:wrap;}.alert-settings-recipient-row input{min-width:0;}.alert-settings-toolbar{flex-wrap:wrap;}.alert-history-item{flex-wrap:wrap;}.alert-history-title{flex-basis:100%;order:5;}.alert-audit-entry{flex-wrap:wrap;}.alert-region-override-row{flex-wrap:wrap;}.alert-settings-channel-checks{flex-direction:column;gap:8px;}}.stat-detail-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:rgba(0,0,0,0.6);z-index:6000;display:flex;justify-content:center;align-items:flex-start;padding-top:5vh;overflow-y:auto;}.stat-detail-modal{background:#fff;border-radius:12px;width:90%;max-width:1080px;max-height:85vh;display:flex;flex-direction:column;box-shadow:0 20px 60px rgba(0,0,0,0.3);}.stat-detail-header{display:flex;justify-content:space-between;align-items:center;padding:14px 20px;background:#f1f5f9;border-radius:12px 12px 0 0;border-bottom:1px solid #e2e8f0;}.stat-detail-header h2{margin:0;font-size:16px;color:#1e293b;font-weight:600;}.stat-detail-close{background:none;border:none;font-size:22px;color:#64748b;cursor:pointer;padding:0 4px;line-height:1;}.stat-detail-close:hover{color:#1e293b;}.stat-detail-total{text-align:center;padding:16px 20px 8px;font-size:32px;font-weight:700;color:#1e293b;}.stat-detail-total-label{text-align:center;font-size:12px;color:#94a3b8;margin-bottom:12px;}.stat-detail-presets{padding:0 20px 8px;display:flex;gap:6px;flex-wrap:wrap;}.stat-detail-preset-btn{padding:4px 12px;border:1px solid #e2e8f0;border-radius:20px;background:#fff;color:#64748b;font-size:12px;cursor:pointer;transition:all 0.15s;white-space:nowrap;}.stat-detail-preset-btn:hover{border-color:#93c5fd;color:#2563eb;background:#eff6ff;}.stat-detail-preset-btn.active{background:#2563eb;color:#fff;border-color:#2563eb;}.stat-detail-date-range{padding:0 20px 12px;display:flex;align-items:center;gap:8px;flex-wrap:wrap;}.stat-detail-date-range input[type="date"]{padding:4px 8px;border:1px solid #e2e8f0;border-radius:6px;font-size:13px;}.stat-detail-date-range button{padding:4px 12px;background:#2563eb;color:#fff;border:none;border-radius:6px;font-size:13px;cursor:pointer;}.stat-detail-date-range button:hover{background:#1d4ed8;}.stat-detail-body{flex:1;overflow-y:auto;overflow-x:hidden;padding:0;}.stat-detail-table{width:100%;border-collapse:collapse;font-size:13px;}.stat-detail-table thead{position:sticky;top:0;background:#f8fafc;z-index:1;}.stat-detail-table th{padding:8px 12px;text-align:left;border-bottom:2px solid #e2e8f0;color:#64748b;font-weight:600;cursor:pointer;user-select:none;white-space:nowrap;}.stat-detail-table th:hover{color:#1e293b;}.stat-detail-table th .sort-arrow{margin-left:4px;font-size:10px;}.stat-detail-table td{padding:6px 12px;border-bottom:1px solid #f1f5f9;color:#334155;}.stat-detail-table td:first-child{font-family:ui-monospace,SFMono-Regular,"SF Mono",Menlo,monospace;font-size:12px;max-width:280px;overflow:hidden;text-overflow:ellipsis;text-align:left;white-space:nowrap;}.stat-detail-table td:nth-child(2){text-align:left;white-space:nowrap;}.stat-detail-table td:nth-child(2) .region-badge{display:inline-block;padding:1px 8px;border-radius:10px;background:#f1f5f9;color:#475569;font-size:11px;font-weight:500;}.stat-detail-table td:last-child{text-align:left;white-space:nowrap;min-width:104px;width:30%;}.stat-detail-table tbody tr:nth-child(even) td{background:#f8fafc;}.stat-detail-table tr:hover td{background:#eef2ff;}.stat-detail-table .value-bar{display:inline-block;height:8px;border-radius:4px;margin-right:6px;vertical-align:middle;min-width:4px;}.stat-detail-table .value-text{font-weight:600;font-variant-numeric:tabular-nums;}.image-counts-row{display:flex;flex-wrap:nowrap;overflow:hidden;justify-content:flex-end;float:right;}.image-counts-row .headContent{float:none !important;flex:0 1 auto;min-width:0;}#tab-heartbeat .lightbox-graph-container{min-height:250px;}#heartbeatLightboxCanvas{width:100%;height:300px;display:block;}.section-not-monitored{display:block;font-size:12px;color:#94a3b8;font-style:italic;font-weight:400;margin-left:12px;}@media (max-width:600px){.stat-detail-modal{width:96%;max-height:90vh;}.stat-detail-total{font-size:24px;}.stat-detail-table{font-size:11px;}.stat-detail-table th,.stat-detail-table td{padding:4px 6px;}.stat-detail-table td:first-child{font-size:10px;max-width:140px;}.stat-detail-table .value-bar{max-width:50px;}.stat-detail-table .value-text{font-size:11px;}.stat-detail-presets{padding:0 12px 8px;}.stat-detail-date-range{padding:0 12px 10px;}.stat-detail-day-row{flex-wrap:wrap;}.stat-detail-day-btn{min-width:70px;padding:4px 6px;font-size:11px;}}.stat-detail-day-row{padding:0 20px 8px;display:flex;gap:6px;flex-wrap:wrap;}.stat-detail-day-btn{display:flex;flex-direction:column;align-items:center;padding:6px 10px;border:1px solid #e2e8f0;border-radius:8px;background:#fff;cursor:pointer;transition:all 0.15s;min-width:80px;}.stat-detail-day-btn:hover{border-color:#93c5fd;background:#eff6ff;}.stat-detail-day-btn.active{background:#2563eb;border-color:#2563eb;}.stat-detail-day-btn.active .day-btn-name,.stat-detail-day-btn.active .day-btn-date{color:#fff;}.day-btn-name{font-size:12px;font-weight:600;color:#1e293b;line-height:1.3;}.day-btn-date{font-size:10px;color:#64748b;line-height:1.3;}.stat-detail-slider-row{padding:0 20px 10px;display:flex;align-items:center;gap:12px;}.stat-detail-slider{flex:1;-webkit-appearance:none;appearance:none;height:6px;background:#e2e8f0;border-radius:3px;outline:none;}.stat-detail-slider::-webkit-slider-thumb{-webkit-appearance:none;width:18px;height:18px;border-radius:50%;background:#2563eb;cursor:pointer;border:2px solid #fff;box-shadow:0 1px 3px rgba(0,0,0,0.2);}.stat-detail-slider::-moz-range-thumb{width:18px;height:18px;border-radius:50%;background:#2563eb;cursor:pointer;border:2px solid #fff;box-shadow:0 1px 3px rgba(0,0,0,0.2);}.stat-detail-slider-label{font-size:13px;font-weight:600;color:#2563eb;white-space:nowrap;min-width:60px;}.stat-detail-custom-dates{padding:0 20px 8px;}.stat-detail-custom-dates summary{font-size:12px;color:#64748b;cursor:pointer;user-select:none;}.stat-detail-custom-dates summary:hover{color:#2563eb;}.map-header-controls{display:flex;align-items:center;gap:12px;}.map-last-updated{font-size:12px;color:#94a3b8;}.map-refresh-btn{background:none;border:1px solid #e2e8f0;border-radius:6px;font-size:18px;cursor:pointer;padding:2px 8px;color:#64748b;transition:all 0.15s;}.map-refresh-btn:hover{background:#f1f5f9;color:#2563eb;border-color:#93c5fd;}.map-controls-bar{display:flex;align-items:center;gap:16px;padding:10px 20px;background:#f8fafc;border-bottom:1px solid #e2e8f0;flex-wrap:wrap;}.map-control-group{display:flex;align-items:center;gap:6px;}.map-control-label{font-size:12px;color:#64748b;font-weight:500;}.map-control-select{padding:4px 8px;border:1px solid #e2e8f0;border-radius:6px;font-size:12px;background:#fff;color:#334155;cursor:pointer;}.map-control-toggle{font-size:12px;color:#64748b;display:flex;align-items:center;gap:4px;cursor:pointer;}.map-control-toggle input[type="checkbox"]{cursor:pointer;}.map-control-btn{padding:4px 12px;border:1px solid #e2e8f0;border-radius:6px;background:#fff;color:#64748b;font-size:12px;cursor:pointer;transition:all 0.15s;}.map-control-btn:hover{background:#f1f5f9;color:#2563eb;border-color:#93c5fd;}.map-legend{display:flex;align-items:center;gap:16px;padding:10px 20px;background:#f8fafc;border-top:1px solid #e2e8f0;}.map-legend-item{display:flex;align-items:center;gap:6px;font-size:12px;color:#64748b;}.map-legend-dot{width:10px;height:10px;border-radius:50%;display:inline-block;}.map-donut-marker{background:transparent !important;border:none !important;}.tools-menu-overlay{display:none;position:fixed;top:0;left:0;width:100%;height:100%;background:rgba(241,245,249,0.92);z-index:5500;justify-content:center;align-items:center;}.tools-menu-overlay.visible{display:flex;}.tools-bg-canvas{position:absolute;top:0;left:0;width:100%;height:100%;pointer-events:none;}.tools-menu-dialog{position:relative;z-index:1;background:rgba(255,255,255,0.97);backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);border-radius:16px;max-width:720px;width:90%;box-shadow:0 4px 32px rgba(0,0,0,0.08),0 12px 24px rgba(0,0,0,0.06);border:1px solid #e2e8f0;overflow:hidden;}.tools-menu-header{display:flex;justify-content:space-between;align-items:center;padding:16px 24px;border-bottom:1px solid #e2e8f0;background:#f8fafc;}.tools-menu-header h2{margin:0;font-size:18px;color:#1e293b;font-weight:600;}.tools-menu-close{background:none;border:none;font-size:24px;color:#94a3b8;cursor:pointer;padding:0 4px;line-height:1;transition:color 0.15s;}.tools-menu-close:hover{color:#334155;}.tools-menu-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;padding:20px 24px 24px;}.tools-menu-card{display:flex;flex-direction:column;background:#fff;border:1px solid #e2e8f0;border-radius:12px;cursor:pointer;transition:all 0.2s;overflow:hidden;text-align:left;padding:0;font-family:inherit;color:inherit;}.tools-menu-card:hover{background:#f8fafc;border-color:#93c5fd;transform:translateY(-2px);box-shadow:0 4px 16px rgba(37,99,235,0.1);}.tools-menu-card:active{transform:translateY(0);box-shadow:0 1px 4px rgba(0,0,0,0.08);}.tools-card-canvas{width:100%;height:60px;display:block;border-radius:12px 12px 0 0;background:#f8fafc;}.tools-card-info{padding:10px 12px 12px;display:flex;flex-direction:column;gap:2px;}.tools-card-icon{width:24px;height:24px;margin-bottom:4px;}.tools-card-icon svg{width:24px;height:24px;}.tools-card-name{font-size:14px;font-weight:600;color:#1e293b;}.tools-card-desc{font-size:11px;color:#64748b;}.tools-btn{display:inline-flex;align-items:center;gap:6px;padding:6px 16px;background:linear-gradient(135deg,#f8fafc 0%,#e2e8f0 100%);color:#334155;border:1px solid #cbd5e1;border-radius:8px;font-size:13px;font-weight:500;cursor:pointer;transition:all 0.2s;position:relative;font-family:inherit;}.tools-btn:hover{background:linear-gradient(135deg,#e2e8f0 0%,#cbd5e1 100%);border-color:#2563eb;box-shadow:0 0 8px rgba(37,99,235,0.15);}.tools-btn .tools-btn-icon{font-size:15px;}.tools-btn .alert-badge{position:absolute;top:-6px;right:-6px;background:#ef4444;color:#fff;border-radius:10px;font-size:10px;min-width:18px;height:18px;display:flex;align-items:center;justify-content:center;font-weight:700;line-height:1;padding:0 4px;}.stat-detail-row-link{cursor:pointer;transition:background 0.15s;}.stat-detail-row-link:hover{background:rgba(37,99,235,0.06);}.stat-camera-clean-name{display:block;font-weight:600;color:#1e293b;font-size:13px;line-height:1.3;}.stat-camera-system-name{display:block;font-family:'SF Mono','Consolas','Monaco',monospace;font-size:10.5px;color:#94a3b8;line-height:1.4;}.map-state-tooltip{background:rgba(255,255,255,0.92) !important;border:1px solid #cbd5e1 !important;color:#334155 !important;font-size:12px !important;font-weight:500 !important;padding:3px 8px !important;border-radius:4px !important;box-shadow:0 2px 8px rgba(0,0,0,0.1) !important;}@media (max-width:768px){.tools-menu-grid{grid-template-columns:repeat(2,1fr);}.map-controls-bar{padding:8px 12px;gap:10px;}}@media (max-width:480px){.tools-menu-grid{grid-template-columns:1fr;}.tools-menu-card{flex-direction:row;}.tools-card-canvas{width:80px;height:auto;min-height:60px;border-radius:12px 0 0 12px;}.tools-card-info{flex:1;}}[data-theme="dark"] .map-controls-bar{background:#1e293b;border-color:#334155;}[data-theme="dark"] .map-control-select{background:#0f172a;border-color:#334155;color:#e2e8f0;}[data-theme="dark"] .map-control-btn{background:#0f172a;border-color:#334155;color:#94a3b8;}[data-theme="dark"] .map-control-btn:hover{background:#334155;color:#e2e8f0;}[data-theme="dark"] .map-legend{background:#1e293b;border-color:#334155;}[data-theme="dark"] .map-legend-item{color:#94a3b8;}[data-theme="dark"] .map-refresh-btn{border-color:#334155;color:#94a3b8;}[data-theme="dark"] .map-refresh-btn:hover{background:#334155;color:#e2e8f0;}[data-theme="dark"] .stat-detail-day-btn{background:#1e293b;border-color:#334155;}[data-theme="dark"] .stat-detail-day-btn:hover{background:#334155;border-color:#6366f1;}[data-theme="dark"] .stat-detail-day-btn.active{background:#2563eb;border-color:#2563eb;}[data-theme="dark"] .day-btn-name{color:#e2e8f0;}[data-theme="dark"] .day-btn-date{color:#94a3b8;}[data-theme="dark"] .stat-detail-slider{background:#334155;}[data-theme="dark"] .stat-detail-slider-label{color:#60a5fa;}[data-theme="dark"] .stat-detail-custom-dates summary{color:#94a3b8;}[data-theme="dark"] .stat-detail-custom-dates summary:hover{color:#60a5fa;}[data-theme="dark"] .tools-menu-overlay{background:rgba(2,6,23,0.92);}[data-theme="dark"] .tools-menu-dialog{background:rgba(15,23,42,0.95);border-color:rgba(51,65,85,0.5);box-shadow:0 0 60px rgba(37,99,235,0.15),0 20px 40px rgba(0,0,0,0.4);}[data-theme="dark"] .tools-menu-header{border-color:rgba(51,65,85,0.5);background:transparent;}[data-theme="dark"] .tools-menu-header h2{color:#e2e8f0;}[data-theme="dark"] .tools-menu-close:hover{color:#fff;}[data-theme="dark"] .tools-menu-card{background:rgba(30,41,59,0.6);border-color:rgba(51,65,85,0.5);}[data-theme="dark"] .tools-menu-card:hover{background:rgba(30,41,59,0.9);border-color:rgba(99,102,241,0.4);box-shadow:0 8px 24px rgba(0,0,0,0.3);}[data-theme="dark"] .tools-card-canvas{background:transparent;}[data-theme="dark"] .tools-card-name{color:#e2e8f0;}[data-theme="dark"] .tools-card-desc{color:#94a3b8;}[data-theme="dark"] .tools-btn{background:linear-gradient(135deg,#1e293b 0%,#0f172a 100%);color:#e2e8f0;border-color:#334155;}[data-theme="dark"] .tools-btn:hover{background:linear-gradient(135deg,#334155 0%,#1e293b 100%);border-color:#6366f1;box-shadow:0 0 12px rgba(99,102,241,0.3);}[data-theme="dark"] .stat-detail-row-link:hover{background:rgba(99,102,241,0.1);}[data-theme="dark"] .stat-camera-clean-name{color:#e2e8f0;}[data-theme="dark"] .stat-camera-system-name{color:#64748b;}[data-theme="dark"] .map-state-tooltip{background:rgba(15,23,42,0.92) !important;border-color:#334155 !important;color:#e2e8f0 !important;}.health-badge{position:absolute;top:6px;left:6px;padding:2px 6px;border-radius:4px;font-size:11px;font-weight:700;color:#fff;background:rgba(55,65,81,0.7);z-index:5;pointer-events:none;line-height:1.3;letter-spacing:0.3px;}.health-excellent{background:rgba(34,197,94,0.85);}.health-good{background:rgba(59,130,246,0.85);}.health-fair{background:rgba(234,179,8,0.85);color:#1a1a1a;}.health-poor{background:rgba(249,115,22,0.85);}.health-critical{background:rgba(239,68,68,0.85);}body.list-view .health-badge{display:none;}.lb-health-panel{padding:12px;background:#1e293b;border-radius:8px;color:#e2e8f0;font-size:13px;}.lb-health-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:12px;}.lb-health-title{font-size:15px;font-weight:600;color:#f8fafc;}.lb-health-back{background:#334155;border:none;color:#94a3b8;padding:4px 10px;border-radius:4px;cursor:pointer;font-size:12px;}.lb-health-back:hover{background:#475569;color:#e2e8f0;}.lb-health-loading,.lb-health-error,.lb-health-empty{text-align:center;padding:20px;color:#94a3b8;}.lb-health-score-row{display:flex;align-items:center;gap:14px;margin-bottom:14px;}.lb-health-score{font-size:36px;font-weight:800;border:3px solid;border-radius:10px;padding:4px 14px;line-height:1.2;}.lb-health-grade{font-size:16px;font-weight:700;display:block;}.lb-health-trend{font-size:14px;font-weight:600;display:block;margin-top:2px;}.lb-health-components{margin-bottom:12px;}.lb-health-comp-header{font-size:12px;font-weight:600;text-transform:uppercase;color:#94a3b8;margin-bottom:6px;letter-spacing:0.5px;}.lb-health-comp-row{display:flex;align-items:center;gap:8px;margin-bottom:5px;}.lb-health-comp-name{width:100px;flex-shrink:0;font-size:12px;color:#cbd5e1;}.lb-health-comp-name small{color:#64748b;}.lb-health-comp-bar-wrap{flex:1;height:8px;background:#334155;border-radius:4px;overflow:hidden;}.lb-health-comp-bar{height:100%;border-radius:4px;transition:width 0.3s;}.lb-health-comp-val{width:40px;text-align:right;font-size:12px;color:#94a3b8;flex-shrink:0;}.lb-health-sparkline-wrap{margin-bottom:12px;}.lb-health-sparkline-wrap canvas{display:block;width:100%;height:48px;}.lb-health-link{text-align:center;padding-top:6px;border-top:1px solid #334155;}.lb-health-link a{color:#60a5fa;text-decoration:none;font-size:12px;}.lb-health-link a:hover{text-decoration:underline;}.dashboard-link.health-link{background:#166534;color:#bbf7d0;}.dashboard-link.health-link:hover{background:#15803d;}[data-theme="dark"]{--wall-bg:#0f172a;--wall-text:#e2e8f0;--wall-text-muted:#94a3b8;--wall-text-secondary:#64748b;--wall-border:#1e293b;--wall-border-dark:#334155;--wall-primary:#60a5fa;--wall-success:#4ade80;--wall-success-dark:#22c55e;--wall-danger:#f87171;--wall-danger-light:#ef4444;--wall-warning:#fbbf24;--wall-warning-dark:#f59e0b;--wall-bg-card:#1e293b;--wall-bg-elevated:#1e293b;--wall-shadow:rgba(0,0,0,0.3);--wall-card-bg:#1e293b;--list-card-bg:#1e293b;--list-card-border:rgba(226,232,240,0.1);--list-card-shadow:0 1px 3px rgba(0,0,0,0.4);--list-card-shadow-hover:0 6px 16px rgba(0,0,0,0.55),0 0 0 1px rgba(148,163,184,0.1);--list-header-bg:#0f172a;--list-header-text:rgba(241,245,249,0.98);--list-header-muted:rgba(148,163,184,0.75);--list-header-hover:#ffffff;--list-label:#94a3b8;--list-value:#e2e8f0;--list-divider:rgba(226,232,240,0.08);--list-stripe-online:#10b981;--list-stripe-offline:#f87171;--list-stripe-stale:#fbbf24;--list-tint-online:rgba(16,185,129,0.12);--list-tint-offline:rgba(248,113,113,0.14);--list-tint-stale:rgba(251,191,36,0.14);--list-pill-online:#10b981;--list-pill-offline:#ef4444;--list-pill-stale:#f59e0b;}[data-theme="dark"] body{background:var(--wall-bg);color:var(--wall-text);}[data-theme="dark"] a{color:var(--wall-primary);}[data-theme="dark"] a:visited,[data-theme="dark"] a:active{color:var(--wall-primary);}[data-theme="dark"] a:hover{color:#f87171;}[data-theme="dark"] .wall-loading-text{color:var(--wall-text);}[data-theme="dark"] #pageHeader{background:linear-gradient(135deg,#0f172a 0%,#1e293b 100%);border-bottom-color:var(--wall-border-dark);}[data-theme="dark"] .stat-card{background:#1e293b;box-shadow:0 1px 4px rgba(0,0,0,0.3);}[data-theme="dark"] .stat-card.primary{background:#1e293b;}[data-theme="dark"] .stat-card.primary .stat-value{color:#60a5fa;}[data-theme="dark"] .stat-card.success{background:#1e293b;}[data-theme="dark"] .stat-card.danger{background:#1e293b;}[data-theme="dark"] .dashboard-link{background:#1e293b;color:var(--wall-text-muted);}[data-theme="dark"] .dashboard-link:hover{color:#fff;background:#1e1e3a;}[data-theme="dark"] .filter-bar{background:rgba(15,23,42,0.6);border-top-color:var(--wall-border-dark);}[data-theme="dark"] .filter-toggle{background-color:#1e293b;color:var(--wall-text-secondary);border-color:var(--wall-border-dark);}[data-theme="dark"] .filter-toggle.active{background-color:#334155;color:var(--wall-text);}[data-theme="dark"] .filter-toggle span:last-child{background-color:rgba(255,255,255,0.08);}[data-theme="dark"] .filter-toggle.active span:last-child{background-color:rgba(255,255,255,0.1);}[data-theme="dark"] #filterOnline.active{background:linear-gradient(135deg,#14532d 0%,#166534 100%);color:#86efac;}[data-theme="dark"] #filterOnline.active span:last-child{background-color:rgba(74,222,128,0.2);color:#86efac;}[data-theme="dark"] #filterOffline.active{background:linear-gradient(135deg,#7f1d1d 0%,#991b1b 100%);color:#fca5a5;}[data-theme="dark"] #filterOffline.active span:last-child{background-color:rgba(239,68,68,0.2);color:#fca5a5;}[data-theme="dark"] #filterStale.active{background:linear-gradient(135deg,#78350f 0%,#92400e 100%);color:#fde68a;}[data-theme="dark"] #filterStale.active span:last-child{background-color:rgba(245,158,11,0.2);color:#fde68a;}[data-theme="dark"] #filterDslr.active{background:linear-gradient(135deg,#312e81 0%,#3730a3 100%);color:#c7d2fe;}[data-theme="dark"] #filterDslr.active span:last-child{background-color:rgba(99,102,241,0.2);color:#c7d2fe;}[data-theme="dark"] #filterMicro.active{background:linear-gradient(135deg,#164e63 0%,#155e75 100%);color:#a5f3fc;}[data-theme="dark"] #filterMicro.active span:last-child{background-color:rgba(6,182,212,0.2);color:#a5f3fc;}[data-theme="dark"] .camera-manage-panel{background:#1e293b;box-shadow:0 10px 40px rgba(0,0,0,0.5),0 0 0 1px rgba(255,255,255,0.05);}[data-theme="dark"] .manage-panel-btn{color:#cbd5e1;}[data-theme="dark"] .manage-panel-btn:hover{background:#334155;}[data-theme="dark"] .manage-panel-btn.btn-small:hover{background:#334155;}[data-theme="dark"] .manage-panel-btn.btn-watch.watching{background:#78350f;}[data-theme="dark"] .manage-panel-btn.btn-archive:hover{background:#78350f;}[data-theme="dark"] .manage-panel-btn.btn-action-required.ar-active{background:#7f1d1d;}[data-theme="dark"] .section-header{background:#1e293b;box-shadow:0 2px 8px rgba(0,0,0,0.2);}[data-theme="dark"] .section-header.section-installed{background:linear-gradient(135deg,#1e293b 0%,#2d1515 100%);border-color:#7f1d1d;}[data-theme="dark"] .section-header.section-watchlist{background:linear-gradient(135deg,#1e293b 0%,#2d2310 100%);border-color:#92400e;}[data-theme="dark"] .section-header.section-actionrequired{background:linear-gradient(135deg,#1e293b 0%,#2d1515 100%);border-color:#991b1b;}[data-theme="dark"] .section-header.section-onhold{background:linear-gradient(135deg,#1e293b 0%,#2d2310 100%);border-color:#92400e;}[data-theme="dark"] .section-header.section-toberemoved{background:linear-gradient(135deg,#1e293b 0%,#1e1535 100%);border-color:#5b21b6;}[data-theme="dark"] .section-header.section-removed{background:linear-gradient(135deg,#1e293b 0%,#1f2937 100%);border-color:#374151;}[data-theme="dark"] .section-header.section-future{background:linear-gradient(135deg,#1e293b 0%,#0e2a35 100%);border-color:#155e75;}[data-theme="dark"] .section-header.section-previous{background:linear-gradient(135deg,#1e293b 0%,#1f2937 100%);border-color:#374151;}[data-theme="dark"] .section-header-grey{background:linear-gradient(135deg,#1e293b 0%,#1f2937 100%);border-color:#374151;}[data-theme="dark"] .archived-toggle{color:#94a3b8;background:#334155;border-color:#475569;}[data-theme="dark"] .archived-toggle:hover{background:#475569;color:#e2e8f0;}[data-theme="dark"] body.show-archived .archived-toggle{background:#6b7280;color:#fff;border-color:#6b7280;}[data-theme="dark"] .refresh-status{background:#1e293b;border-color:var(--wall-border-dark);color:var(--wall-text-muted);}[data-theme="dark"] .cameraContainer{background-color:rgba(30,41,59,0.86);}[data-theme="dark"] .cameraContainer.previous-project{background:#1e293b;border-color:var(--wall-border-dark);}[data-theme="dark"] .cameraContainer.future-project{background:#0c2a35;border-color:#155e75;}[data-theme="dark"] .sort-dropdown{background:#1e293b;color:#94a3b8;border-color:var(--wall-border-dark);}[data-theme="dark"] .search-input{background:#1e293b;color:var(--wall-text);border-color:var(--wall-border-dark);}[data-theme="dark"] .search-clear:hover{background:#334155;}[data-theme="dark"] .action-btn{background:#1e293b;color:#94a3b8;border-color:var(--wall-border-dark);}[data-theme="dark"] .action-btn:hover:not(:disabled){background:#334155;border-color:#475569;}[data-theme="dark"] .confirm-dialog{background:#1e293b;}[data-theme="dark"] .confirm-body{color:#cbd5e1;}[data-theme="dark"] .confirm-footer{background:#0f172a;}[data-theme="dark"] .map-lightbox{background:#1e293b;}[data-theme="dark"] .lightbox-container{background:#0f172a;}[data-theme="dark"] .lightbox-body{background:#0f172a;}[data-theme="dark"] .lightbox-panel{background:#1e293b;border-color:#334155;}[data-theme="dark"] .lightbox-sidebar{background:#1e293b;border-color:#334155;}[data-theme="dark"] .quick-action-btn{background:#1e293b;border-color:#334155;color:#94a3b8;}[data-theme="dark"] .quick-action-btn:hover{background:#1e3a5f;color:#93c5fd;}[data-theme="dark"] .quick-action-btn:active,[data-theme="dark"] .quick-action-btn.pressed{background:#1e3a5f;}[data-theme="dark"] .micro-stat-card.dslr-online{border-color:#166534;background:#14532d;}[data-theme="dark"] .micro-stat-card.dslr-offline{border-color:#991b1b;background:#7f1d1d;}[data-theme="dark"] .micro-stat-card.dslr-warning{border-color:#92400e;background:#78350f;}[data-theme="dark"] .micro-stat-card .dslr-icon-camera,[data-theme="dark"] .micro-stat-card .dslr-icon-shutter,[data-theme="dark"] .micro-stat-card .dslr-icon-lens,[data-theme="dark"] .micro-stat-card .dslr-icon-zoom,[data-theme="dark"] .micro-stat-card .dslr-icon-aperture,[data-theme="dark"] .micro-stat-card .dslr-icon-iso,[data-theme="dark"] .micro-stat-card .dslr-icon-expcomp,[data-theme="dark"] .micro-stat-card .dslr-icon-apo{color:#94a3b8;}[data-theme="dark"] .lightbox-tabs{border-bottom-color:#334155;}[data-theme="dark"] .lightbox-graph-container{background:#1e293b;}[data-theme="dark"] .graph-nav-btn{background:#334155;color:#94a3b8;border-color:#475569;}[data-theme="dark"] .graph-nav-btn:hover{background:#475569;color:#e2e8f0;}[data-theme="dark"] .graph-nav-label{color:#94a3b8;}[data-theme="dark"] .graph-loading-overlay{background:rgba(15,23,42,0.85);}[data-theme="dark"] .graph-loading-overlay .spinner{border-color:#334155;border-top-color:var(--wall-primary);}[data-theme="dark"] .comparison-container{background:#1e293b;}[data-theme="dark"] body.list-view #cameraWall{background:#0f172a;}[data-theme="dark"] body.list-view .cameraContainer{background:#1e293b;}[data-theme="dark"] body.list-view .cameraContainer:hover{box-shadow:0 4px 12px rgba(0,0,0,0.4);}[data-theme="dark"] body.list-view .cameraContainer.row-online{background:var(--wall-success-dark);}[data-theme="dark"] body.list-view .cameraContainer.row-offline{background:var(--wall-danger);}[data-theme="dark"] body.list-view .cameraContainer.row-stale{background:#a16207;}[data-theme="dark"] body.list-view .cameraContainer.selected{background:#1e3a5f;outline-color:var(--wall-primary);}[data-theme="dark"] .bulk-ssh-container{background:#1e293b;}[data-theme="dark"] .bulk-ssh-btn-sm{background:#334155;color:#cbd5e1;border-color:#475569;}[data-theme="dark"] .bulk-ssh-log-output{background:#0f172a;color:#e2e8f0;}[data-theme="dark"] .bulk-ssh-console-output{background:#0f172a;color:#e2e8f0;}[data-theme="dark"] .stat-detail-modal{background:#1e293b;border-color:#334155;color:#e2e8f0;}[data-theme="dark"] .stat-detail-header{color:#e2e8f0;border-color:#334155;}[data-theme="dark"] .stat-detail-header h2{color:#e2e8f0;}[data-theme="dark"] .stat-detail-body{color:#e2e8f0;}[data-theme="dark"] .stat-detail-table th{background:#0f172a;color:#94a3b8;border-color:#334155;}[data-theme="dark"] .stat-detail-table td{color:#e2e8f0;border-color:#334155;}[data-theme="dark"] .stat-detail-table tbody tr:nth-child(even) td{background:#0f172a;}[data-theme="dark"] .stat-detail-table tr:hover td{background:#334155;}[data-theme="dark"] .micro-stat-grid{background:#1e293b;}[data-theme="dark"] .micro-stat-header{background:#0f172a;}[data-theme="dark"] .micro-stat-row:nth-child(even){background:#0f172a;}[data-theme="dark"] .micro-stat-detail{background:#0f172a;}[data-theme="dark"] .micro-stat-content{background:#1e293b;}[data-theme="dark"] .camera-control-panel{background:#1e293b;}[data-theme="dark"] .camera-control-output{background:#0f172a;color:#e2e8f0;}[data-theme="dark"] .imgcount-overlay-content{background:#1e293b;color:var(--wall-text);}[data-theme="dark"] .imgcount-table th{background:#0f172a;color:#94a3b8;}[data-theme="dark"] .imgcount-table td{border-color:#334155;}[data-theme="dark"] .imgcount-table tr:hover td{background:#334155;}[data-theme="dark"] .actuation-overlay-content{background:#1e293b;color:var(--wall-text);}[data-theme="dark"] .actuation-table th{background:#0f172a;color:#94a3b8;}[data-theme="dark"] .actuation-table td{border-color:#334155;}[data-theme="dark"] .actuation-table tr:hover td{background:#334155;}[data-theme="dark"] .alert-modal-content{background:#1e293b;}[data-theme="dark"] .alert-modal-header{background:#0f172a;}[data-theme="dark"] .alert-item{background:#0f172a;border-color:#334155;}[data-theme="dark"] .alert-item:hover{background:#1a2744;}[data-theme="dark"] .loading-overlay{background:rgba(15,23,42,0.8);}[data-theme="dark"] .spinner{border-color:#334155;border-top-color:var(--wall-primary);}[data-theme="dark"] .lb-health-panel{background:#1e293b;}[data-theme="dark"] .removed-message{background:#1e293b;border-color:#334155;}[data-theme="dark"] .headContainer{background:rgba(30,41,59,0.95);}.headContainer{position:relative;z-index:10;background:rgba(216,216,216,0.95);}.headContent.link-ssh,.headContent.link-cam,.headContent.link-copy,.headContent.link-logs,.headContent.link-xero,.headContent.link-chat,.headContent.link-streak{min-height:22px;line-height:22px;}.headContent.link-ssh a,.headContent.link-cam a,.headContent.link-copy a,.headContent.link-logs a{color:#333;text-decoration:none;}.headContent.link-ssh a:hover,.headContent.link-cam a:hover,.headContent.link-copy a:hover,.headContent.link-logs a:hover{color:#000;text-decoration:underline;}@media (max-width:768px){.overlay-error{width:18px;height:44px;transform:translate(-50%,-50%);opacity:0.85;}.overlay-question{width:28px;height:50px;transform:translate(-50%,-50%);opacity:0.85;}.overlay-caution{width:18px;height:44px;transform:translate(-50%,-50%);opacity:0.85;}.cpuTemp,.cpuUsage,.memoryUsage,.load,.uptime,.users,.storageNumber,.softwareVersion,.pingTime{max-width:48%;overflow:visible;white-space:nowrap;}.cameraModes,.cameraType,.powerOff,.lensName,.aexif,.bexif,.cexif,.dexif,.eexif,.USBStatusText,.cameraShutter{max-width:48%;overflow:visible;white-space:nowrap;}.microBattery,.microSolar,.microTemp,.microFirmware,.microDisk,.microUpdate{white-space:nowrap;overflow:visible;}.cameraName{font-size:clamp(8px,2.2vw,11px);}.statusText{font-size:clamp(8px,2.2vw,11px);}.serviceRegion{font-size:clamp(8px,2.2vw,11px);}.stat-cards{align-items:stretch;}.stat-card{display:flex;flex-direction:column;justify-content:center;align-items:center;}}@media (max-width:480px){.headContent{font-size:clamp(9px,2.8vw,12px) !important;padding:6px 4px !important;min-height:32px;line-height:20px;display:inline-flex !important;align-items:center;justify-content:center;}.headContent.link-ssh,.headContent.link-cam,.headContent.link-copy,.headContent.link-logs{min-width:36px;min-height:36px;padding:8px 6px !important;line-height:20px;}.headContent.link-ssh a,.headContent.link-cam a,.headContent.link-copy a,.headContent.link-logs a{display:inline-block;min-width:28px;min-height:20px;text-align:center;line-height:20px;}.hero-stats{gap:4px;}.stat-cards{gap:3px;align-items:stretch;}.stat-cards-secondary{gap:3px;}.stat-card{display:flex;flex-direction:column;justify-content:center;align-items:center;padding:4px 6px;min-width:50px;}.stat-value{font-size:14px;line-height:1.2;}.stat-label{font-size:7px;line-height:1.2;margin-top:1px;}.overlay-error{width:20px;height:50px;transform:translate(-50%,-50%);}.overlay-question{width:30px;height:55px;transform:translate(-50%,-50%);}.overlay-caution{width:20px;height:50px;transform:translate(-50%,-50%);}.wall-section-cameras{grid-template-columns:1fr;}}@media (max-width:375px){.headContent{font-size:clamp(8px,3vw,11px) !important;padding:5px 3px !important;}.headContent.link-ssh,.headContent.link-cam,.headContent.link-copy,.headContent.link-logs{min-width:34px;min-height:34px;padding:7px 4px !important;}.stat-card{min-width:44px;padding:3px 5px;}.stat-value{font-size:13px;}.stat-label{font-size:6px;}}[data-theme="dark"]::-webkit-scrollbar{width:8px;}[data-theme="dark"]::-webkit-scrollbar-track{background:#0f172a;}[data-theme="dark"]::-webkit-scrollbar-thumb{background:#334155;border-radius:4px;}[data-theme="dark"]::-webkit-scrollbar-thumb:hover{background:#475569;}.quick-action-btn.disabled,.quick-action-btn[aria-disabled="true"]{opacity:0.4;cursor:not-allowed;pointer-events:auto;}[data-theme="dark"] .quick-action-btn.disabled,[data-theme="dark"] .quick-action-btn[aria-disabled="true"]{opacity:0.35;}