/* ============================================================
   Tema iOS / macOS para escritorio · se carga DESPUÉS de app.css
   Listas agrupadas, esquinas amplias, botones tintados, títulos grandes
   ============================================================ */
:root {
  --mica: #F2F2F7; --capa: #FFFFFF; --capa-alt: #F2F2F7; --capa-hover: #F7F7FA; --capa-presion: #E9E9EE;
  --borde: rgba(60,60,67,.12); --borde-fuerte: rgba(60,60,67,.18); --borde-control: rgba(60,60,67,.18);
  --texto: #000000; --texto-2: rgba(60,60,67,.6); --texto-3: rgba(60,60,67,.45); --texto-4: rgba(60,60,67,.3);
  --acento: #06365A; --acento-hover: #0B4A78; --acento-suave: #E6EEF5;
  --ok: #248A3D; --ok-bg: #E6F5EA; --err: #D70015; --err-bg: #FDE9EB;
  --r: 12px; --r-s: 10px;
  --elev-1: none; --elev-2: 0 12px 32px rgba(0,0,0,.14);
  --f: "Inter", -apple-system, "Segoe UI", system-ui, sans-serif;
  --f-display: "Inter", -apple-system, "Segoe UI", system-ui, sans-serif;
  --f-etq: "Inter", -apple-system, "Segoe UI", system-ui, sans-serif;
  --f-mono: "JetBrains Mono", "Cascadia Mono", Consolas, monospace;
  --nav: 260px;
}
body { font-size: 14px; line-height: 20px; letter-spacing: -.006em; font-feature-settings: "cv11", "ss01", "tnum"; }
h1 { font-size: 26px; line-height: 32px; font-weight: 700; letter-spacing: -.022em; }
h2 { font-size: 11.5px; font-weight: 600; text-transform: uppercase; letter-spacing: .06em; color: var(--texto-2); margin: 0 0 10px 2px; }
h3.sec { font-size: 11.5px; font-weight: 600; text-transform: uppercase; letter-spacing: .06em; color: var(--texto-2); margin: 22px 0 8px 2px; } h3.sec::after { display: none; }
.lbl { font-size: 11.5px; font-weight: 500; letter-spacing: .02em; color: var(--texto-2); }

/* Barra lateral estilo Ajustes / Finder */
.lateral { background: #F5F5F7; border-right: 1px solid var(--borde); padding: 10px 10px; }
.marca { padding: 10px 10px 16px; }
.menu a { padding: 8px 12px; border-radius: 8px; font-size: 13.5px; font-weight: 500; gap: 12px; }
.menu a.act { background: var(--acento); color: #fff; } .menu a.act .ic { color: #fff; } .menu a.act::before { display: none; }
.menu a:hover:not(.act) { background: rgba(0,0,0,.05); }
.lateral-pie { border-top: 1px solid var(--borde); }
.principal { border: 0; border-radius: 0; margin: 0; background: var(--mica); }
.cabecera { background: var(--mica); border-bottom: 1px solid var(--borde); height: 52px; }
.miga { font-size: 13px; font-weight: 600; color: var(--texto); }

/* Botones tintados iOS */
.btn { height: 36px; padding: 0 14px; border: 0; border-radius: 10px; background: var(--acento-suave); color: var(--acento); font-weight: 600; font-size: 13.5px; }
.btn:hover { background: #DCE7F0; } .btn:active { opacity: .7; }
.btn.primario { background: var(--acento); color: #fff; } .btn.primario:hover { background: var(--acento-hover); }
.btn.acento { background: var(--naranja); color: #fff; }
.btn.peligro { background: var(--err-bg); color: var(--err); }
.btn.chico { height: 30px; font-size: 13px; padding: 0 10px; border-radius: 8px; }

/* Avisos */
.flash { border: 0; border-radius: 12px; }

/* Widgets */
.kpi { border: 0; border-radius: 16px; padding: 16px 18px; }
.kpi .cifra { font-size: 28px; font-weight: 700; letter-spacing: -.03em; font-variant-numeric: tabular-nums; }
.kpi .ic { width: 24px; height: 24px; }

/* Filtros tipo barra de búsqueda iOS */
.filtros select, .filtros input { border: 0; background: rgba(118,118,128,.12); border-radius: 10px; min-height: 36px; }
.filtros .buscar .ic { color: var(--texto-3); }

/* Listas agrupadas (tablas) */
.tabla { border: 0; border-radius: 12px; }
.tabla th { background: transparent; color: var(--texto-2); font-weight: 600; font-size: 11.5px; text-transform: uppercase; letter-spacing: .05em; border-bottom: 1px solid var(--borde); padding: 10px 16px; }
.tabla td { padding: 11px 14px; border-bottom: 1px solid var(--borde); font-size: 13.5px; }   /* un punto menos que el texto corrido: tablas densas legibles */
.tabla td.mono, .tabla td a.mono { font-size: 13px; }
.tabla tbody tr:hover td { background: var(--capa-hover); }
.est { border-radius: 8px; font-size: 13px; padding: 3px 9px 3px 7px; }
.vacio { border: 0; border-radius: 12px; }

/* Formularios: campos agrupados */
.tarjeta { border: 0; border-radius: 12px; padding: 16px 18px 18px; margin-bottom: 18px; }
label { font-size: 12.5px; font-weight: 500; color: var(--texto-2); letter-spacing: .01em; }
input, select, textarea { border: 0; background: rgba(118,118,128,.10); border-radius: 10px; min-height: 36px; padding: 7px 12px; font-size: 14px; }
input:hover, select:hover, textarea:hover { background: rgba(118,118,128,.14); }
input:focus, select:focus, textarea:focus { background: #fff; border: 0; padding-bottom: 7px; box-shadow: 0 0 0 2px var(--acento); }
fieldset.ccs { border: 0; background: rgba(118,118,128,.06); border-radius: 10px; }
label.check input { width: 20px; height: 20px; border-radius: 6px; }

/* Editor de líneas */
.lineas .cuadro { border: 0; background: rgba(118,118,128,.06); border-radius: 10px; }
.lineas .enc-filas { background: transparent; } .lineas .enc-filas span { font-weight: 600; text-transform: uppercase; letter-spacing: .05em; font-size: 11px; }
.lineas .fila input { background: transparent; border-radius: 8px; } .lineas .fila input:hover, .lineas .fila input:focus { background: #fff; }
.lineas .pie-filas { background: transparent; border-top: 1px solid var(--borde); }

/* Documento */
.doc { border: 0; border-radius: 12px; }
.doc-cab { border-bottom: 1px solid var(--borde); }
.doc-cab .num { font-size: 22px; }
.monto-grande { font-size: 28px; font-weight: 700; letter-spacing: -.02em; }
.historial summary { font-size: 13px; }

/* Acceso */
.login-panel { border: 0; border-radius: 20px; box-shadow: var(--elev-2); }
.login-marca { background: var(--acento-suave); border: 0; }
.login-marca::after { opacity: .1; }
.login h1 { font-size: 28px; }
.login .btn { height: 44px; border-radius: 12px; font-size: 17px; }
