:root{font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;color:#19283a;background:#f4f6fb;font-size:15px}*{box-sizing:border-box}body{margin:0}button,input,select,textarea{font:inherit}button{cursor:pointer;border:0;border-radius:10px;padding:11px 16px;font-weight:650}button:disabled{opacity:.48;cursor:not-allowed}.primary{background:#2c65d7;color:white}.secondary{background:#edf2fc;color:#244c93}.ghost{background:transparent;color:inherit}.mast{background:#14223b;color:white;padding:15px max(20px,calc((100% - 1160px)/2));display:flex;align-items:center;justify-content:space-between;gap:12px}.brand,.mast-right,.actions,.section-head,.modal-head{display:flex;align-items:center;gap:13px}.mast-right{justify-content:flex-end}.brand small{display:block;color:#aebad0;font-size:10px;letter-spacing:1.2px;margin-top:3px}.logo{display:grid;place-items:center;width:41px;height:41px;background:#fff;color:#18396d;font-weight:900;border-radius:12px}.big{width:70px;height:70px;font-size:28px}.pill{border-radius:50px;background:#34435c;padding:7px 12px;font-size:12px}.container{max-width:1180px;margin:25px auto;padding:0 20px}.heading{display:flex;justify-content:space-between;align-items:center;gap:15px;margin-bottom:22px}.eyebrow{letter-spacing:1.6px;color:#3762b1;font-size:11px;font-weight:750}.heading h1{font-size:34px;margin:0}.muted{color:#64748b}.small{font-size:12px}.card{background:white;border:1px solid #e4e9f2;border-radius:15px;padding:22px;margin-bottom:18px;box-shadow:0 2px 10px #152b5206}.card h2,.card h3{margin-top:0}.filters,.form-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;align-items:end}.filters{margin-bottom:19px}label{display:flex;flex-direction:column;gap:6px;font-weight:600;font-size:13px}input,select,textarea{padding:11px 10px;border:1px solid #ccd5e4;border-radius:9px;min-width:0;width:100%;background:white;color:#20314b}textarea{resize:vertical}.stats{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin-bottom:20px}.metric{background:white;padding:19px;border-radius:14px;border:1px solid #e3e9f3}.metric span,.metric small{display:block;color:#65738a}.metric strong{display:block;margin:12px 0 7px;font-size:25px}.tabs{display:flex;gap:5px;overflow:auto;padding-bottom:8px;margin-bottom:16px}.tabs button{white-space:nowrap;background:transparent;color:#50617a}.tabs button.active{background:#dbe8ff;color:#224c97}.cols{display:grid;grid-template-columns:1fr 1fr;gap:18px}.section-head{justify-content:space-between;margin:20px 0}.section-head h2{margin:0}.section-head p{margin:5px 0 0}.hidden{display:none!important}.rowitem{display:grid;grid-template-columns:minmax(130px,2fr) minmax(90px,1.3fr) minmax(75px,1fr) auto;align-items:center;gap:10px;border-bottom:1px solid #edf0f5;padding:12px 0}.rowitem:last-child{border:0}.rowitem small{display:block;color:#6b7890;margin-top:3px}.money{text-align:right;font-variant-numeric:tabular-nums;font-weight:700}.minibtn{padding:6px 9px;background:#edf2f9;color:#334966;font-size:12px}.danger{color:#ae293b}.barrow{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:10px 0;border-bottom:1px solid #eff1f4}.bar{height:7px;border-radius:5px;background:#dce8ff;margin-top:6px}.bar>div{height:100%;background:#3476de;border-radius:5px}.notice{background:#f0f5ff;border-left:3px solid #6093e9;padding:12px;border-radius:6px;color:#3b5579;font-size:13px}.auth{display:grid;grid-template-columns:1fr 1fr;gap:35px;align-items:center;min-height:60vh}.auth-art h1{font-size:40px}.auth-form{max-width:430px;width:100%;display:grid;gap:14px}.auth-form h2{margin:0}.auth-form p{margin:0}.auth-form label{gap:8px}dialog{border:0;border-radius:16px;width:min(760px,96vw);max-height:90vh;overflow:auto;padding:0;box-shadow:0 20px 100px #172b4c66}dialog::backdrop{background:#0a152a99}.dialog-form{padding:24px}.dialog-form .form-grid{grid-template-columns:1fr 1fr;margin:15px 0}.dialog-form>.actions{justify-content:flex-end;margin-top:16px}.modal-head{justify-content:space-between}.modal-head h2{margin:0}.close{font-size:24px;background:transparent}.toast{position:fixed;bottom:20px;right:18px;background:#183a72;color:white;border-radius:10px;padding:12px 18px;display:none;max-width:390px;z-index:10}footer{text-align:center;font-size:12px;color:#76859b;padding:20px}.filelinks{display:flex;gap:7px}.table-scroll{overflow-x:auto}table{border-collapse:collapse;width:100%;min-width:520px}th,td{text-align:left;padding:10px;border-bottom:1px solid #edf0f5}th{color:#61728e;font-size:12px}.print-only{display:none}details{margin-bottom:12px;border:1px solid #dfe7f2;border-radius:12px;background:white;padding:15px}summary{cursor:pointer;font-weight:700}summary span{float:right;color:#3561a3} @media(max-width:850px){.stats{grid-template-columns:1fr 1fr}.filters,.form-grid{grid-template-columns:1fr 1fr}.cols,.auth{grid-template-columns:1fr}.heading{align-items:flex-start}.heading h1{font-size:26px}.auth-art h1{font-size:28px}}@media(max-width:540px){.container{padding:0 12px;margin:14px auto}.heading{flex-direction:column}.heading .actions{width:100%}.heading .actions button{flex:1}.stats{gap:8px}.metric{padding:13px}.metric strong{font-size:19px}.card{padding:15px}.rowitem{grid-template-columns:1.5fr 1fr auto}.rowitem .hide-mobile{display:none}.section-head{align-items:flex-start;flex-direction:column}.filters{grid-template-columns:1fr 1fr}.filters button{grid-column:span 2}.dialog-form .form-grid{grid-template-columns:1fr}.mast{padding:12px}.brand small{font-size:9px}.pill{font-size:10px}}
@media print{.mast,.heading .actions,.filters,.tabs,.section-head button,footer,.actions,.minibtn,#toast{display:none!important}body{background:white}.container{max-width:none}.card{box-shadow:none;break-inside:avoid}.view{display:none!important}#reports{display:block!important}#reportPreview{display:block}.print-only{display:block}}

/* Gastos fijos: conceptos permanentes y desplegables */
.fixed-category{padding:0;overflow:hidden}.fixed-category>summary{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:17px;list-style:none}.fixed-category>summary::-webkit-details-marker{display:none}.fixed-category>summary:before{content:'▸';color:#63799b}.fixed-category[open]>summary:before{content:'▾'}.fixed-name{flex:1}.fixed-amount{font-weight:700;color:#234e99;white-space:nowrap}.fixed-details{border-top:1px solid #e7edf6;padding:10px 16px 15px}.fixed-toolbar{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-bottom:8px}.fixed-toolbar button{white-space:nowrap}@media(max-width:540px){.fixed-toolbar{align-items:flex-start;flex-direction:column}.fixed-category>summary{padding:13px}}

/* Editor directo por concepto: sin botón Añadir gasto fijo */
.fixed-inline-form{display:grid;grid-template-columns:minmax(150px,2fr) minmax(100px,1fr) auto;align-items:end;gap:12px;margin:10px 0}
.fixed-inline-form label{font-size:12px}.fixed-inline-form button{white-space:nowrap}
.fixed-history{border-top:1px solid #e8edf5;margin-top:12px;padding-top:8px}
.fixed-category>summary .fixed-amount{float:none}
@media(max-width:600px){.fixed-inline-form{grid-template-columns:1fr 1fr}.fixed-inline-form button{grid-column:1/-1;width:100%}}
