#remoteCameraVideo{width:100%;height:100%;object-fit:contain;display:block;background:#071019}
#remoteCameraVideo[hidden],#remoteCameraPlaybackStatus[hidden]{display:none}
#remoteCameraPlaybackStatus{position:absolute;left:14px;bottom:20px;color:var(--cyan);background:#071019d9;padding:8px;border-radius:8px;font-size:12px}
.remote-camera-source{display:grid;grid-template-columns:1fr auto;gap:12px;padding:16px 0;border-top:1px solid #35515f}
.remote-camera-source code,.remote-camera-source small{grid-column:1/-1;overflow-wrap:anywhere;user-select:all}
.remote-camera-source button{grid-column:1/-1}.remote-camera-live{color:var(--cyan)}
#remoteCameraDialog{width:min(520px,90vw)}
.remote-camera-active #placeExactBtn,.remote-camera-active #editImageBtn{display:none}

#remoteCameraHouseControls{display:grid;grid-template-columns:3fr 1fr 2fr;gap:6px;width:min(740px,calc(100% - 24px));max-width:calc(100% - 24px)}
#remoteCameraHouseControls[hidden]{display:none}
#remoteCameraHouseActions{grid-column:1;grid-row:1;min-width:0}
#remoteCameraBookmarkCell,#remoteCameraTransportCell{display:grid;grid-template-rows:1fr 1fr;gap:6px;min-width:0}
#remoteCameraBookmarkCell{grid-column:2;grid-row:1}#remoteCameraTransportCell{grid-column:3;grid-row:1}
#remoteCameraTransportPair{display:grid;grid-template-columns:1fr 1fr;gap:4px}
#remoteCameraRecordCell{display:flex;justify-content:center;align-items:center}
#remoteCameraRecordCell #liveRecordBtn,#remoteCameraBookmarkHost #workspaceBookmark{position:static!important;inset:auto!important;margin:0;width:100%;min-height:32px;max-width:100%;font-size:9px}
#remoteCameraRecordCell #liveRecordBtn{width:46px;height:46px}
#remoteCameraHouseControls button{min-width:0;overflow-wrap:anywhere}
#remoteCameraTransportNotice,#remoteCameraHouseStatus{grid-column:1/-1}
#terminalCommercialPanel{max-height:70vh;overflow:auto}#terminalCommercialPanel button{margin:6px}
#settingsDialog:not([open]){display:none}#settingsDialog[open]{position:fixed;inset:6vh auto auto 50%;transform:translateX(-50%);max-height:70vh;overflow:auto;z-index:45;width:min(580px,90vw)}
#settingsLanding{display:grid;gap:10px}#terminalDailyTotal{color:var(--cyan);background:#091a26;font-size:12px;margin-left:10px}

#remoteCameraHouseControls .remote-camera-live-indicator{position:absolute;bottom:112px;left:0}
#remoteCameraTransportNotice{position:absolute;bottom:110px;right:0;max-width:75%;font-size:11px;background:#071019d9}
#settingsLanding[hidden]{display:none}

#remoteCameraBookmarkCell,#remoteCameraTransportCell{height:100%;grid-template-rows:repeat(2,minmax(0,1fr))}
#remoteCameraBookmarkHost{display:flex;align-items:center;justify-content:center;min-height:0}
#remoteCameraRecordCell #liveRecordBtn{max-height:100%;min-height:0}
#remoteCameraTransportPair button{min-height:0;padding:3px;font-size:10px}
#terminalDailyTotal{margin-right:auto}

/* Approved PLC communication presentation; underlying functions retained. */
#remoteCameraBookmarkHost{display:none!important}#remoteCameraBookmarkCell{grid-template-rows:1fr 1fr}#remoteCameraTransportCell{grid-template-columns:1fr 1fr;grid-template-rows:1fr 1fr}#remoteCameraTransportPair{grid-column:1/-1;grid-row:2}#remoteCameraRecordCell{grid-column:2;grid-row:1}#portraitWrap:has(#houseControlsWorkspace:not([hidden])) #liveRecordBtn{display:none!important}.house-controls-bottom{display:grid;justify-items:center;gap:8px}.house-controls-bottom .house-controls-return{width:160px;max-width:100%;min-height:44px}.plc-comm{cursor:default!important}.plc-comm[data-plc-comm="good"]{border-color:#5cf59a!important;background:#155d3a!important;color:#effff6!important}.plc-comm[data-plc-comm="bad"]{border-color:#ff5668!important;background:#a7091a!important;color:#fff!important}
#remoteCameraTransportCell:has(#remoteCameraTransportB:first-child) #remoteCameraRecordCell{grid-column:1}

/* Generator Controls V1: retain existing action and two-row dock dimensions. */
#remoteCameraHouseControls{grid-template-rows:minmax(0,1fr)}
#remoteCameraBookmarkCell,#remoteCameraTransportCell{min-height:0}
#remoteCameraBookmarkCell button{min-height:0;padding:3px;font-size:10px}
#houseControlsActions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));width:min(100%,422px)}
#remoteCameraTransportCell #remoteCameraRefresh{grid-column:1;grid-row:1;width:100%;height:100%}
#remoteCameraTransportCell:has(#remoteCameraTransportB:first-child) #remoteCameraRefresh{grid-column:2}
#remoteCameraBookmarkCell .generator-state{width:100%;height:100%}
.generator-state{cursor:default!important;background:#071019!important;border-color:var(--cyan)!important;color:var(--cyan)!important;font-size:10px;line-height:1.1}
.generator-state[data-generator-state="running"],[data-generator-command-state="start"]{background:#155d3a!important;border-color:#5cf59a!important;color:#effff6!important}
[data-generator-command-state="stop"]{background:#a7091a!important;border-color:#ff5668!important;color:#fff!important}
[data-generator-command]{position:relative;touch-action:none;user-select:none;-webkit-user-select:none;-webkit-touch-callout:none}
[data-generator-command]:not(:disabled){background-image:linear-gradient(to right,#ffffff33 calc(var(--generator-hold,0)*100%),transparent 0)!important}
[data-generator-command][data-hold-seconds]:not([data-hold-seconds=""])::after{content:attr(data-hold-seconds) 's';position:absolute;right:5px;bottom:2px;font-size:8px;letter-spacing:0}
.generator-message{font-size:10px;line-height:1.2;color:#8fb1c4;text-align:center;margin:0;min-height:1.2em}
#remoteCameraHouseControls .generator-message{position:absolute;left:0;right:0;bottom:calc(100% + 28px);font-size:8px;pointer-events:none}
#remoteCameraHouseActions [data-generator-command]{font-size:clamp(8px,calc(1 * var(--nova-vw)),11px);letter-spacing:.015em}

/* Controls polish V1: equal dock cells, stable read-only status and REC timer. */
#remoteCameraHouseControls{grid-template-columns:repeat(6,minmax(0,1fr))}
#remoteCameraHouseActions{grid-column:1/span 3}
#remoteCameraBookmarkCell{grid-column:4}
#remoteCameraTransportCell{grid-column:5/span 2;gap:6px}
#remoteCameraTransportPair{gap:6px}
.generator-state{border:1px solid var(--cyan2)!important;border-radius:12px;background:rgb(10,24,35)!important;color:#fff!important;font-weight:650}
.generator-state[data-generator-state="running"]{background:rgb(10,24,35)!important;border-color:var(--cyan2)!important;color:#fff!important}
#remoteCameraRecordCell #liveRecordBtn{width:100%;height:100%;min-height:0;padding:3px;border:1px solid var(--cyan2);border-radius:12px;background:#a7091a;color:#fff;font-size:10px;font-weight:650;letter-spacing:0;line-height:1.1;box-shadow:none;white-space:nowrap;font-variant-numeric:tabular-nums}
#remoteCameraRecordCell #liveRecordBtn::before{content:none}
#remoteCameraRecordCell #liveRecordBtn[data-recording="true"]{background:#a7091a;border-color:var(--cyan2);box-shadow:0 0 10px #f33a}

/* Match six House action shapes to the existing right-hand dock cells. */
#remoteCameraHouseActions{gap:6px}
#remoteCameraHouseActions button,#houseControlsActions button{border-radius:12px}

/* Local digital zoom: preserve the original viewport and capture track. */
#remoteCameraViewport{position:relative;width:100%;height:100%;overflow:hidden;touch-action:manipulation;user-select:none;-webkit-user-select:none}
#workspaceWrap.remote-camera-active #remoteCameraViewport{height:calc(100% - 60px)}
#workspaceWrap.remote-camera-active:has(#remoteCameraHouseControls:not([hidden])) #remoteCameraViewport{height:calc(100% - 122px)}
#workspaceWrap:not(.remote-camera-active) #remoteCameraViewport{display:none}
#remoteCameraPicture{position:absolute;inset:0;transform-origin:center center}
#remoteCameraPicture #remoteCameraVideo{width:100%;height:100%!important;pointer-events:none}
#remoteCameraViewport[data-zoomed="true"]{touch-action:none;cursor:grab}
#remoteCameraViewport[data-dragging="true"]{cursor:grabbing}
#remoteCameraZoomControls{position:absolute;right:12px;bottom:12px;z-index:26;display:grid;grid-template-rows:44px 44px;gap:4px;width:44px;text-align:center}
#remoteCameraZoomControls[hidden]{display:none}
#remoteCameraZoomControls button{min-width:44px;min-height:44px;padding:0;font-size:24px;line-height:1;border-radius:12px}
#remoteCameraZoomControls button:disabled{opacity:.45;cursor:default}
#remoteCameraZoomPercent{position:absolute;left:0;right:0;bottom:2px;font-size:8px;color:var(--cyan);font-variant-numeric:tabular-nums;line-height:10px;pointer-events:none}
#workspaceWrap.remote-camera-active:has(#remoteCameraHouseControls:not([hidden])) #remoteCameraHouseControls{width:min(700px,calc(100% - 76px));max-width:calc(100% - 76px)}
@container nova-terminal (max-width:800px){
 #workspaceWrap.remote-camera-active:has(#remoteCameraHouseControls:not([hidden])) #remoteCameraViewport{height:calc(100% - 100px)}
 #remoteCameraZoomControls{bottom:8px}
 #remoteCameraHouseControls button{padding:3px 2px;font-size:8px;letter-spacing:0;line-height:1.05}
}

/* Owner-approved dock lettering and confirmed generator-running indication. */
#remoteCameraHouseControls #remoteCameraBookmarkCell button,
#remoteCameraHouseControls #remoteCameraTransportCell button{font-weight:800}
.generator-state[data-generator-state="running"]{
 --nova-generator-running-border:#ff344d;
 border-color:var(--nova-generator-running-border)!important;
 color:#ff344d!important;
 animation:nova-generator-running-border 1s steps(1,end) infinite;
}
@keyframes nova-generator-running-border{
 0%,100%{--nova-generator-running-border:#ff344d}
 50%{--nova-generator-running-border:var(--cyan2)}
}

/* Remote Camera V2 settings, within the existing responsive Settings panel. */
#remoteCameraSettings{min-width:0}#remoteCameraSettings select{width:100%;max-width:100%}#remoteCameraSettings .remote-camera-auto{display:flex;align-items:center;gap:10px}#remoteCameraAutoOpen{width:auto;flex:none}#remoteCameraPreferenceNote{overflow-wrap:anywhere}
