/* v48 shared surfaces and navigation. No change to financial meaning. */
:root{--bg:#f3f3ec;--surface:#fffefa;--surface2:#edf2e9;--line:#ccd8cb;--line-strong:#9caf9f;--sh1:0 2px 8px #153c3209;--sh2:0 12px 32px #153c3218;--nav-width:240px;--space-1:8px;--space-2:12px;--space-3:16px;--space-4:24px}
body{background:var(--bg)}
.card,.module-card,.report-card,.cost-group,.data-card,.combo-card{border-color:var(--line);box-shadow:var(--sh1)}
.records-table thead th,.data-card th{background:var(--surface2)}
.form-section{background:#fffefa;border-color:#ccd8cb}.form-grid :is(input,select,textarea){background:#fffefa;border-color:#9caf9f}
:is(button,summary,a):focus-visible{outline:2px solid #2f8066;outline-offset:3px}
#panel .tarjeta{box-shadow:var(--sh1)}#panel .tarjeta.fuerte{box-shadow:0 5px 16px #153c3214}
body[data-module=panel] .cab{overflow:visible}
.navigation-layer{position:fixed!important;margin:0!important;box-sizing:border-box;overflow:auto;overscroll-behavior:contain;z-index:10020;background:#fffefa;color:#173e30;border:1px solid #a4b8a7;border-radius:12px;box-shadow:0 14px 36px #102f272b;animation:layer-in 140ms ease-out}
.navigation-layer[hidden]{display:none!important}.navigation-layer::backdrop{background:transparent;pointer-events:none}
.session-actions-layer,.atelier-session>.session-actions-layer{display:flex;flex-direction:column;align-items:stretch;gap:8px;padding:12px!important}
.session-actions-layer>*{width:100%;margin:0;min-width:0;white-space:normal;overflow-wrap:anywhere}
.session-actions-layer button{min-height:44px;font-size:13px}.session-actions-layer .env-badge{font-size:12px;border:0;background:#edf2e9;padding:8px;text-align:center}
.navigation-hint{font-size:13px;font-weight:650;padding:10px 12px;pointer-events:none}
.sidebar-heading{display:flex;align-items:center;gap:8px;flex:0 0 auto;padding-bottom:16px;margin-bottom:12px;border-bottom:1px solid #ffffff20}
.sidebar .sidebar-heading .brand{flex:1;min-width:0;display:flex;flex-direction:column;align-items:flex-start;padding:0;margin:0;border:0}
.sidebar .sidebar-heading .brand img{width:154px;max-width:100%}.sidebar .sidebar-heading .brand small{font-size:7px;letter-spacing:1.4px;margin-top:10px}
.sidebar-collapse{flex:0 0 44px;width:44px;height:44px;padding:0;border:1px solid #668f7e;background:#254e40;color:#f3f6e9;border-radius:10px;font-size:25px;line-height:1}
.sidebar-collapse:hover{background:#386a56;border-color:#9fc0ac}.sidebar-monogram{display:none}
@media(min-width:769px){
 main{margin-left:var(--nav-width);transition:margin-left 180ms ease}
 .sidebar{width:var(--nav-width);background:linear-gradient(160deg,#173e32 0%,#102f27 65%,#12372e 100%);border-right:1px solid #456653;box-shadow:3px 0 14px #102f2712;transition:width 180ms ease;padding:20px 14px 14px}
 .sidebar nav{flex:1;min-height:0;gap:4px;scrollbar-width:thin}.sidebar nav button{flex-shrink:0;min-height:44px;font-size:13px;position:relative;border:1px solid transparent;padding:6px 9px;gap:10px;transition:background 150ms,border-color 150ms,color 150ms}
 .sidebar nav button:hover{background:#ffffff0d;border-color:#ffffff1f}.sidebar nav button[aria-current=page]{background:linear-gradient(100deg,#eef4e6,#e0eddf);border-color:#b8cfba;box-shadow:0 3px 9px #071e2420;color:#173e30}
 .sidebar nav button[aria-current=page]::before{content:'';position:absolute;left:-1px;top:9px;bottom:9px;width:3px;background:#57c8a6;border-radius:3px}
 .sidebar .nav-icon{background:#ffffff08;border:1px solid #ffffff0c;width:30px;height:30px;flex-basis:30px;transition:background 150ms}.sidebar nav button:hover .nav-icon{background:#ffffff10}
 .sidebar nav button[aria-current=page] .nav-icon{background:#cde4d0;border-color:#bdd8c3}.sidebar nav .nav-section{flex-shrink:0;font-size:10px;padding:12px 10px 5px;color:#b0c5b6}
 .sidebar-bottom{flex:0 0 auto;margin-top:12px}.sidebar :is(button,a):focus-visible{outline-color:#a8e2c5}
 body.sidebar-compact{--nav-width:68px}.sidebar-compact .sidebar{padding:12px 4px}.sidebar-compact .sidebar-heading{flex-direction:column;gap:10px;padding-bottom:12px}.sidebar-compact .sidebar-heading .brand img,.sidebar-compact .sidebar-heading .brand small{display:none}.sidebar-compact .sidebar-monogram{display:grid;place-items:center;width:44px;height:36px;font:28px var(--serif);color:#f1f5e9;border:1px solid #ffffff25;border-radius:8px}
 .sidebar-compact .sidebar>.nav-label,.sidebar-compact .sidebar nav .nav-section,.sidebar-compact .sidebar-bottom{display:none}.sidebar-compact .sidebar nav{gap:4px}.sidebar-compact .sidebar nav button{padding:4px;justify-content:center;min-height:44px;min-width:44px;width:100%;gap:0}.sidebar-compact .sidebar nav button>span:not(.nav-icon){display:none}.sidebar-compact .sidebar .nav-icon{width:34px;height:34px;flex-basis:34px}
}
@media(min-width:769px) and (max-width:1280px){:root{--nav-width:220px}.sidebar .sidebar-heading .brand img{width:134px}.sidebar .sidebar-heading .brand small{font-size:6px;letter-spacing:1px}}
@media(min-width:769px) and (max-height:780px){.sidebar{padding-top:12px}.sidebar-heading{padding-bottom:10px;margin-bottom:8px}.sidebar .sidebar-heading .brand small,.sidebar>.nav-label{display:none}.sidebar nav .nav-section{padding-top:5px;font-size:9px}.sidebar nav{gap:2px}.sidebar-bottom{margin-top:8px;padding-top:8px}}
@media(max-width:768px){.sidebar-heading{border:0;padding:0;margin:0;flex:1;min-width:0}.sidebar-collapse,.sidebar-monogram{display:none}.sidebar .sidebar-heading .brand img{width:148px}.sidebar .sidebar-heading .brand small{display:none}.sidebar-compact main{margin-left:0}.sidebar-compact .sidebar nav button>span{display:initial}}
@media(max-width:480px){.sidebar .sidebar-heading .brand img{width:126px}}
@keyframes layer-in{from{opacity:0;transform:translateY(-3px)}to{opacity:1;transform:none}}
@media(prefers-reduced-motion:reduce){main,.sidebar,.sidebar nav button,.sidebar .nav-icon,.navigation-layer{transition:none!important;animation:none!important}}
@media print{.navigation-layer,.sidebar-collapse{display:none!important}}
