:root{font:15px/1.45 system-ui,-apple-system,Segoe UI,sans-serif;color:#0d304d;background:#f1f6fa;--navy:#082c4d;--blue:#0b7cdd;--cyan:#0fb9d8;--line:#dbe6ef;--muted:#637c91;--amber:#ac6500;--red:#a9352e;--green:#187451}*{box-sizing:border-box}body{margin:0;padding-bottom:78px}button,input,select,textarea{font:inherit}button{cursor:pointer}button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:3px solid #e3a728;outline-offset:2px}.topbar{background:var(--navy);color:white;padding:11px max(16px,calc((100vw - 1050px)/2));display:flex;justify-content:space-between;align-items:center;gap:12px;position:sticky;top:0;z-index:10;box-shadow:0 4px 14px #0b2e4d22}.brand{display:flex;align-items:center;gap:9px;min-width:0}.brand img{width:36px;height:36px;object-fit:cover;border-radius:9px;background:white}.brand strong{display:block;font-size:17px;line-height:1.1;white-space:nowrap}.brand small{display:block;font-size:11px;color:#c3d9ea}.talk{border:0;border-radius:25px;background:#dff6ff;color:#073758;padding:9px 13px;font-weight:850;white-space:nowrap}.demo-banner{background:#d9effa;color:#164766;padding:8px 16px;font-size:11px;font-weight:800;letter-spacing:.02em;text-align:center}main{max-width:1050px;margin:auto;padding:18px 18px 32px}.bottom-nav{position:fixed;bottom:0;left:0;right:0;z-index:10;display:grid;grid-template-columns:repeat(6,1fr);background:white;border-top:1px solid #cbdbe8;box-shadow:0 -5px 15px #092f4d11;padding-bottom:env(safe-area-inset-bottom)}.bottom-nav button{border:0;background:white;color:#668196;min-height:66px;padding:6px 3px;font-size:10px;font-weight:700}.bottom-nav button b{display:block;font-size:19px;line-height:1.1;margin-bottom:3px}.bottom-nav button.active{color:#0875c8;background:#f1f9ff}.page-head{display:flex;align-items:end;justify-content:space-between;gap:10px;margin:4px 0 14px}.page-head h1{font-size:26px;letter-spacing:-.04em;line-height:1.15;margin:0}.page-head p{color:var(--muted);font-size:13px;margin:4px 0 0}.page-head .eyebrow{font-size:11px;color:#1376be;font-weight:850;letter-spacing:.1em;text-transform:uppercase}.section-head{display:flex;align-items:center;justify-content:space-between;gap:10px;margin:23px 0 10px}.section-head h2{font-size:18px;margin:0;letter-spacing:-.025em}.section-head span{font-size:12px;color:var(--muted)}.hero{background:linear-gradient(130deg,#0b3152,#0c537b);border-radius:17px;color:white;padding:20px;box-shadow:0 8px 21px #093b5d20}.hero h1{font-size:26px;line-height:1.13;margin:7px 0}.hero p{color:#d1e6f1;font-size:13px;margin:0 0 15px}.hero .chip{font-size:10px;letter-spacing:.08em;color:#9aeaff;font-weight:850}.row-actions,.actions{display:flex;flex-wrap:wrap;gap:9px}.btn{border:1px solid transparent;border-radius:10px;padding:10px 13px;font-size:13px;font-weight:800;min-height:41px}.btn.blue{background:var(--blue);color:white}.btn.white{background:white;color:#0c578a;border-color:#cbdfea}.btn.dark{background:var(--navy);color:white}.btn.ghost{background:#edf5fb;color:#125888;border-color:#cfdeea}.btn.warn{background:#fff3de;color:#835300;border-color:#f1d9a7}.btn.full{width:100%}.kpis{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin:16px 0}.kpi{background:white;border:1px solid var(--line);border-radius:13px;padding:13px;box-shadow:0 4px 14px #0b36520a}.kpi .label{font-size:10px;color:#5f798d;font-weight:800;letter-spacing:.04em;text-transform:uppercase}.kpi strong{display:block;font-size:21px;letter-spacing:-.04em;margin-top:4px;white-space:nowrap}.kpi small{display:block;color:var(--muted);font-size:10px;margin-top:3px}.grid-2{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.card{background:white;border:1px solid var(--line);border-radius:14px;padding:16px;box-shadow:0 5px 17px #092e4b0d}.card h3{font-size:17px;margin:0 0 4px;letter-spacing:-.025em}.card p{margin:5px 0;color:#60798d}.card.clickable{cursor:pointer}.card-head{display:flex;justify-content:space-between;align-items:start;gap:10px}.tag{display:inline-block;font-size:10px;color:#52728a;letter-spacing:.07em;text-transform:uppercase;font-weight:850}.pill{border-radius:100px;padding:5px 9px;background:#e2f4ec;color:#177350;font-size:11px;font-weight:850;white-space:nowrap}.pill.soon{background:#fff1d5;color:#975f00}.pill.late{background:#ffe5e1;color:#ae372d}.pill.neutral{background:#edf2f5;color:#557185}.meta{font-size:12px;color:var(--muted)}.bigline{display:flex;align-items:baseline;gap:5px;margin:14px 0 8px}.bigline strong{font-size:28px;letter-spacing:-.06em}.bigline span{font-size:12px;color:var(--muted)}.facts{display:grid;grid-template-columns:repeat(3,1fr);gap:6px;margin:12px 0}.fact{background:#f7fafc;border:1px solid #e8eff4;border-radius:9px;padding:8px}.fact span{display:block;font-size:10px;color:#6d8292}.fact strong{display:block;font-size:11px;margin-top:3px}.meter{height:8px;background:#e9eff3;border-radius:100px;overflow:hidden}.meter i{display:block;height:100%;background:linear-gradient(90deg,#13b3dc,#087bd8);border-radius:100px}.meter.soon i{background:linear-gradient(90deg,#f1c13c,#e68c24)}.meter.late i{background:#d94e48}.meter-caption{display:flex;justify-content:space-between;font-size:10px;color:#718698;margin-top:5px}.list{display:grid;gap:9px}.list-row{display:flex;align-items:center;justify-content:space-between;gap:12px;background:white;border:1px solid var(--line);border-radius:11px;padding:12px 14px}.list-row strong{display:block;font-size:13px}.list-row small{display:block;color:var(--muted);font-size:11px}.list-row .amount{font-weight:850;white-space:nowrap}.muted{color:var(--muted)}.note{background:#e6f3fc;border:1px solid #c6e2f2;border-radius:11px;padding:12px 14px;font-size:12px;color:#235574;margin:13px 0}.note.warn{background:#fff6e6;border-color:#f0dfb9;color:#76511a}.note.success{background:#e7f6ee;border-color:#c6e8d7;color:#1c6a4a}.empty{border:1px dashed #b7cbd9;border-radius:13px;padding:20px;color:#688196;background:#fbfdff}.form{background:white;border:1px solid var(--line);border-radius:15px;padding:17px}.form h2{font-size:18px;margin:0 0 11px}.formgrid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.field label{display:block;font-size:11px;font-weight:800;color:#3f6179;margin-bottom:5px}.field input,.field select,.field textarea{display:block;width:100%;border:1px solid #bacddd;background:#fff;color:#102f49;border-radius:9px;padding:10px;min-height:41px}.field textarea{min-height:88px;resize:vertical}.field.wide{grid-column:1/-1}.form .actions{margin-top:15px}.minihead{font-size:12px;font-weight:850;color:#3b607a;margin:16px 0 7px}.segments{display:flex;gap:6px;overflow:auto;padding:2px 0 5px}.segments button{white-space:nowrap;border:1px solid #c3d7e5;border-radius:9px;background:white;color:#335f7b;padding:8px 11px;font-size:12px;font-weight:800}.segments button.active{background:#0c7bd5;color:white;border-color:#0c7bd5}.table-wrap{overflow-x:auto}.table{border-collapse:collapse;width:100%;font-size:12px}.table th,.table td{border-bottom:1px solid #e1eaf1;padding:8px 5px;text-align:left;vertical-align:top}.table th{font-size:10px;color:#628095;text-transform:uppercase}.table input{width:100%;min-width:60px;border:1px solid #c5d6e4;border-radius:7px;padding:7px}.table .description{min-width:120px}.table .numeric{max-width:86px}.total-line{display:flex;justify-content:space-between;gap:10px;border-top:1px solid #d8e4ed;padding:12px 0;font-weight:850}.total-line strong{font-size:20px}.preview{background:white;border:1px solid var(--line);border-radius:14px;padding:17px;margin:14px 0}.preview h2{margin:0 0 3px;font-size:20px}.preview .brandline{color:#0d67b5;font-size:11px;font-weight:850;letter-spacing:.08em}.preview ul{padding-left:20px}.preview li{margin:6px 0}.preview .grand{font-size:25px;font-weight:900;text-align:right;border-top:2px solid #0a416a;margin-top:12px;padding-top:10px}.preview .scope{font-size:12px;color:#5c7689;white-space:pre-wrap}.copybox{width:100%;min-height:110px;border:1px solid #b9ccdb;border-radius:8px;padding:10px;margin-top:9px}.receipt-preview{max-width:100%;max-height:320px;object-fit:contain;border-radius:9px;border:1px solid #d3e1ea;background:#f7fafc;display:block;margin:10px auto}.toast{position:fixed;bottom:85px;left:50%;transform:translateX(-50%);background:#092e4e;color:white;border-radius:10px;padding:10px 15px;z-index:30;max-width:min(90vw,450px);box-shadow:0 8px 25px #0b2e4a33;display:none;font-size:12px}.toast.show{display:block}.small{font-size:11px;color:var(--muted)}@media(max-width:700px){main{padding:15px 14px 25px}.kpis{grid-template-columns:repeat(2,1fr)}.grid-2{grid-template-columns:1fr}.hero{padding:17px}.page-head h1{font-size:23px}.facts{gap:5px}.fact{padding:7px}.fact strong{font-size:11px}}@media(max-width:390px){.brand strong{font-size:15px}.talk{padding:8px 9px}.bottom-nav button{font-size:9px}.bottom-nav button b{font-size:17px}.formgrid{grid-template-columns:1fr}.field.wide{grid-column:auto}}@media print{body{padding-bottom:0;background:white}.topbar,.demo-banner,.bottom-nav,.actions,.segments,.page-head,.note,.toast{display:none!important}main{max-width:none;padding:0}.preview{border:0;box-shadow:none;margin:0}}
/* Keep an empty receipt frame out of view and print only the quote preview. */
.receipt-preview[hidden]{display:none!important}
@media print{main>*:not(.preview){display:none!important}.preview{display:block!important}}

/* P07 REV2: marca legible en una cabecera de teléfono. */
.topbar{min-height:66px}
.brand{gap:11px}
.brand img{width:44px;height:44px;border-radius:12px;background:transparent;box-shadow:0 2px 8px #001b3270}
.brand strong{font-size:20px;letter-spacing:-.035em}
.brand small{font-size:10px;color:#bddcf0;letter-spacing:.01em}
@media(max-width:390px){.brand strong{font-size:18px}.brand img{width:42px;height:42px}}

/* P07 REV3: inicio de acciones rápidas y navegación con pictogramas claros. */
.quick-hero{min-height:160px}
.quick-hero h1{font-size:28px;max-width:450px;margin:12px 0 5px}
.quick-hero p{margin:0}
.quick-section{margin-top:19px}
.quick-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
.quick-tile{display:flex;flex-direction:column;align-items:flex-start;gap:5px;min-height:137px;padding:14px;border:1px solid var(--line);border-radius:15px;background:#fff;color:var(--navy);text-align:left;box-shadow:0 5px 16px #0b35500d}
.quick-tile.primary{background:#d9f4fa;border-color:#aee4f0}
.quick-tile .quick-icon{display:grid;place-items:center;width:34px;height:34px;border-radius:9px;background:#e7f3fa;color:#0a4e78;font-size:19px;margin-bottom:7px}
.quick-tile.primary .quick-icon{background:#10b8d8}
.quick-tile .quick-icon svg{width:23px;height:23px}
.quick-tile strong{font-size:16px;line-height:1.12}
.quick-tile small{font-size:11px;color:#5d7a8e;line-height:1.3}
.attention-card{display:flex;flex-direction:column;align-items:flex-start;gap:5px;background:#fff;border:1px solid var(--line);border-radius:14px;padding:16px;margin-top:13px}
.attention-card strong{font-size:17px}.attention-card p{font-size:12px;color:var(--muted);margin:0}
.attention-link{background:none;border:0;padding:5px 0;color:#0b6ab2;font-size:12px;font-weight:850}
.bottom-nav button svg{display:block;width:22px;height:22px;margin:0 auto 5px}
.bottom-nav button .nav-label{display:block;font-size:9px;line-height:1.12;letter-spacing:-.025em;white-space:nowrap}
@media(min-width:700px){.quick-grid{grid-template-columns:repeat(4,minmax(0,1fr))}}

/* P07 REV4: cierre físico y cobros separados. */
.closure-card{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin:0 0 13px}
.closure-card>div{display:flex;flex-direction:column;gap:5px;padding:15px;background:#fff;border:1px solid var(--line);border-radius:13px}
.closure-card strong{font-size:17px;line-height:1.2}.closure-card small{font-size:11px;color:var(--muted)}
.collection-card{margin-top:4px;font-weight:800;color:#0c669e}
.collection-kpis .due{border-color:#8bcde5;background:#ebfaff}
.movement-amount{display:flex;flex-direction:column;align-items:flex-end;gap:5px}
.movement-amount .btn{min-height:30px;padding:4px 9px;font-size:11px}
.movement.voided{opacity:.58}.movement.voided .amount{text-decoration:line-through}
.btn:disabled{opacity:.5;cursor:not-allowed}
@media(max-width:390px){.closure-card{grid-template-columns:1fr}}

/* P07 REV5: etapas entendibles y texto cotidiano. */
.work-steps{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:6px;margin:0 0 10px}
.work-steps span{display:grid;place-items:center;min-height:48px;text-align:center;border:1px solid #d1e1ec;border-radius:9px;background:#f4f8fb;color:#56758b;font-size:11px;font-weight:800;padding:5px}
.work-steps span.done{background:#dbf3e8;border-color:#a7d8c2;color:#126747}
@media(max-width:390px){.work-steps span{font-size:10px;padding:4px 2px}}
