:root{--ink:#142c38;--muted:#617780;--line:#dce5e7;--bg:#f3f6f6;--green:#087d68;--nav:#102f3a;--gold:#eac36d}*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--ink);font:15px/1.5 system-ui,-apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif}a{color:var(--green);text-decoration:none}button,input,select,textarea{font:inherit}button,.button{display:inline-flex;align-items:center;justify-content:center;gap:8px;background:var(--green);color:white;border:0;border-radius:9px;padding:11px 18px;font-weight:650;cursor:pointer}.secondary{background:#e8f2ef;color:#176451}.danger{background:#a33b3b}button:hover,.button:hover{filter:brightness(.93)}:focus-visible{outline:3px solid #dbaa45;outline-offset:3px}input,select,textarea{width:100%;border:1px solid #cbd8dd;border-radius:8px;background:white;padding:10px;color:var(--ink)}input[type=checkbox]{width:auto}label{display:block;font-size:13px;font-weight:600;color:#425e69}label input,label select,label textarea{margin-top:6px}textarea{min-height:88px;resize:vertical}small,.muted{color:var(--muted)}.shell{display:grid;grid-template-columns:230px minmax(0,1fr);min-height:100vh}.sidebar{background:var(--nav);color:#d1e3e5;padding:27px 18px;position:sticky;top:0;height:100vh;display:flex;flex-direction:column}.brand{font-size:26px;font-weight:800;letter-spacing:-1.2px;color:inherit}.brand span{color:#73d5b9}.tag{font-size:10px;letter-spacing:2px;text-transform:uppercase;color:#9cb6bc;margin:0 0 30px}.sidebar nav{display:grid;gap:5px}.sidebar nav a{display:flex;align-items:center;gap:12px;color:#c2d4d8;padding:11px 12px;border-radius:8px;font-size:14px}.sidebar nav a.active{background:#23505a;color:white}.sidebar svg{width:18px;height:18px}.sidebar footer{margin-top:auto;padding:22px 10px 0}.pin{background:#204853;padding:14px;border-radius:10px;margin-bottom:22px}.pin strong{font-size:28px;letter-spacing:5px;display:block;color:#faf3cf}.pin small{color:#bed2d8}.main{padding:30px 40px;max-width:1600px;width:100%;margin:auto}.topbar{display:flex;justify-content:space-between;align-items:center;padding-bottom:26px;border-bottom:1px solid var(--line);margin-bottom:30px}.eyebrow{text-transform:uppercase;letter-spacing:1.6px;color:var(--green);font-size:11px;font-weight:750}.topbar h1{font-size:28px;margin:5px 0;font-weight:680;letter-spacing:-.7px}.avatar{background:#dcece7;color:var(--green);border-radius:50%;padding:10px 13px;font-weight:800}.identity{display:flex;gap:10px;align-items:center}.grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px}.metrics{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px;margin:22px 0}.card{background:white;border:1px solid var(--line);border-radius:13px;padding:24px;margin-bottom:20px;box-shadow:0 3px 7px #12302b03}.metrics .card{margin:0}.metric{font-size:27px;font-weight:700;letter-spacing:-.7px;margin:13px 0 4px}.card h2{font-size:18px;font-weight:680;margin:0 0 18px}.card h3{font-size:15px;margin:14px 0}.section-head{display:flex;align-items:center;justify-content:space-between;gap:15px;margin-bottom:16px}.section-head h2{margin:0}.fields{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:17px}.full{grid-column:1/-1}.actions{display:flex;gap:10px;align-items:center;flex-wrap:wrap;margin-top:20px}.filters{display:flex;align-items:end;gap:12px;flex-wrap:wrap}.filters label{flex:1;min-width:130px}.filters button{height:44px}.alert{border-radius:9px;padding:14px 18px;background:#e2f4eb;color:#1e684c;margin-bottom:20px}.alert.error{background:#fbe8e7;color:#952d31}.badge{display:inline-block;background:#e8f3ee;color:#28795c;border-radius:20px;padding:4px 10px;font-size:11px;font-weight:700}.badge.warn{background:#fcf0d6;color:#996e18}.table-wrap{overflow-x:auto}table{width:100%;border-collapse:collapse;font-size:13px}th{text-align:left;text-transform:uppercase;font-size:10px;letter-spacing:1px;color:#73838a;background:#f7f9f9}td,th{padding:13px 11px;border-bottom:1px solid #e9eeee;white-space:nowrap}td small{display:block}.num{text-align:right;font-variant-numeric:tabular-nums}progress{width:100%;height:8px;border:0;border-radius:9px;accent-color:var(--green)}progress::-webkit-progress-bar{background:#e6eeeb;border-radius:9px}progress::-webkit-progress-value{background:var(--green);border-radius:9px}.goal{padding:13px 0;border-bottom:1px solid var(--line)}.goal .section-head{margin-bottom:8px}.count-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.count-grid label{display:flex;justify-content:space-between;align-items:center;background:#f6f8f8;padding:9px;border-radius:7px}.count-grid input{width:85px;margin:0}.total-line{background:#e7f3ed;border-radius:8px;padding:15px 20px;margin:18px 0;display:flex;justify-content:space-between;font-weight:700}.chart{display:flex;align-items:end;gap:10px;height:220px;padding-top:15px;overflow-x:auto}.bar-group{min-width:44px;flex:1;text-align:center;font-size:10px;color:var(--muted)}.bar-track{height:165px;display:flex;align-items:end;justify-content:center}.bar{width:70%;height:100%;accent-color:var(--green);writing-mode:vertical-lr;transform:rotate(180deg)}.bar-group small{display:block;white-space:nowrap;font-size:9px}.empty{padding:35px 15px;text-align:center;color:var(--muted)}.auth{min-height:100vh;display:grid;grid-template-columns:1fr 1fr}.auth-aside{background:var(--nav);color:white;padding:60px;display:flex;flex-direction:column;justify-content:space-between}.auth-aside h1{font-size:48px;line-height:1.14;letter-spacing:-2px;max-width:470px}.auth-aside p{color:#b5ced3;max-width:400px}.auth-form{padding:50px;display:flex;align-items:center;justify-content:center}.auth-form .card{width:100%;max-width:460px;padding:35px}.stack>*+*{margin-top:16px}.install{max-width:900px;margin:50px auto;padding:0 20px}details{margin:12px 0}summary{cursor:pointer;font-weight:650}pre{white-space:pre-wrap;font:13px/1.7 ui-monospace,monospace}.inline-form{display:flex;gap:8px}.inline-form select{min-width:140px}.step{color:var(--green);font-weight:700}.hidden,[hidden]{display:none!important}.note{font-size:12px;color:var(--muted);margin:8px 0}.brand-logo{max-width:155px;max-height:50px;object-fit:contain}svg.icon{width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}.chart-table{margin-top:20px}.mobile-label{display:none}@media(max-width:1100px){.main{padding:24px}.metrics{grid-template-columns:repeat(2,1fr)}.count-grid{grid-template-columns:repeat(2,1fr)}}@media(max-width:760px){.shell{display:block}.sidebar{position:relative;height:auto;padding:15px}.sidebar nav{display:flex;overflow:auto}.sidebar nav a{white-space:nowrap}.sidebar footer{display:none}.sidebar .tag{margin:0 0 14px}.sidebar .pin{margin:10px 0;padding:8px}.pin strong{font-size:20px;display:inline}.main{padding:18px}.topbar{margin-bottom:18px}.topbar h1{font-size:23px}.grid,.fields{grid-template-columns:1fr}.metrics{gap:10px}.card{padding:18px}.metric{font-size:22px}.identity small{display:none}.auth{display:block}.auth-aside{padding:25px}.auth-aside h1{font-size:30px}.auth-aside .tag,.auth-aside footer{display:none}.auth-form{padding:20px}.count-grid{grid-template-columns:repeat(2,1fr)}.count-grid input{width:64px}.filters label{min-width:120px}}@media print{.sidebar,.topbar,.filters,form,.no-print{display:none}.shell{display:block}.main{padding:0}.card{break-inside:avoid;box-shadow:none}body{background:white}}
.card{min-width:0}.section-head h2{min-width:0}.badge{flex-shrink:0}@media(max-width:760px){.grid,.fields{grid-template-columns:minmax(0,1fr)}.topbar{gap:10px;flex-wrap:wrap}.identity{font-size:13px}.section-head{flex-wrap:wrap}.sidebar nav{max-width:100%}.sidebar nav a{flex-shrink:0}.chart{max-width:100%}}

/* Iconos de denominaciones: apertura, cierre y correcciones. */
.count-grid .denomination-row{gap:12px;padding:12px;border:1px solid #e1e9e7;background:#f8faf9;min-width:0}
.denomination-info{display:flex;align-items:center;gap:9px;min-width:0}
.denomination-icon{width:42px;height:42px;flex:0 0 42px}
.denomination-label{display:flex;flex-direction:column;gap:1px;white-space:nowrap}
.denomination-label small{font-size:10px;font-weight:500;letter-spacing:.3px}
.denomination-label strong{font-size:14px;color:var(--ink)}
.count-grid .denomination-row input{flex:0 0 76px;width:76px;min-height:44px;text-align:right}
@media(max-width:1100px){.count-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:600px){.count-grid{grid-template-columns:minmax(0,1fr)}.count-grid .denomination-row input{flex-basis:90px;width:90px}}
/* Avance de metas: el estado también se expresa con texto. */
.goal-progress{--goal-color:#c94d4d;accent-color:var(--goal-color)}
.goal-progress.near{--goal-color:#c48b17}.goal-progress.eligible{--goal-color:#22835b}.goal-progress.complete{--goal-color:#087b9b}
.goal-progress::-webkit-progress-value{background:var(--goal-color)}
.goal-progress::-moz-progress-bar{background:var(--goal-color)}
.goal-earned{display:flex;justify-content:space-between;align-items:center;gap:12px;flex-wrap:wrap;background:#f0f7f3;border-radius:9px;padding:12px 16px;margin-top:12px}
.goal-earned strong{font-size:22px;color:#17634c}.goal-progress-cell{min-width:165px}.goal-legend{display:flex;flex-wrap:wrap;gap:12px;font-size:12px;color:var(--muted)}

/* Registro y corrección de ventas — 1.2.0. */
#registro-venta,#ventas-hoy{scroll-margin-top:20px}.sale-entry .section-head h2,.daily-sales .section-head h2{margin-top:5px}
.sales-summary{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin:20px 0}
.sales-summary>div{background:#f2f7f5;border:1px solid #e1ebe5;border-radius:9px;padding:15px}
.sales-summary strong{display:block;font-size:23px;letter-spacing:-.5px;margin-top:5px}.sales-summary small{font-size:12px}
.payment-line{display:flex;justify-content:space-between;gap:14px;font-size:12px;line-height:1.8}.payment-line b{font-weight:600}
.daily-sales td{vertical-align:middle}.daily-sales td:nth-child(3){white-space:normal;min-width:120px;max-width:240px;overflow-wrap:anywhere}
.badge.neutral{background:#edf0f3;color:#61707c}.edit-sale-button{padding:8px 14px}
.existing-receipts{display:grid;gap:7px;padding:14px;background:#f4f7f6;border-radius:8px}
.receipt-picker{padding:16px;border:1px solid var(--line);border-radius:10px;background:#f8faf9;min-width:0}
.receipt-picker input{margin-top:8px;max-width:100%}.receipt-picker input::file-selector-button{font:inherit;background:#e8f2ef;color:#176451;border:0;border-radius:6px;padding:8px 12px;margin-right:10px;cursor:pointer}
.receipt-picker [data-receipt-status]{font-size:13px;color:#176451}.receipt-list{list-style:none;margin:0;padding:0;display:grid;gap:8px}
.receipt-list li{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:10px 12px;border:1px solid var(--line);border-radius:8px;background:white}
.receipt-list li>span{min-width:0;overflow-wrap:anywhere}.receipt-list strong,.receipt-list small{display:block;font-size:13px}.receipt-list button{flex-shrink:0;padding:8px 12px}
.receipt-error{color:#a33b3b;font-size:13px;overflow-wrap:anywhere}.receipt-error:empty{display:none}
@media(max-width:600px){.sales-summary{grid-template-columns:minmax(0,1fr)}.sales-summary>div{display:flex;justify-content:space-between;align-items:center;gap:10px}.sales-summary strong{font-size:20px;margin:0}.total-line{gap:12px;flex-wrap:wrap}}

/* Remisiones y catálogo. */
.remission-products{margin:8px 0;padding:16px;border:1px solid var(--line);border-radius:10px;min-width:0}
.remission-products legend{font-weight:700}.remission-item{display:grid;grid-template-columns:minmax(180px,2fr) minmax(70px,.6fr) minmax(90px,1fr) minmax(90px,1fr) auto;gap:12px;align-items:end;padding:14px 0;border-bottom:1px solid var(--line);margin-bottom:12px}
.remission-item>div strong,.remission-item>div small{display:block}.remission-item>div strong{padding:10px 0}.remission-item select{max-width:100%}.remission-document .brand-logo{max-width:230px}.remission-document .fields p{margin:8px 0}
@media(max-width:1100px){.remission-item{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}.remission-item>label:first-child{grid-column:1/-1}.remission-item button{grid-column:1/-1}}
@media print{.main.remission-detail>:not(.remission-document){display:none}.remission-document{border:0;padding:0}.remission-document table{min-width:0}.remission-document .table-wrap{overflow:visible}.remission-document .fields{grid-template-columns:repeat(3,1fr)}.remission-document .total-line{font-size:22px}}
