/* Shared layout and primitives. Area styles own only their inner workspace. */
.vca-rail-controls{position:relative;display:flex;align-items:center;grid-column:1/-1;height:44px}
.vca-rail-caption{padding-left:12px;color:var(--muted);font-size:10px;font-weight:650;letter-spacing:1.4px;text-transform:uppercase}
.vca-rail-tooltip{position:fixed;z-index:1000;max-width:min(260px,calc(100vw - 16px));padding:8px 12px;border:1px solid var(--line);border-radius:8px;background:var(--surface);color:var(--text);box-shadow:var(--shadow);font-size:12px;pointer-events:none}
.vca-shell .panel-session #logout{display:flex;align-items:center;gap:6px}
.panel-session #logout>.vca-icon{width:16px;height:16px}
.vca-shell[data-vca-rail=compact] .vca-workspaces button{justify-content:center;min-width:44px;padding:10px}
.vca-shell[data-vca-rail=compact] .vca-workspaces .vca-nav-label{max-width:0;opacity:0;transform:translateX(-6px)}
.vca-shell[data-vca-rail=compact] .vca-workspaces button>.vca-icon:not(:first-child){display:none}
@media(min-width:1180px){
 .vca-shell .vca-rail-controls{flex-shrink:0;margin:0 0 8px}
 body.vca-shell[data-vca-rail=compact]:not([data-vca-area=acceso]){--vca-rail-width:72px}
 .vca-shell[data-vca-rail=compact]:not([data-vca-area=acceso]) .vca-rail{padding:18px 8px}
 .vca-shell[data-vca-rail=compact]:not([data-vca-area=acceso]) .brand{justify-content:center;padding:0 0 18px}
 .vca-shell[data-vca-rail=compact] .brand>div,.vca-shell[data-vca-rail=compact] #personName,.vca-shell[data-vca-rail=compact] #logout>span{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}
 .vca-shell[data-vca-rail=compact] .vca-rail-controls{height:88px}
 .vca-shell[data-vca-rail=compact]:not([data-vca-area=acceso]) .panel-session{padding:12px 0 0;justify-content:center}
 .vca-shell[data-vca-rail=compact] .vca-avatar{display:none}
 .vca-shell[data-vca-rail=compact] .panel-session #logout{justify-content:center;width:44px;min-height:44px;padding:10px}
 .vca-shell[data-vca-rail=compact] .panel-session #logout>.vca-icon{width:20px;height:20px}
}
*{box-sizing:border-box} [hidden]{display:none!important}
html{min-height:100%;background:var(--vca-bg)}
body.vca-shell{margin:0;min-width:0;min-height:100vh;background:var(--bg);color:var(--text);font:var(--ap-size,var(--size))/1.5 var(--ap-font,var(--font)),Arial,sans-serif}
.vca-shell>header,body.vca-shell[data-ap-spacing]>header{display:block;min-width:0;padding:0;background:var(--surface);border-bottom:1px solid var(--line);flex-shrink:0}
.vca-rail{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:14px;padding:18px 24px 12px;background:var(--surface)}
.brand{display:flex;gap:11px;align-items:center;min-width:0}.brand>div{min-width:0}.brand strong{display:block;font-size:18px;letter-spacing:-.3px}.brand small{display:block;color:var(--muted);font-size:11px}
.vca-rail [data-brand-name],.vca-rail [data-brand-subtitle]{max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.mark{display:grid;place-items:center;flex:0 0 38px;width:38px;height:38px;border-radius:12px;background:var(--accent);color:var(--on-accent);font-weight:750;font-size:23px}
.vca-shell .panel-session{display:flex;align-items:center;gap:10px;color:var(--muted);font-size:12px;grid-column:2;grid-row:1;min-width:0}
.vca-avatar{display:grid;place-items:center;width:34px;height:34px;flex:0 0 34px;border-radius:50%;background:var(--subtle);color:var(--text);font-size:11px;font-weight:650}
.vca-person{min-width:0}.vca-person #personName{display:block;font-weight:600;color:var(--text);overflow-wrap:anywhere}
.panel-session #logout{display:block;min-height:28px;padding:2px 0;font-size:11px;color:var(--muted);border:0;background:transparent;text-align:left}.panel-session #logout:hover{color:var(--accent);text-decoration:underline}
.vca-workspaces{grid-column:1/-1;display:flex;gap:5px;flex-wrap:nowrap;overflow-x:auto;min-width:0;max-width:100%;scrollbar-width:thin;padding:3px 0}
.vca-shell .vca-workspaces button{display:flex;align-items:center;gap:11px;white-space:nowrap;flex:0 0 auto;min-height:44px;padding:10px 13px;border:1px solid transparent;border-radius:9px;background:transparent;color:var(--muted);font-size:13px;text-align:left;transition:background-color var(--vca-motion),color var(--vca-motion)}
.vca-shell .vca-workspaces button:hover:not(:disabled){background:var(--subtle);color:var(--text)}
.vca-shell .vca-workspaces [aria-current=page]{background:var(--tint);color:var(--accent);font-weight:650}
.vca-shell .vca-workspaces [aria-current=page]:hover{background:var(--tint);color:var(--accent)}
.vca-workspaces button>.vca-icon:last-child:not(:first-child){width:14px;height:14px;margin-left:auto}
.vca-icon{display:block;flex:0 0 auto;width:20px;height:20px}
.vca-topbar{display:none;min-height:64px;align-items:center;justify-content:space-between;gap:16px;padding:12px 28px}
.vca-location{display:flex;align-items:center;gap:12px;color:var(--text);font-size:13px;font-weight:600}.vca-location .vca-icon{color:var(--accent);width:18px;height:18px}
.vca-environment{color:var(--muted);font-size:12px}
.vca-page-tools{display:flex;align-items:center;flex-wrap:wrap;gap:5px;border-top:1px solid var(--line);padding:9px 24px}
.vca-page-tools button{min-height:34px;padding:6px 10px;font-size:12px}
.vca-theme-modes{display:flex;gap:2px;padding:3px;background:var(--subtle);border-radius:9px}
.vca-theme-modes button{display:flex;align-items:center;justify-content:center;gap:7px;min-height:34px;padding:6px 12px;border:0;background:transparent;font-size:12px;color:var(--muted);border-radius:6px}
.vca-theme-modes button[aria-pressed=true]{background:var(--surface);color:var(--text);box-shadow:0 2px 4px #0000000d}.vca-theme-modes .vca-icon{width:15px;height:15px}
.vca-theme-colors{display:flex;align-items:center;gap:4px}
.vca-theme-colors .vca-swatch{display:grid;place-items:center;width:36px;height:36px;min-height:36px;padding:5px;border:1px solid transparent;background:transparent;border-radius:50%}
.vca-theme-colors .vca-swatch:hover,.vca-theme-colors .vca-swatch[aria-pressed=true]{border-color:var(--vca-field);background:var(--surface)}
.vca-swatch-dot{display:grid;place-items:center;width:24px;height:24px;border-radius:50%;background:var(--swatch);color:#fff}
.vca-swatch[data-vca-color=teal]{--swatch:var(--vca-choice-teal)}.vca-swatch[data-vca-color=blue]{--swatch:var(--vca-choice-blue)}.vca-swatch[data-vca-color=violet]{--swatch:var(--vca-choice-violet)}.vca-swatch[data-vca-color=copper]{--swatch:var(--vca-choice-copper)}
.vca-swatch .vca-icon{width:14px;height:14px;visibility:hidden}.vca-swatch[aria-pressed=true] .vca-icon{visibility:visible}
.vca-shell>main{width:100%;max-width:1500px;margin:0 auto;padding:24px;min-width:0}
html:has(body[data-vca-layout=workspace]),body[data-vca-layout=workspace]{width:100%;height:100%;min-height:0;overflow:hidden}
body[data-vca-layout=workspace]{display:flex;flex-direction:column}
body[data-vca-layout=workspace]>main{display:flex;flex:1 1 0;flex-direction:column;gap:12px;min-height:0;max-width:none;padding:14px 22px 8px;overflow:hidden}
button,input,select,textarea{font:inherit}
button{cursor:pointer;min-height:40px;line-height:1.4;padding:9px 14px;border:1px solid var(--line);border-radius:8px;background:var(--surface);color:var(--text);transition:background .15s,border-color .15s}
button:hover:not(:disabled){background:var(--tint);border-color:var(--accent)}button:disabled{opacity:.55;cursor:not-allowed}
button.primary{background:var(--accent);border-color:var(--accent);color:var(--on-accent);font-weight:600}button.danger{color:var(--red)}
button.primary:hover:not(:disabled){background:var(--accent);background:color-mix(in srgb,var(--accent) 90%,var(--text));border-color:var(--accent);color:var(--on-accent)}
:is(button,a,input,textarea,select,summary):focus-visible{outline:3px solid var(--accent);outline-offset:3px}
input,select,textarea{width:100%;min-width:0;min-height:42px;padding:9px 11px;border:1px solid var(--field-border);border-radius:8px;background:var(--surface);color:var(--text)}
input::placeholder,textarea::placeholder{color:var(--muted);opacity:1}textarea{min-height:110px;resize:vertical;line-height:1.6}
input[type=checkbox]{width:18px;min-height:18px;height:18px;accent-color:var(--accent);flex-shrink:0}
input[type=file]{padding:8px}input::file-selector-button{font:inherit;border:0;background:var(--tint);color:var(--accent);padding:7px 10px;border-radius:5px;margin-right:10px}
label{display:flex;flex-direction:column;gap:7px;font-size:13px;font-weight:500;min-width:0}label.check,.check{flex-direction:row;align-items:center;gap:10px}
a{color:var(--accent);text-underline-offset:3px}h1{font-size:26px;font-weight:650;letter-spacing:-.6px;line-height:1.25;margin:0}h2{font-size:18px;font-weight:650;line-height:1.4;margin:0 0 12px}h3{font-size:15px;line-height:1.4}
p{line-height:1.6}.eyebrow{font-size:11px;font-weight:700;letter-spacing:.13em;color:var(--accent);margin:0 0 8px}.muted,.help,small{color:var(--muted)}.help,small{font-size:12px;line-height:1.6}
.card{background:var(--surface);border:1px solid var(--line);border-radius:var(--ap-radius,var(--vca-radius));box-shadow:var(--shadow);min-width:0}
body[data-vca-layout=page] .card{padding:20px;margin:16px 0}body[data-vca-layout=page] .card:first-child{margin-top:0}
.form-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:18px}.wide{grid-column:1/-1}.actions{display:flex;flex-wrap:wrap;gap:9px;margin-top:20px}
body[data-vca-layout=page] .filters{display:flex;align-items:end;gap:16px;flex-wrap:wrap;margin:20px 0 18px}body[data-vca-layout=page] .filters>label:first-child{flex:1;min-width:200px}
@media(max-width:760px){body[data-vca-layout=page] .filters{align-items:stretch;flex-direction:column;gap:12px}body[data-vca-layout=page] .filters>label:first-child{min-width:0}}
.notice-info,#workspaceNotice{padding:12px 16px;border:1px solid var(--line);color:var(--accent);background:var(--tint);border-radius:8px;line-height:1.6}
.error{background:var(--redbg)!important;border-color:var(--red)!important;color:var(--red)!important}.warning{color:var(--amber)}
.pill,.badge{display:inline-flex;align-items:center;background:var(--tint);color:var(--accent);padding:5px 10px;border-radius:6px;font-size:12px;font-weight:600;line-height:1.4}
.vca-state,.empty{color:var(--muted);text-align:center;padding:32px 24px}.vca-state{border:1px dashed var(--line);border-radius:var(--vca-radius);background:var(--subtle)}.vca-state p{max-width:650px;margin:10px auto}
.table-wrap{overflow:auto;overscroll-behavior-inline:contain;border:1px solid var(--line);border-radius:10px}table{border-collapse:collapse;width:100%}th,td{text-align:left;padding:12px 14px;border-bottom:1px solid var(--line);vertical-align:top}th{background:var(--subtle);color:var(--muted);font-size:12px;font-weight:650}td{font-size:13px}td small{display:block;margin-top:5px}tbody tr:hover{background:var(--tint)}
dialog{background:var(--surface);color:var(--text);border:1px solid var(--line);border-radius:14px;max-width:calc(100vw - 32px);max-height:90dvh;box-shadow:0 20px 70px #13213030}dialog::backdrop{background:#17323f80;backdrop-filter:blur(3px)}
body[data-vca-layout=page] dialog{padding:24px;width:min(980px,94vw)}.dialog-head{display:flex;align-items:center;justify-content:space-between;gap:15px;border-bottom:1px solid var(--line);padding-bottom:16px;margin-bottom:16px}.dialog-head h2{margin:0}
.skip-link{position:fixed;top:10px;left:16px;z-index:9999;padding:12px 18px;border-radius:8px;background:var(--accent);color:var(--on-accent);font:600 14px 'Segoe UI',sans-serif;text-decoration:none;transform:translateY(-160%)}.skip-link:focus{transform:translateY(0)}main[tabindex='-1']:focus{outline:none}
.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.department-tabs,.category-tabs{display:flex;flex-wrap:wrap;gap:6px;margin:16px 0;padding:0 0 14px;border-bottom:1px solid var(--line)}:is(.department-tabs,.category-tabs,.tabs)>button.active{background:var(--tint);color:var(--accent);border-color:var(--accent)}
::selection{background:var(--vca-accent);color:var(--vca-on-accent)}input,textarea{caret-color:var(--accent)}table,.metric strong{font-variant-numeric:tabular-nums}
@media(min-width:1180px){
 body.vca-shell:not([data-vca-area=acceso]){padding-left:var(--vca-rail-width)}
 .vca-shell:not([data-vca-area=acceso]) .vca-rail{position:fixed;inset:0 auto 0 0;z-index:20;width:var(--vca-rail-width);display:flex;flex-direction:column;align-items:stretch;gap:0;padding:28px 16px 18px;border-right:1px solid var(--line)}
 .vca-shell:not([data-vca-area=acceso]) .brand{padding:0 10px 32px}
 .vca-shell:not([data-vca-area=acceso]) .vca-workspaces{flex:1 1 auto;flex-direction:column;overflow-x:hidden;overflow-y:auto;gap:5px;min-height:44px;margin-bottom:20px;padding:3px 0}
 .vca-shell:not([data-vca-area=acceso]) .vca-workspaces button{width:100%;flex-shrink:0}
 .vca-shell:not([data-vca-area=acceso]) .vca-workspaces button[data-vca-area=configuraciones]{margin-top:14px}
 .vca-shell:not([data-vca-area=acceso]) .panel-session{border-top:1px solid var(--line);padding:18px 8px 0;flex-shrink:0}
 .vca-shell:not([data-vca-area=acceso]) .vca-topbar{display:flex}
 .vca-shell>main{padding:28px}.vca-shell .vca-page-tools{padding:8px 28px}
}
.vca-shell[data-vca-area=acceso] .vca-workspaces{display:none}
@media(max-width:760px){.vca-rail{padding:14px;gap:12px}.brand strong{font-size:16px}.brand small{display:none}.vca-shell .panel-session{max-width:175px;gap:8px}.vca-avatar{display:none}.vca-person #personName{font-size:11px}.vca-shell>main{padding:18px 16px}.vca-appearance{gap:10px;justify-content:space-between}.vca-appearance h2{display:none}.vca-theme-modes button{min-height:38px;padding:7px 9px}.vca-theme-colors{gap:1px}.vca-theme-colors .vca-swatch{width:34px;min-height:38px;height:38px}.vca-page-tools{flex-wrap:nowrap;overflow-x:auto;padding:8px 14px;min-width:0}.vca-page-tools button{white-space:nowrap;flex-shrink:0;min-height:44px}h1{font-size:24px}.form-grid{grid-template-columns:minmax(0,1fr)}.wide{grid-column:auto}body[data-vca-layout=page] .card{padding:16px}body[data-vca-layout=page] dialog{padding:20px}html:has(body[data-vca-layout=workspace]),body[data-vca-layout=workspace]{height:auto;min-height:100%;overflow:auto}body[data-vca-layout=workspace]>main{flex:initial;overflow:visible;padding:18px 14px}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{transition:none!important;animation:none!important;scroll-behavior:auto!important}}

/* Shared interaction language. No polling-driven or decorative repeating motion. */
.vca-motion-choice{display:grid;grid-template-columns:auto minmax(0,1fr);align-items:center;gap:9px;margin-top:10px;color:var(--muted);font-size:11px;font-weight:400}
.vca-motion-choice select{min-height:32px;padding:5px 7px;border-color:var(--line);border-radius:7px;font-size:11px;background:var(--surface)}
.vca-shell :is(button,a.home-area,input,select,textarea){transition:background-color var(--vca-motion) ease,border-color var(--vca-motion) ease,color var(--vca-motion) ease,box-shadow var(--vca-motion) ease,transform var(--vca-duration-fast) var(--vca-ease)}
.vca-shell :is(button,a.home-area):active:not(:disabled):not([aria-disabled=true]){transform:scale(.985)}
.vca-shell :is(.mail-row,.request-item):active:not(:disabled){transform:none}
.vca-shell :is(input,select,textarea):focus{border-color:var(--accent);box-shadow:0 2px 8px color-mix(in srgb,var(--accent) 12%,transparent)}
.vca-shell .vca-workspaces .vca-icon{transition:transform 220ms var(--vca-ease),color 180ms ease}
.vca-shell a.home-area:hover .vca-icon path{stroke-dasharray:1;animation:vca-icon-draw 400ms var(--vca-ease) both}
.vca-shell .vca-theme-modes button[aria-pressed=true]>.vca-icon{animation:vca-theme-icon 260ms var(--vca-ease)}
.vca-shell .vca-swatch-dot{transition:transform 180ms var(--vca-ease),box-shadow 180ms ease}
.vca-shell .vca-swatch:hover .vca-swatch-dot{transform:scale(1.13)}
.vca-shell .vca-swatch[aria-pressed=true] .vca-swatch-dot{box-shadow:0 3px 7px color-mix(in srgb,var(--swatch) 20%,transparent)}
.vca-shell .vca-state.loading{position:relative;overflow:hidden}
.vca-shell .vca-state.loading::before{content:'';position:absolute;inset:0 auto auto 0;width:32%;height:2px;background:var(--accent);animation:vca-loading 1400ms ease-in-out infinite}
.vca-shell summary{cursor:pointer;transition:color 160ms ease}.vca-shell summary:hover{color:var(--accent)}
.vca-shell dialog[open]::backdrop{animation:vca-backdrop-in 220ms ease-out}
@supports(transition-behavior:allow-discrete){
 .vca-shell dialog{opacity:0;transform:translateY(12px) scale(.985);transition:opacity 180ms ease,transform 240ms var(--vca-ease),display 240ms allow-discrete,overlay 240ms allow-discrete}
 .vca-shell dialog[open]{opacity:1;transform:none}
 .vca-shell dialog::backdrop{background:transparent;transition:background-color 180ms ease,display 240ms allow-discrete,overlay 240ms allow-discrete}
 .vca-shell dialog[open]::backdrop{background:#13213070}
 @starting-style{.vca-shell dialog[open]{opacity:0;transform:translateY(12px) scale(.985)}.vca-shell dialog[open]::backdrop{background:transparent}}
}
html.vca-theme-shifting,html.vca-theme-shifting body,html.vca-theme-shifting :is(.vca-rail,.vca-topbar,.vca-page-tools,.home-group,.home-settings,.home-area,.card,.metric,.vca-state,dialog){transition:background-color 280ms ease,color 280ms ease,border-color 280ms ease}
@keyframes vca-icon-draw{from{stroke-dashoffset:1}to{stroke-dashoffset:0}}
@keyframes vca-theme-icon{from{transform:rotate(-24deg) scale(.8)}to{transform:rotate(0) scale(1)}}
@keyframes vca-loading{0%{transform:translateX(-105%)}100%{transform:translateX(420%)}}
@keyframes vca-backdrop-in{from{background-color:transparent}to{background-color:#13213070}}
@media(max-width:1179px){.vca-appearance{flex-wrap:wrap}.vca-motion-choice{margin:0 0 0 auto;max-width:200px}}
@media(max-width:760px){.vca-motion-choice{width:100%;max-width:none;margin-top:0}.vca-motion-choice select{min-height:34px}.vca-appearance{gap:8px 14px}}
html[data-vca-motion-effective=subtle]{--vca-motion:140ms}
html[data-vca-motion-effective=subtle] .vca-shell :is(.vca-workspaces button,a.home-area):hover .vca-icon path{animation:none}
html[data-vca-motion-effective=off] *,html[data-vca-motion-effective=off] *::before,html[data-vca-motion-effective=off] *::after,
html[data-vca-motion-effective=reduced] *,html[data-vca-motion-effective=reduced] *::before,html[data-vca-motion-effective=reduced] *::after{animation:none!important;transition:none!important;scroll-behavior:auto!important}
html[data-vca-motion-effective=off] .vca-shell :is(button,a.home-area,dialog,.vca-icon,.home-area-icon,.home-area-direction,.home-area-copy,.vca-swatch-dot),
html[data-vca-motion-effective=reduced] .vca-shell :is(button,a.home-area,dialog,.vca-icon,.home-area-icon,.home-area-direction,.home-area-copy,.vca-swatch-dot){transform:none!important}
@media(prefers-reduced-motion:reduce){.vca-shell :is(button,a.home-area,dialog,.vca-icon,.home-area-icon,.home-area-direction,.home-area-copy,.vca-swatch-dot){transform:none!important}}

/* One shared selection surface makes confirmed tab changes spatially legible. */
.vca-shell :is(.department-tabs,.category-tabs){position:relative;isolation:isolate}
.vca-shell :is(.department-tabs,.category-tabs)>button{position:relative;z-index:1}
.vca-tab-marker{position:absolute;z-index:0;pointer-events:none;border:1px solid var(--accent);border-radius:8px;background:var(--tint);transform-origin:0 0}
.vca-shell :is(.department-tabs,.category-tabs)[data-vca-tab-track]>button.active{background:transparent;border-color:transparent}
@supports (interpolate-size:allow-keywords) and selector(details::details-content){
 .vca-shell .invoice-mail-status{interpolate-size:allow-keywords}
 .vca-shell .invoice-mail-status::details-content{block-size:0;overflow:clip;transition:block-size 240ms var(--vca-ease),content-visibility 240ms allow-discrete}
 .vca-shell .invoice-mail-status[open]::details-content{block-size:auto}
 html[data-vca-motion-effective=subtle] .invoice-mail-status::details-content{transition-duration:140ms}
 html:is([data-vca-motion-effective=off],[data-vca-motion-effective=reduced]) .invoice-mail-status::details-content{transition:none}
 @media(prefers-reduced-motion:reduce){.invoice-mail-status::details-content{transition:none!important}}
}

/* Area search shares every theme and uses the native dialog focus boundary. */
.vca-command-trigger.vca-command-trigger{display:flex;align-items:center;gap:10px;min-height:40px;padding:8px 12px;border:1px solid var(--line);background:var(--surface);color:var(--muted);font-size:12px;white-space:nowrap;transition:background-color 160ms,color 160ms,border-color 160ms}
.vca-command-trigger.vca-command-trigger:hover{background:var(--tint);color:var(--accent);border-color:var(--accent)}
.vca-command-trigger--desktop{margin-left:auto}
.vca-command-trigger .vca-icon{width:16px;height:16px}
.vca-command-trigger kbd,.vca-command-footer kbd{font:inherit;line-height:1.5;padding:1px 5px;border:1px solid var(--line);border-radius:4px;background:var(--subtle);color:var(--text)}
.vca-command-trigger kbd{margin-left:18px;font-size:10px}
.vca-command-trigger.vca-command-trigger--mobile{display:none;margin-left:auto;width:40px;flex:0 0 40px;padding:9px;justify-content:center}
.vca-command-dialog.vca-command-dialog{width:min(580px,calc(100vw - 32px));max-width:calc(100vw - 32px);max-height:min(720px,calc(100dvh - 64px));margin:clamp(24px,10vh,88px) auto auto;padding:0;border:0;border-radius:16px;background:var(--surface);color:var(--text);box-shadow:0 24px 80px #081a293d;overflow:hidden}
.vca-command-dialog[open]{display:flex;flex-direction:column}
.vca-command-dialog::backdrop{background:#0f20386b;backdrop-filter:blur(4px)}
.vca-command-heading{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:20px 20px 12px;flex:0 0 auto}
.vca-command-heading h2{margin:0;font-size:19px;line-height:1.4;letter-spacing:-.025em}
.vca-command-close.vca-command-close{display:grid;place-items:center;flex:0 0 40px;width:40px;min-height:40px;padding:10px;background:transparent;border:0;color:var(--muted)}
.vca-command-close.vca-command-close:hover{background:var(--subtle);color:var(--text)}
.vca-command-search{display:flex;align-items:center;gap:12px;margin:0 20px 16px;padding:0 14px;border:1px solid var(--field-border);border-radius:10px;background:var(--surface);color:var(--muted);flex:0 0 auto}
.vca-command-search:focus-within{border-color:var(--accent);outline:2px solid var(--accent);outline-offset:2px}
.vca-command-input.vca-command-input{min-height:50px;padding:12px 0;border:0;border-radius:0;outline:none;background:transparent;color:var(--text);font-size:15px;box-shadow:none}
.vca-command-results{overflow-y:auto;overscroll-behavior:contain;scrollbar-width:thin;min-height:0;padding:4px 12px 12px;flex:1 1 auto}
.vca-command-list{display:grid;gap:4px}
.vca-command-option{display:flex;align-items:center;gap:12px;min-height:72px;padding:12px;border-radius:10px;color:var(--text);cursor:pointer;transition:background-color 140ms,color 140ms}
.vca-command-option[aria-selected=true]{background:var(--tint)}
.vca-command-option[aria-disabled=true]{cursor:not-allowed}
.vca-command-option-icon{display:grid;place-items:center;flex:0 0 36px;width:36px;height:36px;border-radius:9px;background:var(--subtle);color:var(--muted);transition:background-color 140ms,color 140ms}
.vca-command-option[aria-selected=true] .vca-command-option-icon{background:var(--accent);color:var(--on-accent)}
.vca-command-option-copy{display:flex;flex-direction:column;gap:3px;flex:1;min-width:0;overflow-wrap:anywhere}
.vca-command-option-name{display:flex;align-items:baseline;flex-wrap:wrap;gap:8px;font-size:14px;font-weight:600;line-height:1.45}
.vca-command-current{color:var(--muted);font-size:10px;font-weight:500}
.vca-command-description{color:var(--muted);font-size:12px;line-height:1.5}
.vca-command-reason{display:flex;align-items:flex-start;gap:5px;color:var(--muted);font-size:11px;line-height:1.5}
.vca-command-reason .vca-icon{width:12px;height:12px;margin-top:2px}
.vca-command-option>.vca-icon{width:16px;height:16px;color:var(--accent)}
.vca-command-message{margin:0 20px 12px;padding:10px 12px;border-radius:8px;background:var(--redbg);color:var(--red);font-size:12px;line-height:1.6;flex:0 0 auto}
.vca-command-empty{padding:28px 20px;margin:0;color:var(--muted);text-align:center;font-size:13px}
.vca-command-footer{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px 20px;border-top:1px solid var(--line);color:var(--muted);font-size:10px;flex:0 0 auto}
.vca-command-footer>span:first-child{display:flex;align-items:center;flex-wrap:wrap;gap:5px}
.vca-command-footer kbd{font-size:9px}
.vca-command-summary{white-space:nowrap}
/* Shared personal appearance lives in Configuraciones. Images stay behind opaque work surfaces. */
body.vca-shell{isolation:isolate;position:relative}
#vca-panel-background{position:fixed;inset:0;z-index:-1;pointer-events:none;overflow:hidden;opacity:var(--vca-panel-background-opacity,.18)}
#vca-panel-background>img{display:block;width:100%;height:100%;object-fit:cover;object-position:center}
/* Keep uploaded artwork visible while preserving contrast for all workspace text. */
body.vca-shell:has(>#vca-panel-background)>main{background:color-mix(in srgb,var(--bg) 85%,transparent)}
.brand>[data-panel-logo]{display:block;flex:0 0 38px;width:38px;height:38px;object-fit:contain;object-position:center;border-radius:8px}
.vca-personalization{max-width:1050px;padding:24px 0 32px}
.vca-personalization>h2{margin-bottom:6px;font-size:24px;letter-spacing:-.02em}
.vca-personalization>.help{margin:0 0 28px;max-width:72ch;font-size:13px}
.vca-personalization .vca-appearance-settings{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px 32px;align-items:start;padding:0 0 28px;margin:0;border-bottom:1px solid var(--line)}
.vca-appearance-settings>h3{grid-column:1/-1;margin:0;font-size:16px}
.vca-appearance-field{display:grid;gap:9px;font-size:13px;font-weight:500}
.vca-appearance-settings .vca-theme-modes{max-width:260px}
.vca-appearance-settings .vca-theme-modes button{flex:1;min-height:42px;font-size:13px}
.vca-appearance-settings .vca-theme-colors{justify-content:flex-start;gap:12px}
.vca-appearance-settings .vca-theme-colors .vca-swatch{width:42px;height:42px;min-height:42px}
.vca-appearance-settings .vca-motion-choice{display:flex;flex-direction:column;align-items:stretch;gap:9px;margin:0;max-width:none;font-size:13px;font-weight:500;color:var(--text)}
.vca-appearance-settings .vca-motion-choice select{min-height:42px;padding:9px 11px;font-size:13px}
.vca-image-setting{display:grid;grid-template-columns:200px minmax(0,1fr);gap:16px 28px;padding:28px 0;border-bottom:1px solid var(--line)}
.vca-image-setting-heading{grid-column:1/-1}.vca-image-setting h3{margin:0 0 6px;font-size:16px}.vca-image-setting .help{margin:0;max-width:74ch}
.vca-image-preview{display:grid;place-items:center;min-height:130px;border:1px solid var(--line);border-radius:12px;background:var(--surface);overflow:hidden;padding:20px;color:var(--muted);font-size:12px;text-align:center}
.vca-image-preview>img{display:block;width:100%;height:90px;object-fit:contain}.vca-image-preview--background{padding:0}.vca-image-preview--background>img{height:130px;object-fit:cover}
.vca-image-setting-controls{min-width:0;align-self:center}.vca-image-setting-controls>label{max-width:560px}.vca-image-setting-controls input{padding:6px;font-size:12px}
.vca-image-filename{margin:7px 0 10px;color:var(--muted);font-size:12px;overflow-wrap:anywhere}
.vca-image-setting-controls>button{min-height:36px;padding:6px 11px;font-size:12px}
.vca-background-intensity{grid-column:2;max-width:560px}.vca-background-intensity>span{display:flex;justify-content:space-between;gap:16px}.vca-background-intensity output{font-variant-numeric:tabular-nums;color:var(--muted)}
.vca-background-intensity input{height:34px;min-height:34px;padding:0;accent-color:var(--accent);box-shadow:none!important}
.vca-personalization-status{margin:20px 0 0;padding:12px 14px;background:var(--tint);color:var(--accent);border-radius:8px;font-size:13px}
@media(max-width:760px){.vca-personalization{padding-top:16px}.vca-personalization .vca-appearance-settings{grid-template-columns:1fr;gap:20px}.vca-appearance-settings>h3{grid-column:auto}.vca-image-setting{grid-template-columns:120px minmax(0,1fr);gap:14px}.vca-image-preview{min-height:115px;padding:12px}.vca-image-preview--background{padding:0}.vca-background-intensity{grid-column:1/-1}}
@media(max-width:420px){.vca-image-setting{grid-template-columns:1fr}.vca-image-setting-heading{grid-column:auto}.vca-image-preview{width:100%;max-width:240px}.vca-image-setting-controls>label{width:100%}}
@media(max-width:1179px){.vca-command-trigger.vca-command-trigger--desktop{display:none}.vca-command-trigger.vca-command-trigger--mobile{display:flex}}
@media(max-width:480px){
 .vca-command-dialog.vca-command-dialog{width:calc(100vw - 24px);max-width:calc(100vw - 24px);max-height:calc(100dvh - 40px);margin:20px auto auto;border-radius:14px}
 .vca-command-heading{padding:14px 14px 10px}.vca-command-heading h2{font-size:18px}
 .vca-command-search{margin:0 14px 12px;padding:0 12px}.vca-command-input.vca-command-input{font-size:16px}
 .vca-command-option{padding:11px 8px;gap:10px}.vca-command-option-icon{flex-basis:32px;width:32px;height:32px}
 .vca-command-results{padding:4px 8px 10px}.vca-command-message{margin:0 14px 12px}
 .vca-command-footer{padding:11px 14px;gap:8px}.vca-command-footer>span:first-child{gap:4px}
}

/* Local appearance feedback and a bounded, user-triggered motion sample. */
.vca-motion-field{display:grid;gap:10px;min-width:0}
.vca-motion-demo{display:flex;align-items:center;flex-wrap:wrap;gap:8px 12px;min-width:0}
.vca-motion-demo .vca-motion-preview-button{min-height:44px;padding:8px 10px;font-size:12px}
.vca-motion-preview{display:inline-flex;align-items:center;gap:7px;min-height:36px;font-size:12px;color:var(--muted)}
.vca-motion-preview .vca-icon{width:16px;height:16px;color:var(--accent)}
.vca-image-status{min-height:3em;margin:8px 0 0;font-size:12px;line-height:1.5;color:var(--muted);overflow-wrap:anywhere}
.vca-image-status[data-state=success]{color:var(--accent)}
.vca-image-status[data-state=error]{color:var(--red)}
.vca-image-status[data-state=loading]::before{content:'';display:inline-block;width:12px;height:12px;margin-right:8px;vertical-align:-2px;border:2px solid var(--line);border-top-color:var(--accent);border-radius:50%;animation:vca-import-spin 750ms linear infinite}
@keyframes vca-import-spin{to{transform:rotate(1turn)}}

/* Rail: compact visual controls, full pointer targets, coordinated width changes. */
.vca-shell{--rail-duration:240ms;--rail-feedback:160ms;--rail-ease:cubic-bezier(.2,.7,.2,1)}
html[data-vca-motion-effective=subtle] .vca-shell{--rail-duration:140ms;--rail-feedback:120ms}
.vca-shell .vca-rail-controls button{position:absolute;top:0;right:0;display:grid;place-items:center;width:44px;height:44px;min-width:44px;min-height:44px;padding:0;border:0;border-radius:9px;background:transparent;color:var(--muted);transition:color var(--rail-feedback),right var(--rail-duration) var(--rail-ease),top var(--rail-duration) var(--rail-ease)}
.vca-shell #vca-rail-toggle{right:44px}
.vca-shell .vca-rail-controls button::before{content:'';position:absolute;inset:8px;border:1px solid transparent;border-radius:7px;background:transparent;transition:background-color var(--rail-feedback),border-color var(--rail-feedback)}
.vca-shell .vca-rail-controls button>.vca-icon{position:relative;width:17px;height:17px}
.vca-shell .vca-rail-controls button:hover{color:var(--text);background:transparent}
.vca-shell .vca-rail-controls button:is(:hover,:focus-visible)::before{background:var(--subtle);border-color:var(--line)}
.vca-shell .vca-rail-controls button:active::before{background:var(--tint);border-color:var(--accent)}
.vca-shell #vca-rail-pin[aria-pressed=true]{color:var(--accent)}
.vca-shell #vca-rail-pin[aria-pressed=true]::before{background:var(--tint)}
.vca-shell #vca-rail-pin[aria-pressed=true] path:first-child{fill:color-mix(in srgb,var(--accent) 14%,transparent)}
.vca-rail-controls{transition:height var(--rail-duration) var(--rail-ease)}
.vca-rail-caption{transition:opacity var(--rail-feedback)}
.vca-shell[data-vca-rail=compact] .vca-rail-caption{opacity:0}
.vca-shell .vca-workspaces button{position:relative;gap:9px;min-height:48px;padding:7px 9px;border-radius:10px;transition:background-color var(--rail-feedback),color var(--rail-feedback),padding var(--rail-duration) var(--rail-ease),gap var(--rail-duration) var(--rail-ease)}
.vca-nav-art{display:grid;place-items:center;flex:0 0 32px;width:32px;height:32px;border:1px solid var(--line);border-radius:9px;background:var(--surface);color:var(--accent);transition:background-color var(--rail-feedback),border-color var(--rail-feedback),color var(--rail-feedback)}
.vca-nav-art .vca-icon{width:21px;height:21px}
.vca-shell .vca-workspaces button:hover:not(:disabled) .vca-nav-art{color:var(--accent);border-color:color-mix(in srgb,var(--accent) 35%,var(--line));background:var(--surface)}
.vca-shell .vca-workspaces [aria-current=page] .vca-nav-art,.vca-shell .vca-workspaces [aria-current=page]:hover .vca-nav-art{color:var(--on-accent);border-color:var(--accent);background:var(--accent);box-shadow:0 2px 5px color-mix(in srgb,var(--accent) 14%,transparent)}
.vca-shell .vca-workspaces [aria-current=page] .vca-icon{stroke-width:1.9}
.vca-shell .vca-workspaces [aria-current=page]::before{content:'';position:absolute;left:0;top:14px;bottom:14px;width:3px;border-radius:3px;background:var(--accent)}
.vca-shell .vca-workspaces button:active:not(:disabled){background:var(--tint)}
.vca-shell .vca-workspaces button:focus-visible{outline-offset:-3px}
.vca-nav-label{min-width:0;max-width:180px;overflow:hidden;text-overflow:ellipsis;opacity:1;transform:translateX(0);transition:opacity 140ms ease,max-width var(--rail-duration) var(--rail-ease),transform var(--rail-duration) var(--rail-ease)}
.vca-shell[data-vca-rail=compact] .vca-workspaces button{gap:0;padding:7px 10px}
@media(min-width:1180px){
 body.vca-shell:not([data-vca-area=acceso]){transition:padding-left var(--rail-duration) var(--rail-ease)}
 .vca-shell:not([data-vca-area=acceso]) .vca-rail{padding:24px 12px 18px;transition:width var(--rail-duration) var(--rail-ease),padding var(--rail-duration) var(--rail-ease)}
 .vca-shell:not([data-vca-area=acceso]) .brand{padding:0 8px 24px;transition:padding var(--rail-duration) var(--rail-ease),gap var(--rail-duration) var(--rail-ease)}
 .vca-shell .brand>div{max-width:150px;opacity:1;transition:max-width var(--rail-duration) var(--rail-ease),opacity 140ms ease}
 .vca-shell[data-vca-rail=compact]:not([data-vca-area=acceso]) .vca-rail{padding:24px 8px 18px}
 .vca-shell[data-vca-rail=compact]:not([data-vca-area=acceso]) .brand{padding:0 0 24px;gap:0}
 .vca-shell[data-vca-rail=compact] .brand>div{position:static;width:auto;height:auto;max-width:0;opacity:0;overflow:hidden;clip-path:none}
 .vca-shell[data-vca-rail=compact] :is(#vca-rail-toggle,#vca-rail-pin){right:calc(50% - 22px)}
 .vca-shell[data-vca-rail=compact] #vca-rail-pin{top:44px}
}


/* Shared material contract: future areas inherit the shell; .vca-material-surface opts in. */
html{--vca-material-alpha:.58;--material-rgb:255 255 255;--material-edge:#ffffffdf;--material-low-edge:#647b8533;--material-shadow:0 18px 48px #1646531c;--material-shine:#fff9;--material-ground:#dcebe9;--material-wave:#93c9be;--material-wave-two:#abc8df;--material-text:#182d36;--material-muted:#344c57}
html[data-vca-theme=dark]{--material-rgb:23 40 49;--material-edge:#c6f9ef80;--material-low-edge:#91b5c51f;--material-shadow:0 20px 52px #0006;--material-shine:#e1fff21a;--material-ground:#0c2028;--material-wave:#164f4f;--material-wave-two:#1a3755;--material-text:#f0f7fb;--material-muted:#c5dbe2}
html[data-vca-accent=blue]{--material-wave:#a5c9ed;--material-wave-two:#b1d6d7}
html[data-vca-accent=violet]{--material-wave:#c5bbdf;--material-wave-two:#bad4dd}
html[data-vca-accent=copper]{--material-wave:#e4bfa5;--material-wave-two:#ced3bb}
html[data-vca-theme=dark][data-vca-accent=blue]{--material-wave:#1d4466;--material-wave-two:#17474b}
html[data-vca-theme=dark][data-vca-accent=violet]{--material-wave:#3d3157;--material-wave-two:#223e4f}
html[data-vca-theme=dark][data-vca-accent=copper]{--material-wave:#51392e;--material-wave-two:#374238}
body.vca-shell{--muted:var(--material-muted);background:var(--material-ground);background-image:radial-gradient(ellipse at 8% 18%,var(--material-wave) 0,transparent 62%),radial-gradient(ellipse at 95% 82%,var(--material-wave-two) 0,transparent 64%);background-attachment:fixed}
body.vca-shell>header{background:transparent}
body.vca-shell>main{position:relative}
.vca-shell :is(.vca-rail,.vca-topbar,.home-group,.home-settings .home-area,.vca-material-surface){background:rgb(var(--material-rgb));color:var(--material-text)}
@supports (backdrop-filter:blur(1px)){
 html:not([data-vca-material=solid]) .vca-shell :is(.vca-rail,.vca-topbar,.home-group,.home-settings .home-area,.vca-material-surface){background-color:rgb(var(--material-rgb) / var(--vca-material-alpha));--material-reflection:color-mix(in srgb,var(--material-shine) clamp(0%,calc(var(--vca-material-alpha)*172.4138%),100%),transparent);background-image:linear-gradient(132deg,var(--material-reflection),transparent 31%,transparent 65%,var(--material-reflection));backdrop-filter:blur(24px) saturate(1.35);-webkit-backdrop-filter:blur(24px) saturate(1.35);box-shadow:inset 0 1px 0 var(--material-edge),inset 1px 0 0 var(--material-shine),inset 0 -1px 0 var(--material-low-edge),var(--material-shadow)}
}
.vca-shell .vca-rail{border-color:var(--material-low-edge)}
.vca-shell .vca-topbar{border-radius:0 0 18px 18px}
.vca-shell .home-group,.vca-shell .home-settings .home-area{position:relative;border:1px solid var(--material-edge);border-radius:24px;overflow:hidden}
.vca-shell .home-group{padding:28px}
.vca-shell .home-group h2{font-size:19px;padding-bottom:18px;border-color:var(--material-low-edge);color:var(--material-text)}
.vca-shell .home-area{border-color:var(--material-low-edge);border-radius:12px}
.vca-shell .home-area-copy strong{color:var(--material-text)}
body.vca-shell :is(.home-area-description,.home-area-availability,.home-welcome>p,.home-context time,.home-context p,.home-development,.vca-environment){color:var(--material-muted)}
.vca-shell .home-area-icon{border-radius:15px;background:rgb(var(--material-rgb) / .7);box-shadow:inset 0 1px 0 var(--material-edge),0 5px 14px #123c4610}
.vca-shell .home-area:hover{background:rgb(var(--material-rgb) / min(.45,calc(var(--vca-material-alpha)*.775862)))}
.vca-shell .home-area:focus-visible{outline:3px solid var(--accent);outline-offset:-4px}
.vca-shell .home-welcome{border-color:var(--material-low-edge)}
.vca-shell :is(.home-welcome,.workspace-title){color:var(--material-text)}
.vca-shell .vca-material-settings{grid-column:1/-1;padding:24px;margin:0 0 28px;background:var(--surface);border:1px solid var(--line);border-radius:16px}
.vca-material-settings h3{margin:0 0 6px;font-size:20px}.vca-material-settings>.help{max-width:74ch;margin:0 0 22px}
.material-layout{display:grid;grid-template-columns:minmax(220px,1fr) minmax(260px,1.5fr);gap:28px;align-items:center}
.material-sample{min-height:210px;padding:30px;display:grid;place-items:center;border-radius:16px;background:linear-gradient(140deg,var(--material-wave),var(--material-ground) 48%,var(--material-wave-two));overflow:hidden}
.material-sample-pane{width:100%;padding:26px 22px;border:1px solid var(--material-edge);border-radius:20px;background:rgb(var(--material-rgb) / var(--vca-material-alpha));backdrop-filter:blur(18px);box-shadow:inset 0 1px 0 var(--material-edge),var(--material-shadow);color:var(--material-text)}
.material-sample-pane strong{display:block;font-size:26px;margin-bottom:10px}.material-sample-pane span{display:block;font-size:12px;color:var(--material-muted)}
.material-range-label,.material-scale{display:flex;align-items:center;justify-content:space-between;gap:12px}.material-range-label output{font-variant-numeric:tabular-nums;font-size:21px;font-weight:650}
.vca-material-settings input[type=range]{padding:0;accent-color:var(--accent);min-height:44px;border:0;background:transparent;cursor:pointer}.material-scale{font-size:11px;color:var(--muted)}
.material-actions{display:flex;gap:8px;flex-wrap:wrap;margin-top:18px}.material-actions button{min-height:44px}.material-status{font-size:12px;color:var(--muted);margin:20px 0 0;min-height:18px}
html[data-vca-material=solid] .vca-shell :is(.vca-rail,.vca-topbar,.home-group,.home-settings .home-area,.vca-material-surface){background:rgb(var(--material-rgb));backdrop-filter:none;-webkit-backdrop-filter:none;box-shadow:none}
/* At 100% there is no interior tint, reflection gradient, blur or hover fill.
   Borders/shadows separate surfaces; reading fields and icon controls are distinct. */
html[data-vca-material=clear] .vca-shell :is(.vca-rail,.vca-topbar,.home-group,.home-settings .home-area,.vca-material-surface),html[data-vca-material=clear] body.vca-shell .home-area:hover{background-color:transparent;background-image:none;backdrop-filter:none;-webkit-backdrop-filter:none}
.material-sample[data-material-draft="100"] .material-sample-pane,.material-sample[data-material-draft="0"] .material-sample-pane{backdrop-filter:none;-webkit-backdrop-filter:none}
@media(max-width:760px){.material-layout{grid-template-columns:1fr;gap:20px}.vca-shell .vca-material-settings{padding:18px}.material-sample{min-height:170px;padding:22px}.vca-shell .home-group{padding:22px}.vca-shell .home-group,.vca-shell .home-settings .home-area{border-radius:20px}}
@media(prefers-reduced-transparency:reduce),(forced-colors:active){.vca-shell :is(.vca-rail,.vca-topbar,.home-group,.home-settings .home-area,.vca-material-surface),.material-sample-pane{background:var(--surface)!important;backdrop-filter:none!important;-webkit-backdrop-filter:none!important;box-shadow:none!important}}
@media(forced-colors:active){body.vca-shell{background:Canvas}.vca-shell :is(.vca-rail,.vca-topbar,.home-group,.home-settings .home-area){border:1px solid CanvasText;color:CanvasText}}
@media(prefers-reduced-motion:reduce){.material-sample-pane,.vca-material-settings{transition:none}}
