/* presupuesto.css — Módulo de presupuesto mensual 50/20/20/10 (portado del maquetado). */

/* Barra de mes */
.mbar{display:flex;align-items:center;background:#fff;border-bottom:1px solid var(--border);padding:9px 14px;position:sticky;top:calc(var(--hdr-h) + env(safe-area-inset-top,0px));z-index:100;}
.mnav{background:none;border:none;font-size:22px;color:var(--navy);cursor:pointer;padding:2px 10px;line-height:1;}
.mlbl{flex:1;font-size:14px;font-weight:700;color:var(--navy);text-align:center;}
.mst{font-size:10px;font-weight:600;padding:3px 9px;border-radius:20px;background:var(--mist);color:var(--blue);white-space:nowrap;}
.mst.ok{background:#E8F8EF;color:var(--green);}

/* KPIs */
.kpis{display:grid;grid-template-columns:1fr 1fr;gap:10px;padding:12px 14px 0;}
.kc{background:#fff;border-radius:10px;padding:11px 13px;border:1px solid var(--border);}
.kl{font-size:9px;font-weight:700;color:var(--stone);text-transform:uppercase;letter-spacing:.7px;margin-bottom:3px;}
.kv{font-family:'DM Mono',monospace;font-size:14px;font-weight:700;color:var(--navy);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
.kc.pos .kv{color:var(--green);}
.kc.neg .kv{color:var(--red);}

/* Termómetros */
.tp{margin:12px 14px 0;background:#fff;border-radius:var(--r);padding:14px;border:1px solid var(--border);}
.th{font-size:10px;font-weight:700;color:var(--navy);text-transform:uppercase;letter-spacing:1px;border-bottom:2px solid var(--gold);padding-bottom:7px;margin-bottom:11px;}
.badge-deuda{background:#8B2500;color:#fff;font-size:9px;font-weight:700;padding:4px 10px;border-radius:20px;text-align:center;margin-bottom:10px;letter-spacing:.5px;}
.ti{margin-bottom:11px;}
.tr{display:flex;justify-content:space-between;align-items:center;margin-bottom:4px;}
.tn{font-size:11px;font-weight:600;color:var(--slate);}
.tv{font-family:'DM Mono',monospace;font-size:12px;font-weight:700;color:var(--navy);}
.tm{font-size:10px;color:var(--stone);margin-left:4px;}
.bb{height:9px;background:var(--smoke);border-radius:99px;overflow:hidden;border:1px solid var(--border);}
.bf{height:100%;border-radius:99px;transition:width .4s,background .3s;}
.ts{font-size:9px;font-weight:700;text-align:right;margin-top:2px;text-transform:uppercase;}
.ts.ok{color:var(--green);}.ts.wa{color:var(--amber);}.ts.ri{color:var(--red);}

/* Dona */
.cp{margin:12px 14px 0;background:#fff;border-radius:var(--r);padding:14px;border:1px solid var(--border);}
.dw{display:flex;align-items:center;gap:12px;}
.dl{flex:1;}
.di{display:flex;align-items:center;gap:6px;font-size:10px;color:var(--slate);margin-bottom:5px;}
.dd{width:8px;height:8px;border-radius:2px;flex-shrink:0;}

/* Secciones del formulario */
.fa{padding:12px 14px 0;}
.sc{background:#fff;border-radius:var(--r);box-shadow:var(--sh);margin-bottom:11px;overflow:hidden;border:1px solid var(--border);}
.sh{display:flex;align-items:center;justify-content:space-between;padding:12px 15px;cursor:pointer;user-select:none;}
.si{background:#0F1E35;}.se{background:var(--navy);}.sd{background:#8B2500;}.sp{background:#243B6B;}.sa{background:#1E4D8C;}.sm{background:#1A3A6A;}.sk{background:#0A1829;}
.st{font-size:12px;font-weight:700;color:#fff;display:flex;align-items:center;gap:7px;}
.sb{background:var(--gold);border-radius:20px;padding:2px 7px;font-size:9px;font-weight:700;color:#fff;}
.sv{font-family:'DM Mono',monospace;font-size:12px;color:#fff;background:rgba(255,255,255,.12);border-radius:6px;padding:3px 9px;}
.sbody{display:none;}
.sc.open .sbody{display:block;}
.sub{background:var(--smoke);padding:6px 15px;font-size:9px;font-weight:700;color:var(--stone);letter-spacing:.8px;text-transform:uppercase;border-bottom:1px solid var(--border);border-top:1px solid var(--border);}
.fr{display:flex;align-items:center;border-bottom:1px solid var(--border);padding:0 15px;min-height:46px;}
.fr:last-child{border-bottom:none;}
.fl{flex:1;font-size:12px;color:var(--slate);line-height:1.3;padding:7px 7px 7px 0;}
.fw{display:flex;align-items:center;gap:3px;flex-shrink:0;}
.fw span{font-size:11px;color:var(--stone);}
.fi{font-family:'DM Mono',monospace;font-size:13px;font-weight:600;color:var(--navy);background:var(--mist);border:1px solid var(--border);border-radius:6px;padding:6px 8px;width:120px;text-align:right;outline:none;-webkit-appearance:none;}
.fi:focus{border-color:var(--gold);box-shadow:0 0 0 3px rgba(184,149,58,.12);background:#fff;}
.tot{display:flex;justify-content:space-between;align-items:center;background:var(--mist);border-top:2px solid var(--sky);padding:10px 15px;}
.tl{font-size:12px;font-weight:700;color:var(--navy);}
.tv2{font-family:'DM Mono',monospace;font-size:14px;font-weight:700;color:var(--navy);}
.cbx{padding:15px;}
