
:root{
  --bg:#07111f;--panel:#0d1a2a;--panel2:#112238;--line:#20354f;--text:#f5f8ff;
  --muted:#8ea2bc;--blue:#2f7cff;--green:#35d06f;--orange:#ff9a2f;--purple:#9a68ff;
  --red:#ff5d6c;--cyan:#37d6d0;
}
*{box-sizing:border-box} body{margin:0;background:linear-gradient(180deg,#050b14,#091525 65%,#06101d);
color:var(--text);font-family:Inter,system-ui,-apple-system,Segoe UI,Roboto,sans-serif;min-height:100vh}
button,input,select{font:inherit}.topbar{position:sticky;top:0;z-index:5;display:flex;justify-content:space-between;align-items:center;
padding:18px 18px 12px;background:rgba(7,17,31,.92);backdrop-filter:blur(12px);border-bottom:1px solid #13253a}
.brand{font-weight:900;letter-spacing:.5px}.subtitle{font-size:12px;color:var(--muted);margin-top:2px}.iconBtn{width:38px;height:38px;border:1px solid var(--line);
border-radius:12px;background:#0b1726;color:var(--text)}
main{padding:14px 14px 105px;max-width:680px;margin:0 auto}.hero{background:linear-gradient(135deg,#123f9f,#1762e8);
padding:18px;border-radius:20px;box-shadow:0 16px 38px rgba(32,102,255,.22)}
.hero h2{margin:0 0 4px;font-size:18px}.hero p{margin:0;color:#cfe0ff;font-size:12px}.stats{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin-top:16px}
.stat .n{font-weight:900;font-size:22px}.stat .l{font-size:11px;color:#dbe8ff}.sectionTitle{display:flex;justify-content:space-between;align-items:center;margin:18px 2px 10px}
.sectionTitle h3{margin:0;font-size:15px}.linkBtn{background:none;border:0;color:#8db7ff;font-size:12px}.card{background:linear-gradient(180deg,var(--panel),#0a1624);
border:1px solid var(--line);border-radius:18px;padding:14px;margin-bottom:10px}.stockRow{display:grid;grid-template-columns:1.1fr .8fr .8fr .8fr;align-items:center;gap:8px}
.lb{font-weight:900}.blue{color:#5fa1ff}.green{color:var(--green)}.orange{color:var(--orange)}.purple{color:var(--purple)}
.muted{color:var(--muted);font-size:11px}.metric{font-weight:800}.quickGrid{display:grid;grid-template-columns:1fr 1fr;gap:10px}.quickCard{min-height:112px;text-align:left;
border:1px solid var(--line);border-radius:18px;padding:14px;color:white;background:var(--panel)}
.quickCard b{display:block;margin-top:8px}.quickCard small{display:block;color:#b8c7da;margin-top:5px;line-height:1.35}
.qGreen{background:linear-gradient(135deg,#103824,#0d241a)}.qOrange{background:linear-gradient(135deg,#422711,#291a0d)}
.qPurple{background:linear-gradient(135deg,#281b49,#171229)}.qBlue{background:linear-gradient(135deg,#15335f,#0e1f38)}
.qCyan{background:linear-gradient(135deg,#0f3a3d,#0b2427)}.qGold{background:linear-gradient(135deg,#453511,#281f0c)}
.bottomnav{position:fixed;left:0;right:0;bottom:0;z-index:8;height:78px;background:rgba(7,17,31,.97);backdrop-filter:blur(12px);
border-top:1px solid #1d3047;display:grid;grid-template-columns:1fr 1fr 82px 1fr 1fr;align-items:center;padding-bottom:max(7px,env(safe-area-inset-bottom))}
.navItem{height:62px;border:0;background:none;color:#879bb3;display:flex;flex-direction:column;gap:3px;align-items:center;justify-content:center}
.navItem span{font-size:20px}.navItem small{font-size:10px}.navItem.active{color:#4c91ff}.navAdd{width:58px;height:58px;border-radius:50%;
border:0;background:linear-gradient(180deg,#3989ff,#1557ce);color:white;font-size:34px;box-shadow:0 8px 24px rgba(34,106,255,.5);justify-self:center}
.modal{position:fixed;inset:0;z-index:20;background:rgba(0,0,0,.66);display:flex;align-items:flex-end;justify-content:center}.modal.hidden{display:none}
.modalCard{width:100%;max-width:680px;max-height:90vh;overflow:auto;background:#091522;border:1px solid #263b55;border-radius:24px 24px 0 0;padding:16px 16px 28px}
.modalHead{display:flex;align-items:center;justify-content:space-between}.modalHead h3{margin:0}.formGroup{margin:14px 0}.formGroup label{display:block;font-size:12px;color:#a9bbcf;margin-bottom:7px}
.input,select.input{width:100%;padding:13px 14px;border-radius:13px;background:#0d1d2f;border:1px solid #29405c;color:#fff;outline:none}
.segment{display:grid;grid-template-columns:repeat(5,1fr);gap:7px}.segBtn{padding:11px 5px;border-radius:11px;border:1px solid #2a3b50;background:#0d1a29;color:#c4d0df}
.segBtn.active{background:#194c9e;border-color:#4c91ff;color:white}.primary{width:100%;padding:14px;border:0;border-radius:14px;background:linear-gradient(180deg,#43cf72,#24944a);
color:white;font-weight:900;margin-top:8px}.danger{background:linear-gradient(180deg,#ff6676,#c83748)}.secondary{background:#12243a;border:1px solid #29415e}
.preview{display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:8px}.mini{padding:12px;border-radius:14px;background:#0d1c2d;border:1px solid #263c55}
.mini .big{font-size:22px;font-weight:900}.vehicleHead,.personHead{display:flex;justify-content:space-between;align-items:center}.status{font-size:11px;color:var(--green)}
.pills{display:flex;flex-wrap:wrap;gap:6px;margin-top:10px}.pill{padding:7px 9px;border-radius:999px;background:#0a1726;border:1px solid #23384f;font-size:11px}
.rowBtns{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-top:10px}.rowBtns button{padding:10px;border-radius:11px;border:1px solid #29415e;background:#102137;color:white}
.historyItem{display:grid;grid-template-columns:auto 1fr auto;gap:10px;align-items:center;padding:12px 0;border-bottom:1px solid #1a2c40}.historyItem:last-child{border:0}
.hicon{width:38px;height:38px;border-radius:12px;display:grid;place-items:center;background:#12335b}.historyItem b{font-size:13px}.historyItem small{display:block;color:var(--muted);margin-top:2px}
.tag{font-size:10px;color:#9cb0c8}.toast{position:fixed;left:50%;bottom:95px;z-index:40;transform:translateX(-50%) translateY(20px);
opacity:0;pointer-events:none;background:#13283d;color:white;padding:11px 16px;border:1px solid #2a4663;border-radius:999px;transition:.25s;white-space:nowrap;max-width:92%;overflow:hidden;text-overflow:ellipsis}
.toast.show{opacity:1;transform:translateX(-50%) translateY(0)}.bigNumber{font-size:34px;font-weight:900;text-align:center}.empty{padding:28px;text-align:center;color:var(--muted)}
@media(min-width:700px){body{display:flex;justify-content:center}#app{width:430px;min-height:100vh;border-left:1px solid #172a3e;border-right:1px solid #172a3e}.bottomnav{left:50%;transform:translateX(-50%);width:430px}.modalCard{max-width:430px}}


.inventorySwitch{display:grid;grid-template-columns:1fr;gap:10px;margin:14px 0}
.inventoryBtn{width:100%;display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:12px;text-align:left;
border:1px solid var(--line);border-radius:18px;padding:15px;color:white;background:var(--panel)}
.inventoryBtn span:nth-child(2){display:flex;flex-direction:column;gap:3px}
.inventoryBtn b{font-size:14px}.inventoryBtn small{color:#9fb2c9;font-size:11px;line-height:1.3}
.inventoryBtn strong{font-size:24px}.inventoryIcon{font-size:25px}
.warehouseBtn{background:linear-gradient(135deg,#123057,#0b1c31)}
.generalBtn{background:linear-gradient(135deg,#124530,#0b281c)}
.generalSummary{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin:8px 0 16px}
.summaryBox{background:#0d1c2d;border:1px solid #263c55;border-radius:14px;padding:12px;text-align:center}
.summaryBox span{display:block;color:var(--muted);font-size:10px}.summaryBox b{display:block;font-size:22px;margin-top:4px}
.locationCard{display:flex;justify-content:space-between;align-items:center}.locationCard small{display:block;color:var(--muted);margin-top:4px}
.locationCard strong{font-size:22px}
.emptyStart{min-height:65vh;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:30px 22px}.emptyStart .startIcon{font-size:58px;margin-bottom:8px}.emptyStart h2{font-size:28px;margin:8px 0}.emptyStart p{max-width:360px;color:#91a3b9;line-height:1.55;margin:0 0 24px}.emptyStart .primary,.emptyStart .secondary{width:100%;max-width:360px;margin-top:10px}.recordTop{display:flex;justify-content:space-between;gap:12px;align-items:flex-start}.recordTop small{color:#7fa6d8;font-weight:800;letter-spacing:.08em}.recordBadge{border:1px solid rgba(76,220,143,.35);background:rgba(76,220,143,.10);color:#63e59d;border-radius:999px;padding:7px 10px;font-size:10px;font-weight:900}.editGrid{display:grid;grid-template-columns:1fr 1fr;gap:12px}.editCard{border:1px solid #1e324b;background:#0d1928;color:#fff;border-radius:18px;padding:18px 14px;text-align:left;min-height:135px}.editCard span{display:block;font-size:28px;margin-bottom:12px}.editCard b{display:block;font-size:15px}.editCard small{display:block;color:#8497ad;line-height:1.35;margin-top:5px}.editorList{display:flex;flex-direction:column;gap:10px}.editStock{display:grid;grid-template-columns:58px 1fr 1fr;gap:10px;align-items:end}.sizeBadge{width:54px;height:54px;border-radius:14px;background:#14273c;display:flex;align-items:center;justify-content:center;flex-direction:column;font-weight:900;font-size:18px}.sizeBadge small{font-size:9px;color:#8ca3bc}.editStock label{font-size:11px;color:#8fa2b9;font-weight:700}.editStock input{width:100%;box-sizing:border-box;margin-top:5px;background:#07111f;border:1px solid #263b55;color:#fff;padding:12px 8px;border-radius:11px;font-size:18px;font-weight:800;text-align:center}.lineTotal{grid-column:2/4;text-align:right;color:#8296ad;font-size:11px}.lineTotal b{color:#fff;font-size:14px;margin-left:6px}.stickySave{position:sticky;bottom:80px;padding:14px 0 4px;background:linear-gradient(transparent,#07111f 25%)}.vehicleEditor{margin-bottom:18px}.vehicleEditor .editStock{box-shadow:none;border-color:#1b2d43;background:#091522;margin:9px 0}.deleteVehicle{background:transparent;border:0;color:#ff7c7c;font-weight:700}.currentRecord{display:flex;flex-direction:column;gap:4px;border-color:#315d91}.currentRecord small{font-size:10px;color:#68aef7;font-weight:900}.currentRecord span,.recordRow small{color:#8093aa}.recordRow{width:100%;display:flex;justify-content:space-between;align-items:center;color:#fff;text-align:left;margin-bottom:10px}.recordRow div{display:flex;flex-direction:column;gap:4px}.recordRow strong{font-size:24px}
@media(max-width:360px){.editGrid{grid-template-columns:1fr}.editStock{grid-template-columns:50px 1fr 1fr}}
.vehicleStock{grid-template-columns:58px 1fr!important}.vehicleStock .lineTotal{grid-column:2!important}.vehicleRule{border-color:#5b4520;background:linear-gradient(180deg,#231d11,#14130f)}
.emptiesList{display:flex;flex-direction:column;gap:10px;margin:12px 0}.emptyEntry{display:grid;grid-template-columns:58px 1fr auto;gap:10px;align-items:end;background:#0b1726;border:1px solid #223850;border-radius:16px;padding:12px}.emptyEntry label{font-size:11px;color:#8fa2b9;font-weight:700}.emptyEntry .input{margin-top:5px}.existing{font-size:11px;color:#8fa2b9;padding-bottom:13px}.existing b{color:#fff}.modalIntro{font-size:12px;line-height:1.5}.currentRecord strong{margin-top:7px}.secondary{width:100%;padding:14px;border-radius:14px;color:#fff;font-weight:800}.inventoryBtn{cursor:pointer}.editCard{cursor:pointer}.recordRow{cursor:pointer}
@media(max-width:360px){.vehicleStock{grid-template-columns:50px 1fr!important}.emptyEntry{grid-template-columns:50px 1fr}.existing{grid-column:2;padding-bottom:0}}

/* V5: tarjetas de inventario con detalle y botón Editar independiente */
.inventoryCard{display:grid;grid-template-columns:1fr auto;align-items:stretch;border:1px solid var(--line);border-radius:18px;overflow:hidden}
.inventoryMain{min-width:0;display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:12px;text-align:left;border:0;padding:15px;color:#fff;background:transparent;cursor:pointer}
.inventoryMain span:nth-child(2){display:flex;flex-direction:column;gap:3px;min-width:0}
.inventoryMain b{font-size:14px}.inventoryMain small{color:#9fb2c9;font-size:11px;line-height:1.3}.inventoryMain strong{font-size:24px}
.inventoryEdit{align-self:stretch;min-width:72px;border:0;border-left:1px solid rgba(255,255,255,.12);background:rgba(255,255,255,.06);color:#fff;font-weight:900;cursor:pointer;padding:0 14px}
.inventoryEdit:active,.inventoryMain:active{background:rgba(255,255,255,.10)}
.accountsHeader{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin:14px 0}
.accountsHeader>div{background:#0d1c2d;border:1px solid #263c55;border-radius:14px;padding:12px;text-align:center}.accountsHeader span{display:block;color:var(--muted);font-size:10px}.accountsHeader b{display:block;font-size:23px;margin-top:4px}
.accountsTable{border:1px solid #243a52;border-radius:16px;overflow:hidden;margin-bottom:12px}.accountsRow{display:grid;grid-template-columns:1.2fr repeat(3,.8fr);gap:8px;align-items:center;padding:12px;border-bottom:1px solid #1d3046;text-align:center}.accountsRow:last-child{border-bottom:0}.accountsRow b{text-align:left}.accountsRow strong{font-size:17px}.accountsHead{background:#102238;color:#8fa6c0;font-size:10px;font-weight:800}.accountsHead span:first-child{text-align:left}.accountsNote{padding:10px 12px;border-radius:12px;background:#101d2b;color:#8fa3bb;font-size:11px;line-height:1.4}
.editChoiceGrid{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:14px}.editChoice{border:1px solid #29415e;background:#0d1c2d;color:#fff;border-radius:16px;padding:18px 12px;text-align:left;min-height:120px}.editChoice span{font-size:28px;display:block;margin-bottom:9px}.editChoice b{display:block;font-size:16px}.editChoice small{display:block;color:#91a5bc;margin-top:5px}
@media(max-width:360px){.inventoryCard{grid-template-columns:1fr}.inventoryEdit{min-height:44px;border-left:0;border-top:1px solid rgba(255,255,255,.12)}.inventoryMain{grid-template-columns:auto 1fr}.inventoryMain strong{grid-column:2;justify-self:start}.editChoiceGrid{grid-template-columns:1fr}}

/* Compra de pipetas a clientes */
.purchaseTypeGrid{margin-bottom:16px}
.purchaseType.activePurchase{outline:2px solid currentColor;transform:translateY(-1px)}
#purchasePreview{margin:14px 0 16px}
#purchasePreview p{margin:7px 0}
.accountsRow.general.detailed{grid-template-columns:1.05fr repeat(5,.85fr);font-size:11px;gap:5px;padding:11px 7px}
.accountsRow.general.detailed.accountsHead{font-size:8px;line-height:1.15}
.accountsRow.general.detailed strong{font-size:14px}
@media(max-width:420px){.accountsRow.general.detailed{font-size:10px;padding:10px 5px}.accountsRow.general.detailed.accountsHead{font-size:7px}.accountsRow.general.detailed strong{font-size:12px}}
