/* Resilent / Encuadre abierto. Shared semantic tokens and interaction rules. */
:root{--r-paper:#f4f1e9;--r-white:#fffcf6;--r-ink:#182b23;--r-forest:#244c3c;--r-sage:#d8e3cd;--r-muted:#53645a;--r-line:#b6c3b8;--r-display:'Instrument Serif',Georgia,serif;--r-body:'DM Sans',system-ui,sans-serif;--r-space:clamp(24px,5vw,80px);--r-radius:10px;--r-duration:180ms}
*,*::before,*::after{box-sizing:border-box}body{font-family:var(--r-body)}button,input,textarea,select{font:inherit}button,a,input,textarea,select,summary{-webkit-tap-highlight-color:transparent}button:disabled{cursor:wait;opacity:.65}a,button,summary{touch-action:manipulation}:focus-visible{outline:3px solid #4c795f;outline-offset:5px}img{max-width:100%}textarea{resize:vertical}.skip-link{position:fixed;left:16px;top:12px;z-index:1000;transform:translateY(-180%);padding:14px 20px;background:var(--r-ink);color:var(--r-paper)}.skip-link:focus{transform:none}.hidden{display:none!important}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto!important}*,*::before,*::after{animation:none!important;transition:none!important}}
/* Utility surfaces share control sizes and quieter, purposeful framing. */
body.system-surface .btn{min-height:48px;border-radius:var(--r-radius);font-family:var(--r-body)}body.system-surface input,body.system-surface select{min-height:48px}body.system-surface textarea{min-height:125px}body.portal-body.system-surface .project-card,body.portal-body.system-surface .panel{border-radius:10px;border-left:3px solid #91a78a;box-shadow:none}body.portal-body.system-surface .loginbox{border-radius:12px}body.system-surface .result{border-left:3px solid #91a78a}
:is(.process-section,.signature-footer) :focus-visible,body.portal-body :focus-visible{outline-color:#f4f1e9}
