*{box-sizing:border-box} :root{font-family:Inter,Segoe UI,Arial,sans-serif;color:#17243a;background:#f3f5f8;font-size:16px}body{margin:0}button,input,select,textarea{font:inherit}button{cursor:pointer;border:1px solid #d5dce5;border-radius:8px;padding:10px 15px;background:white;color:#1d2c42;font-weight:600}button:hover{background:#edf2f7}button:disabled{opacity:.5;cursor:wait}button.primary{background:#176a52;border-color:#176a52;color:white}button.danger{color:#ae3636}button.small{padding:6px 10px;font-size:.875rem}a{color:#176a52}aside{position:fixed;inset:0 auto 0 0;width:232px;background:#111c30;color:#cbd5e4;padding:30px 18px;display:flex;flex-direction:column;z-index:2}.brand{display:flex;align-items:center;gap:12px;font-size:1.15rem;color:white;font-weight:700;margin:0 10px 36px}.brand img{width:34px}nav{display:grid;gap:7px}nav button{text-align:left;border:0;background:transparent;color:#aebcd0;font-weight:500;padding:13px 14px}nav button.active{background:#26374b;color:#82e6bd}nav button:hover{background:#213149}nav span{display:inline-block;width:30px}.aside-bottom{margin-top:auto;font-size:.875rem;line-height:1.6;padding:14px 10px;border-top:1px solid #334056}.aside-bottom strong{color:white;display:block}main{margin-left:232px;padding:28px 38px 60px;max-width:1700px}header{display:flex;justify-content:space-between;align-items:center;gap:16px;margin-bottom:28px}.eyebrow{font-size:.8rem;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:#768296}h1{margin:6px 0 0;font-size:1.8rem;letter-spacing:-.04em}h2{font-size:1.1rem;margin:0 0 18px}h3{font-size:1rem}.toolbar{display:flex;gap:10px;align-items:center;flex-wrap:wrap}.notice{padding:14px 18px;border:1px solid #d7e1ed;border-radius:9px;background:#eaf0f8;font-size:.875rem;margin-bottom:22px;line-height:1.6}.notice.warn{background:#fff7e6;border-color:#efddb1;color:#725219}.stats{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;margin-bottom:24px}.stat,.panel{background:white;border:1px solid #e0e5ec;border-radius:12px}.stat{padding:22px}.stat .label{font-size:.875rem;color:#697588}.stat .value{font-size:1.65rem;letter-spacing:-.04em;font-weight:700;margin:13px 0 7px;overflow-wrap:anywhere}.stat .hint{font-size:.8rem;color:#718096}.positive{color:#167151}.negative{color:#b13b47}.panel{padding:24px;margin-bottom:22px;min-width:0}.grid{display:grid;grid-template-columns:1.5fr 1fr;gap:22px}.panel-head{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-bottom:18px}.panel-head h2{margin:0}.table-wrap{overflow-x:auto}table{border-collapse:collapse;width:100%;font-size:.875rem;white-space:nowrap}th{font-size:.8rem;color:#768296;text-transform:uppercase;letter-spacing:.035em;text-align:left;background:#f7f9fb;padding:13px 12px}td{padding:16px 12px;border-bottom:1px solid #edf0f4}tbody tr:last-child td{border-bottom:0}td strong{display:block;font-weight:600}td small{display:block;color:#7b8697;margin-top:4px}.num{text-align:right;font-variant-numeric:tabular-nums}.badge{display:inline-block;background:#e5f5ed;color:#176a52;padding:5px 9px;border-radius:5px;font-size:.8rem}.badge.low{background:#fff2d6;color:#8d631b}.muted{color:#748095}.empty{text-align:center;padding:40px 18px;color:#748095;line-height:1.7}.empty strong{color:#24344a;display:block;font-size:1rem;margin-bottom:6px}.cash{display:grid;grid-template-columns:1fr 1fr;gap:20px}.cash .stat{background:#17273e;color:white}.cash .label,.cash .hint{color:#b8c8db}.cash .value{font-size:2rem}.cash .stat:last-child{background:#145743}.bars{height:185px;display:flex;align-items:end;gap:7px;padding:15px 0 25px;border-bottom:1px solid #e6ebf0}.bar{flex:1;background:#4d9f84;min-height:2px;position:relative;border-radius:4px 4px 0 0}.bar small{position:absolute;bottom:-22px;left:0;font-size:12px;color:#798697}.rank{display:flex;justify-content:space-between;gap:15px;padding:14px 0;border-bottom:1px solid #edf0f4}.rank span{font-size:.875rem}.rank b{color:#176a52}.section-note{font-size:.875rem;color:#748095;line-height:1.6}.total{font-size:1.5rem;font-weight:700;text-align:right;margin-top:22px}dialog{border:0;border-radius:14px;padding:0;width:min(680px,calc(100% - 28px));max-height:90dvh;box-shadow:0 20px 90px #0b182950}dialog::backdrop{background:#0b182980;backdrop-filter:blur(3px)}.dialog-head{display:flex;align-items:center;justify-content:space-between;padding:22px 26px;border-bottom:1px solid #e5eaf0}.dialog-head h2{margin:0}form{padding:24px 26px}.fields{display:grid;grid-template-columns:1fr 1fr;gap:17px}label{display:grid;gap:7px;font-size:.875rem;font-weight:600}label.full{grid-column:1/-1}input,select,textarea{width:100%;padding:11px 12px;border:1px solid #cbd4df;border-radius:7px;background:white;color:#203148;min-width:0}input:focus,select:focus,button:focus-visible{outline:3px solid #97cbb8;outline-offset:2px}form footer{margin-top:24px;display:flex;justify-content:flex-end;gap:10px}.line{display:grid;grid-template-columns:1fr 70px 115px 38px;gap:8px;padding:12px 0;border-bottom:1px solid #e2e8ee;align-items:end}.line label{font-size:.8rem}.line button{padding:10px}.error{color:#ad303e;font-size:.875rem;line-height:1.5;margin-top:15px}.login{max-width:440px;margin:14vh auto;background:white;border:1px solid #dbe2ea;border-radius:14px;padding:30px}.login form{padding:10px 0}.login h1{margin-bottom:15px}#toast{position:fixed;right:24px;bottom:22px;max-width:min(440px,90vw);padding:15px 20px;background:#142c25;color:white;border-radius:8px;box-shadow:0 5px 24px #0002;z-index:10;display:none}.loading{padding:60px}.check{display:flex;align-items:center;gap:9px;font-weight:400}.check input{width:auto}.filter{max-width:300px}.print-only{display:none}@media(min-width:1500px){main{padding:38px 55px}}@media(max-width:1050px){.stats{grid-template-columns:repeat(2,1fr)}.grid{grid-template-columns:1fr}main{padding:25px}aside{width:200px}main{margin-left:200px}}@media(max-width:700px){aside{position:static;width:100%;padding:15px}.brand{margin:0 0 14px;font-size:1rem}.brand img{width:28px}nav{display:flex;overflow-x:auto;gap:3px}nav button{white-space:nowrap;padding:10px;font-size:.875rem}nav span{display:none}.aside-bottom{display:none}main{margin:0;padding:20px 14px}header{align-items:flex-start;flex-wrap:wrap;margin-bottom:20px}h1{font-size:1.6rem}.stats{gap:10px}.stat{padding:16px}.stat .value{font-size:1.35rem}.panel{padding:17px}.cash{gap:10px}.cash .value{font-size:1.5rem}.fields{grid-template-columns:1fr}.line{grid-template-columns:1fr 65px 95px 35px;gap:5px}.line label:first-child{grid-column:1/-1}.line label:first-child select{width:100%}.line label:nth-child(2){grid-column:1/2}.line label:nth-child(3){grid-column:2/4}form{padding:20px}.toolbar{width:100%}.toolbar button{flex:1}}@media print{aside,header .toolbar,button,.notice,.no-print{display:none!important}main{margin:0;padding:0}body{background:white}.panel{border:0;padding:0}.print-only{display:block}table{white-space:normal}}

.inventory-model{border:1px solid #e0e5ec;border-radius:9px;margin-bottom:12px;overflow:hidden}.inventory-model summary{cursor:pointer;display:flex;align-items:center;gap:14px;padding:18px;list-style:none}.inventory-model summary::-webkit-details-marker{display:none}.inventory-model summary::before{content:"›";font-size:1.5rem;color:#697588;transition:transform .15s}.inventory-model[open] summary::before{transform:rotate(90deg)}.inventory-model summary:hover{background:#f7f9fb}.inventory-model summary:focus-visible{outline:3px solid #97cbb8;outline-offset:-3px}.model-name{flex:1;font-weight:600;min-width:0;overflow-wrap:anywhere}.model-name small{display:block;margin-top:5px;font-size:.875rem;font-weight:400;color:#748095}.model-flavors{padding:0 18px 10px;border-top:1px solid #e0e5ec}.inventory-model[hidden],#inventoryNoMatches[hidden]{display:none}@media(max-width:700px){.inventory-model summary{padding:14px;gap:10px}.model-flavors{padding:0 8px 8px}}
@media print {
  main[data-section="Presupuestos"] > header,
  main[data-section="Presupuestos"] #content > :not(.print-list),
  main[data-section="Presupuestos"] .print-list > h2,
  main[data-section="Presupuestos"] .print-list > .section-note,
  dialog,
  #toast { display: none !important; }
  main[data-section="Presupuestos"] .print-list { margin: 0; }
  main[data-section="Presupuestos"] .table-wrap { overflow: visible; }
  main[data-section="Presupuestos"] tr { break-inside: avoid; }
  main[data-section="Presupuestos"] thead { display: table-header-group; }
}

.inventory-toggle{display:flex;align-items:center;gap:14px;width:100%;border:0;border-radius:0;padding:18px;text-align:left;background:transparent}.inventory-toggle::before{content:"›";font-size:1.5rem;color:#697588;transition:transform .15s}.inventory-toggle[aria-expanded="true"]::before{transform:rotate(90deg)}.inventory-toggle-label{font-size:.875rem;color:#176a52}.model-flavors[hidden],[data-inventory-model][hidden]{display:none!important}.budget-funding{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}.budget-funding strong{font-size:1.5rem;font-variant-numeric:tabular-nums}@media(max-width:700px){.inventory-toggle{padding:14px;gap:10px;flex-wrap:wrap}.inventory-toggle-label{flex-basis:100%;padding-left:22px}.budget-funding{grid-template-columns:1fr;gap:8px}}
.fields input,.fields select,.fields textarea,form input,form select,form textarea{position:relative;z-index:1;pointer-events:auto!important;cursor:text;touch-action:manipulation}.fields select,form select{cursor:pointer}
.field-control{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:7px;align-items:stretch;width:100%}.field-control>.field-edit{padding:8px 11px;font-size:.8rem;color:#176a52}.field-control>input,.field-control>select,.field-control>textarea{min-width:0}.line .field-control{display:contents}@media(max-width:700px){.field-control>.field-edit{padding-inline:10px}}
