.dcc-screen{padding:8px 4px 12px}
.dcc-screen-header{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin:0 auto 10px;width:100%}
.dcc-screen-meta{color:var(--text-muted,#888);font-size:12px;font-family:var(--mono,monospace);margin-left:auto}
/* Action group: primary buttons in header */
.screen-action-group{display:flex;align-items:center;gap:6px;flex-shrink:0}
/* Per-row toggle inside left column */
.screen-param-list{display:block;margin-bottom:4px}
.screen-param-row{display:flex;width:100%;box-sizing:border-box;align-items:center;justify-content:space-between;gap:8px;padding:5px 0;margin:0;cursor:pointer;border-bottom:1px solid rgba(255,255,255,.05)}
.screen-param-row:last-child{border-bottom:none}
.screen-param-row>span:first-child{font-size:13px;color:var(--text-secondary,#c8ccd6);user-select:none;flex:1 1 auto;min-width:0}
.screen-param-row .switch{flex:0 0 auto}
/* legacy inline toggle label (kept for JS compat) */
.screen-hvnc{display:inline-flex;align-items:center;gap:6px;margin:0;color:var(--text-muted,#9398a4);font-size:12px;letter-spacing:.04em;cursor:pointer;white-space:nowrap}
.screen-hvnc .switch{flex:0 0 auto}
.dcc-screen-desk{
  display:grid;
  grid-template-columns:minmax(180px,1fr) auto minmax(200px,1fr);
  gap:18px;
  align-items:stretch;
  justify-content:center;
  width:100%;
  margin:0 auto;
}
.screen-col{display:flex;flex-direction:column;gap:8px;min-width:0;min-height:0}
.dcc-screen .pane-title{margin:0;font-size:11px;letter-spacing:.06em}
.dcc-screen .control-input-row{display:flex;gap:6px}
.dcc-screen .control-input-row .input-field{min-width:0;flex:1}
.dcc-screen .gesture-grid{display:grid;grid-template-columns:1fr 1fr;gap:6px}
.dcc-screen .gesture-btn{padding:7px 8px;font-size:12px}
#screen-pin-pad{
  display:grid !important;
  grid-template-columns:repeat(3,36px);
  gap:4px;
  width:max-content;
  margin:0 0 8px;
}
#screen-pin-pad button,
#screen-pin-pad .gesture-btn{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  box-sizing:border-box;
  width:36px;
  height:30px;
  margin:0;
  padding:0;
  border:1px solid rgba(255,255,255,.1);
  border-radius:8px;
  background:#1a1d28;
  color:#e6e7ec;
  font:500 13px/1 Inter,system-ui,sans-serif;
  font-variant-numeric:tabular-nums;
  appearance:none;
  cursor:pointer;
}
#screen-pin-pad button:hover,
#screen-pin-pad .gesture-btn:hover{background:#1b1e2b;border-color:#818cf8}
#screen-pin-pad button:active,
#screen-pin-pad .gesture-btn:active{transform:scale(.97)}
.unlock-chooser{
  position:absolute;
  z-index:40;
  top:calc(100% + 8px);
  left:0;
  width:210px;
  padding:10px;
  background:#161922;
  border:1px solid rgba(255,255,255,.1);
  border-radius:12px;
  box-shadow:0 16px 40px rgba(0,0,0,.5);
}
.unlock-modes{display:grid;grid-template-columns:1fr 1fr;gap:4px;margin-bottom:8px}
.unlock-modes .gesture-btn{height:30px;padding:0}
.unlock-modes .gesture-btn.is-on{background:#312e81;border-color:transparent;color:#eef2ff}
.unlock-pin-row{display:flex;gap:6px;align-items:center}
.unlock-pin-row input{min-width:0;flex:1;height:30px}
.unlock-chooser .pattern-pad{width:132px;height:132px;margin:2px auto 8px}
.unlock-chooser #unlock-pattern-saved{width:100%}
.dcc-pattern-mini{width:72px;height:72px;flex:0 0 72px;display:block}
.pattern-pad{
  position:relative;
  display:grid;
  grid-template-columns:repeat(3,1fr);
  touch-action:none;
  user-select:none;
}
.pattern-pad i{
  width:22px;height:22px;margin:auto;border-radius:50%;
  background:#3a3f4d;box-shadow:inset 0 0 0 2px #6b7280;
  position:relative;z-index:1;
}
.pattern-pad i.is-on{background:#818cf8;box-shadow:0 0 0 4px rgba(129,140,248,.35)}
.pattern-lines{position:absolute;inset:0;width:100%;height:100%;z-index:0;pointer-events:none}
.pattern-lines line{stroke:#818cf8;stroke-width:.18;stroke-linecap:round}
.dcc-screen .screen-col > .pane-title:nth-of-type(2){margin-top:auto}
.dcc-screen .macro-controls{display:flex;flex-wrap:wrap;gap:6px}
.dcc-screen .macro-timeline{max-height:120px;overflow:auto}
.dcc-screen .action-log{flex:1 1 auto;min-height:140px;max-height:none;overflow:auto}
.cmd-ok{color:#4ade80;font-style:normal;margin-left:6px}
.cmd-fail{color:#f87171;font-style:normal;margin-left:6px}
.cmd-wait{color:#9398a4;font-style:normal;margin-left:6px}
.dcc-screen-stage{display:flex;flex-direction:column;align-items:center;gap:8px;min-width:0}
.dcc-screen .pad-frame{width:auto;height:min(74vh,680px);aspect-ratio:1/2;border-width:10px;border-radius:40px}
.dcc-screen .pad-syskeys{width:100%;box-sizing:border-box;justify-content:stretch}
.dcc-screen .syskey{flex:1 1 0;min-width:0;height:36px;padding:0}
.dcc-screen-frame{flex-shrink:0}
.dcc-screen-pad{cursor:crosshair!important}
.dcc-screen-pad canvas{position:absolute;inset:0;width:100%;height:100%;display:block;object-fit:contain}
.screen-pinned-note{margin:8px 8px 0;color:#9398a4;font-size:13px}

.dcc-screen.is-pinned{
  position:fixed;
  z-index:1400;
  top:64px;
  left:16px;
  right:auto;
  bottom:auto;
  display:flex;
  flex-direction:column;
  width:min(820px,calc(100vw - 16px));
  height:min(720px,calc(100vh - 48px));
  max-height:none;
  overflow:hidden;
  margin:0;
  padding:10px 12px 18px;
  background:#10121a;
  border:1px solid rgba(255,255,255,.12);
  border-radius:16px;
  box-shadow:0 24px 70px rgba(0,0,0,.6);
}
.dcc-screen.is-pinned .dcc-screen-header{cursor:grab;user-select:none;width:100%;margin-bottom:8px;flex:0 0 auto}
.dcc-screen.is-pinned .dcc-screen-desk{flex:1 1 auto;min-height:0;width:100%;grid-template-columns:minmax(140px,1fr) auto minmax(150px,1fr);gap:10px;align-items:stretch;overflow:hidden}
.dcc-screen.is-pinned .screen-col{overflow:auto}
.dcc-screen.is-pinned .dcc-screen-stage{height:100%;min-height:0}
.dcc-screen.is-pinned .pad-frame{width:auto;height:calc(100% - 48px);aspect-ratio:1/2;max-height:calc(100% - 48px);border-width:8px;border-radius:32px}
.dcc-screen.is-pinned .pad-syskeys{width:100%}
.dcc-screen.is-pinned .macro-timeline{max-height:none;flex:0 0 auto}
.dcc-screen.is-pinned .action-log{max-height:none;min-height:72px}
.screen-resize{display:none}
.dcc-screen.is-pinned .screen-resize{
  display:block;
  position:absolute;
  right:0;
  bottom:0;
  width:22px;
  height:22px;
  cursor:nwse-resize;
  z-index:3;
  background:
    linear-gradient(135deg, transparent 0 46%, rgba(255,255,255,.55) 46% 58%, transparent 58% 68%, rgba(255,255,255,.55) 68% 80%, transparent 80%);
}

@media (max-width:900px){
  .dcc-screen-desk{grid-template-columns:1fr;justify-items:center}
  .screen-col{width:min(420px,100%)}
}
