/* Authenticated appearance tokens. Media, provider frames, certificate/PDF artwork
   and photographs deliberately keep their authored colors. */
html[data-vl-appearance]{
 --vl-bg:#15191f;--vl-surface:#202733;--vl-surface-raised:#283449;--vl-surface-subtle:#1c2532;
 --vl-text:#edf1f7;--vl-text-muted:#b9c6d9;--vl-border:#697e9b;--vl-border-subtle:#40516a;--vl-input:#171e29;
 --vl-accent:#4166db;--vl-accent-hover:#3454ba;--vl-on-accent:#ffffff;--vl-link:#b7caff;--vl-focus:#c1d1ff;
 --vl-positive-bg:#173c33;--vl-positive:#95f0c3;--vl-warning-bg:#493921;--vl-warning:#ffe0a1;
 --vl-danger-bg:#482b37;--vl-danger:#ffc3cd;--vl-backdrop:#070d18ad;--vl-shadow:0 12px 38px #00000024;
 --vl-gap:20px;--vl-panel-padding:24px;--vl-control-padding:11px 16px;--vl-radius:18px;
 --ink:var(--vl-text);--green:var(--vl-text);--paper:var(--vl-bg);--muted:var(--vl-text-muted);--line:var(--vl-border-subtle);--lime:var(--vl-link);--vl-blue:var(--vl-link);--vl-navy:var(--vl-surface);
 --bg:var(--vl-bg);--panel:var(--vl-surface);--raised:var(--vl-surface-raised);--text:var(--vl-text);--blue:var(--vl-link);--gold:var(--vl-link);--console-ink:var(--vl-text);--console-muted:var(--vl-text-muted);--console-line:var(--vl-border-subtle);--console-accent:var(--vl-link);color-scheme:dark;
}
html[data-vl-theme=light]{
 --vl-bg:#f3f5f9;--vl-surface:#ffffff;--vl-surface-raised:#e8eef8;--vl-surface-subtle:#edf1f7;
 --vl-text:#182338;--vl-text-muted:#4d5c72;--vl-border:#72829b;--vl-border-subtle:#c8d3e3;--vl-input:#ffffff;
 --vl-link:#244da6;--vl-focus:#244da6;--vl-positive-bg:#e4f5ec;--vl-positive:#145637;
 --vl-warning-bg:#fff1d4;--vl-warning:#68440b;--vl-danger-bg:#fce9ef;--vl-danger:#922d45;--vl-shadow:0 12px 38px #23344d10;color-scheme:light;
}
html[data-vl-theme=dark]{--vl-bg:#171819;--vl-surface:#242628;--vl-surface-raised:#30353c;--vl-surface-subtle:#1e2227;--vl-input:#181c21;--vl-border-subtle:#505963;--vl-text-muted:#c1cad7}
html[data-vl-theme=midnight]{--vl-bg:#081226;--vl-surface:#11213b;--vl-surface-raised:#1b3353;--vl-surface-subtle:#0c1930;--vl-input:#0a172d;--vl-border-subtle:#3d577e;--vl-text:#eaf2ff;--vl-text-muted:#b8cbe7}
html[data-vl-theme=high-contrast]{--vl-bg:#000;--vl-surface:#090909;--vl-surface-raised:#1b1b1b;--vl-surface-subtle:#101010;--vl-text:#fff;--vl-text-muted:#eee;--vl-border:#fff;--vl-border-subtle:#cfcfcf;--vl-input:#000;--vl-link:#bcd5ff;--vl-focus:#fff;--vl-shadow:none;--vl-positive-bg:#08220f;--vl-positive:#a4ffc2;--vl-warning-bg:#291e00;--vl-warning:#ffe797;--vl-danger-bg:#300916;--vl-danger:#ffd1df}
html[data-vl-accent=teal]{--vl-accent:#087c76;--vl-accent-hover:#08655f;--vl-link:#87e1d6;--vl-focus:#87e1d6}
html[data-vl-accent=violet]{--vl-accent:#7250c7;--vl-accent-hover:#5e3eac;--vl-link:#d2bcff;--vl-focus:#d2bcff}
html[data-vl-accent=amber]{--vl-accent:#926008;--vl-accent-hover:#784d05;--vl-link:#f0d394;--vl-focus:#f0d394}
html[data-vl-theme=light][data-vl-accent=teal]{--vl-link:#08655f;--vl-focus:#08655f}
html[data-vl-theme=light][data-vl-accent=violet]{--vl-link:#6239b4;--vl-focus:#6239b4}
html[data-vl-theme=light][data-vl-accent=amber]{--vl-link:#785008;--vl-focus:#785008}

/* Match the saved Use device choice before JavaScript starts. */
@media(prefers-color-scheme:light){
html[data-vl-theme=system]{
 --vl-bg:#f3f5f9;--vl-surface:#ffffff;--vl-surface-raised:#e8eef8;--vl-surface-subtle:#edf1f7;
 --vl-text:#182338;--vl-text-muted:#4d5c72;--vl-border:#72829b;--vl-border-subtle:#c8d3e3;--vl-input:#ffffff;
 --vl-link:#244da6;--vl-focus:#244da6;--vl-positive-bg:#e4f5ec;--vl-positive:#145637;
 --vl-warning-bg:#fff1d4;--vl-warning:#68440b;--vl-danger-bg:#fce9ef;--vl-danger:#922d45;--vl-shadow:0 12px 38px #23344d10;color-scheme:light;
}
html[data-vl-theme=system][data-vl-accent=teal]{--vl-link:#08655f;--vl-focus:#08655f}
html[data-vl-theme=system][data-vl-accent=violet]{--vl-link:#6239b4;--vl-focus:#6239b4}
html[data-vl-theme=system][data-vl-accent=amber]{--vl-link:#785008;--vl-focus:#785008}
}
@media(prefers-color-scheme:dark){
html[data-vl-theme=system]{--vl-bg:#171819;--vl-surface:#242628;--vl-surface-raised:#30353c;--vl-surface-subtle:#1e2227;--vl-input:#181c21;--vl-border-subtle:#505963;--vl-text-muted:#c1cad7}
}

html[data-vl-appearance] body:is(.vl-dark-ui,.vl-appearance){background:var(--vl-bg)!important;color:var(--vl-text)!important;--console-ink:var(--vl-text);--console-muted:var(--vl-text-muted);--console-line:var(--vl-border-subtle);--console-accent:var(--vl-link)}
html[data-vl-appearance] :is(.vl-dark-ui,.vl-appearance) :is(header,.site-header,.support-footer,footer,.portal-layout>aside){background:var(--vl-surface-subtle)!important;color:var(--vl-text)!important;border-color:var(--vl-border-subtle)!important}
html[data-vl-appearance] :is(.vl-dark-ui,.vl-appearance) :is(h1,h2,h3,h4,strong,label,th,.brand){color:var(--vl-text)!important}
html[data-vl-appearance] :is(.vl-dark-ui,.vl-appearance) :is(p,.help,.muted,.field,.loading,.eyebrow,small,.call-subtitle,.call-status,.portal-person span,.vl-footer-identity,.vl-footer-navigation){color:var(--vl-text-muted)!important}
html[data-vl-appearance] :is(.vl-dark-ui,.vl-appearance) :is(.card,.panel,.stat,.notice-card,.table-wrap,.medical-card,.community-card,.customer-next,.customer-account,.member-connect,.room-sidebar,.portal-section,.portal-action,.portal-summary-grid>article,.portal-welcome,.portal-support,.portal-empty,.contact-form-panel,.contact-chat,.contact-promise,.contact-confirmation,.join-form,.join-card,.interpreter-apply-card,.interpreter-login-card,.service-card,.companion-roles>a,.companion-roles>div,.privacy-dialog,.incoming-call-spotlight,.interpreter-setup-guide,.compact-call-settings,.compact-call-bar,.admin-workspace,.admin-panel,.admin-card,.workspace-card,.workspace-empty,.interpreter-availability,.incoming-request,.upload-field,.interpreter-application-card,.interpreter-result,.preview,.workstation-tool,.workstation-page .workspace-bottom-grid .card,.owner-console .admin-panels .card){background:var(--vl-surface)!important;color:var(--vl-text)!important;border-color:var(--vl-border-subtle)!important;box-shadow:var(--vl-shadow)}
html[data-vl-appearance] :is(.vl-dark-ui,.vl-appearance) :is(.admin-sidebar,.admin-nav,.admin-navigation,.admin-sidebar-footer,.admin-summary,.admin-section,.admin-secure-label,.admin-tabs button,.admin-stat,.admin-form,.admin-form-panel,.admin-results,.maintenance-provider,.zoom-pricing-reference,.portal-support .support-answer,.interpreter-dashboard .interpreter-setup,.interpreter-dashboard .interpreter-setup a){background:var(--vl-surface)!important;color:var(--vl-text)!important;border-color:var(--vl-border-subtle)!important}
html[data-vl-appearance] :is(.vl-dark-ui,.vl-appearance) :is(input,textarea,select){background:var(--vl-input)!important;color:var(--vl-text)!important;border-color:var(--vl-border)!important}
html[data-vl-appearance] :is(.vl-dark-ui,.vl-appearance) :is(input,textarea)::placeholder{color:var(--vl-text-muted)!important;opacity:1}
html[data-vl-appearance] :is(.vl-dark-ui,.vl-appearance) :is(input,textarea,select,button,a,summary):focus-visible{outline:3px solid var(--vl-focus)!important;outline-offset:3px}
html[data-vl-appearance] :is(.vl-dark-ui,.vl-appearance) :is(input[type=checkbox],input[type=radio]){accent-color:var(--vl-accent)}
html[data-vl-appearance] :is(.vl-dark-ui,.vl-appearance) a:not(.primary):not(.primary-action):not(.quiet):not(.brand){color:var(--vl-link)!important}
html[data-vl-appearance] :is(.vl-dark-ui,.vl-appearance) :is(.quiet,.text-link,.role-entry,.site-logout,.site-appearance,.owner-applications-link,.side,.workspace-return,.room-stage-actions button,.setup-guide .guide-grip,.setup-guide .guide-expand,.setup-guide .guide-close){background:var(--vl-surface-raised)!important;color:var(--vl-link)!important;border-color:var(--vl-border)!important}
html[data-vl-appearance] :is(.vl-dark-ui,.vl-appearance) :is(.quiet,.side,.site-logout,.role-entry):hover{background:var(--vl-surface-subtle)!important;color:var(--vl-text)!important}
html[data-vl-appearance] :is(.vl-dark-ui,.vl-appearance) :is(.primary,.primary-action,button.primary,.contact-form button[type=submit],.admin-tabs .active,.admin-sidebar .active,.side.active,.portal-support .support-question){background:var(--vl-accent)!important;color:var(--vl-on-accent)!important;border-color:var(--vl-accent)!important}
html[data-vl-appearance] :is(.vl-dark-ui,.vl-appearance) :is(.primary,.primary-action,.portal-support .support-question) :is(h2,h3,p,span,strong,small){color:var(--vl-on-accent)!important}
html[data-vl-appearance] :is(.vl-dark-ui,.vl-appearance) :is(.primary,.primary-action):hover{background:var(--vl-accent-hover)!important}
html[data-vl-appearance] :is(.vl-dark-ui,.vl-appearance) :is(.badge,.language-pair,.provider-label,.workspace-date,.connection-state,.portal-status,.channel-status,.customer-identity,.customer-account-identity,.audio-interpreter-card,.participants-count){background:var(--vl-surface-raised)!important;color:var(--vl-text)!important;border-color:var(--vl-border-subtle)!important}
html[data-vl-appearance] :is(.vl-dark-ui,.vl-appearance) :is(.notice,.call-status,.process-feedback,.translation-consent,.translation-panel,.room-controls,.call-tools,.device-settings,.call-focus-choice,.room-guide,.ringtone-settings,.call-member-finder,.finder-window-bar,#incoming-feedback,.participant-empty,.empty-network,.chat-empty,.customer-document-help,.portal-session-list article,.contact-chat-form,.chat-message,.chat-bubble,.meeting-toolbar,.audio-person,.call-provider,.interpreter-guide-copy,.call-context-strip){background:var(--vl-surface-subtle)!important;color:var(--vl-text-muted)!important;border-color:var(--vl-border-subtle)!important}
html[data-vl-appearance] :is(.vl-dark-ui,.vl-appearance) :is(.hero-panel,.workspace-section,.cta-section,.service-hero,.medical-hero,.owner-console-hero){background:linear-gradient(135deg,var(--vl-surface),var(--vl-surface-raised))!important;color:var(--vl-text)!important;border-color:var(--vl-border-subtle)!important}
html[data-vl-appearance] :is(.vl-dark-ui,.vl-appearance) :is(.site-navigation a,.vl-footer-navigation a){color:var(--vl-text-muted)!important;background:transparent!important}
html[data-vl-appearance] :is(.vl-dark-ui,.vl-appearance) .site-navigation a[aria-current=page]{background:var(--vl-surface-raised)!important;color:var(--vl-link)!important}
html[data-vl-appearance] :is(.vl-dark-ui,.vl-appearance) :is(dialog,.privacy-content,.compact-settings-heading,.incoming-call-spotlight .form-actions,.incoming-call-spotlight .incoming-audio-actions){background:var(--vl-surface)!important;color:var(--vl-text)!important;border-color:var(--vl-border)!important}
html[data-vl-appearance] :is(.vl-dark-ui,.vl-appearance) dialog::backdrop{background:var(--vl-backdrop);backdrop-filter:blur(6px)}
html[data-vl-appearance] :is(.vl-dark-ui,.vl-appearance) :is(th,.table-toolbar,.view-top,.admin-status,.admin-secure-label){background:var(--vl-surface-raised)!important;color:var(--vl-text-muted)!important;border-color:var(--vl-border-subtle)!important}
html[data-vl-appearance] :is(.vl-dark-ui,.vl-appearance) :is(td,hr,.panel-heading,.portal-section-heading,.privacy-dialog-toolbar){border-color:var(--vl-border-subtle)!important}
html[data-vl-appearance] :is(.vl-dark-ui,.vl-appearance) tbody tr:hover{background:var(--vl-surface-subtle)!important}
html[data-vl-appearance] :is(.vl-dark-ui,.vl-appearance) .admin-readiness>span,html[data-vl-appearance] :is(.vl-dark-ui,.vl-appearance) .admin-readiness>span>span{background:var(--vl-surface-raised)!important;color:var(--vl-text)!important;border-color:var(--vl-border-subtle)!important}
html[data-vl-appearance] :is(.vl-dark-ui,.vl-appearance) .admin-readiness>span>b,html[data-vl-appearance] :is(.vl-dark-ui,.vl-appearance) .upload-field :is(label,.field,span,.help,small){color:var(--vl-text)!important}
html[data-vl-appearance] :is(.vl-dark-ui,.vl-appearance) input[type=file]::file-selector-button{background:var(--vl-accent)!important;color:var(--vl-on-accent)!important;border-color:var(--vl-accent)!important}
html[data-vl-appearance] :is(.vl-dark-ui,.vl-appearance) :is(.channel-status[data-state=available],.online-pill:not(.offline),.badge.verified,.process-feedback[data-state=success]){background:var(--vl-positive-bg)!important;color:var(--vl-positive)!important;border-color:var(--vl-positive)!important}
html[data-vl-appearance] :is(.vl-dark-ui,.vl-appearance) :is(.channel-status[data-state=setup],.badge.pending,.billing-pending){background:var(--vl-warning-bg)!important;color:var(--vl-warning)!important;border-color:var(--vl-warning)!important}
html[data-vl-appearance] :is(.vl-dark-ui,.vl-appearance) :is(.danger,.error,button.danger,.process-feedback[data-state=error],.customer-form-error,#leave,#application-feedback[data-state=error],.incoming-call-spotlight [data-incoming-action=decline]){background:var(--vl-danger-bg)!important;color:var(--vl-danger)!important;border-color:var(--vl-danger)!important}
/* Media stage captions remain light on the unmodified dark video surface. */
html[data-vl-appearance] :is(.vl-dark-ui,.vl-appearance) .video-stage :is(p,span,strong){color:#edf4ff!important}
html[data-vl-appearance] :is(.vl-dark-ui,.vl-appearance) .call-context-strip :is(.call-status,.call-focus-choice){background:transparent!important}
html[data-vl-appearance] :is(.vl-dark-ui,.vl-appearance) .compact-customer-connect :is(.customer-identity,.customer-account-identity){background:transparent!important}
/* Density never reduces the call actions below their usable target size. */
html[data-vl-density=compact]{--vl-gap:12px;--vl-panel-padding:16px;--vl-control-padding:9px 13px}
html[data-vl-appearance] :is(.vl-dark-ui,.vl-appearance) :is(.portal-section,.admin-panel,.workspace-card,.appearance-preview){padding:var(--vl-panel-padding)}
html[data-vl-appearance] :is(.vl-dark-ui,.vl-appearance) :is(.form-grid,.portal-summary-grid,.appearance-fields){gap:var(--vl-gap)}
html[data-vl-density=compact] :is(.vl-dark-ui,.vl-appearance) :is(th,td){padding:11px 14px}
html[data-vl-density=compact] :is(.vl-dark-ui,.vl-appearance) :is(.card,.stat){padding:16px}
html[data-vl-appearance] :is(.vl-dark-ui,.vl-appearance) :is(button,.primary,.quiet){min-height:44px}
html[data-vl-font-size=large]{font-size:112.5%}
html[data-vl-font-size=large] :is(.vl-dark-ui,.vl-appearance){font-size:18px}
html[data-vl-font-size=large] :is(.vl-dark-ui,.vl-appearance) :is(p,.help,.field,.eyebrow,small,button,input,select,textarea,td,th,nav a){font-size:max(1rem,1em)!important}
/* A reduced device setting is respected even when account motion is Standard. */
html[data-vl-motion=reduced],html[data-vl-motion=reduced] *{scroll-behavior:auto!important}
html[data-vl-motion=reduced] *,html[data-vl-motion=reduced] *::before,html[data-vl-motion=reduced] *::after{animation-duration:.001ms!important;animation-iteration-count:1!important;transition-duration:.001ms!important;scroll-behavior:auto!important}
@media(prefers-reduced-motion:reduce){html[data-vl-appearance],html[data-vl-appearance] *{scroll-behavior:auto!important}html[data-vl-appearance] *,html[data-vl-appearance] *::before,html[data-vl-appearance] *::after{animation-duration:.001ms!important;animation-iteration-count:1!important;transition-duration:.001ms!important}}
/* Settings stays within the current role's portal and uses a native modal for
   focus containment, Escape handling and a real accessible dialog name. */
.site-appearance{white-space:nowrap;min-height:44px}
.appearance-dialog{width:min(740px,calc(100% - 28px));max-height:calc(100dvh - 28px);padding:28px;border:1px solid var(--vl-border);border-radius:22px;overflow:auto;background:var(--vl-surface);color:var(--vl-text)}
.appearance-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:20px}
.appearance-heading .eyebrow{margin:0 0 8px;font-size:.7rem}
.appearance-heading h2{margin:0;font-size:2rem;letter-spacing:-.04em}
.appearance-close{flex:0 0 auto;width:44px;padding:4px}
.appearance-fields{display:grid;grid-template-columns:1fr 1fr;gap:20px;margin:24px 0}
.appearance-fields select{width:100%;min-height:46px}
.appearance-preview{border:1px solid var(--vl-border-subtle);border-radius:var(--vl-radius);background:var(--vl-surface-subtle);padding:var(--vl-panel-padding)}
.appearance-preview h3{margin:6px 0;font-size:1.35rem}
.appearance-preview p{margin:8px 0}
.appearance-preview>div{display:flex;gap:10px;flex-wrap:wrap;margin-top:18px}
.appearance-preview-accent{display:inline-flex;align-items:center;min-height:36px;padding:6px 14px;background:var(--vl-accent);color:var(--vl-on-accent);border-radius:10px;font-weight:700}
.appearance-preview-status{display:inline-flex;align-items:center;min-height:36px;padding:6px 14px;background:var(--vl-positive-bg);color:var(--vl-positive);border:1px solid var(--vl-positive);border-radius:10px}
.appearance-feedback{min-height:1.6em;font-size:.875rem;margin:18px 0}
.appearance-actions{display:flex;align-items:center;justify-content:space-between;gap:14px;flex-wrap:wrap;border-top:1px solid var(--vl-border-subtle);padding-top:18px}
.appearance-actions>div{display:flex;gap:10px;flex-wrap:wrap}
@media(max-width:540px){.appearance-dialog{padding:20px}.appearance-fields{grid-template-columns:1fr;gap:16px}.appearance-actions{align-items:stretch}.appearance-actions>button,.appearance-actions>div{width:100%}.appearance-actions>div>button{flex:1}.appearance-heading h2{font-size:1.7rem}}
@media(forced-colors:active){.appearance-dialog,.appearance-preview,.appearance-preview-status{border:1px solid CanvasText}.appearance-preview-accent{forced-color-adjust:auto;border:1px solid ButtonText}}

.appearance-entry{position:fixed;right:16px;bottom:16px;z-index:1200}
html[data-vl-theme=high-contrast] :is(.vl-dark-ui,.vl-appearance) :is(.card,.panel,.appearance-preview,.portal-section){border:1px solid var(--vl-border-subtle)!important}
html[data-vl-appearance] :is(.vl-dark-ui,.vl-appearance) .video-tile :is(p,span,strong,.video-label){color:#edf4ff!important}
html[data-vl-appearance] body.vl-appearance:not(.vl-dark-ui) button:not(.quiet):not(.danger):not(.close):not(.dialog-close){background:var(--vl-accent);color:var(--vl-on-accent)}

/* The legacy notice selector contains an ID in :is(); match that specificity so
   device/notice surfaces do not retain charcoal when a light theme is chosen. */
html[data-vl-appearance] :is(.vl-dark-ui,.vl-appearance) .call-grid{background:var(--vl-bg)!important;color:var(--vl-text)!important;border-color:var(--vl-border-subtle)!important}
html[data-vl-appearance] :is(.vl-dark-ui,.vl-appearance) :is(.device-settings summary,.room-guide summary,.call-options summary){color:var(--vl-link)!important}

/* A quick scheme choice previews the account setting; Save commits it. */
.appearance-schemes{min-width:0;border:0;padding:0;margin:24px 0 0}
.appearance-schemes legend{padding:0;margin-bottom:12px;font-weight:700;font-size:1rem}
.appearance-theme-choices{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}
html[data-vl-appearance] .appearance-dialog .appearance-theme-choice{display:flex;flex-direction:column;align-items:stretch;gap:8px;min-width:0;padding:12px;border:2px solid var(--vl-border-subtle);border-radius:14px;background:var(--vl-surface-subtle)!important;color:var(--vl-text)!important;text-align:left;cursor:pointer;transition:border-color .15s ease,transform .15s ease,box-shadow .15s ease}
html[data-vl-appearance] .appearance-dialog .appearance-theme-choice:hover:not(:disabled){border-color:var(--vl-border);transform:translateY(-1px)}
html[data-vl-appearance] .appearance-dialog .appearance-theme-choice[aria-pressed=true]{border-color:var(--vl-link);box-shadow:0 0 0 1px var(--vl-link)}
.appearance-theme-choice:disabled{opacity:.65;cursor:wait}
.appearance-theme-swatch{position:relative;display:block;height:48px;border:1px solid #bac6d6;border-radius:7px;background:#f3f5f9;overflow:hidden}
.appearance-theme-swatch>span{position:absolute;inset:10px 34px 10px 10px;border-radius:4px;border:1px solid #c8d3e3;background:#fff;box-shadow:0 5px 0 -3px #72829b}
.appearance-theme-swatch[data-swatch=dark]{background:#171819;border-color:#505963}
.appearance-theme-swatch[data-swatch=dark]>span{background:#30353c;border-color:#697e9b;box-shadow:0 5px 0 -3px #c1cad7}
.appearance-theme-swatch[data-swatch=system]{background:linear-gradient(90deg,#f3f5f9 50%,#171819 50%)}
.appearance-theme-swatch[data-swatch=system]>span{background:linear-gradient(90deg,#fff 50%,#30353c 50%)}
.appearance-theme-swatch>i{position:absolute;top:8px;right:7px;display:grid;place-items:center;width:22px;height:22px;border-radius:50%;background:var(--vl-accent);color:var(--vl-on-accent);font-style:normal;font-size:14px;font-weight:800;opacity:0}
.appearance-theme-choice[aria-pressed=true] .appearance-theme-swatch>i{opacity:1}
.appearance-theme-label{font-size:1rem;font-weight:750;line-height:1.2}
.appearance-theme-description{font-size:.75rem;color:var(--vl-text-muted);line-height:1.4}
.appearance-selection{margin:12px 0 0;font-size:.875rem;line-height:1.4}
@media(max-width:540px){.appearance-theme-choices{gap:8px}html[data-vl-appearance] .appearance-dialog .appearance-theme-choice{padding:9px;gap:7px}.appearance-theme-label{font-size:.875rem}.appearance-theme-description{font-size:.7rem}.appearance-theme-swatch{height:40px}.appearance-theme-swatch>span{right:26px;left:6px}.appearance-theme-swatch>i{right:5px;width:20px;height:20px}}
@media(forced-colors:active){html[data-vl-appearance] .appearance-dialog .appearance-theme-choice[aria-pressed=true]{outline:2px solid Highlight;outline-offset:2px}.appearance-theme-swatch>i{border:1px solid ButtonText}}

/* Account panels follow the chosen theme; video surfaces and call-state actions
   retain their separate media and red/green status treatments. */
html[data-vl-appearance] :is(.vl-dark-ui,.vl-appearance) :is(.interpreter-payout-card,.chime-invitation){background:linear-gradient(135deg,var(--vl-surface),var(--vl-surface-subtle))!important;color:var(--vl-text)!important;border-color:var(--vl-border-subtle)!important;box-shadow:var(--vl-shadow)}
html[data-vl-appearance] :is(.vl-dark-ui,.vl-appearance) .interpreter-payout-card :is(.payout-onboarding,.paypal-recipient-form,.payout-preferences,.payout-earnings){background:var(--vl-surface-subtle)!important;color:var(--vl-text)!important;border-color:var(--vl-border-subtle)!important}
html[data-vl-appearance] :is(.vl-dark-ui,.vl-appearance) .interpreter-payout-card :is(.payout-card-icon,.payout-card-badge){background:var(--vl-surface-raised)!important;color:var(--vl-link)!important;border-color:var(--vl-border-subtle)!important}
html[data-vl-appearance] :is(.vl-dark-ui,.vl-appearance) .interpreter-payout-card[data-payout-state=ready] .payout-card-badge{background:var(--vl-positive-bg)!important;color:var(--vl-positive)!important;border-color:var(--vl-positive)!important}
html[data-vl-appearance] :is(.vl-dark-ui,.vl-appearance) .interpreter-payout-card :is(summary,.payout-paid-number){color:var(--vl-text)!important}
html[data-vl-appearance] :is(.vl-dark-ui,.vl-appearance) .interpreter-payout-card :is(.payout-metric-label,.payout-earned-row,.payout-setup-summary-status,.payout-setup-guide ol,.payout-setup-guide li span,.paypal-ownership,.payment-receipts li){color:var(--vl-text-muted)!important}
html[data-vl-appearance] :is(.vl-dark-ui,.vl-appearance) .interpreter-payout-card :is(.payout-options,.payout-setup-guide,.payment-receipts,.payment-receipts li){border-color:var(--vl-border-subtle)!important}
html[data-vl-appearance] :is(.vl-dark-ui,.vl-appearance) .interpreter-payout-card .payout-live-dot{background:var(--vl-link)}

/* Additional account preferences are available without lengthening the first view. */
.appearance-advanced{margin:18px 0;border:1px solid var(--vl-border-subtle);border-radius:12px;padding:0 16px;background:var(--vl-surface-subtle)}
.appearance-advanced>summary{min-height:48px;padding:13px 0;font-size:.9rem;font-weight:650;line-height:1.5;color:var(--vl-link);cursor:pointer}
.appearance-advanced .appearance-fields{margin:4px 0 18px}
@media(max-width:540px){.appearance-advanced{padding:0 12px}}

/* Appearance controls: interactive accent selection is always visible. Preview
   samples are passive; only the footer actions commit or discard preferences. */
#vl-appearance-dialog .appearance-accent-control{margin:20px 0 0}
#vl-appearance-dialog .appearance-accent-control .field{display:grid;gap:8px;font-weight:650}
#vl-appearance-dialog .appearance-accent-control select{display:block;width:100%;min-height:48px;padding:10px 12px;font:inherit;border:1px solid var(--vl-border);border-radius:12px;cursor:pointer}
#vl-appearance-dialog .appearance-accent-control .help{margin:8px 0 0;font-size:.875rem;line-height:1.5}
#vl-appearance-dialog .appearance-preview-color{display:inline-flex;align-items:center;gap:9px;line-height:1.5}
#vl-appearance-dialog .appearance-preview-dot{display:inline-block;flex:0 0 18px;width:18px;height:18px;background:var(--vl-accent);border:1px solid var(--vl-border);border-radius:50%}
#vl-appearance-dialog .appearance-preview-status{min-height:0;padding:3px 8px;align-self:center;border-radius:999px;font-size:.75rem;line-height:1.5;cursor:default}
#vl-appearance-dialog .appearance-preview-samples{align-items:center}
#vl-appearance-dialog .appearance-actions{gap:12px;align-items:center}
#vl-appearance-dialog :is(.appearance-actions button,.appearance-close){display:inline-flex;align-items:center;justify-content:center;box-sizing:border-box;min-width:44px;min-height:44px;margin:0;border:1px solid var(--vl-border);border-radius:12px;padding:11px 16px;font:inherit;font-size:.875rem;font-weight:650;line-height:1.4;text-decoration:none;cursor:pointer}
#vl-appearance-dialog .appearance-close{width:44px;height:44px;padding:0;font-size:1.125rem}
#vl-appearance-dialog .appearance-actions>div{display:flex;gap:10px;align-items:stretch}
#vl-appearance-dialog :is(button,select):disabled{opacity:.55;cursor:not-allowed}
#vl-appearance-dialog form[aria-busy=true] :is(button,select):disabled{cursor:wait}
#vl-appearance-dialog .appearance-actions [data-appearance-save]{min-width:150px}
#vl-appearance-dialog .appearance-advanced>summary{display:list-item;min-height:48px;box-sizing:border-box;cursor:pointer}
.appearance-entry-feedback{max-width:32ch;font-size:.875rem;line-height:1.5}
@media(max-width:540px){#vl-appearance-dialog .appearance-actions{align-items:stretch}#vl-appearance-dialog .appearance-actions>button,#vl-appearance-dialog .appearance-actions>div{width:100%}#vl-appearance-dialog .appearance-actions>div>button{flex:1;min-width:0;min-height:48px}#vl-appearance-dialog .appearance-actions>button{min-height:48px}#vl-appearance-dialog .appearance-preview-samples{align-items:flex-start;flex-direction:column}}
@media(forced-colors:active){#vl-appearance-dialog .appearance-preview-dot{background:Highlight;border-color:CanvasText}#vl-appearance-dialog .appearance-preview-status{border:1px solid CanvasText}}

/* Account appearance is authoritative after authentication. The standalone
   data-theme light fallback still applies before account preferences load. */
html[data-vl-appearance] body.vl-design-system {
  --ds-bg:var(--vl-bg)!important;--ds-surface:var(--vl-surface)!important;
  --ds-raised:var(--vl-surface-raised)!important;--ds-subtle:var(--vl-surface-subtle)!important;
  --ds-text:var(--vl-text)!important;--ds-muted:var(--vl-text-muted)!important;
  --ds-line:var(--vl-border-subtle)!important;--ds-border:var(--vl-border)!important;
  --ds-input:var(--vl-input)!important;--ds-link:var(--vl-link)!important;
  --ds-focus:var(--vl-focus)!important;--ds-shadow:var(--vl-shadow)!important;
}
/* These private surfaces had their own authored charcoal or paper backgrounds. */
html[data-vl-appearance] :is(.vl-dark-ui,.vl-appearance) :is(.applications-overview-entry,.applications-overview-entry [data-pending-applications],.admin-overview-banner,.admin-nav>.eyebrow,.empty,.join-next,.chat-log,.availability-badge) {
  background:var(--vl-surface-subtle)!important;color:var(--vl-text)!important;
  border-color:var(--vl-border-subtle)!important;
}
/* Match the legacy rule's ID specificity without affecting media or artwork. */
html[data-vl-appearance] #portal :is(.workspace-documents,.workspace-practice) {
  background:var(--vl-surface)!important;color:var(--vl-text)!important;
  border-color:var(--vl-border-subtle)!important;
}
html[data-vl-appearance] :is(.vl-dark-ui,.vl-appearance) #notice {
  background:var(--vl-surface-raised)!important;color:var(--vl-text)!important;
  border-color:var(--vl-border)!important;
}
html[data-vl-appearance] :is(.vl-dark-ui,.vl-appearance) .portal-actions-grid a.portal-action.primary-action {
  background:var(--vl-accent)!important;color:var(--vl-on-accent)!important;
  border-color:var(--vl-accent)!important;
}
html[data-vl-appearance] :is(.vl-dark-ui,.vl-appearance) .portal-actions-grid a.portal-action.primary-action:hover {background:var(--vl-accent-hover)!important}
html[data-vl-appearance] :is(.vl-dark-ui,.vl-appearance) #academy-admin-nav a.active {
  background:var(--vl-surface-raised)!important;color:var(--vl-link)!important;
}
/* Raw company and meeting-planner pages use their own color vocabulary. */
html[data-vl-appearance] body:has(>main#workspace),
html[data-vl-appearance] body.business-planner {
  --bg:var(--vl-bg);--panel:var(--vl-surface);--surface:var(--vl-surface-subtle);
  --raised:var(--vl-surface-raised);--ink:var(--vl-text);--text:var(--vl-text);
  --muted:var(--vl-text-muted);--line:var(--vl-border-subtle);--field:var(--vl-input);
  --blue:var(--vl-accent);--blue-hover:var(--vl-accent-hover);--pale:var(--vl-link);
  --shadow:var(--vl-shadow);--focus:var(--vl-focus);--error:var(--vl-danger);--success:var(--vl-positive);
}
html[data-vl-appearance] body:has(>main#workspace) .skip {
  background:var(--vl-surface-raised)!important;color:var(--vl-link)!important;
}
html[data-vl-appearance] body.business-planner.vl-appearance :is(.bd-primary,.bd-ai-button) {
  background:var(--vl-accent)!important;color:var(--vl-on-accent)!important;border-color:var(--vl-accent)!important;
}
html[data-vl-appearance] body.business-planner.vl-appearance :is(.bd-primary,.bd-ai-button):hover {background:var(--vl-accent-hover)!important}
html[data-vl-appearance] body.business-planner .bd-ai-card {background:linear-gradient(155deg,var(--vl-surface-raised),var(--vl-surface))!important;border-color:var(--vl-border-subtle)}
/* Media pixels, video tiles and their captions keep their authored dark stage.
   Room chrome follows the same account setting as the surrounding portal. */
html[data-vl-appearance] body:has(>.chime-room),
html[data-vl-appearance] body.admin-call-page {
  --room-bg:var(--vl-bg);--surface:var(--vl-surface);--surface-raised:var(--vl-surface-raised);
  --border:var(--vl-border-subtle);--text:var(--vl-text);--muted:var(--vl-text-muted);
  --blue:var(--vl-accent);--blue-light:var(--vl-link);--danger:var(--vl-danger);--danger-bg:var(--vl-danger-bg);
  --test-bg:var(--vl-surface-subtle);--test-border:var(--vl-border);
}
/* Action links consume on-accent ink, rather than navigation-link ink. */
html[data-vl-appearance] body.business-planner a.bd-primary,
html[data-vl-appearance] body.vl-appearance a.demo-button.demo-primary {
  --vl-link:var(--vl-on-accent);color:var(--vl-on-accent)!important;
}
html[data-vl-appearance] body.admin-call-page .admin-call-provider-tab {
  background:var(--vl-surface)!important;color:var(--vl-text)!important;border-color:var(--vl-border)!important;
}
html[data-vl-appearance] body.admin-call-page .admin-call-provider-tab :is(strong,span) {color:var(--vl-text)!important}
html[data-vl-appearance] body.admin-call-page .admin-call-provider-tab[aria-pressed=true] {background:var(--vl-surface-raised)!important;border-color:var(--vl-link)!important}
html[data-vl-appearance] :is(.vl-dark-ui,.vl-appearance) .setup-guide {background:var(--vl-surface)!important;border-color:var(--vl-border-subtle)!important;color:var(--vl-text)!important}
html[data-vl-appearance] :is(.vl-dark-ui,.vl-appearance) .test-notice {
  background:var(--vl-warning-bg)!important;border-color:var(--vl-warning)!important;
}
html[data-vl-appearance] :is(.vl-dark-ui,.vl-appearance) .test-notice :is(strong,p) {color:var(--vl-warning)!important}
/* The reviewed fingerprint mark is fixed artwork, including on printable cards. */
html[data-vl-appearance] .ip-fingerprint-badge {--vl-text:#225044;--vl-text-muted:#345b4f}
html[data-vl-appearance] :is(.vl-dark-ui,.vl-appearance) .availability-badge[data-status=available] {
  background:var(--vl-positive-bg)!important;color:var(--vl-positive)!important;border-color:var(--vl-positive)!important;
}
html[data-vl-appearance] :is(.vl-dark-ui,.vl-appearance) .availability-badge[data-status=busy] {
  background:var(--vl-warning-bg)!important;color:var(--vl-warning)!important;border-color:var(--vl-warning)!important;
}
html[data-vl-appearance] body.admin-call-page .admin-call-preview-tile :is(p,span,strong) {color:#edf4ff!important}
/* The verified private-test ribbon remains distinct; authenticated page chrome
   no longer forces every account theme to the legacy test-mode navy palette. */
html[data-vl-appearance][data-call-test-mode=active] body.vl-dark-ui.call-page {
  background:var(--vl-bg)!important;--paper:var(--vl-bg);--line:var(--vl-border-subtle);--muted:var(--vl-text-muted);--vl-navy:var(--vl-surface);
}
html[data-vl-appearance][data-call-test-mode=active] .vl-dark-ui.call-page :is(.site-header,.support-footer) {background:var(--vl-surface-subtle)!important;border-color:var(--vl-border-subtle)!important}
html[data-vl-appearance][data-call-test-mode=active] .vl-dark-ui.call-page :is(.meeting-card,.room-sidebar,.card,.portal-support,.compact-call-bar,.compact-call-settings,.interpreter-setup-guide) {background:var(--vl-surface)!important;border-color:var(--vl-border-subtle)!important;box-shadow:var(--vl-shadow)}
html[data-vl-appearance][data-call-test-mode=active] .vl-dark-ui.call-page :is(.help,.eyebrow,.muted,.call-subtitle,.call-status,.field) {color:var(--vl-text-muted)!important}
html[data-vl-appearance][data-call-test-mode=active] .vl-dark-ui.call-page :is(input,textarea,select) {background:var(--vl-input)!important;border-color:var(--vl-border)!important;color:var(--vl-text)!important}
html[data-vl-appearance] .call-test-mode-feedback :is(strong,p,small,span) {color:#edf4ff!important}
/* The owner sidebar's legacy grouped rule includes #admin-status specificity. */
html[data-vl-appearance] #admin-content .admin-nav {background:var(--vl-surface)!important;color:var(--vl-text)!important;border-color:var(--vl-border-subtle)!important}
html[data-vl-appearance] #admin-content .admin-nav :is(button,.admin-nav-note) {color:var(--vl-text)!important}
html[data-vl-appearance] #admin-content .admin-nav button {background:var(--vl-surface)!important;border-color:var(--vl-border-subtle)!important}
html[data-vl-appearance] #admin-content .admin-nav button:is(.active,:hover) {background:var(--vl-surface-raised)!important;color:var(--vl-link)!important;border-color:var(--vl-border)!important}
html[data-vl-appearance] #admin-content .admin-nav :is(.notification-count,.applications-nav-count) {background:var(--vl-surface-raised)!important;color:var(--vl-text)!important}

/* Public content follows the authenticated account palette. Named surfaces only:
   photographs, video, map tiles and authored credential artwork retain their colors. */
html[data-vl-appearance] body.vl-appearance #public :is(.medical-entry,.features article,.faq details,.homepage-finder,.finder-window,.workspace-section .preview,.purpose-transcript){background:var(--vl-surface)!important;color:var(--vl-text)!important;border-color:var(--vl-border-subtle)!important;box-shadow:var(--vl-shadow)}
html[data-vl-appearance] body.vl-appearance #public :is(.hero-copy>.eyebrow,.strip,.features .step,.mini-stats>div,.avatar,.language-row span){background:var(--vl-surface-subtle)!important;color:var(--vl-text)!important;border-color:var(--vl-border-subtle)!important}
html[data-vl-appearance] body.vl-appearance #public .finder-window iframe{background:var(--vl-bg)!important}
html[data-vl-appearance] body.vl-appearance #public :is(.panel-top,.panel-bottom,.preview-title,.preview-row){color:var(--vl-text)!important;border-color:var(--vl-border-subtle)!important}
html[data-vl-appearance] body.vl-appearance #public :is(.hero h1 em,.tiny-logo,.features .step){color:var(--vl-link)!important}
html[data-vl-appearance] body.vl-appearance :is(.contact-form-card,.contact-privacy,.application-email,.application-steps,.member-access-options article,.phone-install-card,.app-tour-section,.privacy-summary,.privacy-content code){background:var(--vl-surface)!important;color:var(--vl-text)!important;border-color:var(--vl-border-subtle)!important}
html[data-vl-appearance] body.vl-appearance #application-state{background:var(--vl-surface-subtle)!important;color:var(--vl-text)!important}
html[data-vl-appearance] body.vl-appearance :is(.contact-intro h1 em,.contact-promise>span,.app-download-intro h1 span,.app-install-steps article>span,.brand-dot){color:var(--vl-link)!important}
html[data-vl-appearance] body.vl-appearance :is(.certificate-section summary span,.vl-footer-identity>span,.vl-footer-identity #year,.support-footer>span,body.ip-page>footer>span){color:var(--vl-text-muted)!important}
html[data-vl-appearance] body.vl-appearance :is(.platform-pills span,.privacy-dot){background:var(--vl-surface-raised)!important;color:var(--vl-text)!important;border-color:var(--vl-border-subtle)!important}
/* The directory's chrome adapts; map imagery and profile photographs do not. */
html[data-vl-appearance] body.discovery.vl-appearance :is(.discovery-panel,.discovery-map-area,.private-online-count,.map-caption,.selection-sheet,.map-privacy){background:var(--vl-surface)!important;color:var(--vl-text)!important;border-color:var(--vl-border-subtle)!important}
html[data-vl-appearance] body.discovery.vl-appearance :is(.directory-card-id,.directory-card-languages,.directory-card-location,.rating-label){color:var(--vl-text-muted)!important}
/* The signed-in companion shares these public download/app entry surfaces. */
html[data-vl-appearance] body.companion-page.vl-appearance :is(.mobile-call-card,.mobile-empty,.mobile-counts>div,.mobile-tool-grid>button,.mobile-tool-grid>a,.mobile-discovery-link,.mobile-nav,.mobile-avatar,.appointment-avatar){background:var(--vl-surface)!important;color:var(--vl-text)!important;border-color:var(--vl-border-subtle)!important}
html[data-vl-appearance] body.companion-page.vl-appearance :is(.mobile-tool-grid button span,.mobile-tool-grid a span,.mobile-nav button,.mobile-nav a,.mobile-counts span,.mobile-discovery-link span){color:var(--vl-link)!important}
html[data-vl-appearance] body.companion-page.vl-appearance .mobile-nav .active{background:var(--vl-surface-raised)!important;color:var(--vl-link)!important}
/* Primary actions keep their action foreground, not the ordinary link color. */
html[data-vl-appearance][data-vl-theme] body.ip-page.vl-appearance a.ip-button.ip-primary{color:var(--vl-on-accent)!important}
/* This decorative paper is artwork and remains white in every theme. */
html[data-vl-appearance] body.ip-page.vl-appearance .ip-gateway-paper>strong{color:#1e3047!important}
html[data-vl-appearance] body.ip-page.vl-appearance .ip-gateway-paper>small{color:#637084!important}

html[data-vl-appearance] body.discovery.vl-appearance #directory-status.loading{background:var(--vl-surface-subtle)!important;color:var(--vl-text-muted)!important}
html[data-vl-appearance] body.vl-appearance #public-presence.availability-badge{background:var(--vl-surface-subtle)!important;color:var(--vl-text-muted)!important;border-color:var(--vl-border-subtle)!important}
html[data-vl-appearance] body.vl-appearance #public-presence[data-status=available]{background:var(--vl-positive-bg)!important;color:var(--vl-positive)!important;border-color:var(--vl-positive)!important}
html[data-vl-appearance] body.vl-appearance #public-presence[data-status=busy]{background:var(--vl-warning-bg)!important;color:var(--vl-warning)!important;border-color:var(--vl-warning)!important}
