/* =====================================================================================================
   Dimarmol · capa de diseño 2026 (sobre base-piloto.css, que conserva todas las clases del piloto)
   Marca: negro #0B0A09 · carbón #1D1C1D · oro #AB844E · bronce #74562B · crema #EFE6D2
   Tipografía propia servida desde este servidor (sin terceros): Montserrat (texto) y Cinzel (marca y títulos).
   ===================================================================================================== */
@font-face{font-family:"Montserrat";src:url("fuentes/montserrat.316aef471339.woff2") format("woff2");font-weight:100 900;font-style:normal;font-display:swap}
@font-face{font-family:"Cinzel";src:url("fuentes/cinzel.7cb7646a98e7.woff2") format("woff2");font-weight:400 900;font-style:normal;font-display:swap}

:root{--r:16px;--sombra:0 1px 2px rgba(29,28,29,.05),0 8px 24px -12px rgba(29,28,29,.12);
 --oro-grad:linear-gradient(135deg,#c29a60 0%,#ab844e 55%,#8f6c3c 100%);--foco:0 0 0 3px rgba(171,132,78,.35)}
body{font-family:"Montserrat",-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Arial,sans-serif;font-size:14.5px;letter-spacing:.005em;font-feature-settings:"tnum" 0}
td.num,th.num,.kpi .box b,.num{font-feature-settings:"tnum" 1}

/* --- barra lateral --- */
aside.lat{background:linear-gradient(180deg,#0b0a09 0%,#141210 100%);box-shadow:1px 0 0 #ffffff0d}
.marca b{font-family:"Cinzel",serif;font-weight:700;letter-spacing:1.6px;font-size:15.5px;color:#efe6d2}
.marca small{letter-spacing:.3px}
nav.menu{gap:2px}
nav.menu a{font-weight:500;transition:background .15s,color .15s}
nav.menu a.on{background:var(--oro-grad);color:#0b0a09;font-weight:650;box-shadow:0 6px 16px -8px rgba(171,132,78,.8)}
nav.menu a.on svg.i{stroke-width:2.1}
nav.menu .sep{font-family:"Cinzel",serif;letter-spacing:1.4px;font-size:10.5px;color:#9c917e}
.av{background:var(--oro-grad)}

/* --- encabezado --- */
header.top{backdrop-filter:saturate(1.2) blur(6px);background:color-mix(in srgb,var(--panel) 92%,transparent)}
header.top h1{font-weight:700;letter-spacing:-.3px;font-size:19.5px}
.demo{letter-spacing:.2px}

/* --- tarjetas --- */
.card{border-radius:var(--r);padding:22px 24px;border-color:var(--line)}
.card h2{font-size:16.5px;font-weight:700;letter-spacing:-.15px;display:flex;align-items:center;gap:8px;flex-wrap:wrap}
.card h2::before{content:"";width:4px;height:18px;border-radius:3px;background:var(--oro-grad);flex:none}
.login .card h2::before{display:none}
.card h3{font-size:14.5px;font-weight:700;margin:14px 0 6px}

/* --- formularios --- */
label{font-weight:600;font-size:12.5px;letter-spacing:.1px}
input,select,textarea{border-radius:11px;transition:border-color .15s,box-shadow .15s;background:var(--panel)}
input:hover,select:hover,textarea:hover{border-color:var(--acc)}
input:focus,select:focus,textarea:focus{outline:0;border-color:var(--acc);box-shadow:var(--foco)}
.buscar{border-radius:13px}

/* --- botones --- */
.btn{border-radius:11px;font-weight:650;letter-spacing:.1px;background:var(--oro-grad);box-shadow:0 6px 14px -8px rgba(143,108,60,.9);transition:filter .15s,transform .05s,box-shadow .15s}
.btn:hover{filter:brightness(1.06);background:var(--oro-grad)}
.btn:active{transform:translateY(1px)}
.btn:focus-visible{outline:0;box-shadow:var(--foco)}
.btn.sec,.btn.danger{background:var(--panel);box-shadow:none}
.btn.sec:hover{background:var(--chip);filter:none}
.btn.danger:hover{background:var(--badbg);filter:none}

/* --- tablas --- */
table{font-size:13.8px}
th{font-size:11px;letter-spacing:.8px;background:var(--hover);color:var(--mut)}
td{border-bottom-color:color-mix(in srgb,var(--line) 75%,transparent)}
tbody tr{transition:background .1s}
td a{color:var(--link)}

/* --- indicadores --- */
.kpi .box{border-radius:var(--r);overflow:hidden}
.kpi .box::before{content:"";position:absolute;left:0;top:0;right:0;height:3px;background:var(--oro-grad);opacity:.85}
.kpi .box b{font-weight:750;letter-spacing:-.6px}
.kpi a.box:hover{box-shadow:0 12px 24px -12px rgba(116,86,43,.45);transform:translateY(-1px)}
.kpi a.box{transition:box-shadow .15s,transform .15s,border-color .15s}

/* --- avisos --- */
.chip{font-weight:600;letter-spacing:.1px}
.msg{border-radius:12px;font-weight:500}
.note{border-left-width:4px;border-image:var(--oro-grad) 1;border-radius:0}

/* --- ingreso --- */
.login{background:radial-gradient(900px 520px at 50% -8%,#3a2f22 0,#15120e 45%,#0b0a09 75%)}
.login .card{border-radius:20px;border:1px solid #ffffff10}
.login h1{font-family:"Cinzel",serif;font-weight:700;letter-spacing:1.2px;font-size:23px}
.login .pie{letter-spacing:.2px}

/* --- impresión desde pantallas del sistema (no afecta el documento carta, que tiene su propio estilo) --- */
@media print{aside.lat,header.top,.velo,.plegar{display:none!important}.app{display:block}.wrap{padding:0}.card{box-shadow:none;break-inside:avoid}}
@media (prefers-reduced-motion:reduce){*{transition:none!important}}
