/* Operational office. All additions are confined to the authenticated lane. */
.vo-live { min-width:0; }
.vo-live [hidden] { display:none!important; }
.vo-live .vo-toolbar { gap:8px; }
.vo-live .vo-toolbar button { flex:0 0 36px; padding:6px; font-size:18px; }
.vo-live .vo-live-link { color:var(--adm-primary,#3c8dbc); text-underline-offset:3px; padding:8px 4px; line-height:1.5; }
.vo-live #vo-live-refresh { margin-left:auto; color:var(--adm-text-soft); font-size:11px; line-height:1.5; }
.vo-live #vo-live-message:empty { display:none; }
.vo-live .vo-live-error,.vo-live #vo-live-settings-error:not(:empty) { padding:12px; border:1px solid var(--adm-danger,#dd4b39); border-left-width:4px; color:var(--adm-text); background:var(--adm-surface); font-weight:600; line-height:1.6; overflow-wrap:anywhere; }
.vo-live button:disabled { opacity:.6; cursor:wait; }
.vo-live :focus-visible { outline:3px solid var(--adm-primary,#3c8dbc); outline-offset:3px; }
.vo-live .vo-live-office { --desk-width:max(170px,calc((100% - 58px)/4)); position:relative; isolation:isolate; display:grid; grid-template-columns:repeat(4,minmax(170px,1fr)); gap:10px; align-items:stretch; padding:20px 14px 66px; overflow-x:auto; overscroll-behavior-x:contain; background:var(--adm-bg,#f3f5f7); scrollbar-color:var(--adm-border) var(--adm-surface); }
.vo-live .vo-live-path { position:absolute; z-index:-1; top:36px; left:14px; width:max(710px,calc(100% - 28px)); height:190px; color:var(--adm-primary,#3c8dbc); opacity:.5; pointer-events:none; }
#virtual-office .vo-live .vo-live-desk { position:relative; display:flex; flex-direction:column; align-items:center; justify-content:flex-start; gap:8px; min-width:0; min-height:230px; padding:14px 10px; text-align:center; background:var(--adm-surface); border:1px solid var(--adm-border); box-shadow:0 3px 0 var(--adm-border); }
#virtual-office .vo-live .vo-live-desk:hover { border-color:var(--adm-primary,#3c8dbc); background:var(--adm-surface-2); }
#virtual-office .vo-live .vo-live-desk.is-current { border:2px solid var(--adm-primary,#3c8dbc); padding:13px 9px; background:var(--adm-primary-soft,var(--adm-surface-2)); }
.vo-live .vo-live-desk-icon { width:32px; height:32px; display:grid; place-items:center; background:var(--adm-primary-soft); color:var(--adm-primary,#3c8dbc); font-size:22px; border-radius:50%; }
.vo-live .vo-live-desk-table { position:relative; display:flex; justify-content:center; align-items:flex-end; width:100px; height:60px; margin:4px 0 7px; border-bottom:9px solid var(--adm-primary,#3c8dbc); }
.vo-live .vo-live-desk-table::before,.vo-live .vo-live-desk-table::after { content:''; position:absolute; bottom:-16px; width:5px; height:9px; background:var(--adm-text-soft); }
.vo-live .vo-live-desk-table::before { left:8px; }
.vo-live .vo-live-desk-table::after { right:8px; }
.vo-live .vo-live-monitor { position:relative; width:57px; height:37px; margin-bottom:7px; border:4px solid var(--adm-text-soft); border-radius:3px; background:var(--adm-primary-soft); }
.vo-live .vo-live-monitor::after { content:''; position:absolute; width:7px; height:8px; top:33px; left:21px; background:var(--adm-text-soft); }
.vo-live .vo-live-desk strong { font-size:12px; line-height:1.5; overflow-wrap:anywhere; }
.vo-live .vo-live-desk small { font-size:11px; line-height:1.5; color:var(--adm-text-soft); overflow-wrap:anywhere; }
.vo-live .vo-live-desk .vo-pill { margin-top:auto; white-space:normal; }
.vo-live .vo-live-agent { position:absolute; bottom:23px; left:calc(14px + var(--desk-width)/2 + var(--agent-position,0)*(var(--desk-width) + 10px)); transform:translateX(-50%); display:grid; place-items:center; width:29px; height:29px; border:3px solid var(--adm-surface); border-radius:50%; background:var(--adm-primary,#3c8dbc); color:#fff; box-shadow:0 0 0 2px var(--adm-primary,#3c8dbc); transition:left .7s ease-in-out; pointer-events:none; }
.vo-live .vo-live-filters { display:flex; flex-wrap:wrap; gap:12px; padding:12px 14px; border-bottom:1px solid var(--adm-border); }
.vo-live .vo-live-filters label { display:grid; gap:6px; flex:1 1 200px; min-width:0; font-size:12px; font-weight:600; }
.vo-live .vo-live-filters input,.vo-live .vo-live-filters select { width:100%; min-width:0; min-height:35px; border:1px solid var(--adm-border); border-radius:3px; padding:8px 10px; font:inherit; color:var(--adm-text); background:var(--adm-input-bg,var(--adm-surface)); }
.vo-live .vo-live-request-copy { min-width:0; flex:1!important; overflow-wrap:anywhere; }
.vo-live .vo-request>.vo-pill { flex:0 1 auto!important; max-width:45%; white-space:normal; line-height:1.5; }
.vo-live .vo-live-config { margin:0 0 14px; padding:16px; border:1px solid var(--adm-border); border-left:3px solid var(--adm-primary,#3c8dbc); border-radius:4px; background:var(--adm-surface); }
.vo-live .vo-live-config p { margin:0; line-height:1.65; }
.vo-live .vo-live-config fieldset { min-width:0; margin:0; padding:12px; border:1px solid var(--adm-border); display:grid; gap:10px; }
.vo-live .vo-live-config legend { padding:0 6px; font-size:12px; font-weight:600; }
.vo-live .vo-live-config .vo-live-checkbox { display:flex; flex-direction:row; align-items:flex-start; gap:9px; line-height:1.6; cursor:pointer; }
.vo-live .vo-live-checkbox input { flex:0 0 18px; width:18px; height:18px; min-height:18px; margin:1px 0 0; padding:0; accent-color:var(--adm-primary,#3c8dbc); }
.vo-live #vo-live-dirty:not(:empty) { padding:8px 10px; border-left:3px solid var(--adm-warning,#f39c12); font-weight:600; background:var(--adm-surface-2); }
.vo-live .vo-live-values { display:grid; grid-template-columns:minmax(80px,1fr) minmax(0,1.5fr); gap:8px 12px; padding:14px 0; border-bottom:1px solid var(--adm-border); font-size:12px; line-height:1.6; }
.vo-live .vo-live-values dt { color:var(--adm-text-soft); }
.vo-live .vo-live-values dd { margin:0; overflow-wrap:anywhere; }
.vo-live .vo-live-checks { list-style:none; padding:0; margin:10px 0; }
.vo-live .vo-live-checks li { display:flex; gap:9px; padding:9px 0; border-bottom:1px solid var(--adm-border); line-height:1.5; }
.vo-live .vo-live-checks li>span:first-child { display:grid; place-items:center; flex:0 0 22px; width:22px; height:22px; border:1px solid var(--adm-border); border-radius:3px; font-weight:700; background:var(--adm-surface-2); }
.vo-live .vo-live-checks small { display:block; color:var(--adm-text-soft); margin-top:3px; }
.vo-live .vo-live-history { list-style:none; padding:0 0 0 13px; margin:14px 0; border-left:2px solid var(--adm-border); }
.vo-live .vo-live-history li { position:relative; padding:0 0 18px 8px; line-height:1.5; }
.vo-live .vo-live-history li::before { content:''; position:absolute; left:-18px; top:5px; width:8px; height:8px; border-radius:50%; background:var(--adm-primary,#3c8dbc); }
.vo-live .vo-live-history p { margin:5px 0; }
.vo-live .vo-live-history small { color:var(--adm-text-soft); }
.vo-live .vo-card>small { display:block; margin-top:5px; line-height:1.5; color:var(--adm-text-soft); }
@media(max-width:850px) { .vo-live #vo-live-refresh { margin-left:0; flex-basis:100%; } }
@media(max-width:520px) { .vo-live .vo-toolbar { display:flex; } .vo-live .vo-heading>.vo-tag { white-space:normal; } .vo-live .vo-live-config { padding:12px; } .vo-live .vo-live-values { grid-template-columns:minmax(0,1fr); gap:3px; } .vo-live .vo-live-values dd { margin-bottom:9px; } .vo-live .vo-live-filters input { min-height:40px; } .vo-live .vo-request>.vo-pill { max-width:100%; } }
@media(prefers-reduced-motion:reduce) { .vo-live .vo-live-agent { transition:none; } }
