/* WEEM business platform. OwnCoding UI tokens are authoritative; legacy names
   are adapters for existing operational/auth controls, not a second palette. */
:root, :root.dark, html[data-theme="dark"] {
  --c-paper:14 17 22;--c-fore:241 244 248;--c-ink:23 29 39;--c-ink-900:23 29 39;
  --c-ink-800:32 41 56;--c-ink-700:43 54 73;--c-ink-600:52 66 89;--c-mute:174 187 208;
  --c-fono:88 117 181;--c-fono-light:154 175 211;--c-fono-dark:74 99 153;--c-fono-text:154 175 211;--c-onbrand:255 255 255;
  --c-fono-glow:88 117 181;--c-fono-soft:32 41 56;
}
html.light, html[data-theme="light"], html[data-theme="claro"] {
  --c-paper:241 244 248;--c-fore:14 17 22;--c-ink:255 255 255;--c-ink-900:255 255 255;
  --c-ink-800:248 250 253;--c-ink-700:232 237 245;--c-ink-600:197 209 226;--c-mute:71 85 105;
  --c-fono:88 117 181;--c-fono-light:88 117 181;--c-fono-dark:65 88 139;--c-fono-text:65 88 139;--c-onbrand:255 255 255;
  --c-fono-glow:88 117 181;--c-fono-soft:234 239 248;
}
html body {
  --v-bg:rgb(var(--c-paper));--v-surface-1:rgb(var(--c-ink));--v-surface-2:rgb(var(--c-ink-800));--v-surface-3:rgb(var(--c-ink-700));
  --v-text:rgb(var(--c-fore));--v-text-secondary:rgb(var(--c-fore));--v-text-muted:rgb(var(--c-mute));--v-border:rgb(var(--c-ink-600));
  --v-brand-500:rgb(var(--c-fono));--v-accent-text:rgb(var(--c-fono-text));--v-brand-soft:rgb(var(--c-fono) / .12);
  --bg:var(--v-bg);--bg-2:var(--v-surface-2);--surface:var(--v-surface-1);--surface-solid:var(--v-surface-1);--surface-2:var(--v-surface-2);--surface-3:var(--v-surface-3);
  --sf:var(--v-surface-1);--sf-2:var(--v-surface-2);--sf-3:var(--v-surface-3);--bd:var(--v-border);--bd-2:rgb(var(--c-fono) / .4);
  --ink:var(--v-text);--ink-2:var(--v-text-secondary);--ink-3:var(--v-text-muted);--text:var(--v-text);--text-muted:var(--v-text-muted);--border:var(--v-border);
  --accent:rgb(var(--c-fono));--accent-soft:rgb(var(--c-fono) / .12);--teal:rgb(var(--c-fono));--teal-2:rgb(var(--c-fono-text));--teal-bg:rgb(var(--c-fono) / .12);--focus:rgb(var(--c-fono));
  --weem-petroleo:#0e1116;--weem-arena:rgb(var(--c-fono-text));--weem-marfil:var(--v-text);
  --accent-grad:linear-gradient(0deg,rgb(var(--c-fono)),rgb(var(--c-fono)));--v-font:"Instrument Sans",system-ui,sans-serif;
  background:var(--v-bg);color:var(--v-text);font-family:var(--v-font);
}
[data-weem-island] {position:relative;z-index:201;font-family:var(--v-font);color:var(--v-text);min-width:0}
[data-weem-island="header"] {position:sticky;top:0}
.weem-platform-header {min-height:64px;padding:10px clamp(14px,3vw,36px);display:flex;align-items:center;gap:24px;background:var(--v-surface-1);border-bottom:1px solid var(--v-border)}
.weem-platform-logo {flex:none;display:flex;align-items:center;min-height:44px}
.weem-platform-logo img {width:142px;height:auto}
html.light .weem-platform-logo img, html[data-theme="light"] .weem-platform-logo img, html[data-theme="claro"] .weem-platform-logo img {content:url('/brand/weem-wordmark-light.svg')}
.weem-platform-nav {display:flex;gap:4px;margin-left:auto;align-items:center}
.weem-platform-nav a,.weem-platform-menu a {min-height:44px;display:flex;align-items:center;padding:8px 12px;color:var(--v-text-muted);font-size:13px;border-radius:6px;text-decoration:none;font-weight:600}
.weem-platform-nav a:hover,.weem-platform-nav a[aria-current],.weem-platform-menu a:hover {background:var(--accent-soft);color:rgb(var(--c-fono-text))}
.weem-platform-actions {display:flex;align-items:center;gap:8px}
.weem-theme-button {min-height:44px!important;color:var(--v-text)!important}
.weem-platform-menu {display:none}
.weem-platform-menu summary {cursor:pointer;min-height:44px;display:flex;align-items:center;padding:10px;border:1px solid var(--v-border);border-radius:6px;font-size:13px;font-weight:600}
.weem-platform-menu nav {position:absolute;right:12px;top:100%;width:min(300px,calc(100vw - 24px));padding:8px;background:var(--v-surface-1);border:1px solid var(--v-border);box-shadow:var(--oc-shadow-float);border-radius:10px}
.weem-platform-footer {background:var(--v-surface-1)!important;padding:16px clamp(14px,3vw,36px)!important;font-size:12px!important;position:relative;z-index:1}
.weem-platform-footer a {color:rgb(var(--c-fono-text))!important;min-height:44px}
.weem-release {background:var(--v-surface-2)!important;color:var(--v-text-muted)!important;border-color:var(--v-border)!important;font-family:var(--v-font)!important}
.weem-section-label {font-size:11px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:rgb(var(--c-fono-text));margin:0 0 14px}
.weem-action-primary,.weem-action-secondary {display:inline-flex;align-items:center;justify-content:center;min-height:44px;padding:12px 18px;border-radius:7px;font-size:14px;font-weight:700;text-decoration:none}
.weem-action-primary {background:rgb(var(--c-fono));color:white}
.weem-action-secondary {background:var(--v-surface-1);border:1px solid var(--v-border);color:var(--v-text)}
:where(a,button,input,select,textarea,summary):focus-visible {outline:2px solid rgb(var(--c-fono));outline-offset:3px}
:where(input,select,textarea) {accent-color:rgb(var(--c-fono))}
:where(button,a,summary) {touch-action:manipulation}
/* Existing public tool navigation becomes a contextual toolbar below the shell. */
.topnav {top:65px!important;z-index:100!important}
.topnav-brand {display:none!important}
.topnav-inner {justify-content:flex-start!important}
.topnav-links {margin-left:0!important;flex:1}
.topnav-links a,.topnav-hamburger,.v-theme-toggle {min-height:44px!important}
.topnav-hamburger {min-width:44px}
.weem-home-context-nav {position:relative!important;inset:auto!important;background:var(--v-surface-1)!important;border-bottom:1px solid var(--v-border)}
.weem-home-context-nav a:first-child>img {max-width:110px}
.weem-home-hero {display:grid;grid-template-columns:minmax(0,1.2fr) minmax(320px,.8fr);gap:clamp(32px,6vw,88px);padding:64px 24px;max-width:1280px;margin:0 auto;align-items:center}
.weem-home-copy h1 {font-size:clamp(36px,5vw,64px);line-height:1.08;letter-spacing:-.04em;font-weight:700;margin:0 0 24px}
.weem-home-copy h1 span {color:rgb(var(--c-fono-text))}
.weem-home-description {font-size:18px;color:var(--v-text-muted);line-height:1.6;max-width:560px;margin:0 0 28px}
.weem-home-cta {display:flex;gap:12px;flex-wrap:wrap}
.weem-home-note {font-size:12px;color:var(--v-text-muted);margin:24px 0 0}
.weem-home-directory {border:1px solid var(--v-border);background:var(--v-surface-1);border-radius:12px;padding:22px}
.weem-home-directory>a {display:flex;align-items:center;gap:16px;padding:18px 0;border-top:1px solid var(--v-border);text-decoration:none;color:var(--v-text)}
.weem-home-directory>a:hover h2 {color:rgb(var(--c-fono-text))}
.weem-home-directory h2 {font-size:17px;font-weight:700;margin:0 0 4px}
.weem-home-directory p:not(.weem-section-label) {font-size:12px;color:var(--v-text-muted);line-height:1.5;margin:0}
.weem-directory-number {font-family:"Geist Mono",monospace;font-size:12px;color:rgb(var(--c-fono-text))}
.weem-home-directory>a>span:last-child {margin-left:auto}
/* Operations is a workspace, not a long tab bar above a full-width document. */
.operations-workspace {display:grid;grid-template-columns:208px minmax(0,1fr);align-items:start;min-height:calc(100dvh - 140px)}
.operations-rail {position:sticky;top:140px;background:var(--sf);border-right:1px solid var(--bd);padding:24px 12px;max-height:calc(100dvh - 140px);overflow:auto}
.operations-rail .weem-section-label {padding:0 10px}
.operations-rail .nav {display:flex;flex-direction:column;align-items:stretch;padding:0;gap:16px;overflow:visible;border:0}
.operations-rail .nav-cluster {display:flex;flex-direction:column;gap:4px;border:0;margin:0;padding:0}
.operations-rail .nav button {text-align:left;justify-content:flex-start;width:100%;min-height:44px;border-radius:7px;white-space:normal;padding:10px 12px}
.operations-rail .nav button[aria-selected="true"] {background:var(--teal-bg);color:var(--teal);box-shadow:inset 3px 0 var(--teal)}
.weem-operaciones .hdr {top:65px;z-index:100;background:var(--sf)}
.weem-operaciones .bar {padding:12px 24px;min-height:74px}
.weem-operaciones .brand-logo {display:none}
.weem-operaciones #main-content {width:100%;min-width:0;max-width:none;padding:24px clamp(16px,2vw,32px)}
.operations-summary {padding-bottom:24px;margin-bottom:24px;border-bottom:1px solid var(--bd)}
.operations-summary h1 {font-size:24px;font-weight:700;letter-spacing:-.025em;margin:0 0 6px}
.operations-summary p {font-size:13px;color:var(--ink-3);margin:0}
.operations-summary .kpis {display:grid;grid-template-columns:repeat(6,minmax(0,1fr));margin-top:22px;border:1px solid var(--bd);border-radius:10px;background:var(--sf);overflow:visible}
.operations-summary .kpi {padding:14px 12px;white-space:normal;min-height:78px}
.operations-summary .kpi b {font-size:22px}
.operations-summary .kpi i {margin-top:5px;font-size:11px;line-height:1.3}
.operations-summary .kpi.warn {margin:0;border-radius:9px 0 0 9px;padding:14px 12px}
.weem-operaciones .card {border-radius:10px;box-shadow:none}
/* Access layout keeps the existing password, Google and recovery hooks. */
body[data-weem-route="admin"] .login-screen {min-height:calc(100dvh - 190px);gap:clamp(32px,8vw,120px);padding:56px 28px;overflow:visible}
.weem-access-intro {position:relative;z-index:1;max-width:480px}
.weem-access-intro h2 {font-size:clamp(32px,4vw,52px);font-weight:700;letter-spacing:-.04em;line-height:1.15;margin:0 0 24px}
.weem-access-intro p {font-size:15px;line-height:1.7;color:var(--text-muted)}
.weem-access-intro ul {margin:24px 0;padding-left:18px;color:var(--text-muted);font-size:13px;line-height:2}
.weem-access-intro a {color:var(--accent);font-size:13px;display:inline-flex;align-items:center;min-height:44px}
body[data-weem-route="admin"] #loginCanvas {visibility:hidden}
body[data-weem-route="admin"] .login-screen>.login-box {max-width:400px;padding:32px;border-radius:12px;box-shadow:none;backdrop-filter:none}
body[data-weem-route="admin"] .login-box input {min-height:44px}
body[data-weem-route="admin"] .login-box h1 {font-size:22px!important;margin:20px 0 8px}
body[data-weem-route="admin"] .login-box .subtitle {font-size:13px!important;margin-bottom:24px}
body[data-weem-route="admin"] .sidebar {top:65px!important;height:calc(100dvh - 65px)!important}
body[data-weem-route="admin"] .main {padding-top:28px!important}
body[data-weem-route="admin"] .nav-item {min-height:44px!important}
body[data-weem-route="admin"] .sidebar-logo {padding:16px!important}
body[data-weem-route="admin"] .nav-label {font-size:10px!important;padding-top:18px!important}
/* Links landing/auth/editor share app chrome; custom public-profile themes remain user-owned. */
.links-business-layout {display:grid;grid-template-columns:minmax(0,1.15fr) minmax(0,.85fr);gap:60px;align-items:center;width:100%;max-width:1200px;text-align:left}
body[data-weem-links-view="landing"] .landing-page {padding:56px 24px;min-height:calc(100dvh - 210px)}
body[data-weem-links-view="landing"] .landing-hero h1 {font-size:clamp(36px,5vw,64px);line-height:1.08;letter-spacing:-.04em}
body[data-weem-links-view="landing"] .landing-hero h1 span {background:none;-webkit-text-fill-color:rgb(var(--c-fono-text));color:rgb(var(--c-fono-text))}
body[data-weem-links-view="landing"] .landing-hero p {margin-left:0;font-size:15px;line-height:1.6}
body[data-weem-links-view="landing"] .landing-features {display:grid;grid-template-columns:1fr 1fr;margin:0;gap:12px}
body[data-weem-links-view="landing"] .landing-feat {min-height:132px;padding:18px;border-radius:10px;background:var(--surface);border:1px solid var(--border)}
body[data-weem-links-view="landing"] .landing-feat h3 {font-size:14px;color:var(--text)}
body[data-weem-links-view="landing"] .landing-cta {justify-content:flex-start}
body[data-weem-links-view="landing"] .landing-cta .btn {border-radius:7px;min-height:44px}
body[data-weem-links-view="auth"] .auth-card {background:var(--surface);border-radius:12px;border:1px solid var(--border);box-shadow:none;max-width:420px}
body[data-weem-links-view="editor"] .editor-layout {grid-template-columns:240px minmax(0,1fr) 360px;max-width:100%;min-width:0}
body[data-weem-links-view="editor"] .editor-main {max-height:calc(100dvh - 65px);min-width:0}
body[data-weem-links-view="editor"] .editor-sidebar {background:var(--surface);max-height:calc(100dvh - 65px)}
body[data-weem-links-view="editor"] .e-link-item {background:var(--surface);border:1px solid var(--border);border-radius:8px}
body[data-weem-links-view]:not([data-weem-links-view="profile"]) .bg-orbs {display:none}
/* Supporting pages have explicit page-family classes; no reset of business hooks. */
.weem-page-heading {max-width:1240px;margin:0 auto;padding:24px 24px 0;display:flex;justify-content:space-between;gap:16px;align-items:center}
.weem-page-heading h2 {font-size:18px;font-weight:700;margin:0;color:var(--v-text)}
.weem-page-heading p {font-size:12px;color:var(--v-text-muted);margin:5px 0 0}
.weem-page-heading a {min-height:44px;display:inline-flex;align-items:center;font-size:13px;color:rgb(var(--c-fono-text))}
.weem-supporting main,.weem-supporting .container {max-width:1040px}
.weem-supporting h1 {letter-spacing:-.03em}
.weem-education .hero {padding-top:40px!important;padding-bottom:48px!important}
.weem-education .hero h1 {font-size:clamp(30px,5vw,52px)!important;line-height:1.15!important}
.weem-education .pricing-card {border-radius:12px!important;background:var(--v-surface-1)!important;border:1px solid var(--v-border)!important;box-shadow:none!important}
/* Responsive workspace: horizontal rail is intentional and contained. */
@media(max-width:1100px) {
  .weem-platform-nav {display:none}.weem-platform-actions {margin-left:auto}.weem-platform-menu {display:block}
  .operations-summary .kpis {grid-template-columns:repeat(3,minmax(0,1fr))}.operations-summary .kpi:nth-child(4) {border-left:0}
  body[data-weem-links-view="editor"] .editor-layout {grid-template-columns:220px minmax(0,1fr)}
}
@media(max-width:900px) {
  .weem-home-hero,.links-business-layout {grid-template-columns:1fr;gap:32px;padding-top:36px}
  .operations-workspace {grid-template-columns:1fr}.operations-rail {position:relative;top:auto;padding:12px;border-right:0;border-bottom:1px solid var(--bd);max-height:none}
  .operations-rail>.weem-section-label {display:none}.operations-rail .nav {flex-direction:row;overflow-x:auto;gap:8px;max-width:100%}
  .operations-rail .nav-cluster {flex-direction:row;gap:4px;flex:none}.operations-rail .nav button {width:auto;white-space:nowrap}
  .weem-operaciones .bar {flex-wrap:wrap;padding:12px 16px;gap:12px}.weem-operaciones .estado {gap:8px;flex-wrap:wrap;margin-left:0}
  .weem-operaciones .hdr {position:relative;top:auto}.weem-operaciones #main-content {padding:20px 14px}
  body[data-weem-route="admin"] .login-screen {flex-direction:column;padding:32px 16px;gap:24px;align-items:stretch}
  .weem-access-intro {max-width:400px;margin:auto}.weem-access-intro h2 {font-size:32px}.weem-access-intro ul {display:none}
  body[data-weem-route="admin"] .login-screen>.login-box {margin:0 auto;width:100%}
  body[data-weem-route="admin"] .main {padding-top:72px!important}
  body[data-weem-route="admin"] #notifBellContainer,body[data-weem-route="admin"] .hamburger {top:78px!important}
  body[data-weem-links-view="editor"] .editor-layout {grid-template-columns:1fr}
  body[data-weem-links-view="editor"] .editor-sidebar {max-height:none}
  body[data-weem-links-view="editor"] .editor-main {max-height:none;padding:16px}
}
@media(max-width:480px) {
  .weem-platform-header {gap:8px;padding:8px 12px}.weem-platform-logo img {width:118px}.weem-platform-actions {gap:4px}
  .weem-home-hero {padding:32px 16px}.weem-home-copy h1 {font-size:36px}.weem-home-directory {padding:18px}
  .weem-home-cta {flex-direction:column}.weem-home-cta a {width:100%}
  .operations-summary .kpis {grid-template-columns:repeat(2,minmax(0,1fr))}.operations-summary .kpi {border-left:0;border-bottom:1px solid var(--bd)}
  .weem-operaciones .reloj {padding:5px 8px}.weem-operaciones .reloj b {font-size:15px}
  .weem-operaciones .brand i {white-space:normal}
  body[data-weem-links-view="landing"] .landing-features {grid-template-columns:1fr}
  .weem-page-heading {padding:20px 16px 0;align-items:flex-start}.weem-page-heading h2 {font-size:16px}
}
html.kiosco .operations-workspace {display:block}
html.kiosco .operations-rail {position:relative;top:auto;padding:6px;max-height:none}
html.kiosco .operations-rail .nav,html.kiosco .operations-rail .nav-cluster {flex-direction:row;gap:4px}
html.kiosco .operations-summary {display:none}
@media(prefers-reduced-motion:reduce) {html {scroll-behavior:auto!important}*,*::before,*::after {animation:none!important;transition:none!important}}
/* Resolve legacy home specificity so both themes use the same token contract. */
html body.weem-public-home {background:var(--v-bg)!important;color:var(--v-text)!important}
html body.weem-public-home #navbar {background:var(--v-surface-1)!important}
html body.weem-public-home .card-hover {background:var(--v-surface-1)!important;color:var(--v-text)!important;border-color:var(--v-border)!important;border-radius:10px!important}
html body.weem-public-home .bg-white\/5,html body.weem-public-home .bg-white\/\[0\.03\] {background:var(--v-surface-2)!important}
html body.weem-public-home .text-white {color:var(--v-text)!important}
html body.weem-public-home .weem-home-copy h1 {color:var(--v-text)!important}
html body.weem-public-home .weem-action-primary {color:#fff!important}
html body.weem-public-home .gradient-text {-webkit-text-fill-color:var(--v-text);background:none;color:var(--v-text)}
html body.weem-public-home .text-gray-400,html body.weem-public-home .text-gray-500 {color:var(--v-text-muted)!important}
body[data-weem-route="admin"] .login-box .btn-primary {min-height:44px!important}
body[data-weem-route="admin"] #googleLoginButton {background:#fff!important;color:#0e1116!important;border:1px solid #c5d1e2!important;min-height:44px!important}
body[data-weem-route="api-docs"] .code-block,body[data-weem-route="api-docs"] .code-body,body[data-weem-route="api-docs"] .live-result {min-width:0;max-width:100%;overflow:auto}
body[data-weem-route="api-docs"] .code-body pre {max-width:100%;overflow:auto}
body[data-weem-route="api-docs"] .endpoint-path,body[data-weem-route="api-docs"] .base-url code {overflow-wrap:anywhere;min-width:0}
body[data-weem-route="api-docs"] .endpoint {min-width:0}
html[data-theme] body.weem-public-home {background:var(--v-bg)!important;color:var(--v-text)!important}
html body {--weem-marfil:#f1f4f8}
body[data-weem-route="api-docs"] .page-wrap {width:100%;min-width:0;box-sizing:border-box}
body[data-weem-route="api-docs"] .params-table {table-layout:fixed;width:100%}
body[data-weem-route="api-docs"] .params-table th,body[data-weem-route="api-docs"] .params-table td {overflow-wrap:anywhere;white-space:normal;padding:10px 8px}
/* Keep existing intelligence controls reachable below the shared shell. */
body[data-weem-route="11-intelligence"] .topbar {top:65px}
.weem-education .btn-green {background:rgb(var(--c-fono))!important;color:#fff!important;box-shadow:none!important}
.weem-education .badge-green {background:var(--v-brand-soft)!important;color:rgb(var(--c-fono-text))!important}
.weem-education .orb-green {display:none}
/* Native OwnCoding adapters: same field/card/table contract, original business
   DOM and handlers. Layout classes below represent real reparented regions. */
.weem-platform-header {display:block;padding:0;position:sticky;top:0;z-index:201}
.weem-platform-topline {display:flex;align-items:center;gap:24px;min-height:64px;padding:10px clamp(14px,3vw,36px)}
[data-weem-island="header"] {position:relative}
[data-weem-context]:empty {display:none}
[data-weem-context] {border-top:1px solid var(--v-border);background:var(--v-surface-1)}
[data-weem-context] .topnav,[data-weem-context] #navbar,[data-weem-context] .hdr,[data-weem-context] .topbar {position:relative!important;top:auto!important;inset:auto!important;box-shadow:none!important;border:0!important;margin:0!important;background:transparent!important;width:100%!important}
[data-weem-context] #navbar .h-16 {height:auto;min-height:48px}
[data-weem-context] #navbar .h-16 > .hidden {display:flex!important;flex-wrap:wrap;gap:16px}
[data-weem-context] #navbar .h-16 > .hidden > a[href="/importacionpcc"], [data-weem-context] #navbar .h-16 > .hidden > .v-theme-toggle {display:none}
[data-weem-context] #navbar #mobile-menu-btn {display:none}
[data-weem-context] #navbar #mobile-menu:not(.open) {display:none}
[data-weem-context] .topnav-links {gap:12px;flex-wrap:wrap}
[data-weem-context] .topnav-inner {min-height:48px;height:auto;padding:4px 24px}
[data-weem-context] .topnav-links>a {font-size:12px}
[data-weem-context] .bar {min-height:54px;padding:8px 24px}
[data-weem-context] .topbar {height:auto;min-height:52px;padding:6px 24px;display:flex;flex-wrap:wrap}
.weem-resource-directory {max-width:1280px;margin:32px auto;padding:0 24px}
.oc-native-field {width:100%;min-height:44px;border-radius:8px!important;border:1px solid var(--v-border)!important;background:var(--v-surface-2)!important;color:var(--v-text)!important;padding:10px 14px!important;font-size:14px;box-sizing:border-box}
.oc-native-field::placeholder {color:var(--v-text-muted);opacity:.8}
.oc-native-field:focus {border-color:rgb(var(--c-fono))!important;outline:2px solid rgb(var(--c-fono) / .4);outline-offset:1px}
.oc-native-card {border:1px solid var(--v-border)!important;border-radius:12px!important;background:var(--v-surface-1)!important;color:var(--v-text);box-shadow:none!important;padding:20px}
.oc-table-scroll {overflow-x:auto;max-width:100%;min-width:0;border:1px solid var(--v-border);border-radius:10px}
.oc-native-table {width:100%;border-collapse:collapse;background:var(--v-surface-1);color:var(--v-text);font-size:13px}
.oc-native-table th {background:var(--v-surface-2);font-size:11px;text-transform:uppercase;letter-spacing:.04em;color:var(--v-text-muted);text-align:left}
.oc-native-table :is(th,td) {padding:12px 14px;border-bottom:1px solid var(--v-border)}
.oc-native-table tbody tr:hover {background:var(--v-surface-2)}
.oc-section-heading {display:flex;justify-content:space-between;align-items:center;gap:12px;margin-bottom:20px;padding-bottom:16px;border-bottom:1px solid var(--v-border)}
.oc-admin-regions {display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px;align-items:start}
.oc-admin-region {min-width:0;margin:0!important}.oc-span-all {grid-column:1/-1}
.oc-admin-regions > .chart-container {min-height:220px}.oc-admin-regions > .editor-card {height:100%}
body[data-weem-route="admin"] .main {padding-bottom:32px!important;min-width:0}
body[data-weem-route="admin"] .sidebar {position:sticky!important;top:64px!important;height:calc(100dvh - 64px)!important;align-self:start}
body[data-weem-route="admin"] #app.active {display:grid;grid-template-columns:240px minmax(0,1fr);align-items:start}
body[data-weem-route="admin"] #app .main {margin-left:0!important;width:auto}
body[data-weem-route="admin"] #app[style*="display: none"] {display:none!important}
.oc-calculator-workspace {display:grid;grid-template-columns:minmax(0,1.5fr) minmax(260px,.8fr);gap:24px;align-items:start}
.oc-calculator-workspace > :is(.card-header,.form-guide,.product-mode-toggle) {grid-column:1/-1;margin:0!important}
.oc-calculator-entry {min-width:0}.oc-calculator-shipping {background:var(--v-surface-2);padding:20px;border-radius:10px;border:1px solid var(--v-border);position:sticky;top:160px}
.oc-result-grid {display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;align-items:start}.oc-result-grid>* {min-width:0;margin:0!important}
.oc-assessment-workspace {display:grid;grid-template-columns:minmax(0,1fr) 320px;gap:24px;align-items:start}
.oc-assessment-summary {position:sticky;top:160px;display:grid;gap:16px}.oc-assessment-summary h3 {margin:0}
.oc-assessment-entry {min-width:0}.oc-assessment-entry .product-input {margin-bottom:16px}.oc-assessment-entry .criteria-section {padding:0;overflow:hidden}
.oc-document-grid {display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px;align-items:start}.oc-document-grid>.form-card {margin:0;min-width:0}
.oc-document-grid>.form-card:has(table) {grid-column:1/-1}.oc-document-actions {display:flex;justify-content:flex-end;padding:20px 0}
.oc-workflow-tabs {display:flex;gap:8px;overflow-x:auto;padding:8px;border:1px solid var(--v-border);border-radius:10px;background:var(--v-surface-1);margin:24px 0}
.oc-workflow-tabs button {flex:none;min-height:44px;border-radius:6px}
.oc-chat-workspace {display:grid;grid-template-columns:260px minmax(0,1fr);gap:24px;max-width:1240px;margin:24px auto;width:100%;min-height:560px;padding:0 24px}
.oc-chat-context {border:1px solid var(--v-border);border-radius:12px;background:var(--v-surface-1);padding:20px}
.oc-chat-context .subhead {display:block;padding:0;border:0}.oc-chat-context .disclaimer {text-align:left;margin-top:24px;padding:0}
.oc-chat-conversation {display:flex;flex-direction:column;border:1px solid var(--v-border);border-radius:12px;background:var(--v-surface-1);min-width:0;min-height:560px;overflow:hidden}
.oc-chat-conversation .chat-area {flex:1;max-height:65dvh;min-height:360px;overflow:auto}.oc-chat-conversation .input-bar {position:static;padding:16px;border-top:1px solid var(--v-border)}
body[data-weem-route="chatbot"] .app {height:auto!important;min-height:0!important}
.oc-learning-hero {display:grid!important;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:40px;align-items:center;text-align:left!important}
.oc-learning-intro h1 {text-align:left!important}.oc-learning-intro > div {margin-left:0!important;text-align:left!important}
.oc-learning-hero .video-wrapper {margin:0!important;width:100%}
.oc-learning-workspace {display:grid;grid-template-columns:minmax(0,1.3fr) minmax(0,.7fr);max-width:1280px;margin:0 auto;gap:24px;padding:32px 24px;align-items:start}
.oc-learning-workspace>section {min-width:0;padding:24px!important;border:1px solid var(--v-border);border-radius:12px;background:var(--v-surface-1)!important}
.oc-learning-workspace>section .container {padding:0;max-width:100%}
.oc-learning-purchase .pricing-card {max-width:720px;margin:auto}
.oc-intelligence-regions {display:grid;grid-template-columns:minmax(0,1.4fr) minmax(0,1fr);gap:20px;align-items:start}
.oc-intelligence-regions > :is(.grid-2,.grid-3) {display:flex;flex-direction:column;min-width:0;margin:0}
.oc-intelligence-metrics {gap:12px!important;padding-bottom:24px;border-bottom:1px solid var(--v-border);margin-bottom:24px!important}
.oc-visual-caption {max-width:1440px;margin:0 auto;padding:24px}.oc-visual-caption h1 {font-size:24px;letter-spacing:-.025em;color:var(--v-text);margin:0 0 6px}.oc-visual-caption p {font-size:12px;color:var(--v-text-muted)}
body:has(.oc-visual-stage) {overflow:auto!important;height:auto!important}
.oc-visual-stage {position:relative;isolation:isolate;height:clamp(480px,65vw,900px);max-width:1440px;margin:0 auto 32px;overflow:hidden;border:1px solid var(--v-border);border-radius:12px;background:#0e1116}
.oc-visual-stage canvas {position:absolute!important;inset:0!important;width:100%!important;height:100%!important}
.oc-visual-stage .ticker-bar {position:absolute!important;bottom:0}.oc-visual-stage .watermark {position:absolute!important}
.oc-visual-gallery {padding-top:36px!important}.oc-visual-gallery .cards-grid {gap:16px}
.oc-resource-workspace {display:grid;gap:24px;max-width:1240px;margin:24px auto;padding:0 24px}
.oc-resource-workspace>section {border:1px solid var(--v-border);border-radius:12px;background:var(--v-surface-1);padding:32px 24px!important;min-width:0;overflow:hidden}
@media(max-width:900px) {
 .weem-platform-topline {gap:12px;padding:8px 16px}
 .oc-admin-regions,.oc-calculator-workspace,.oc-result-grid,.oc-assessment-workspace,.oc-document-grid,.oc-chat-workspace,.oc-learning-hero,.oc-learning-workspace,.oc-intelligence-regions {grid-template-columns:1fr}
 .oc-calculator-shipping,.oc-assessment-summary {position:static}
 .oc-learning-workspace {padding:24px 16px}.oc-chat-workspace {padding:0 16px;gap:16px}.oc-chat-context .subhead {display:flex;flex-wrap:wrap}.oc-chat-context .disclaimer {margin-top:12px}
 body[data-weem-route="admin"] #app.active {display:block}
 body[data-weem-route="admin"] .sidebar {position:fixed!important;top:64px!important}
 body[data-weem-route="admin"] #app .main {padding:72px 16px 24px!important}
 .oc-visual-stage {border-radius:0;height:70dvh;min-height:480px}
 [data-weem-context] #navbar .h-16>.hidden {gap:12px;overflow:auto;flex-wrap:nowrap;white-space:nowrap;max-width:100%}
}
@media print {
 .weem-platform-header,[data-weem-island="footer"],.weem-page-heading {display:none!important}
 .oc-document-grid {display:block}.oc-table-scroll {overflow:visible;border:0}
}

html:has(.oc-visual-stage) {height:auto!important;overflow:auto!important}
body[data-weem-route="admin"] #app.active {display:grid!important}
.oc-visual-stage > .container {position:absolute!important;inset:0!important;width:100%!important;height:100%!important;max-width:none!important;margin:0!important;padding:0!important}
.oc-visual-stage :is(.kpi-bar,#kpi-bar,.side-panel,.right-panel,.bottom-bar,.bottom-ticker,#logPanel,#watermark) {position:absolute!important}
.oc-visual-stage :is(.scanline,.scanline-overlay,#scanline-overlay,.scanlines) {display:none!important}
.oc-visual-stage .kpi-bar,.oc-visual-stage #kpi-bar {top:0!important;left:0;right:0}
.oc-visual-stage .bottom-bar,.oc-visual-stage .bottom-ticker {bottom:0!important}
.oc-visual-stage .watermark,.oc-visual-stage #watermark {bottom:40px!important}
@media(max-width:900px) {body[data-weem-route="admin"] #app.active {display:block!important}}
[data-weem-context] :is(.nav,.navbar) {position:relative!important;top:auto!important;max-width:none!important;margin:0!important;padding:8px 24px!important;background:transparent!important;min-height:44px;height:auto;border:0!important;box-shadow:none!important}
body[data-weem-route="admin"] .sidebar {width:240px!important;max-width:240px!important;background:var(--v-surface-1)!important;border-color:var(--v-border)!important;box-shadow:none!important;color:var(--v-text)}
body[data-weem-route="admin"] .sidebar :is(.nav-item,.tools-link,.nav-label,.sidebar-footer button:first-child) {color:var(--v-text-muted)!important}
body[data-weem-route="admin"] .sidebar .nav-item.active {background:var(--accent-soft)!important;color:rgb(var(--c-fono-text))!important;border-color:rgb(var(--c-fono) / .4)!important;box-shadow:inset 3px 0 rgb(var(--c-fono))!important}
.oc-sidebar-title {font-size:15px;letter-spacing:-.02em;color:var(--v-text)}
body[data-weem-route="admin"] .section-title {justify-content:flex-start}.section-title-icon svg {stroke:rgb(var(--c-fono))!important}
body[data-weem-route="admin"] .workspace-actions {flex-wrap:wrap}
.oc-orders-summary {display:grid;grid-template-columns:minmax(0,1.2fr) minmax(0,1fr);gap:20px;margin-bottom:24px;align-items:start}
.oc-orders-summary>* {min-width:0}.oc-orders-workspace {display:grid;grid-template-columns:190px minmax(0,1fr);gap:24px;align-items:start}
.oc-orders-rail {background:var(--v-surface-1);border:1px solid var(--v-border);border-radius:10px;padding:10px;position:sticky;top:90px}
.oc-orders-rail .tabs {display:flex;flex-direction:column;border:0;margin:0;gap:6px;overflow:visible}.oc-orders-rail .tabs button {min-height:44px;text-align:left;padding:10px;border-radius:6px;width:100%}
.oc-orders-content {min-width:0}
.oc-document-reading {display:grid;grid-template-columns:220px minmax(0,1fr);gap:32px;max-width:1200px!important;padding:32px 24px!important;align-items:start}
.oc-document-contents {display:grid;gap:6px;position:sticky;top:140px;padding:20px;background:var(--v-surface-1);border:1px solid var(--v-border);border-radius:12px}
.oc-document-contents h2 {font-size:14px;margin:0 0 12px}.oc-document-contents a {color:var(--v-text-muted);text-decoration:none;font-size:12px;min-height:44px;display:flex;align-items:center;padding:6px;border-radius:6px}.oc-document-contents a:hover {background:var(--accent-soft);color:rgb(var(--c-fono-text))}
.oc-document-article {min-width:0}.oc-document-article h2 {scroll-margin-top:150px}
@media(max-width:900px) {
 body[data-weem-route="admin"] .sidebar {width:min(86vw,290px)!important;max-width:min(86vw,290px)!important;left:0!important;transition:transform .2s ease}
 body[data-weem-route="admin"] .sidebar:not(.open) {transform:translateX(-100%)!important;visibility:hidden}
 body[data-weem-route="admin"] .sidebar.open {transform:translateX(0)!important;visibility:visible}
 body[data-weem-route="admin"] .hamburger {display:block!important}
 .oc-orders-summary,.oc-orders-workspace,.oc-document-reading {grid-template-columns:1fr}
 .oc-orders-rail,.oc-document-contents {position:static}.oc-orders-rail .tabs {flex-direction:row;overflow-x:auto}.oc-orders-rail .tabs button {white-space:nowrap;width:auto;flex:none}
 .oc-document-contents {display:flex;flex-wrap:wrap}.oc-document-contents h2 {width:100%}
}
.oc-api-workspace {display:grid;grid-template-columns:minmax(0,1.4fr) minmax(0,1fr);gap:24px;align-items:start}.oc-api-workspace>.section {min-width:0;margin:0;padding:24px;border:1px solid var(--v-border);background:var(--v-surface-1);border-radius:12px}.oc-api-workspace>.section:first-child {grid-row:span 2}
.oc-system-workspace {max-width:880px!important;display:grid;gap:20px;padding:32px 24px!important;margin:32px auto!important;border:1px solid var(--v-border);background:var(--v-surface-1);border-radius:12px;color:var(--v-text)}
.oc-system-workspace>h1,.oc-system-workspace>p {margin:0!important}.oc-system-actions {border-top:1px solid var(--v-border);padding-top:20px;display:flex;flex-wrap:wrap;gap:12px;align-items:center;justify-content:center}
:where(.oc-admin-regions,.oc-document-grid,.oc-orders-content,.oc-calculator-entry) :is(input:not([type="checkbox"]):not([type="radio"]):not([type="hidden"]),select,textarea) {min-height:44px;border-radius:8px;background:var(--v-surface-2);color:var(--v-text);border:1px solid var(--v-border)}
@media(max-width:900px) {.oc-api-workspace {grid-template-columns:1fr}.oc-api-workspace>.section:first-child {grid-row:auto}.oc-system-workspace {margin:24px 16px!important}}
/* On-brand text follows the official semantic token in both themes. */
body[data-weem-layout] :is(.btn-generate,.btn-save,.btn-new-product,.workspace-action.primary,.btn-auth,.btn-primary,.doc-tab.active,.product-mode-btn.active,.preset-btn.active) {background:rgb(var(--c-fono))!important;color:rgb(var(--c-onbrand))!important;border-color:rgb(var(--c-fono))!important}
body[data-weem-route="admin"] #googleLoginButton {background:#fff!important;color:#0e1116!important;border-color:#c5d1e2!important}
.oc-system-workspace {box-sizing:border-box;width:min(880px,calc(100% - 32px))!important;min-width:0}
.oc-system-workspace>* {min-width:0}
/* Targeted follow-up: signed-in account actions stay in the workspace flow. */
body[data-weem-route="admin"] .oc-account-controls {display:flex;align-items:center;flex-wrap:wrap;gap:8px;min-width:0;padding:0;max-width:none}
body[data-weem-route="admin"] .oc-account-action {min-height:44px;white-space:nowrap;padding:8px 12px!important;position:static;margin:0!important;color:var(--v-text)!important;background:var(--v-surface-2)!important;border-color:var(--v-border)!important}
body[data-weem-route="admin"] .oc-account-action[onclick="logout()"] {color:#fca5a5!important;background:rgba(248,113,113,.10)!important;border-color:rgba(248,113,113,.35)!important}
/* The existing scroll handler reveals this CTA after the hero. Hidden bars
   must be fully hidden on tall mobile rows; revealed bars clear shared chrome. */
.weem-education #topBar {top:65px!important;transform:translateY(-100%);visibility:hidden;pointer-events:none;transition:transform .2s ease,visibility .2s ease}
.weem-education #topBar.visible {transform:translateY(0);visibility:visible;pointer-events:auto}
body[data-weem-route="calculadora"] > .header {padding:20px 24px;text-align:left}
body[data-weem-route="calculadora"] > .header .container {max-width:1240px;padding:0;margin:auto}
body[data-weem-route="calculadora"] > .header h1 {font-size:28px;margin:0 0 6px}
body[data-weem-route="calculadora"] > .header p {font-size:13px;max-width:none;margin:0}
body[data-weem-route="calculadora"] #main {padding-top:0}
@media(max-width:900px) {
 body[data-weem-route="admin"] .oc-account-controls {width:100%}
 body[data-weem-route="calculadora"] > .header {padding:16px}
 body[data-weem-route="calculadora"] > .header h1 {font-size:24px}
 body[data-weem-route="calculadora"] #step1 .card-header {gap:10px}
}
.weem-education #pricing {scroll-margin-top:170px}

/* Stable anchor geometry: original lazy section estimates shift during smooth scroll. */
.weem-education section {content-visibility:visible!important;contain-intrinsic-size:none!important}

/* Native catalogue and import workflow adapters: official shared surface,
   border, field and interaction tokens; no new React business ownership. */
.oc-app-catalogue {max-width:1280px;margin:auto;padding:40px 24px;scroll-margin-top:140px}
.oc-catalogue-heading h2 {font-size:clamp(24px,3vw,34px);line-height:1.2;margin:8px 0 12px;letter-spacing:-.025em}
.oc-catalogue-heading p:not(.weem-section-label),.oc-catalogue-disclaimer,.oc-workflow-note {color:var(--v-text-muted);font-size:13px;line-height:1.6}
.oc-catalogue-filters {display:flex;gap:12px;align-items:end;flex-wrap:wrap;margin-top:20px}
.oc-catalogue-filters label {display:grid;gap:6px;font-size:12px;font-weight:600;min-width:180px;flex:1}
.oc-catalogue-filters select {width:100%;min-height:44px}
.oc-catalogue-count {font-size:12px;color:var(--v-text-muted);margin:16px 0}
.oc-catalogue-grid {display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}
.oc-app-card {display:flex;flex-direction:column;gap:12px;padding:20px;border:1px solid var(--v-border);border-radius:12px;background:var(--v-surface-1);min-width:0}
.oc-app-card-top {display:flex;gap:10px;justify-content:space-between;align-items:start;flex-wrap:wrap}
.oc-app-category {margin:0;font-size:11px;font-weight:600;color:var(--v-text-muted)}
.oc-app-status {font-size:11px;font-weight:600;padding:4px 8px;border-radius:6px;background:var(--v-brand-soft);color:rgb(var(--c-fono-text));white-space:nowrap}
.oc-app-card h3 {font-size:21px;line-height:1.3;margin:0;letter-spacing:-.02em}
.oc-app-description {font-size:13px;line-height:1.6;margin:0}
.oc-app-capabilities {display:flex;flex-wrap:wrap;gap:6px;margin:0;padding:0;list-style:none}
.oc-app-capabilities li {font-size:11px;background:var(--v-surface-2);border:1px solid var(--v-border);border-radius:5px;padding:4px 6px}
.oc-app-note {font-size:12px;line-height:1.5;color:var(--v-text-muted);margin:0}
.oc-app-link,.oc-app-related {display:inline-flex;align-items:center;min-height:44px;color:rgb(var(--c-fono-text));font-size:13px;font-weight:600;text-decoration:none}
.oc-app-link {margin-top:auto}.oc-app-related {border-top:1px solid var(--v-border);font-size:12px}
.oc-app-link:hover,.oc-app-related:hover {text-decoration:underline}
.oc-catalogue-empty {padding:24px;border:1px dashed var(--v-border);border-radius:10px;font-size:14px}
.oc-catalogue-disclaimer {margin-top:20px}
.oc-app-catalogue [hidden] {display:none!important}
.oc-import-workflow {max-width:1240px;margin:0 auto;padding:24px 24px 16px;min-width:0}
.oc-import-workflow .weem-section-label {margin:0 0 10px}
.oc-import-steps {display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:8px;list-style:none;padding:0;margin:0}
.oc-import-steps li {min-width:0}.oc-import-steps a {min-height:52px;display:flex;gap:10px;align-items:center;padding:10px 12px;border:1px solid var(--v-border);border-radius:8px;background:var(--v-surface-1);color:var(--v-text);text-decoration:none;font-size:12px;font-weight:600;line-height:1.3}
.oc-import-steps a:hover,.oc-import-steps a[aria-current] {border-color:rgb(var(--c-fono));background:var(--v-brand-soft)}
.oc-step-number {color:rgb(var(--c-fono-text));font-family:monospace;flex:none}
.oc-workflow-note {font-size:12px;margin:10px 0 0}
.oc-app-catalogue a:focus-visible,.oc-import-steps a:focus-visible {outline:2px solid rgb(var(--c-fono));outline-offset:3px}
.oc-assessment-intro {padding:24px 16px 8px!important}
.oc-assessment-intro h1 {font-size:clamp(25px,3vw,36px)!important;margin:8px 0!important}
.oc-assessment-intro p {font-size:13px!important;max-width:700px}
.oc-assessment-identification {padding:20px;background:var(--v-surface-1);border:1px solid var(--v-border);border-radius:12px;margin-bottom:20px}
.oc-assessment-identification h2,.oc-criteria-title,.oc-decision-title {font-size:16px;margin:0 0 16px;font-weight:700}
.oc-assessment-identification .product-input {margin:0!important;display:grid;grid-template-columns:1fr;gap:8px}
.oc-assessment-identification input {width:100%;min-height:44px}
.oc-assessment-entry #scoreBar {max-width:none;background:var(--v-surface-1);box-shadow:none}
.oc-assessment-entry #scoreBar.score-bar--pinned {top:126px;max-width:908px}
.oc-assessment-summary #resultCard {margin:0;padding:20px}
.oc-assessment-summary #ratingGuide {display:grid;grid-template-columns:1fr 1fr;gap:8px}
.oc-assessment-summary .rating-card {padding:12px 8px}.oc-assessment-summary .stars {font-size:12px}
.oc-assessment-empty {font-size:13px;line-height:1.6;color:var(--v-text-muted);padding:16px;border:1px dashed var(--v-border);border-radius:8px;margin:0}
.oc-assessment-summary:has(#resultCard.show) .oc-assessment-empty {display:none}
.oc-assessment-followup {margin:32px 0}.oc-assessment-followup #proveedor {padding:24px;border:1px solid var(--v-border);border-radius:12px;background:var(--v-surface-1)}
#compareView {scroll-margin-top:140px}
@media(max-width:1000px){.oc-catalogue-grid {grid-template-columns:repeat(2,minmax(0,1fr))}.oc-import-steps {grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:640px){.oc-app-catalogue {padding:28px 16px}.oc-catalogue-grid {grid-template-columns:1fr}.oc-catalogue-filters label {min-width:0;flex-basis:100%}.oc-import-workflow {padding:20px 16px 12px}.oc-import-steps {grid-template-columns:1fr 1fr}.oc-import-steps li:last-child {grid-column:1/-1}.oc-assessment-identification {padding:16px}}

/* Evaluator actions use the platform palette; score labels and genuine supplier
   risk flags keep their semantic distinctions and original text/behavior. */
body[data-weem-route="evaluador"] .criteria-item.checked:not(.flag) {background:var(--v-brand-soft)!important}
body[data-weem-route="evaluador"] .criteria-item.checked:not(.flag) :is(.criteria-num,.criteria-info h3) {color:rgb(var(--c-fono-text))!important}
body[data-weem-route="evaluador"] .criteria-item.checked:not(.flag) .check-box {background:rgb(var(--c-fono))!important;border-color:rgb(var(--c-fono))!important;box-shadow:none!important}
body[data-weem-route="evaluador"] .criteria-item.checked:not(.flag) .check-box svg {stroke:rgb(var(--c-onbrand))!important}
body[data-weem-route="evaluador"] .save-eval-btn {min-height:44px;background:rgb(var(--c-fono))!important;border-color:rgb(var(--c-fono))!important;color:rgb(var(--c-onbrand))!important;box-shadow:none!important}
body[data-weem-route="evaluador"] .save-eval-btn:hover {background:rgb(var(--c-fono-dark))!important}
body[data-weem-route="evaluador"] #resultCard .result-cta {background:var(--v-surface-2)!important;border:1px solid var(--v-border);color:var(--v-text)!important;opacity:1!important;box-shadow:none!important;transform:none!important}
body[data-weem-route="evaluador"] #resultCard .result-cta:hover {background:var(--v-surface-3)!important}
body[data-weem-route="evaluador"] #resultCard .result-cta::after {display:none}

/* Concept 15: theme-aware lockups across native access and dialog adapters. */
html.light .weem-admin-logo, html[data-theme="light"] .weem-admin-logo,
html[data-theme="claro"] .weem-admin-logo,
html.light .weem-dialog-brand img, html[data-theme="light"] .weem-dialog-brand img {
  content: url('/brand/weem-wordmark-light.svg');
}
.weem-platform-logo img, .weem-admin-logo, .weem-dialog-brand img { object-fit: contain; }

/* Editorial refinement: restrained surfaces, purposeful density, no new motion.
   Native business controls retain their IDs, handlers and semantic statuses. */
:root {--weem-radius:6px;--weem-space:16px}
.weem-platform-nav a,.weem-platform-menu a,.weem-platform-menu summary {border-radius:var(--weem-radius)}
.weem-platform-nav a[aria-current] {background:transparent;box-shadow:inset 0 -2px rgb(var(--c-fono));color:var(--v-text)}
.weem-platform-footer {padding-top:12px!important;padding-bottom:12px!important;font-size:11px!important}
.weem-section-label {letter-spacing:.065em;font-size:10px;margin-bottom:10px}
.weem-action-primary,.weem-action-secondary {border-radius:var(--weem-radius);font-size:13px;box-shadow:none;background-image:none;transition:background-color .15s ease,border-color .15s ease}
.weem-action-primary {background:rgb(var(--c-fono));color:#fff}
.weem-action-primary:hover {background:rgb(var(--c-fono-dark))}
.weem-action-secondary {background:transparent}
.weem-home-hero {grid-template-columns:minmax(0,1.5fr) minmax(280px,.7fr);gap:28px 64px;padding:44px 24px 32px;align-items:start}
.weem-home-copy h1 {font-size:clamp(30px,3.2vw,44px);line-height:1.12;letter-spacing:-.035em;max-width:620px;margin:0 0 16px;font-weight:650;text-wrap:balance}
.weem-home-description {font-size:16px;line-height:1.55;max-width:600px;margin:0}
.weem-home-actions {padding-top:24px;min-width:0}
.weem-home-cta {flex-direction:column;align-items:stretch;gap:8px}
.weem-home-cta .weem-action-secondary {border:0;justify-content:flex-start;padding-left:0;color:var(--v-text-muted)}
.weem-home-note {line-height:1.5;margin-top:12px}
.weem-home-directory {grid-column:1/-1;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:0 28px;border:0;border-top:1px solid var(--v-border);border-radius:0;background:transparent;padding:20px 0 0}
.weem-home-directory>.weem-section-label {grid-column:1/-1;margin-bottom:4px;color:var(--v-text-muted)}
.weem-home-directory>a {border:0;padding:12px 0;align-items:flex-start}
.weem-home-directory h2 {font-size:15px;font-weight:600}
.weem-home-directory p:not(.weem-section-label) {font-size:12px}
.weem-public-home :is(.reveal,.card-hover) {opacity:1!important;transform:none!important;animation:none!important;box-shadow:none!important;transition:background-color .15s ease}
.weem-public-home #negocios {padding-top:24px;padding-bottom:32px}
.weem-public-home #negocios .text-center {text-align:left;margin-bottom:24px}
.weem-public-home #negocios h2 {font-size:26px;font-weight:600;letter-spacing:-.025em}
.oc-business-index {display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:0 28px}
.oc-business-index>.oc-business-item {border:0;border-top:1px solid var(--v-border);border-radius:0;background:transparent;padding:18px 0;min-width:0}
.oc-business-item h3 {font-size:17px;font-weight:600}
.oc-business-item p {font-size:13px;line-height:1.55;color:var(--v-text-muted)}
.oc-business-item>div:first-child>div {background:var(--v-brand-soft)!important;color:rgb(var(--c-fono-text))!important;border-radius:6px}
.oc-business-item svg {color:rgb(var(--c-fono-text))}
.weem-public-home #contacto {background:var(--v-surface-1);border-block:1px solid var(--v-border)}
.weem-public-home #contacto h2 {font-size:30px;font-weight:600}
/* Catalogue: grouped comparison rows, rather than eight interchangeable cards. */
.oc-app-catalogue {padding-top:32px;padding-bottom:32px}
.oc-catalogue-heading h2 {font-size:28px;font-weight:600}
.oc-catalogue-filters {padding:12px 0;border-block:1px solid var(--v-border);background:transparent;border-radius:0;gap:16px}
.oc-catalogue-filters label {font-size:12px;flex:0 1 260px}
.oc-catalogue-grid {display:flex;flex-direction:column;gap:32px}
.oc-catalogue-group {min-width:0}
.oc-catalogue-group-heading {display:flex;align-items:baseline;gap:24px;flex-wrap:wrap;margin-bottom:12px}
.oc-catalogue-group-heading h3 {font-size:16px;font-weight:600;margin:0}
.oc-catalogue-group-heading p {font-size:12px;color:var(--v-text-muted);margin:0}
.oc-app-card {display:grid;grid-template-columns:minmax(160px,.8fr) minmax(0,1.8fr) minmax(140px,.7fr);gap:24px;padding:20px 0;border:0;border-top:1px solid var(--v-border);border-radius:0;background:transparent;align-items:start}
.oc-app-card[hidden],.oc-catalogue-group[hidden] {display:none}
.oc-app-name {font-size:18px;line-height:1.25;font-weight:600;margin:0 0 6px}
.oc-app-category {font-size:11px;line-height:1.4;margin:0 0 10px;color:var(--v-text-muted)}
.oc-app-status {display:inline-flex;font-size:11px;padding:2px 6px;border:1px solid var(--v-border);border-radius:4px;background:var(--v-surface-1);color:var(--v-text-muted)}
.oc-app-card[data-app-status="disponible"] .oc-app-status {border-color:rgb(var(--c-fono) / .5);color:rgb(var(--c-fono-text))}
.oc-app-detail {min-width:0;display:grid;gap:8px}
.oc-app-description {font-size:14px;line-height:1.55;margin:0;max-width:640px}
.oc-app-capabilities {margin:0;padding:0;gap:6px 14px}
.oc-app-capabilities li {padding:0;border:0;background:none;font-size:11px;color:var(--v-text-muted)}
.oc-app-note {font-size:12px;line-height:1.5;margin:0;padding:0;border:0;color:var(--v-text-muted)}
.oc-app-actions {display:flex;flex-direction:column;align-items:flex-start;min-width:0}
.oc-app-link {min-height:44px;text-decoration:underline;text-underline-offset:4px;font-size:12px;margin:0;line-height:1.4}
.oc-app-related {font-size:11px;line-height:1.5;margin:0;font-weight:400;color:var(--v-text-muted)}
/* Field groups and tables: retain native states, use borders to organize work. */
.oc-native-card,.oc-table-scroll,.oc-chat-context,.oc-chat-conversation,.oc-document-grid>.form-card {border-radius:var(--weem-radius)!important;box-shadow:none!important}
.oc-native-field,:where(.oc-admin-regions,.oc-document-grid,.oc-orders-content,.oc-calculator-entry) :is(input,select,textarea) {border-radius:5px!important}
body[data-weem-layout] :is(input,textarea)::placeholder {color:var(--v-text-muted)!important;opacity:.75}
.oc-native-table :is(th,td) {padding:9px 12px;vertical-align:top}
.oc-native-table th {text-transform:none;letter-spacing:0;font-size:12px;font-weight:600}
.oc-section-heading {padding-bottom:12px;margin-bottom:16px}
.weem-page-heading h1,.oc-visual-caption h1 {font-size:24px;line-height:1.25;font-weight:600}
.oc-assessment-intro h1 {font-size:28px!important}
.oc-assessment-identification {padding:16px 0;border:0;border-bottom:1px solid var(--v-border);border-radius:0;background:transparent;margin-bottom:16px}
.oc-assessment-identification h2,.oc-criteria-title,.oc-decision-title {font-size:14px;font-weight:600;margin-bottom:12px}
.oc-assessment-summary {gap:12px;border-left:1px solid var(--v-border);padding-left:20px}
.oc-assessment-empty {border:0;border-radius:0;padding:12px 0}
.oc-assessment-summary #resultCard {border-radius:6px;padding:16px}
body[data-weem-route="evaluador"] .criteria-item {padding-top:14px;padding-bottom:14px;border-radius:4px}
.oc-calculator-workspace {gap:20px}
.oc-calculator-shipping {padding:16px;border-radius:6px}
.oc-document-grid {gap:16px}
.oc-document-grid>.form-card {padding:20px}
.oc-import-workflow {padding-top:16px;padding-bottom:16px}
.oc-import-steps {gap:0;border-bottom:1px solid var(--v-border)}
.oc-import-steps a {border:0;border-radius:0;background:transparent;min-height:48px;padding:10px 12px;font-size:12px}
.oc-import-steps a[aria-current] {box-shadow:inset 0 -2px rgb(var(--c-fono))}
/* Access: deliberate form-led composition, without a giant second hero. */
body[data-weem-route="admin"] .login-screen {gap:64px;padding:40px 28px;align-items:center}
.weem-access-intro {max-width:380px;padding-right:24px}
.weem-access-intro h2 {font-size:clamp(28px,3vw,36px);line-height:1.18;font-weight:600;margin-bottom:16px}
.weem-access-intro ul {list-style:none;padding:0;margin:20px 0;line-height:1.8;border-top:1px solid var(--v-border);padding-top:16px}
body[data-weem-route="admin"] .login-screen>.login-box {border-radius:6px;padding:28px;border:1px solid var(--v-border)}
body[data-weem-route="admin"] .login-box h1 {font-size:21px!important;font-weight:600}
body[data-weem-route="admin"] .stats-grid {gap:0!important;border:1px solid var(--v-border);border-radius:6px;padding:4px;background:var(--v-surface-1)}
body[data-weem-route="admin"] .stats-grid>.stat-card {border:0;border-radius:0;background:transparent;padding:14px;border-right:1px solid var(--v-border);box-shadow:none}
body[data-weem-route="admin"] :is(.chart-container,.dash-card,.editor-card,.period-bar) {border-radius:6px!important;box-shadow:none!important}
body[data-weem-route="admin"] .oc-admin-regions {gap:16px}
body[data-weem-route="admin"] .section-title-icon {background:transparent!important;border:0!important;padding:0}
body[data-weem-route="admin"] .nav-item {border-radius:4px!important}
body[data-weem-route="admin"] .period-bar {gap:6px;padding:10px}
.operations-rail {padding:16px 10px}
.operations-rail .nav {gap:10px}.operations-rail .nav button {padding:8px 10px;border-radius:4px;font-size:12px}
.operations-summary {padding-bottom:16px;margin-bottom:16px}
.operations-summary .kpis {margin-top:16px;border-radius:6px}
.operations-summary .kpi {padding:12px;min-height:68px}
.operations-summary .kpi b {font-size:20px}
.weem-operaciones .card {border-radius:6px}
.weem-operaciones #main-content {padding:20px 24px}
/* Public learning contracts stay intact; stop treating sales actions as errors. */
.weem-education .hero {background:var(--v-bg)!important}
.weem-education .hero::before,.weem-education .hero::after {display:none}
.weem-education :is(.btn-red,.btn-green,.top-cta-btn) {background:rgb(var(--c-fono))!important;color:#fff!important;box-shadow:none!important;animation:none!important;border-radius:6px}
.weem-education .btn-red::after,.weem-education .btn-green::after {display:none}
.weem-education .oc-learning-intro h1 {font-size:clamp(30px,3.6vw,44px);letter-spacing:-.025em;font-weight:650}
.weem-education .oc-learning-workspace>section {border:0;border-top:1px solid var(--v-border);border-radius:0;background:transparent!important;padding:20px 0!important}
@media(max-width:1000px) {
 .weem-home-hero {gap:24px;grid-template-columns:minmax(0,1fr) 280px}
 .oc-app-card {grid-template-columns:minmax(160px,.8fr) minmax(0,1.5fr)}
 .oc-app-actions {grid-column:2;flex-direction:row;flex-wrap:wrap;gap:8px 16px}
 .oc-assessment-summary {border-left:0;padding-left:0}
}
@media(max-width:640px) {
 .weem-home-hero {grid-template-columns:1fr;padding:28px 16px;gap:20px}
 .weem-home-copy h1 {font-size:32px;max-width:360px}
 .weem-home-actions {padding:0}.weem-home-cta {flex-direction:row;flex-wrap:wrap}
 .weem-home-cta>.weem-action-primary {width:100%;justify-content:center}
 .weem-home-directory {grid-template-columns:1fr;padding-top:16px;gap:0}
 .weem-home-directory>a {border-bottom:1px solid var(--v-border);padding:12px 0}
 .oc-business-index {grid-template-columns:1fr;gap:0}
 .oc-business-index>.oc-business-item {padding:18px 0}
 .oc-catalogue-group-heading {gap:6px}.oc-catalogue-group-heading p {width:100%}
 .oc-app-card {grid-template-columns:1fr;gap:12px;padding:20px 0}
 .oc-app-actions {grid-column:1}.oc-app-detail {gap:8px}
 .oc-catalogue-filters {align-items:stretch}.oc-catalogue-filters label {flex:1 1 100%}
 .oc-catalogue-heading h2 {font-size:25px}
 .oc-app-name {font-size:19px}
 body[data-weem-route="admin"] .login-screen {padding:28px 16px;gap:24px}
 .weem-access-intro {padding:0;width:100%}.weem-access-intro h2 {font-size:28px}
 body[data-weem-route="admin"] .login-screen>.login-box {padding:24px;width:100%}
 body[data-weem-route="admin"] .stats-grid>.stat-card {padding:12px}
 .weem-operaciones #main-content {padding:16px}
}
html.light body[data-weem-route="admin"] .oc-account-action[onclick="logout()"],html[data-theme="light"] body[data-weem-route="admin"] .oc-account-action[onclick="logout()"] {color:#a12c35!important;background:#fff4f4!important;border-color:#deb7bb!important}
/* Resolve earlier legacy paint adapters at the actual semantic content boundary. */
html body.weem-public-home .oc-business-index>.oc-business-item {background:transparent!important;border:0!important;border-top:1px solid var(--v-border)!important;border-radius:0!important;padding:18px 0!important}
html body.weem-public-home .oc-business-index>.oc-business-item:hover {background:transparent!important}
html body.weem-public-home .oc-business-item .bg-brand-500 {background:rgb(var(--c-fono))!important;color:#fff!important;border-radius:6px}
body[data-weem-route="calculadora"]::before,body[data-weem-route="evaluador"]::before {display:none!important}
body[data-weem-layout] .topnav-links a.active {background:var(--v-brand-soft)!important;color:rgb(var(--c-fono-text))!important;border-radius:4px;box-shadow:inset 0 -2px rgb(var(--c-fono))}
body[data-weem-route="calculadora"] #btnCalcular {background:rgb(var(--c-fono))!important;color:#fff!important;background-image:none!important;box-shadow:none!important;border-radius:6px}

/* Final readback: foreground accents and dense rails must survive legacy paint. */
.weem-access-intro a {color:rgb(var(--c-fono-text))}
html body.weem-public-home .glow-orb {display:none!important}
html body.weem-public-home .oc-business-item button {background:rgb(var(--c-fono))!important;color:#fff!important;border-radius:6px!important;min-height:44px;box-shadow:none!important}
body[data-weem-route="admin"] .stats-grid>.stat-card {border-radius:0!important;background:transparent!important;box-shadow:none!important;padding:14px!important;transform:none!important}
body[data-weem-route="admin"] .period-btn.active {color:#fff!important;background:rgb(var(--c-fono))!important}
html.light body.weem-public-home .oc-business-item .text-green-400,html[data-theme="light"] body.weem-public-home .oc-business-item .text-green-400 {color:#24704a!important}
html.light body.weem-public-home .oc-business-item .text-yellow-400,html[data-theme="light"] body.weem-public-home .oc-business-item .text-yellow-400 {color:#805e08!important}
@media(max-width:900px) {.operations-workspace {min-height:0;align-content:start}}

/* Theme audit: graphite light lockups need a light dialog backing. Legacy
   education inline white text and country-code controls must follow the theme. */
html body .weem-dialog-brand {background:var(--dialog-field)!important}
html body .weem-dialog #ccBtn {background:var(--dialog-field)!important;color:var(--dialog-text)!important;border-color:var(--dialog-border)!important}
html[data-theme="light"] .weem-education .hero h1,
html[data-theme="light"] .weem-education .hero h1 span,
html[data-theme="light"] .weem-education .oc-learning-intro strong {color:var(--v-text)!important}
html[data-theme="light"] .weem-education .hero h1 span:last-child {color:rgb(var(--c-fono-text))!important}
html[data-theme="light"] .weem-education .oc-learning-intro > div > p {color:var(--v-text-muted)!important}
html[data-theme="light"] .oc-business-item .text-amber-400 {color:#805e08!important}

/* Independent contrast readback: scoped native access controls. The recovery
   link's local --accent shadows shared tokens; operations' .pri hover also has
   a legacy dark foreground. Explicit foregrounds preserve existing handlers. */
html[data-theme="light"] body[data-weem-route="admin"] #loginScreen button[onclick="showResetPassword()"] {color:rgb(var(--c-fono-text))!important}
body.weem-operaciones :is(.sesion-cta,.sesion-panel .btn.pri),
body.weem-operaciones :is(.sesion-cta,.sesion-panel .btn.pri):hover {color:rgb(var(--c-onbrand))!important;filter:none!important}
