/* Camera wall and protected connection manager, using the shared theme tokens. */
.camera-layout-bar{display:flex;align-items:center;justify-content:space-between;gap:12px;margin:0 0 12px;font-size:13px}.camera-layout-switch{display:flex;border:1px solid var(--border);border-radius:10px;overflow:hidden;padding:3px;background:var(--inset);gap:3px}.camera-layout-switch button{border:0;min-height:34px;padding:6px 12px;background:transparent;font-size:12px}.camera-layout-switch button[aria-pressed="true"]{background:var(--accent-soft);color:var(--accent);box-shadow:inset 0 0 0 1px var(--accent-border)}
.camera-wall{border:1px solid var(--border);border-radius:var(--radius);overflow:hidden;background:var(--panel);min-width:0}.camera-wall-heading{display:flex;align-items:center;justify-content:space-between;padding:14px 16px;gap:12px}.camera-wall-heading>strong{font-size:13px;white-space:nowrap}.camera-wall-tools{display:flex;gap:6px;align-items:center}.camera-wall-tools button,.camera-wall-tools select{min-height:34px;padding:5px 9px;font-size:11px}.camera-wall-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1px;background:var(--border);border-block:1px solid var(--border)}.camera-wall-grid:has(>.camera-tile:only-child){grid-template-columns:1fr}.camera-tile{background:var(--panel);min-width:0;overflow:hidden}.camera-tile-heading{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:10px 12px;font-size:11px}.camera-tile-heading strong{overflow:hidden;white-space:nowrap;text-overflow:ellipsis;font-weight:550}.camera-tile-status{color:var(--muted);white-space:nowrap;font-size:10px}.camera-tile[data-state="live"] .camera-tile-status{color:var(--success)}.camera-tile-viewport{position:relative;aspect-ratio:16/9;background:#101216;display:flex;align-items:center;justify-content:center;overflow:hidden}.camera-tile-viewport img{width:100%;height:100%;object-fit:contain;visibility:hidden}.camera-tile-viewport:fullscreen{width:100vw;height:100vh}.camera-tile-message{position:absolute;inset:auto 12px;margin:0;background:rgba(24,28,34,.88);color:#eef2f6;padding:12px;text-align:center;border-radius:8px;font-size:11px;line-height:1.5}.camera-tile-actions{padding:7px 9px;display:flex;align-items:center;gap:4px}.camera-tile-actions button{font-size:10px;min-height:30px;padding:5px 7px;background:transparent;border-color:transparent}.camera-tile-actions button:last-child{margin-left:auto}.camera-wall-chooser{padding:13px 16px;border-bottom:1px solid var(--border)}.camera-wall-chooser summary{cursor:pointer;font-size:12px;color:var(--muted)}.camera-wall-choices{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin-top:14px}.camera-choice{display:flex;gap:8px;align-items:center;font-size:12px;min-width:0}.camera-choice input{accent-color:var(--primary);flex:none}.camera-choice>span{overflow:hidden;text-overflow:ellipsis}.camera-choice small{color:var(--subtle);font-size:10px}.camera-wall-note{font-size:11px;color:var(--muted);line-height:1.6;padding:12px 16px;margin:0}.camera-wall-empty{padding:45px 20px;margin:0;text-align:center;background:var(--inset);grid-column:1/-1;color:var(--muted);font-size:13px}.camera-wall:fullscreen{padding:18px;overflow:auto;background:var(--bg);border:0;border-radius:0;display:flex;flex-direction:column}.camera-wall:fullscreen .camera-wall-grid{flex:1;align-content:center}.camera-wall:fullscreen .camera-tile-viewport{max-height:65vh}.camera-wall:fullscreen .camera-wall-chooser,.camera-wall:fullscreen .camera-wall-note{display:none}.camera-wall-active>.camera-settings{display:none}
.camera-management{max-width:1000px}.camera-management h2{margin:0 0 8px;font-size:20px}.camera-management-intro p{margin:0 0 14px;max-width:780px}.camera-management-list{margin-top:24px}.camera-management-summary{display:flex;justify-content:space-between;align-items:center;margin-bottom:12px}.camera-management-row{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:16px;border:1px solid var(--border);border-radius:var(--radius-sm);margin-top:8px;background:var(--panel)}.camera-management-row>div:first-child{min-width:0}.camera-management-row strong{display:block;font-size:14px;overflow-wrap:anywhere}.camera-management-row .hint{display:block;margin-top:3px}.camera-management-actions{display:flex;gap:6px}.camera-management-actions button{font-size:12px;min-height:34px;padding:6px 10px}.camera-management-empty{padding:24px;background:var(--inset);border:1px dashed var(--border);border-radius:var(--radius-sm);color:var(--muted);font-size:13px}.camera-add-form{margin-top:24px;padding:22px;background:var(--panel);border:1px solid var(--border);border-radius:var(--radius);display:grid;grid-template-columns:1fr;gap:9px}.camera-add-form h3{font-size:16px;margin:0 0 8px}.camera-add-form>label:not(.camera-enabled){font-size:12px;font-weight:600;margin-top:6px}.camera-add-form>input{width:100%;box-sizing:border-box;padding:11px 12px;background:var(--inset);border:1px solid var(--border);color:var(--text)}.camera-add-form .hint{margin:0 0 7px}.camera-enabled{display:flex;align-items:center;gap:8px;font-size:13px}.camera-enabled input{accent-color:var(--primary)}.camera-form-actions{display:flex;gap:8px;margin-top:12px}.camera-management-feedback{font-size:13px;color:var(--accent);margin:14px 0}.camera-management-feedback:empty{display:none}
@media(min-width:1450px){.camera-wall-active{grid-template-columns:minmax(0,2.5fr) minmax(280px,1fr)}}
@media(max-width:600px){.camera-layout-bar{align-items:flex-start;flex-direction:column;gap:8px}.camera-layout-switch{align-self:stretch}.camera-layout-switch button{flex:1}.camera-wall-heading{align-items:flex-start;flex-direction:column;gap:9px}.camera-wall-tools{width:100%}.camera-wall-tools select{flex:1;min-width:0}.camera-wall-grid{grid-template-columns:1fr}.camera-wall-choices{grid-template-columns:1fr}.camera-management-row{align-items:flex-start;flex-direction:column;gap:10px}.camera-add-form{padding:17px}}
