:root{--primary:#0d828f;--primary-dark:#085f6a;--primary-light:#e0f4f6;--primary-xlight:#f0fafb;--accent:#b4d331;--accent-dark:#8faa1e;--accent-light:#f0f8d0;--surface:#fff;--surface-2:#f4f7f8;--surface-3:#eaecef;--on-surface:#0f1e2a;--on-surface-2:#3d5263;--on-surface-3:#7a9aaa;--divider:#e2ecf0;--success:#22c55e;--warning:#f59e0b;--error:#ef4444;--info:#3b82f6;--estado-borrador:#7a9aaa;--estado-revision:#f59e0b;--estado-publicado:#22c55e;--estado-archivado:#b0bec5;--r-xs:6px;--r-sm:10px;--r-md:16px;--r-lg:22px;--r-xl:30px;--r-full:9999px;--font:"DM Sans", system-ui, -apple-system, sans-serif;--font-display:"DM Serif Display", Georgia, serif;--sombra-sm:0 1px 2px #0f1e2a0f;--sombra-md:0 4px 12px #0f1e2a14;--sombra-lg:0 12px 32px #0f1e2a1f;--sombra-modal:0 24px 64px #08475147;--sidebar-bg:#084751;--sidebar-texto:#fff;--sidebar-texto-tenue:#ffffff9e;--sidebar-activo:#ffffff24;--sidebar-hover:#ffffff12;--sidebar-divisor:#ffffff1f;--curva:cubic-bezier(.16, 1, .3, 1);--transicion-rapida:.12s var(--curva);--transicion-media:.22s var(--curva);--transicion-salida:.14s ease-in;--z-modal:9500;--topbar-h:60px;--sidebar-w:248px}@media (prefers-reduced-motion:reduce){:root{--transicion-rapida:1ms linear;--transicion-media:1ms linear;--transicion-salida:1ms linear}*,:before,:after{transition-duration:1ms!important;animation-duration:1ms!important;animation-iteration-count:1!important}}*,:before,:after{box-sizing:border-box}*{margin:0}html,body,#app{height:100%}body{font-family:var(--font);color:var(--on-surface);background:var(--surface-2);-webkit-font-smoothing:antialiased;font-size:15px;line-height:1.55}h1,h2,h3,h4{font-weight:500;line-height:1.25}button,input,textarea,select{font:inherit;color:inherit}button{cursor:pointer;transition:background var(--transicion-rapida), border-color var(--transicion-rapida), color var(--transicion-rapida), transform var(--transicion-rapida);background:0 0;border:none}button:active:not(:disabled){transform:scale(.97)}button:disabled{cursor:not-allowed;opacity:.55}input,textarea,select{transition:border-color var(--transicion-rapida), box-shadow var(--transicion-rapida)}input:focus,textarea:focus,select:focus{box-shadow:0 0 0 3px var(--primary-light)}a{color:var(--primary)}:focus-visible{outline:2px solid var(--primary);outline-offset:2px}.solo-lectores{clip-path:inset(50%);white-space:nowrap;width:1px;height:1px;padding:0;position:absolute;overflow:hidden}
