:root{--ink:#142032;--nav:#0d1827;--green:#21c894;--green2:#0d8d69;--bg:#f2f5f7;--card:#fff;--muted:#667085;--line:#dde3e8;--red:#dc5b62;--amber:#e8a52b}
*{box-sizing:border-box}
body{margin:0;background:var(--bg);color:var(--ink);font:15px/1.45 Inter,Segoe UI,Arial,sans-serif}
.app{min-height:100vh;display:grid;grid-template-columns:238px 1fr}
aside{position:sticky;top:0;height:100vh;background:var(--nav);color:#e8eef5;padding:24px 16px;display:flex;flex-direction:column}
.brand{display:flex;gap:12px;align-items:center;padding:0 8px 26px}
.brand>span{display:grid;place-items:center;width:39px;height:39px;background:var(--green);color:#071a15;border-radius:12px;font-weight:900;font-size:21px}
.brand strong,.brand small{display:block}
.brand small{color:#8fa0b4;margin-top:2px}
.brand-logo{display:block;width:102px;height:42px;object-fit:contain;object-position:left center;filter:drop-shadow(0 7px 13px #00c99722)}
nav{display:grid;gap:7px}
nav button{border:0;background:transparent;color:#9dafc1;text-align:left;padding:12px 14px;border-radius:10px;font-size:15px;cursor:pointer;display:flex;align-items:center;gap:12px}
.nav-scene{display:block;flex:0 0 34px;width:34px;height:34px;object-fit:cover;border-radius:10px;background:#e8f6f1;box-shadow:inset 0 0 0 1px #ffffff55;transition:transform .18s ease,box-shadow .18s ease}nav button:hover .nav-scene,nav button.active .nav-scene{transform:translateY(-1px) scale(1.04);box-shadow:0 5px 14px #0ecb9a38}
nav button:hover,nav button.active{background:#19283a;color:white}
nav button.active{box-shadow:inset 3px 0 var(--green)}
.sidefoot{display:grid;gap:8px;margin-top:auto;color:#8fa0b4;font-size:12px}.system-local-state{display:flex;align-items:center;gap:8px}.ai-connection-state{display:grid;grid-template-columns:38px minmax(0,1fr);align-items:center;gap:8px;min-height:46px;padding:4px 8px 4px 4px;border:1px solid #ffffff12;border-radius:13px;background:linear-gradient(135deg,#ffffff0b,#0ed09c08)}.ai-status-art{position:relative;display:block;width:38px;height:38px}.ai-status-art img{display:block;width:100%;height:100%;object-fit:contain;filter:saturate(.72) brightness(.82)}.ai-status-art i{position:absolute;right:0;bottom:1px;width:10px;height:10px;border:2px solid #10283c;border-radius:50%;background:#e45f67;box-shadow:0 0 10px #e45f6788}.ai-connection-state b{color:#c8d3df;font-size:10px;line-height:1.25;font-weight:780}.ai-connection-state.is-online{border-color:#31d6a32b;background:linear-gradient(135deg,#28d4a414,#0ed09c08)}.ai-connection-state.is-online .ai-status-art img{filter:saturate(1.06) brightness(1.05) drop-shadow(0 0 6px #25d4a755)}.ai-connection-state.is-online .ai-status-art i{background:#2bd3a2;box-shadow:0 0 11px #2bd3a2cc}.ai-connection-state.is-online b{color:#9df0d5}
.live{display:inline-block;width:8px;height:8px;border-radius:50%;background:var(--green);margin-right:8px;box-shadow:0 0 9px var(--green)}
main{min-width:0}
header{height:96px;background:white;border-bottom:1px solid var(--line);padding:20px 34px;display:flex;align-items:center;justify-content:space-between}
header p{font-size:11px;letter-spacing:.15em;color:var(--green2);font-weight:800;margin:0 0 3px}
h1{margin:0;font-size:27px}
#clock{font-weight:650;color:#465467}
@media(max-width:700px){header{height:auto;min-height:112px;padding:17px 20px;display:grid;grid-template-columns:minmax(0,1fr);align-content:center;justify-items:start;gap:7px}header>div:first-child{min-width:0}#clock{position:static;max-width:100%;font-size:14px;line-height:1.2;white-space:normal}}
#content{padding:28px 34px;max-width:1500px;margin:auto}
.metrics{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;margin-bottom:22px}
.metric,.panel{background:var(--card);border:1px solid var(--line);border-radius:14px}
.metric{padding:20px}
.metric small{color:var(--muted);font-weight:650}
.metric strong{display:block;font-size:29px;margin-top:7px}
.metric em{font-style:normal;color:var(--green2);font-size:12px}
.grid2{display:grid;grid-template-columns:1.5fr 1fr;gap:18px}
.panel{padding:20px;margin-bottom:18px}
.panelhead{display:flex;align-items:center;justify-content:space-between;margin-bottom:15px}
.panelhead h2{margin:0;font-size:18px}
.panelhead p{margin:3px 0 0;color:var(--muted);font-size:13px}
button.primary,.primary{background:var(--green);border:0;color:#072219;font-weight:750;padding:10px 15px;border-radius:9px;cursor:pointer}
button.secondary{background:white;border:1px solid var(--line);color:var(--ink);font-weight:650;padding:9px 13px;border-radius:9px;cursor:pointer}
button.danger{background:#fff0f0;color:#b33940;border:1px solid #ffd0d2;padding:8px 12px;border-radius:8px}
table{width:100%;border-collapse:collapse}
th{text-align:left;color:var(--muted);font-size:11px;letter-spacing:.08em;padding:10px;border-bottom:1px solid var(--line)}
td{padding:12px 10px;border-bottom:1px solid #edf0f2;vertical-align:middle}
tbody tr:last-child td{border:0}
.tag{display:inline-flex;padding:5px 8px;border-radius:99px;background:#edf1f4;color:#4d5d6e;font-size:11px;font-weight:750}
.tag.green{background:#daf8ed;color:#087252}
.tag.amber{background:#fff0cf;color:#8f5b00}
.tag.red{background:#ffe3e4;color:#a33137}
.empty{text-align:center;padding:42px 20px;color:var(--muted)}
.toolbar{display:flex;gap:10px;align-items:center}
.toolbar input,.toolbar select{padding:10px 12px;border:1px solid var(--line);border-radius:9px;background:white}
.product-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(210px,1fr));gap:13px}
.product{border:1px solid var(--line);border-radius:12px;padding:15px;background:white}
.product h3{margin:0 0 5px}
.product .price{font-size:22px;font-weight:800;margin:12px 0}
.stock{color:var(--muted);font-size:13px}
.sale-layout{display:grid;grid-template-columns:1.5fr .85fr;gap:18px}
.cart{position:sticky;top:120px}
.cartline{display:grid;grid-template-columns:1fr auto auto;gap:10px;padding:10px 0;border-bottom:1px solid var(--line)}
.total{display:flex;justify-content:space-between;font-size:22px;font-weight:850;margin:18px 0}
dialog{border:0;border-radius:16px;padding:0;width:min(680px,92vw);box-shadow:0 28px 80px #0a172844}
dialog::backdrop{background:#07111dcc;backdrop-filter:blur(3px)}
dialog form{padding:26px;position:relative}
.x{position:absolute;right:16px;top:12px;border:0;background:transparent;font-size:27px;color:#77818c;cursor:pointer}
.formgrid{display:grid;grid-template-columns:1fr 1fr;gap:14px}
.formgrid .wide{grid-column:1/-1}
label{display:grid;gap:6px;font-size:13px;font-weight:650;color:#435266}
input,select,textarea{width:100%;padding:11px 12px;border:1px solid #ccd4dc;border-radius:9px;font:inherit;color:var(--ink);background:white}
textarea{resize:vertical}
.actions{display:flex;justify-content:flex-end;gap:9px;margin-top:20px}
#toast{position:fixed;right:25px;bottom:25px;background:#112439;color:white;padding:13px 17px;border-radius:10px;opacity:0;transform:translateY(10px);transition:.2s;pointer-events:none}
#toast.show{opacity:1;transform:none}
#toast.in-dialog{position:absolute;z-index:10000;right:22px;bottom:22px;left:auto;max-width:min(430px,calc(100% - 44px));border:1px solid #ffffff38;box-shadow:0 18px 44px #07172466;white-space:normal}#toast.in-dialog.is-error{background:#a33137!important}dialog:has(#toast.in-dialog){position:relative}
.paycards{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,200px),1fr));gap:12px}
.paycard{min-width:0;overflow:hidden;padding:16px;border-left:4px solid var(--green);background:white;border-radius:10px;border-top:1px solid var(--line);border-right:1px solid var(--line);border-bottom:1px solid var(--line)}
.paycard strong{display:block;max-width:100%;margin-top:6px;font-size:clamp(20px,2.1vw,28px);line-height:1.15;letter-spacing:-.025em;overflow-wrap:anywhere}
@media(max-width:900px){.app{grid-template-columns:1fr}
aside{position:static;height:auto;padding:14px}
.brand{padding-bottom:12px}
nav{display:flex;overflow:auto}
.sidefoot{display:none}
header{padding:18px 20px}
#content{padding:20px}
.metrics,.paycards{grid-template-columns:repeat(2,1fr)}
.grid2,.sale-layout{grid-template-columns:1fr}
.cart{position:static}
}
@media(max-width:560px){.metrics,.paycards,.formgrid{grid-template-columns:1fr}
.formgrid .wide{grid-column:auto}
#clock{display:block}
table{display:block;overflow:auto}
}
.partline{grid-template-columns:1fr auto auto auto!important;align-items:center}
.cost-compare{background:#102034;color:white;border-radius:14px;padding:17px 18px;margin-bottom:18px}
.compare-head{display:flex;justify-content:space-between;gap:16px;flex-wrap:wrap;font-size:13px}
.compare-head b{display:block;font-size:18px;margin-left:18px}
.compare-head i{display:inline-block;width:10px;height:10px;border-radius:3px;margin-right:8px}
.cost-dot,.cost-bar{background:#ffb547}
.cost-dot.is-under,.cost-bar.is-under{background:#f6bd3c}
.cost-dot.is-exact,.cost-bar.is-exact{background:#27d3a2}
.cost-dot.is-over,.cost-bar.is-over{background:#ef4d5a}
.charge-dot,.charge-bar{background:#22d3a0}
.compare-track{height:22px;background:#28394d;border-radius:99px;position:relative;overflow:hidden;margin-top:14px}
.compare-track>div{position:absolute;left:0;top:0;height:100%;border-radius:99px}
.charge-bar{opacity:.9}
.cost-bar{height:10px!important;top:6px!important;box-shadow:0 0 0 2px #102034}
.manage-tabs{display:flex;gap:6px;border-bottom:1px solid var(--line);margin:18px 0}
.manage-tab{border:0;background:transparent;color:var(--muted);font-weight:750;padding:11px 14px;cursor:pointer;border-bottom:3px solid transparent}
.manage-tab.active{color:var(--green2);border-bottom-color:var(--green)}
.tab-count{display:inline-grid;place-items:center;min-width:21px;height:21px;margin-left:5px;padding:0 6px;border-radius:99px;background:#e7edf1;font-size:12px}
.manage-tab.active .tab-count{background:#daf8ed}
.manage-pane{display:none}
.manage-pane.active{display:block}
@media(max-width:560px){.partline{grid-template-columns:1fr auto!important}.partline .danger{grid-column:1/-1}.compare-head{display:grid}.manage-tab{flex:1;padding-inline:7px}}
.partline .icon-delete{width:30px;height:30px;padding:0;border-radius:50%;display:grid;place-items:center;font-size:22px;line-height:1;font-weight:500;cursor:pointer;grid-column:auto!important}
.payment-warning{background:#fff4e5;border:1px solid #ffd699;color:#7a4800;border-radius:11px;padding:13px 15px;margin:14px 0}.payment-warning b,.payment-warning small{display:block}.payment-warning small{margin-top:3px}
.receipt-preview{border:1px dashed #aeb9c4;border-radius:12px;padding:16px;margin:16px 0;background:#f8fafb}.receipt-preview>b,.receipt-preview>span{display:block;text-align:center}.receipt-preview>span{color:var(--muted);margin:3px 0 12px}.receipt-preview>div{display:flex;justify-content:space-between;gap:18px;padding:7px 0;border-top:1px solid #e8ecef}.receipt-preview small{color:var(--muted)}.receipt-preview strong{text-align:right}
.sale-cartline{display:grid;grid-template-columns:minmax(120px,1fr) 72px 112px auto;gap:9px;align-items:end;padding:11px 0;border-bottom:1px solid var(--line)}.sale-cartline label{font-size:11px}.sale-cartline input{padding:8px}.sale-cartline>b{align-self:center;text-align:right}@media(max-width:560px){.sale-cartline{grid-template-columns:1fr 70px 105px}.sale-cartline>b{grid-column:1/-1;text-align:right}}

/* Pulido visual: energía sutil para una herramienta de trabajo diaria */
body{background:radial-gradient(circle at 82% 0,#dff8f0 0,transparent 25rem),linear-gradient(180deg,#f6f9fa 0,#eef3f5 100%)}
aside{background:linear-gradient(180deg,#122238 0,#0a1422 72%,#07111d 100%);box-shadow:12px 0 35px #10223812}
.brand>span{background:linear-gradient(145deg,#39e0ad,#18b985);box-shadow:0 8px 22px #21c89445;transform:rotate(-3deg)}
nav button{display:flex;align-items:center;gap:11px;transition:background .2s,color .2s,transform .2s,box-shadow .2s}
nav button:hover{transform:translateX(3px)}
nav button::before{display:grid;place-items:center;width:27px;height:27px;border-radius:8px;background:#ffffff0d;color:#7eeac8;font-weight:800;font-size:12px;flex:0 0 auto}
nav button[data-view="dashboard"]::before{content:"⌂"}nav button[data-view="orders"]::before{content:"R"}nav button[data-view="sale"]::before{content:"$"}nav button[data-view="inventory"]::before{content:"I"}nav button[data-view="purchases"]::before{content:"C"}nav button[data-view="closing"]::before{content:"✓"}nav button[data-view="settings"]::before{content:"⚙"}
nav button.active::before{background:var(--green);color:#072219;box-shadow:0 5px 14px #21c89435}
header{background:#ffffffd9;backdrop-filter:blur(14px);box-shadow:0 5px 24px #1525350a}
#content{animation:content-in .3s ease both}
@keyframes content-in{from{opacity:0;transform:translateY(7px)}to{opacity:1;transform:none}}
.metric,.panel{box-shadow:0 10px 30px #2032460a;transition:transform .22s ease,box-shadow .22s ease,border-color .22s ease}
.metric{position:relative;overflow:hidden;border-top-color:#cfeee4}
.metric::after{content:"";position:absolute;inset:auto -25px -35px auto;width:86px;height:86px;border-radius:50%;background:linear-gradient(135deg,#21c89418,#21c89405)}
.metric:hover,.panel:hover{box-shadow:0 16px 38px #20324613;border-color:#ced8df}.metric:hover{transform:translateY(-2px)}
.metric strong{background:linear-gradient(110deg,var(--ink),#168867);background-clip:text;-webkit-background-clip:text;color:transparent}
button.primary,.primary{background:linear-gradient(135deg,#27d5a1,#18b985);box-shadow:0 7px 18px #21c8942b;transition:transform .16s ease,box-shadow .16s ease,filter .16s ease}
button.primary:hover,.primary:hover{transform:translateY(-1px);box-shadow:0 10px 23px #21c89442;filter:saturate(1.08)}
button.primary:active,.primary:active{transform:translateY(1px)}
button.secondary{transition:border-color .18s ease,background .18s ease,transform .18s ease}button.secondary:hover{border-color:#9fd9c7;background:#f5fffb;transform:translateY(-1px)}
input:focus,select:focus,textarea:focus{outline:3px solid #21c89420;border-color:#25bd90;box-shadow:0 0 0 1px #25bd9040}
tbody tr{transition:background .16s ease}tbody tr:hover{background:#f3fbf8}
.product{transition:transform .2s ease,box-shadow .2s ease,border-color .2s ease}.product:hover{transform:translateY(-3px);border-color:#a9dfcf;box-shadow:0 13px 25px #12392812}
.action-tile{position:relative;overflow:hidden;transition:transform .2s ease,box-shadow .2s ease}.action-tile::after{content:"";position:absolute;right:-35px;bottom:-45px;width:120px;height:120px;border-radius:50%;background:#21c89413}.action-tile:hover{box-shadow:0 16px 32px #0c19252b!important}
.tag{border:1px solid #dce4e9}.tag.green{border-color:#b8ecd9}.tag.amber{border-color:#f3d99e}.tag.red{border-color:#f3bdc0}
dialog{animation:dialog-in .2s ease both;border:1px solid #ffffff80}dialog::backdrop{animation:backdrop-in .2s ease both}
@keyframes dialog-in{from{opacity:0;transform:translateY(10px) scale(.985)}to{opacity:1;transform:none}}@keyframes backdrop-in{from{opacity:0}to{opacity:1}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{animation-duration:.01ms!important;transition-duration:.01ms!important;scroll-behavior:auto!important}}
.grid2>*{min-width:0}.panel,.paycards,.paycard{min-width:0}
.settings-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:18px}.technician-list{margin-top:18px;border-top:1px solid var(--line)}.technician-row{display:grid;grid-template-columns:38px minmax(110px,1fr) auto;align-items:center;gap:11px;padding:12px 2px;border-bottom:1px solid #edf1f3}.technician-row small{display:block;color:var(--muted);margin-top:2px}.technician-row.is-inactive{opacity:.65}.technician-actions{display:flex;align-items:center;justify-content:flex-end;gap:7px;flex-wrap:wrap}.technician-actions .secondary{padding:7px 10px}.technician-actions .icon-delete{width:30px;height:30px;padding:0;border-radius:50%;font-size:21px}.tag.gray{background:#edf0f3;color:#596575}.tech-avatar{display:grid;place-items:center;width:36px;height:36px;border-radius:11px;background:linear-gradient(135deg,#daf8ed,#bdeedc);color:#087252;font-weight:850}@media(max-width:900px){.settings-grid{grid-template-columns:1fr}}@media(max-width:560px){.technician-row{grid-template-columns:38px 1fr}.technician-actions{grid-column:1/-1;justify-content:flex-start;padding-left:49px}}
.unlock-control{display:grid;grid-template-columns:1fr;gap:8px;width:100%}.unlock-control>*{width:100%;min-width:0}.unlock-control .draw-pattern{min-height:44px}.unlock-control .pattern-summary{color:var(--muted)}.pattern-overlay{position:fixed;inset:0;z-index:20;display:grid;place-items:center;padding:20px;background:#071321b8;backdrop-filter:blur(3px)}.pattern-card{width:min(390px,calc(100vw - 32px));padding:22px;border-radius:22px;background:#fff;box-shadow:0 24px 70px #07132166}.pattern-title{display:flex;align-items:flex-start;justify-content:space-between;gap:16px}.pattern-title h3{margin:0;font-size:22px}.pattern-title p{margin:5px 0 0;color:var(--muted)}.pattern-close{border:0;background:transparent;color:#718091;font-size:28px;line-height:1;cursor:pointer}.pattern-board{position:relative;display:grid;grid-template-columns:repeat(3,1fr);width:270px;height:270px;margin:20px auto;touch-action:none}.pattern-board svg{position:absolute;inset:0;width:100%;height:100%;pointer-events:none;overflow:visible}.pattern-board polyline{fill:none;stroke:#22c897;stroke-width:8;stroke-linecap:round;stroke-linejoin:round;opacity:.8}.pattern-node{position:relative;z-index:1;display:grid;place-items:center;border:0;background:transparent;cursor:crosshair}.pattern-node span{width:24px;height:24px;border:5px solid #8290a0;border-radius:50%;background:#fff;transition:.15s}.pattern-node.selected span{width:31px;height:31px;border-color:#16a87d;background:#22c897;box-shadow:0 0 0 8px #22c89722}.pattern-feedback{text-align:center;min-height:24px;color:#506071;font-weight:700}.pattern-actions{display:flex;justify-content:flex-end;gap:10px;margin-top:14px}.repair-edit{margin-top:16px;border-top:1px solid var(--line);padding-top:14px}.repair-edit summary{cursor:pointer;color:#116f59;font-weight:800;margin-bottom:14px}.internal-notes-field textarea{min-height:110px;background:#fffef6;border-color:#e8dba8}.internal-notes{margin-top:16px;padding:14px;border-radius:12px;background:#fffbea;border:1px solid #eadba4}.internal-notes p{margin:6px 0 0;white-space:pre-wrap}.saved-pattern{display:flex;align-items:center;justify-content:space-between;gap:18px;margin-top:16px;padding:14px 16px;border-radius:14px;background:#0f2033;color:#fff}.saved-pattern small{display:block;color:#b9c8d6;margin-top:4px}.saved-pattern svg{width:118px;height:118px;flex:0 0 118px}.saved-pattern polyline{fill:none;stroke:#34d6a4;stroke-width:5;stroke-linecap:round;stroke-linejoin:round}.saved-pattern marker path{fill:#34d6a4}.saved-pattern circle{fill:#fff;stroke:#75879a;stroke-width:3}.saved-pattern circle.used{fill:#34d6a4;stroke:#34d6a4}.saved-pattern text{font-size:9px;font-weight:900;text-anchor:middle;fill:#08251d}@media(max-width:560px){.pattern-board{width:240px;height:240px}.saved-pattern{align-items:flex-start}.saved-pattern svg{width:100px;height:100px;flex-basis:100px}}
.saved-pattern{padding:14px 18px;background:linear-gradient(145deg,#f8fbfc,#eef5f5);color:#172436;border:1px solid #dbe6e8;box-shadow:none}.pattern-copy{display:flex;align-items:center;gap:11px}.pattern-icon{display:grid;place-items:center;width:36px;height:36px;border-radius:11px;background:#d9f8ee;color:#07815e;font-size:24px;font-weight:900}.saved-pattern small{color:#6b7886;margin-top:3px}.pattern-phone{padding:6px;border-radius:18px;background:#101f31;box-shadow:inset 0 0 0 1px #ffffff15,0 5px 14px #1020331c}.saved-pattern svg{display:block;width:126px;height:126px}.saved-pattern line{stroke:#37d5a5;stroke-width:3.5;stroke-linecap:round}.saved-pattern .direction{fill:#d8fff3}.saved-pattern circle{fill:#f8fbfd;stroke:#728296;stroke-width:3}.saved-pattern circle.used{fill:#37d5a5;stroke:#37d5a5}.saved-pattern text{font-size:8px;font-weight:900;text-anchor:middle;fill:#092b21}@media(max-width:560px){.saved-pattern{align-items:center}.saved-pattern svg{width:108px;height:108px}}
.module-launcher{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;margin-bottom:22px}.module-tile{display:grid;grid-template-columns:52px 1fr auto;align-items:center;gap:13px;min-height:102px;padding:18px;text-align:left;border:1px solid #dfe7ea;border-radius:17px;background:#fff;color:#162336;box-shadow:0 8px 24px #1020330a;cursor:pointer;transition:.18s}.module-tile:hover{transform:translateY(-3px);border-color:#9edcca;box-shadow:0 14px 32px #10203314}.module-tile>span{display:grid;place-items:center;width:50px;height:50px;border-radius:14px;background:#e0f8f0;color:#087c5c;font-size:22px;font-weight:900}.module-tile strong{display:block;font-size:17px}.module-tile small{display:block;margin-top:4px;color:var(--muted)}.module-tile i{font-style:normal;color:#8b9aaa;font-size:28px}.module-tile.repairs>span{background:#e2edff;color:#2868bb}.module-tile.inventory>span{background:#fff1d8;color:#a46809}.module-tile.admin>span{background:#eee8ff;color:#6a47b8}.module-menu-head{display:flex;align-items:center;gap:14px;padding-bottom:18px;border-bottom:1px solid var(--line)}.module-menu-head>span{display:grid;place-items:center;width:48px;height:48px;border-radius:14px;background:#dff8ef;color:#087b5b;font-size:22px;font-weight:900}.module-menu-head h2,.module-menu-head p{margin:0}.module-menu-head p{margin-top:4px;color:var(--muted)}.module-menu-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin-top:18px}.module-action{display:grid;grid-template-columns:42px 1fr;align-items:center;gap:11px;min-height:100px;padding:15px;text-align:left;border:1px solid #dce6e9;border-radius:14px;background:linear-gradient(145deg,#fbfdfd,#f2f7f7);color:#162336;cursor:pointer}.module-action:hover{border-color:#45cba2;background:#f1fcf8}.module-action>span{grid-row:1/3;display:grid;place-items:center;width:42px;height:42px;border-radius:12px;background:#112439;color:#35d5a5;font-size:19px;font-weight:900}.module-action b{align-self:end;font-size:15px}.module-action small{align-self:start;color:var(--muted);line-height:1.3}@media(max-width:1050px){.module-launcher{grid-template-columns:repeat(2,1fr)}}@media(max-width:720px){.module-menu-grid{grid-template-columns:1fr}}@media(max-width:560px){.module-launcher{grid-template-columns:1fr}.module-tile{min-height:86px}}
.picker-search,.serial-scan-box{display:flex;gap:10px;margin:16px 0}.picker-search input,.serial-scan-box input{flex:1}.product-picker-list{display:grid;gap:8px;max-height:420px;overflow:auto}.product-pick{display:flex;align-items:center;justify-content:space-between;gap:14px;width:100%;padding:13px 15px;text-align:left;border:1px solid var(--line);border-radius:12px;background:#f8fbfc;color:#172436;cursor:pointer}.product-pick:hover{border-color:#35c99d;background:#effbf7}.product-pick small{display:block;color:var(--muted);margin-top:3px}.serialized-choice small{display:block;color:var(--muted);margin-top:5px}.serialized-line{grid-template-columns:1fr 100px 130px 110px 38px}.serial-line-tools{grid-column:1/-1;display:flex;align-items:center;justify-content:space-between;gap:12px;padding:11px 13px;border-radius:11px;background:#eef8f6;border:1px solid #cdece3}.serial-line-tools small{display:block;color:var(--muted);margin-top:3px}.serial-chip-list{display:flex;flex-wrap:wrap;gap:8px;margin:14px 0}.serial-chip{display:inline-flex;align-items:center;gap:7px;padding:8px 10px;border-radius:999px;background:#e2f7f0;color:#0a674e;font-weight:750}.serial-chip button{border:0;background:transparent;color:#a33137;font-size:18px;cursor:pointer}.serialized-product{border-color:#bfe9dd}.serial-lookup-panel{grid-column:1/-1;margin-top:18px}.serial-history{display:grid;grid-template-columns:1.4fr 1fr 1fr;gap:18px;align-items:center;padding:15px 4px;border-top:1px solid var(--line)}.serial-history h3{margin:8px 0 3px}.serial-history small,.serial-history span{display:block;color:var(--muted);margin-top:3px}@media(max-width:700px){.picker-search,.serial-scan-box{flex-direction:column}.serial-history{grid-template-columns:1fr}.serialized-line{grid-template-columns:1fr auto}.serial-line-tools{align-items:flex-start;flex-direction:column}}
.purchase-detail-items{margin-top:8px;border-top:1px solid var(--line)}.purchase-detail-heading{display:flex;align-items:center;justify-content:space-between;gap:14px;margin:16px 0 4px}.purchase-detail-heading h3{margin:0}.purchase-detail-line{display:grid;grid-template-columns:1fr 150px 110px 38px;gap:13px;align-items:center;padding:13px 0;border-bottom:1px solid var(--line)}.purchase-detail-line small,.purchase-detail-line em{display:block;color:var(--muted);margin-top:4px;font-style:normal}.purchase-detail-line em{color:#08775a;font-weight:700}.purchase-detail-line label{font-size:13px}.delete-purchase-item{width:36px;height:36px;border:1px solid #ffc9cb;border-radius:10px;background:#fff1f1;color:#c33;font-size:22px;cursor:pointer}.delete-purchase-item:hover{background:#ffe2e3}.view-purchase{white-space:nowrap}@media(max-width:650px){.purchase-detail-heading{align-items:stretch;flex-direction:column}.purchase-detail-line{grid-template-columns:1fr auto}.purchase-detail-line label{grid-column:1/-1}.purchase-detail-line strong{text-align:right}}
.pending-line{background:#f0fbf7;border-radius:12px;padding-left:10px;padding-right:10px}
.invoice-drop{padding:22px;border:2px dashed #bdd7d1;border-radius:14px;background:#f6fbfa}.invoice-drop input{margin-top:10px}.invoice-drop small{display:block;margin-top:8px;color:var(--muted)}.invoice-summary{display:grid;grid-template-columns:repeat(2,1fr);gap:10px;margin:18px 0}.invoice-summary span{padding:13px;border:1px solid var(--line);border-radius:12px}.invoice-summary small,.invoice-summary b{display:block}.invoice-summary small{color:var(--muted);margin-bottom:4px}.invoice-read-line{display:flex;justify-content:space-between;gap:15px;padding:13px 0;border-bottom:1px solid var(--line)}.invoice-read-line small{display:block;color:var(--muted);margin-top:4px}.invoice-warning{padding:14px;border-radius:12px;background:#fff5df;color:#825b0b}.ocr-text{max-height:220px;overflow:auto;white-space:pre-wrap;background:#102235;color:#dcebe7;padding:14px;border-radius:12px;font-size:12px}@media(max-width:650px){.invoice-summary{grid-template-columns:1fr}}
.reader-badge{display:inline-flex;margin:0 0 8px;padding:7px 10px;border-radius:999px;background:#e4f7f1;color:#08765a;font-size:13px;font-weight:800}
.invoice-read-line.is-ambiguous{margin:8px 0;padding:13px 14px;border:2px solid #efa932;border-radius:12px;background:#fff8e8}.invoice-read-line.is-ambiguous small{color:#76520e}.ambiguous-badge{display:inline-flex;margin-top:8px;padding:5px 9px;border-radius:999px;background:#f7b942;color:#533700;font-size:12px;font-style:normal;font-weight:850}.invoice-read-line.is-ambiguous strong{color:#815800}
.invoice-drag-help{display:grid;gap:3px;margin:8px 0 7px;padding:11px 13px;border:1px dashed #77cdb6;border-radius:11px;background:#effaf7;color:#12634f}.invoice-drag-help small{color:#5b746d}.invoice-read-line.invoice-draggable{align-items:center;border-radius:10px;cursor:grab;transition:background .16s,border-color .16s,box-shadow .16s,transform .16s}.invoice-read-line.invoice-draggable:active{cursor:grabbing}.invoice-drag-handle{flex:0 0 auto;color:#159575;font-size:23px;line-height:1}.invoice-read-line.invoice-draggable>span:nth-child(2){min-width:0;flex:1}.invoice-read-line.is-dragging{opacity:.42;transform:scale(.985)}.invoice-read-line.is-drop-target{padding-inline:12px;border:2px dashed #16a77d;background:#e7faf4;box-shadow:0 8px 22px #0a75521c}.invoice-read-line.is-drop-target::after{content:"Soltar para unificar";flex:0 0 auto;padding:5px 8px;border-radius:999px;background:#0b8e69;color:#fff;font-size:10px;font-weight:900}
.invoice-merge-overlay{width:100%;max-width:none;height:100%;max-height:none;margin:0;padding:20px;border:0;background:transparent;place-items:center;overflow:auto}.invoice-merge-overlay[open]{display:grid}.invoice-merge-overlay::backdrop{background:#071b2b99;backdrop-filter:blur(6px)}.invoice-merge-card{width:min(590px,100%);padding:24px;border:1px solid #b8ded4;border-radius:22px;background:linear-gradient(145deg,#fff,#f0faf7);box-shadow:0 28px 80px #06182766;animation:invoiceMergeIn .18s ease-out}.invoice-merge-icon{display:grid;place-items:center;width:52px;height:52px;margin-bottom:12px;border-radius:16px;background:linear-gradient(145deg,#1bc99a,#0c9370);color:#fff;font-size:27px;font-weight:950;box-shadow:0 10px 25px #0a9e7535}.invoice-merge-copy>small{color:#087b5c;font-size:11px;font-weight:950;letter-spacing:.13em}.invoice-merge-copy h2{margin:5px 0 4px;color:#142a3e}.invoice-merge-copy p{margin:0;color:#647787}.invoice-merge-products{display:grid;grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);align-items:center;gap:10px;margin:18px 0;padding:14px;border:1px solid #d5e7e2;border-radius:15px;background:#fff}.invoice-merge-products span{min-width:0}.invoice-merge-products b,.invoice-merge-products small{display:block;overflow-wrap:anywhere}.invoice-merge-products small{margin-top:5px;color:#738391}.invoice-merge-products i{display:grid;place-items:center;width:30px;height:30px;border-radius:50%;background:#e1f8f1;color:#07805f;font-style:normal;font-weight:950}.invoice-merge-result{display:grid;grid-template-columns:repeat(3,1fr);gap:9px}.invoice-merge-result span{padding:12px;border-radius:12px;background:#112f43;color:#fff}.invoice-merge-result small,.invoice-merge-result b{display:block}.invoice-merge-result small{color:#a9c1cd;font-size:10px}.invoice-merge-result b{margin-top:4px;font-size:15px}.invoice-merge-actions{display:flex;justify-content:flex-end;gap:10px;margin-top:20px}.invoice-merge-actions button{min-width:130px}@keyframes invoiceMergeIn{from{opacity:0;transform:translateY(12px) scale(.98)}}@media(max-width:560px){.invoice-merge-card{padding:18px}.invoice-merge-products{grid-template-columns:1fr}.invoice-merge-products i{justify-self:center}.invoice-merge-result{grid-template-columns:1fr}.invoice-merge-actions{flex-direction:column-reverse}.invoice-merge-actions button{width:100%}}
.purchase-line.ambiguous-purchase-line{padding:13px;border:2px solid #efa932;border-radius:13px;background:#fff8e8}.ambiguous-purchase-line label>em{display:table;margin:5px 0 8px}.ambiguous-confirm{grid-column:1/-1;display:flex!important;align-items:center;gap:9px;padding:9px 11px;border-radius:9px;background:#fff1c9;color:#654400;font-weight:800}.ambiguous-confirm input{width:auto!important}
.createInvoiceProduct{width:100%;margin-top:7px;padding:9px 11px;border:1px dashed #18a77e;border-radius:9px;background:#ecfbf6;color:#087557;font-weight:850;cursor:pointer}.createInvoiceProduct:hover{background:#daf7ed;border-style:solid}
.purchaseProductSearch{margin:8px 0 6px;background:#fff;border-color:#9fd8c8}.purchaseProductSearch:focus{outline:3px solid #2ac79b26;border-color:#18a77e}
.invoice-product-field{min-width:0}.purchaseProductMatches{width:100%;max-height:250px;overflow-y:auto;overflow-x:hidden;margin:0 0 8px;padding:6px;border:1px solid #b8d9d0;border-radius:11px;background:#fff;box-shadow:0 8px 22px #10233814}.purchaseProductMatches button{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:10px;width:100%;padding:10px;border:0;border-bottom:1px solid #edf1f2;background:#fff;color:#172436;text-align:left;cursor:pointer}.purchaseProductMatches button span{min-width:0;overflow-wrap:anywhere;line-height:1.35}.purchaseProductMatches button:hover{background:#eaf9f4;color:#087557}.purchaseProductMatches button small{padding:5px 8px;border-radius:7px;background:#dff7ef;color:#087557;font-weight:850}.no-product-match{padding:14px;color:var(--muted);text-align:center}.assistedProductSelect{display:none}
.invoice-product-field>small{display:block;margin-top:5px;line-height:1.35;overflow-wrap:anywhere}.invoice-read-product{color:#53687b}.invoice-selected-product{padding:7px 9px;border:1px solid #a9ddce;border-radius:9px;background:#eaf9f4;color:#087458}.invoice-average-note{color:#65798a;font-size:11px}.purchase-line>label:not(.invoice-product-field){min-width:0}.purchase-line>label:not(.invoice-product-field) input{min-height:52px}.purchase-line>b{align-self:end;min-height:52px;display:flex;align-items:center}.purchase-line>.removePurchase{align-self:end!important;margin-bottom:5px}
.inventory-serialized-row{cursor:pointer;transition:background .16s,box-shadow .16s}.inventory-serialized-row:hover,.inventory-serialized-row:focus{outline:none;background:#eaf9f4!important;box-shadow:inset 4px 0 #17af83}.inventory-serialized-row td:nth-child(2) b::after{content:"Ver seriales";display:inline-block;margin-left:8px;padding:4px 7px;border-radius:999px;background:#dff7ef;color:#087557;font-size:9px;font-weight:900;vertical-align:2px}.inventory-serial-head{display:flex;align-items:center;gap:14px;padding-bottom:17px;border-bottom:1px solid var(--line)}.inventory-serial-head>span{display:grid;place-items:center;width:50px;height:50px;border-radius:15px;background:#dff8ef;color:#087b5b;font-size:24px}.inventory-serial-head small{color:#07805f;font-size:10px;font-weight:950;letter-spacing:.12em}.inventory-serial-head h2,.inventory-serial-head p{margin:3px 0 0}.inventory-serial-head p{color:var(--muted)}.inventory-serial-summary{display:grid;grid-template-columns:repeat(2,1fr);gap:10px;margin:17px 0}.inventory-serial-summary span{padding:13px;border-radius:12px;background:#112f43;color:#fff}.inventory-serial-summary small,.inventory-serial-summary b{display:block}.inventory-serial-summary small{color:#abc1cc}.inventory-serial-summary b{margin-top:4px;font-size:17px}.inventory-serial-help{margin:-5px 0 12px;color:var(--muted);font-size:12px}.inventory-serial-list{display:grid;gap:8px;max-height:360px;overflow:auto}.inventory-serial-entry{display:grid;grid-template-columns:34px minmax(0,1fr) auto;align-items:center;gap:10px;width:100%;padding:12px 13px;border:1px solid #d7e7e3;border-radius:11px;background:#fff;color:#172436;text-align:left;cursor:pointer}.inventory-serial-entry:hover,.inventory-serial-entry:focus{outline:none;border-color:#51c9a7;background:#effbf7;box-shadow:0 7px 18px #0b785516}.inventory-serial-entry>span{display:grid;place-items:center;width:30px;height:30px;border-radius:9px;background:#e6f8f2;color:#087b5b;font-size:11px;font-weight:900}.inventory-serial-entry>b{font-family:ui-monospace,SFMono-Regular,Consolas,monospace;letter-spacing:.04em}.inventory-serial-entry>em{padding:5px 8px;border-radius:999px;background:#def7ee;color:#087458;font-size:10px;font-style:normal;font-weight:900}@media(max-width:560px){.inventory-serial-summary{grid-template-columns:1fr}.inventory-serial-entry{grid-template-columns:30px 1fr}.inventory-serial-entry>em{grid-column:2;justify-self:start}}

/* Paleta funcional: cada área tiene color sin perder contraste */
:root{--blue:#3978d4;--blue-soft:#eaf2ff;--purple:#7957c8;--purple-soft:#f1edff;--orange:#d98918;--orange-soft:#fff3dc;--cyan:#148da3;--cyan-soft:#e5f7fa}
body{background:radial-gradient(circle at 76% -8%,#cdeee8 0,transparent 31rem),radial-gradient(circle at 18% 105%,#dbe7ff 0,transparent 34rem),linear-gradient(145deg,#edf6f8,#eef2fa 55%,#f8f2ff);background-attachment:fixed}
header{background:linear-gradient(105deg,#f8fffded 0,#edf7ffed 55%,#f6f0ffed 100%);border-bottom-color:#cfdde7}
.panel{background:linear-gradient(145deg,#ffffff 0,#f5fbff 100%);border-color:#d4e3ea}
.grid2>.panel:nth-child(2n),.settings-grid>.panel:nth-child(2n){background:linear-gradient(145deg,#ffffff 0,#f8f4ff 100%);border-color:#dfd7f0}
.metrics .metric:nth-child(4n+1){background:linear-gradient(145deg,#f7fffc,#e7f9f2);border-color:#bfe9da}.metrics .metric:nth-child(4n+2){background:linear-gradient(145deg,#f8fbff,#e8f1ff);border-color:#c7daf8}.metrics .metric:nth-child(4n+3){background:linear-gradient(145deg,#fffcf6,#fff0d5);border-color:#f0d49f}.metrics .metric:nth-child(4n){background:linear-gradient(145deg,#fcfaff,#f0eaff);border-color:#dbcef7}
.metrics .metric:nth-child(4n+2) em{color:#315fa9}.metrics .metric:nth-child(4n+3) em{color:#9a6109}.metrics .metric:nth-child(4n) em{color:#6a49aa}
.paycard:nth-child(1){background:linear-gradient(145deg,#f5fffb,#e5f8f0);border-left-color:var(--green)}.paycard:nth-child(2){background:linear-gradient(145deg,#f7faff,#e6efff);border-left-color:var(--blue)}.paycard:nth-child(3){background:linear-gradient(145deg,#fffbf3,#fff0d5);border-left-color:var(--orange)}.paycard:nth-child(4){background:linear-gradient(145deg,#fbf8ff,#efe8ff);border-left-color:var(--purple)}
.module-tile.sales{background:linear-gradient(145deg,#ffffff,#e9faf4);border-color:#bce7d8}.module-tile.repairs{background:linear-gradient(145deg,#ffffff,#eaf2ff);border-color:#c7daf8}.module-tile.inventory{background:linear-gradient(145deg,#ffffff,#fff2db);border-color:#efd39e}.module-tile.admin{background:linear-gradient(145deg,#ffffff,#f1ecff);border-color:#d9cdf5}
.product:nth-child(4n+1){background:linear-gradient(145deg,#fff,#effbf7);border-color:#cae9df}.product:nth-child(4n+2){background:linear-gradient(145deg,#fff,#eef4ff);border-color:#d1def5}.product:nth-child(4n+3){background:linear-gradient(145deg,#fff,#fff5e5);border-color:#eedab5}.product:nth-child(4n){background:linear-gradient(145deg,#fff,#f4efff);border-color:#dfd4f4}
thead{background:linear-gradient(90deg,#eaf7f3,#edf3fc)}th{color:#40566d}tbody tr:nth-child(even){background:#f8fbfd80}
.purchase-line,.sale-cartline{padding:12px;border:1px solid #dbe6eb;border-radius:12px;background:linear-gradient(135deg,#ffffff,#f3f9fc)}.purchase-line:nth-child(even){background:linear-gradient(135deg,#ffffff,#f7f3ff)}
dialog{background:linear-gradient(145deg,#ffffff 0,#f3f8fb 100%)}input,select,textarea{background:#ffffffde}
.invoice-drop{background:linear-gradient(145deg,#f3fffb,#eaf5ff);border-color:#7fcdb8}.receipt-preview{background:linear-gradient(145deg,#fbfdff,#edf5f9)}
.variant-tools{margin:16px 0;padding:14px;border:1px solid #b9dfd4;border-radius:13px;background:#f1fbf8}.variant-tools>b,.variant-tools>small{display:block}.variant-tools>small{margin:4px 0 10px;color:var(--muted)}.variant-tools>div{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:10px 0;border-top:1px solid #d4ebe5}.variant-tools span{font-size:13px;color:#425461}.variant-tools button{flex:0 0 auto;padding:8px 11px;border:1px solid #18a77e;border-radius:9px;background:#fff;color:#087557;font-weight:850;cursor:pointer}@media(max-width:650px){.variant-tools>div{align-items:stretch;flex-direction:column}.variant-tools button{width:100%}}

/* Punto de venta: búsqueda rápida, carrito despejado y resumen fijo */
.sale-workspace{display:grid;grid-template-columns:minmax(0,1.55fr) minmax(300px,.7fr);gap:20px;align-items:start}
.sale-entry{padding:24px}.sale-search-head,.sale-cart-head{display:flex;align-items:center;justify-content:space-between;gap:16px}.sale-search-head>div,.sale-cart-head>div{display:grid;grid-template-columns:auto 1fr;column-gap:11px;align-items:center}.sale-search-head h2,.sale-cart-head h2{margin:0;font-size:20px}.sale-search-head p{grid-column:2;margin:2px 0 0;color:var(--muted)}.sale-step{grid-row:1/3;display:grid;place-items:center;width:32px;height:32px;border-radius:10px;background:#dff8ef;color:#087657;font-weight:900}.sale-count{padding:7px 11px;border-radius:99px;background:#edf4ff;color:#3265a8;font-size:12px;font-weight:850}
.sale-searchbox{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:10px;margin-top:18px;padding:5px 7px 5px 15px;border:2px solid #b9dcd3;border-radius:14px;background:#fff;box-shadow:0 8px 24px #18394a0b}.sale-searchbox:focus-within{border-color:#22bd91;box-shadow:0 0 0 4px #21c89418}.sale-searchbox>span{color:#159776;font-size:24px}.sale-searchbox input{border:0;padding:12px 4px;box-shadow:none!important;outline:0!important;font-size:16px}.sale-searchbox kbd{padding:7px 10px;border:1px solid #dce5e8;border-radius:8px;background:#f5f8f9;color:#71808e;font:700 11px/1 inherit}
.sale-results-wrap{display:none;margin-top:9px;border:1px solid #cadbd7;border-radius:14px;background:#fff;overflow:hidden;box-shadow:0 16px 35px #10243616}.sale-results-wrap.open{display:block}.sale-results-title{display:flex;justify-content:space-between;gap:12px;padding:10px 14px;background:#f3faf8;border-bottom:1px solid #dce9e5}.sale-results-title small{color:var(--muted)}.sale-result-list{max-height:310px;overflow-y:auto;overscroll-behavior:contain;padding:6px;scrollbar-color:#8fcfbd #edf5f2}.sale-result{display:grid;grid-template-columns:36px minmax(0,1fr) auto auto auto;align-items:center;gap:12px;width:100%;padding:11px 12px;border:0;border-bottom:1px solid #edf1f2;background:#fff;color:var(--ink);text-align:left;cursor:pointer}.sale-result:last-child{border-bottom:0}.sale-result:hover,.sale-result:focus{background:#eaf9f4;outline:0}.result-icon{display:grid;place-items:center;width:34px;height:34px;border-radius:10px;background:#dcf7ed;color:#087759;font-size:19px;font-weight:900}.result-copy{min-width:0}.result-copy b,.result-copy small{display:block}.result-copy small{margin-top:2px;color:var(--muted);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.result-stock{color:#5c6c79;font-size:12px}.sale-result strong{font-size:15px}.result-action{padding:7px 9px;border-radius:8px;background:#12263b;color:#fff;font-size:11px;font-weight:800}
.sale-cart-head{margin:26px 0 10px;padding-top:21px;border-top:1px solid var(--line)}.sale-cart-head>small{color:var(--muted)}.sale-cart-lines .empty{padding:38px 15px;border:1px dashed #cbd8dd;border-radius:13px;background:#f8fbfc}.sale-cart-lines .sale-cartline{margin-bottom:9px;border-bottom:1px solid #dbe6eb}.sale-cart-lines .sale-cartline:last-child{margin-bottom:0}
.sale-summary{position:sticky;top:116px;padding:25px;background:linear-gradient(155deg,#12263b 0,#0c1c2d 100%);border-color:#1b344c;color:#fff;box-shadow:0 18px 45px #0b1d2d26}.sale-summary:hover{border-color:#254866}.summary-kicker{color:#55ddb4;font-size:11px;letter-spacing:.14em;font-weight:900}.sale-summary h2{margin:6px 0 0;font-size:16px;color:#c9d6e2}.summary-total{margin:8px 0 22px;font-size:42px;line-height:1;font-weight:900;letter-spacing:-.04em}.summary-breakdown{padding:14px 0;border-top:1px solid #ffffff18;border-bottom:1px solid #ffffff18;margin-bottom:18px}.summary-breakdown>div{display:flex;justify-content:space-between;gap:15px;padding:6px 0;color:#adc0cf}.summary-breakdown b{color:#fff}.sale-summary label{margin-top:13px;color:#c5d2de}.sale-summary input,.sale-summary select{border-color:#385069;background:#192f45;color:#fff}.sale-charge{display:flex;align-items:center;justify-content:space-between;gap:12px;width:100%;margin-top:20px;padding:14px 16px!important;font-size:14px}.sale-charge b{font-size:18px}.sale-charge:disabled{opacity:.48;cursor:not-allowed;transform:none!important}.summary-note{display:block;margin-top:12px;color:#8297a8;text-align:center}
@media(max-width:980px){.sale-workspace{grid-template-columns:1fr}.sale-summary{position:static}.sale-result{grid-template-columns:36px minmax(0,1fr) auto auto}.result-stock{display:none}}
@media(max-width:600px){.sale-entry,.sale-summary{padding:17px}.sale-search-head,.sale-cart-head{align-items:flex-start;flex-direction:column}.sale-searchbox kbd,.result-action{display:none}.sale-result{grid-template-columns:34px minmax(0,1fr) auto;gap:9px}.summary-total{font-size:36px}}

.sale-cart-lines .sale-cartline{grid-template-columns:minmax(120px,1fr) 72px 112px auto 34px}.remove-cart-item{align-self:center;display:grid;place-items:center;width:31px;height:31px;padding:0;border:1px solid #ffc7ca;border-radius:50%;background:#fff0f1;color:#c83942;font-size:21px;line-height:1;cursor:pointer}.remove-cart-item:hover{background:#ffdfe1;border-color:#f39ba0}
.cash-assistant{margin:18px 0;padding:17px;border:1px solid #b9ded3;border-radius:15px;background:linear-gradient(145deg,#f7fffc,#edf9f5)}.cash-total{display:flex;align-items:center;justify-content:space-between;margin-bottom:13px;color:#42566a}.cash-total b{font-size:22px;color:#102438}.cash-assistant label{color:#34495d}.cash-assistant input{font-size:20px;font-weight:850;background:#fff}.cash-change{margin-top:14px;padding:17px;border-radius:13px;background:linear-gradient(135deg,#18b985,#29d7a4);color:#06251b;text-align:center;box-shadow:0 10px 25px #1fc5962b}.cash-change small,.cash-change strong,.cash-change span{display:block}.cash-change small{font-weight:900;letter-spacing:.1em}.cash-change strong{margin:4px 0;font-size:35px;line-height:1}.cash-change span{font-weight:750}.cash-change.waiting{background:#e9eef2;color:#526272;box-shadow:none}.cash-change.short{background:linear-gradient(135deg,#ffcf75,#f2a83c);color:#4d3100}
.mixed-assistant{margin:18px 0;padding:17px;border:1px solid #c9d5ec;border-radius:15px;background:linear-gradient(145deg,#f8faff,#eef3ff)}.mixed-fields{display:grid;grid-template-columns:1fr 1fr;gap:11px}.mixed-fields input{font-size:17px;font-weight:800;background:#fff}.mixed-balance{margin-top:14px;padding:16px;border-radius:13px;text-align:center;background:#e9eef2;color:#526272}.mixed-balance small,.mixed-balance strong,.mixed-balance span{display:block}.mixed-balance small{font-weight:900;letter-spacing:.1em}.mixed-balance strong{margin:4px 0;font-size:32px}.mixed-balance.short{background:linear-gradient(135deg,#ffcf75,#f2a83c);color:#4d3100}.mixed-balance.complete{background:linear-gradient(135deg,#18b985,#29d7a4);color:#06251b;box-shadow:0 10px 25px #1fc5962b}
.payment-method-label{margin-top:16px}.payment-method-label>select[hidden]{display:none}.payment-method-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin-top:3px}.payment-method{display:flex;align-items:center;gap:9px;min-height:51px;padding:8px 10px;border:1px solid #3b536a;border-radius:11px;background:#172d42;color:#b8c8d5;text-align:left;cursor:pointer;transition:.16s}.payment-method:hover{border-color:#63cdb0;background:#1b384d}.payment-method span{display:grid;place-items:center;width:31px;height:31px;border-radius:9px;background:#ffffff0d;color:#78e1c1;font-size:16px;font-weight:900}.payment-method b{font-size:12px}.payment-method.active{border-color:#32d2a2;background:linear-gradient(135deg,#1fc694,#159a75);color:#06271d;box-shadow:0 7px 18px #21c89436}.payment-method.active span{background:#ffffff35;color:#05251b}.payment-method:last-child{grid-column:1/-1;justify-content:center}.payment-method:last-child span{background:#7957c8;color:#fff}.payment-method:last-child.active{background:linear-gradient(135deg,#8865d4,#6646b3);border-color:#aa92e4;color:#fff}.payment-method:last-child.active span{background:#ffffff29;color:#fff}
.payment-method-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.payment-method:last-child{grid-column:auto;justify-content:flex-start}.payment-method:last-child span{background:#ffffff0d;color:#78e1c1}.payment-method:last-child.active{background:linear-gradient(135deg,#1fc694,#159a75);border-color:#32d2a2;color:#06271d}.payment-method:last-child.active span{background:#ffffff35;color:#05251b}@media(max-width:520px){.payment-method-grid{grid-template-columns:1fr}.payment-method{justify-content:flex-start}}
.payment-method span{width:40px;height:36px}.payment-method span svg{display:block;width:29px;height:23px;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}.payment-method span svg .fill{fill:currentColor;stroke:none}.payment-method b{font-size:13px}
.payment-method-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.payment-method{min-width:0;justify-content:flex-start;overflow:hidden}.payment-method b{min-width:0;overflow-wrap:anywhere;line-height:1.15}.payment-method:last-child{grid-column:1/-1;justify-content:center}.payment-method:last-child span{background:#ffffff0d;color:#78e1c1}.payment-method:last-child.active span{background:#ffffff35;color:#05251b}
@media(max-width:600px){.sale-cart-lines .sale-cartline{grid-template-columns:1fr 70px 100px 34px}.sale-cart-lines .sale-cartline>b{grid-column:1/-1;text-align:right}.remove-cart-item{grid-column:4;grid-row:1}}
@media(max-width:520px){.mixed-fields{grid-template-columns:1fr}}
.modal-error{display:grid;gap:4px;margin:14px 0 4px;padding:13px 15px;border:1px solid #f2aeb2;border-left:5px solid #d6424b;border-radius:11px;background:#fff0f1;color:#8d252b}.modal-error b{font-size:14px}.modal-error span{font-size:13px;line-height:1.4}#toast{z-index:9999}
.action-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;margin-bottom:22px}.action-tile{background:linear-gradient(145deg,#13243a,#0d1827);color:white;border:0;border-radius:15px;padding:22px;text-align:left;cursor:pointer;min-height:126px;box-shadow:0 10px 24px #0c19251a}.action-tile:hover{transform:translateY(-2px)}.action-tile span{display:grid;place-items:center;width:42px;height:42px;border-radius:11px;background:#21c894;color:#09231b;font-size:21px;font-weight:900;margin-bottom:15px}.action-tile strong{font-size:17px}.action-tile small{display:block;color:#a9b7c6;margin-top:4px}.purchase-line{display:grid;grid-template-columns:1fr 100px 130px 110px 38px;gap:10px;align-items:end;margin-bottom:10px}@media(max-width:900px){.action-grid{grid-template-columns:repeat(2,1fr)}.purchase-line{grid-template-columns:1fr 80px 100px}.purchase-line>*:nth-child(4){display:none}}@media(max-width:560px){.action-grid{grid-template-columns:1fr}}
#modal:has(.receipt-success){width:min(570px,92vw);padding:0;overflow:hidden}.receipt-success{display:flex;align-items:center;gap:14px;padding:24px 26px 18px;background:linear-gradient(135deg,#effcf7,#f7fffc)}.receipt-success-icon{display:grid;place-items:center;width:50px;height:50px;flex:0 0 50px;border-radius:50%;background:linear-gradient(135deg,#21cf9a,#13a979);color:#fff;font-size:25px;font-weight:900;box-shadow:0 9px 22px #1ebc8d35}.receipt-success small{color:#118260;font-size:10px;letter-spacing:.15em;font-weight:900}.receipt-success h2{margin:2px 0 0;font-size:23px}.receipt-success p{margin:3px 0 0;color:var(--muted)}.receipt-ticket{margin:0 26px;border:1px solid #d6e3e7;border-radius:14px;background:#fff;overflow:hidden;box-shadow:0 9px 25px #1932440b}.receipt-ticket-head{display:flex;align-items:center;justify-content:space-between;gap:18px;padding:17px 19px;background:#11253a;color:#fff}.receipt-ticket-head span>small,.receipt-ticket-head span>b{display:block}.receipt-ticket-head small{color:#9eb1c2;font-size:11px}.receipt-ticket-head b{margin-top:3px}.receipt-ticket-total{text-align:right}.receipt-ticket-total b{color:#48dfaF;font-size:25px}.receipt-ticket-lines{padding:8px 19px 12px}.receipt-ticket-lines>div{display:flex;justify-content:space-between;gap:16px;padding:9px 0;border-bottom:1px solid #edf1f3}.receipt-ticket-lines>div:last-child{border-bottom:0}.receipt-ticket-lines span{color:#687789}.receipt-ticket-lines strong{text-align:right}.receipt-ticket-lines .is-change{margin:5px -8px 0;padding:11px 8px;border:0;border-radius:9px;background:#e7faf3;color:#087556}.receipt-ticket-lines .is-change span{color:#087556;font-weight:800}.receipt-choice{padding:18px 26px 24px}.receipt-choice>span{display:block;margin-bottom:12px;color:#617080;text-align:center}.receipt-choice .actions{margin:0;justify-content:center}.receipt-choice button{min-height:44px}@media(max-width:520px){.receipt-success{padding:21px 18px 15px}.receipt-ticket{margin-inline:18px}.receipt-choice{padding:17px 18px 21px}.receipt-choice .actions{display:grid}.receipt-choice button{width:100%}}
#modal:has(.cash-assistant),#modal:has(.mixed-assistant){width:min(620px,94vw);padding:22px}.receipt-preview{margin:14px 0;border:1px solid #d5e0e5;border-radius:14px;padding:0;background:#fff;overflow:hidden;box-shadow:0 8px 24px #1630430b}.receipt-preview>b{padding:15px 17px 2px;text-align:left;font-size:16px}.receipt-preview>span{margin:0;padding:0 17px 13px;text-align:left;color:#728091;font-size:12px}.receipt-preview>div{margin:0;padding:9px 17px;border-top:1px solid #edf1f3}.receipt-preview>div small{font-size:13px;color:#687789}.receipt-preview>div strong{font-size:14px}.receipt-preview>div:nth-last-child(2){margin:5px 8px;padding:12px 10px;border:0;border-radius:10px;background:#e8faf4}.receipt-preview>div:nth-last-child(2) small,.receipt-preview>div:nth-last-child(2) strong{color:#087556;font-weight:900}.receipt-preview>div:last-child{border-top:1px solid #e4e9ec;background:#f7f9fa}@media(max-width:560px){#modal:has(.cash-assistant),#modal:has(.mixed-assistant){width:96vw;padding:16px}.receipt-preview>div{padding:8px 12px}}

/* Sistema visual unificado: inspirado en el recibo de venta */
:root{--navy:#10263c;--navy-2:#18354d;--mint:#20c997;--mint-dark:#078260;--mint-soft:#e9faf4;--surface:#ffffff;--surface-soft:#f6fafb;--page:#edf4f6;--text-soft:#6d7c90;--soft-border:#d6e2e7;--shadow:0 16px 42px #17304712}
body{background:radial-gradient(circle at 8% 0,#dff8ef 0,transparent 27rem),radial-gradient(circle at 100% 100%,#dfeaff 0,transparent 34rem),linear-gradient(145deg,#eef6f7,#f4f7fa 58%,#f6f2fb);color:#132237}
header{height:104px;padding:22px 36px;background:linear-gradient(120deg,#f0fcf8f2,#ffffffed 55%,#f2f7ffed);border-bottom:1px solid #dbe7e8;box-shadow:0 8px 30px #1730470b}header p{color:var(--mint-dark);letter-spacing:.17em}h1{font-size:29px;letter-spacing:-.025em}
#content{padding:30px 36px 44px}.panel,.metric{border:1px solid var(--soft-border);border-radius:20px;background:linear-gradient(150deg,#fff,#fbfdfe);box-shadow:var(--shadow)}.panel{padding:24px;margin-bottom:20px}.panelhead{margin-bottom:20px}.panelhead h2{font-size:20px;letter-spacing:-.015em}.panelhead p{margin-top:5px;color:var(--text-soft)}
.metric{padding:21px 22px;border-top:1px solid var(--soft-border);overflow:hidden}.metric::before{content:"";position:absolute;left:0;top:0;bottom:0;width:5px;background:var(--mint)}.metric strong{font-size:31px}.metric small{color:#617185}.metric em{font-weight:750}
button.primary,.primary{min-height:43px;padding:10px 17px;border-radius:12px;background:linear-gradient(135deg,#28d5a2,#17b886);color:#06251b;box-shadow:0 9px 22px #20c9972c;font-weight:850}button.secondary{min-height:41px;padding:9px 15px;border-color:#d2dee4;border-radius:12px;background:#fff;box-shadow:0 4px 12px #17304708}button.danger{border-radius:11px}
input,select,textarea{min-height:44px;padding:11px 13px;border-color:#cbd8df;border-radius:12px;background:#fff;font-weight:600}textarea{min-height:92px}label{gap:7px;color:#42536a;font-weight:750}.toolbar{padding:10px;border:1px solid #dce7ea;border-radius:14px;background:#f7fafb}.toolbar input,.toolbar select{border-radius:10px}
table{border:1px solid #dce5e9;border-radius:14px;border-collapse:separate;border-spacing:0;overflow:hidden;background:#fff}thead{background:linear-gradient(100deg,var(--navy),var(--navy-2))}th{padding:12px 13px;border:0;color:#c7d5e0;font-size:10px;letter-spacing:.11em}td{padding:13px;border-bottom-color:#e9eef1}tbody tr:nth-child(even){background:#f7fafb}tbody tr:hover{background:#edf9f5}
.sortable-column{position:relative;padding-right:31px;cursor:pointer;user-select:none;transition:color .18s,background .18s}.sortable-column::after{content:'↕';position:absolute;right:11px;top:50%;translate:0 -50%;color:#6f8ca1;font-size:13px;letter-spacing:0}.sortable-column:hover,.sortable-column:focus-visible{color:#fff;background:#1c3b55;outline:none}.sortable-column.sort-asc,.sortable-column.sort-desc{color:#46e0ba;background:#19364e}.sortable-column.sort-asc::after{content:'↑';color:#46e0ba}.sortable-column.sort-desc::after{content:'↓';color:#46e0ba}
.daily-table-wrap{overflow-x:auto;border-radius:14px}.daily-transactions{min-width:920px}.daily-transactions td:not(:nth-child(-n+3)){font-variant-numeric:tabular-nums;text-align:right}.daily-transactions .transaction-total{font-weight:900;color:var(--navy)}.daily-transactions tfoot th,.daily-transactions tfoot td{padding:15px 13px;border:0;background:#dff6ef;color:#08775d;font-weight:900}.daily-transactions tfoot th{text-align:left;letter-spacing:.08em}.daily-transactions tfoot td{text-align:right;font-variant-numeric:tabular-nums}
.customer-directory-panel{grid-column:1/-1}.customer-count{padding:8px 12px;border-radius:999px;background:#e3f7f0;color:#08775d;font-weight:850}.customer-searchbox{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:10px;margin-bottom:16px;padding:7px 8px 7px 14px;border:1px solid #b9d8d0;border-radius:13px;background:#f8fcfb}.customer-searchbox>svg{width:19px;height:19px;color:#149f7b}.customer-searchbox input{padding:9px 3px;border:0;background:transparent;box-shadow:none}.customer-table-wrap{overflow-x:auto;border-radius:14px}.customer-directory-table{min-width:900px}.customer-directory-table td small{display:block;margin-top:4px;color:#748395}.customer-directory-table td:nth-child(n+4){text-align:right;font-variant-numeric:tabular-nums}.customer-directory-table .customer-spent-total{color:#078161;font-size:17px;font-weight:900}
table th,table td{text-align:center;vertical-align:middle}table thead th:not(:last-child){border-right:1px solid #315069}table tbody td{border-bottom:1px solid #dce6eb}table tbody td:not(:last-child){border-right:1px solid #e2eaee}table tbody tr:last-child td{border-bottom:0}.daily-transactions td:not(:nth-child(-n+3)),.customer-directory-table td:nth-child(n+4){text-align:center}.daily-transactions tfoot th,.daily-transactions tfoot td{text-align:center;border-top:2px solid #8bd6c2}.daily-transactions tfoot th{letter-spacing:.08em}.daily-transactions tfoot td:not(:last-child){border-right:1px solid #b8e4d8}
.transaction-row{cursor:pointer;transition:background .15s,box-shadow .15s}.transaction-row:hover,.transaction-row:focus-visible{background:#ddf6ee!important;box-shadow:inset 4px 0 #16b98c;outline:none}.transaction-row td:nth-child(2) small{display:block;margin-top:3px;color:#159b78;font-size:10px;font-weight:850;text-transform:uppercase;letter-spacing:.06em}.transaction-detail-head{display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:15px;padding:4px 38px 19px 0;border-bottom:1px solid #dbe7e5}.transaction-detail-head>span{display:grid;width:54px;height:54px;place-items:center;border-radius:16px;background:#dff8f0;color:#079b73}.transaction-detail-head>span svg{width:29px;height:29px}.transaction-detail-head small{color:#078263;font-weight:900;letter-spacing:.13em}.transaction-detail-head h2{margin:3px 0}.transaction-detail-head p{margin:0;color:#718091}.transaction-detail-head>strong{color:#08775d;font-size:28px}.transaction-customer{display:flex;justify-content:space-between;gap:15px;margin:17px 0;padding:13px 15px;border-radius:12px;background:#f0f6f8}.transaction-customer span{color:#617384}.transaction-products{overflow:hidden;border:1px solid #dbe5e9;border-radius:13px}.transaction-product{display:grid;grid-template-columns:minmax(0,1fr) auto auto;align-items:center;gap:18px;padding:13px 15px;border-bottom:1px solid #e3eaed}.transaction-product:last-child{border-bottom:0}.transaction-product small{display:block;margin-top:4px;color:#718091}.transaction-summary,.transaction-payments,.transaction-repair-info{margin-top:13px;border-radius:13px;background:#f3f7f9;padding:8px 15px}.transaction-summary>div,.transaction-payments>div{display:flex;justify-content:space-between;padding:8px 0;border-bottom:1px solid #dce5e9}.transaction-summary>div:last-child,.transaction-payments>div:last-child{border:0}.transaction-summary .grand{color:#08775d;font-size:18px}.transaction-repair-info{display:grid;grid-template-columns:repeat(3,1fr);gap:15px}.transaction-repair-info small{display:block;margin-bottom:5px;color:#718091}
.tag{padding:6px 10px;border-radius:999px;font-weight:850}.tag.green{background:#dcf8ee;color:#087354}.tag.amber{background:#fff1ce;color:#855800}.tag.red{background:#ffe4e6;color:#9d2d34}
dialog{width:min(720px,94vw);max-height:90vh;border-radius:26px;background:linear-gradient(155deg,#ffffff,#f7fafb);box-shadow:0 30px 90px #07172766}dialog::backdrop{background:#0a1827c9;backdrop-filter:blur(5px)}dialog>.x{right:19px;top:15px;z-index:3;width:36px;height:36px;border-radius:50%;font-size:26px}dialog>.x:hover{background:#e9f0f3;color:#26384a}#modalBody>h2{margin:4px 46px 6px 0;font-size:27px;letter-spacing:-.025em}#modalBody>p{margin:0 0 19px;color:var(--text-soft)}
.formgrid{gap:16px}.actions{gap:10px;margin-top:22px}.empty{border:1px dashed #cbd9de;border-radius:14px;background:#f8fbfc;color:#7a8997}
.manage-tabs{padding:5px;border:1px solid #dce6ea;border-radius:14px;background:#f3f7f8}.manage-tab{border:0!important;border-radius:10px;padding:10px 15px}.manage-tab.active{background:#fff;color:var(--mint-dark);box-shadow:0 5px 14px #17304710}
.action-tile{border:1px solid #213b52;border-radius:20px;background:linear-gradient(145deg,#153149,#0e2134);box-shadow:0 15px 32px #10263c20}.action-tile span{border-radius:14px}.module-tile{min-height:108px;border-radius:20px;box-shadow:var(--shadow)}.module-tile>span{border-radius:15px}
.product{border-radius:16px;padding:17px}.purchase-line,.sale-cartline{border-radius:15px;background:#fff;box-shadow:0 6px 18px #17304708}.paycard{border-radius:14px;box-shadow:0 7px 20px #1730470a}
.cost-compare{border-radius:19px;background:linear-gradient(145deg,#132d45,#0d2134);box-shadow:0 14px 30px #10263c20}.cash-assistant,.mixed-assistant{border-radius:19px}.cash-change,.mixed-balance{border-radius:15px}
aside{background:linear-gradient(180deg,#112b43,#0b1d2f 70%,#081622);box-shadow:14px 0 38px #10263c17}.brand>span{border-radius:14px}.brand strong{font-size:16px}nav button{border-radius:12px;padding:12px 14px}nav button.active{background:#1c3a50;box-shadow:inset 3px 0 var(--mint),0 8px 18px #07152120}

/* Iconografía descriptiva */
.icon-sprite{position:absolute;width:0;height:0;overflow:hidden}
.ui-icon,nav button>svg{width:22px;height:22px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round;flex:0 0 auto}
nav button::before{display:none!important}
nav button>svg{box-sizing:content-box;padding:4px;border-radius:8px;background:#ffffff0d;color:#7eeac8}
nav button.active>svg{background:var(--mint);color:#072219;box-shadow:0 5px 14px #21c89435}
.module-tile>span .ui-icon{width:27px;height:27px}
.module-menu-head>span .ui-icon{width:25px;height:25px}
.module-action>span .ui-icon{width:23px;height:23px}
button.primary>.ui-icon,button.secondary>.ui-icon{width:18px;height:18px;vertical-align:-4px;margin-right:5px}

/* Adaptación real para tablet y teléfono */
.panel.sale-summary{background:linear-gradient(155deg,#12263b 0,#0c1c2d 100%);border-color:#1b344c;color:#fff}
.sale-customer{position:relative;margin:14px 0 18px;padding:14px;border:1px solid #35516a;border-radius:14px;background:#183249}.sale-customer-title{display:flex;align-items:center;gap:10px;margin-bottom:11px}.sale-customer-title>span{display:grid;place-items:center;width:34px;height:34px;border-radius:10px;background:#23465f;color:#5ce0b8}.sale-customer-title .ui-icon{width:20px;height:20px}.sale-customer-title b,.sale-customer-title small{display:block}.sale-customer-title small{color:#9db0bf;font-size:11px}.sale-customer input{margin-top:7px;border-color:#426078!important;background:#10283d!important}.sale-customer-matches{position:absolute;z-index:8;left:14px;right:14px;top:100%;overflow:hidden;border-radius:12px;background:#fff;color:#142032;box-shadow:0 16px 35px #05101c55}.sale-customer-choice{display:flex;align-items:center;justify-content:space-between;gap:10px;width:100%;padding:11px 13px;border:0;border-bottom:1px solid #e4eaed;background:#fff;color:#142032;text-align:left;cursor:pointer}.sale-customer-choice:hover{background:#ecfaf5}.sale-customer-choice b,.sale-customer-choice small{display:block}.sale-customer-choice small{color:#6c7b89;margin-top:2px}.sale-customer-choice em{color:#07815f;font-size:11px;font-style:normal;font-weight:850}.sale-customer-new,.sale-customer-selected{display:flex;align-items:center;gap:9px;padding:11px 13px;background:#effaf6}.sale-customer-new b,.sale-customer-new small,.sale-customer-selected b,.sale-customer-selected small{display:block}.sale-customer-new small,.sale-customer-selected small{color:#61756e}.sale-customer-selected .ui-icon{width:19px;height:19px;color:#07946d}
#discount{-moz-appearance:textfield;appearance:textfield}#discount::-webkit-inner-spin-button,#discount::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}

@media(max-width:700px){
  #purchaseLines{display:grid;gap:14px}
  .purchase-line,.purchase-line.serialized-line{position:relative;display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:12px;padding:16px;margin:0;align-items:start;border-radius:18px}
  .purchase-line>.invoice-product-field{grid-column:1/-1;padding-right:38px}
  .invoice-product-field>small{display:block;margin-top:6px;padding:9px 10px;border-radius:10px;background:#f1f6f8;color:#4d6071;font-size:12px;line-height:1.45;overflow-wrap:anywhere}
  .purchaseProductSearch{margin-top:11px;min-height:46px}
  .createInvoiceProduct{min-height:44px;margin-top:8px}
  .purchase-line>label:nth-of-type(2),.purchase-line>label:nth-of-type(3){min-width:0}
  .purchase-line>label:nth-of-type(2) input,.purchase-line>label:nth-of-type(3) input{min-height:46px;font-size:16px;font-weight:750}
  .purchase-line>b:nth-of-type(1){display:flex!important;grid-column:1/-1;align-items:center;justify-content:space-between;padding:11px 12px;border-radius:11px;background:#eef8f5;color:#087258;font-size:16px}
  .purchase-line>b:nth-of-type(1)::before{content:"Total de esta línea";color:#526678;font-size:12px;font-weight:750}
  .purchase-line>.removePurchase{position:absolute;z-index:2;right:13px;top:13px;width:34px;height:34px;padding:0;border-radius:50%;font-size:20px}
  .purchase-line>.ambiguous-confirm,.purchase-line>.serial-line-tools{grid-column:1/-1}
  .purchaseProductMatches{position:relative;max-height:210px;margin-top:4px}
}
button:disabled{cursor:not-allowed!important;opacity:.58!important;filter:saturate(.45);box-shadow:none!important;transform:none!important}.actions button[aria-busy="true"]{background:#9eb8b0;color:#334b44}.reading-spinner{display:inline-block;width:15px;height:15px;margin-right:7px;border:2px solid #a9bab5;border-top-color:#18a77e;border-radius:50%;vertical-align:-3px;animation:reading-spin .75s linear infinite}@keyframes reading-spin{to{transform:rotate(360deg)}}#invoiceReading{min-height:24px;margin-top:13px;color:#536776;font-weight:700}
#modalBody:not(:has(.receipt-success)){padding:28px}#modalBody form{padding:0}.invoice-drop input[type="file"]{display:block;max-width:100%;padding:10px;background:#fff;overflow:hidden}.invoice-drop input[type="file"]::file-selector-button{margin-right:10px;padding:8px 11px;border:0;border-radius:9px;background:#e8eef1;color:#26394c;font-weight:750}
.invoice-job-tray{position:fixed;right:22px;bottom:22px;z-index:1300;display:grid;gap:10px;width:min(410px,calc(100vw - 28px))}.invoice-job-tray[hidden]{display:none}.invoice-job-card{display:grid;grid-template-columns:auto minmax(0,1fr) auto auto;align-items:center;gap:11px;padding:13px 14px;border:1px solid #b9d8d0;border-radius:16px;background:#112f43;color:#fff;box-shadow:0 16px 45px #10223538}.invoice-job-card.is-ready{background:#0c745e;border-color:#3bd5ad}.invoice-job-card.is-error{background:#7c3035;border-color:#f1a7aa}.invoice-job-icon{display:grid;place-items:center;width:36px;height:36px;border-radius:12px;background:#ffffff1c;font-size:20px}.invoice-job-card span{min-width:0}.invoice-job-card b,.invoice-job-card small{display:block}.invoice-job-card small{margin-top:3px;color:#d4e5e8;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.invoice-job-card button{padding:8px 11px;border:0;border-radius:9px;background:#fff;color:#123044;font-weight:850;cursor:pointer}.invoice-job-card .dismissInvoiceJob{padding:5px 8px;background:transparent;color:#fff;font-size:19px}.invoice-review-reason{display:grid;gap:4px;margin:12px 0;padding:13px 15px;border:1px solid #9edaca;border-radius:12px;background:#effbf7;color:#175846}.openai-invoice-settings{grid-column:1/-1}.openai-toggle{display:flex!important;align-items:flex-start;gap:11px;padding:13px;border:1px solid var(--line);border-radius:12px;background:#f7fafb}.openai-toggle input{width:auto!important;margin-top:3px}.openai-toggle span,.openai-toggle b,.openai-toggle small{display:block}.openai-toggle small{margin-top:4px;color:var(--muted)}.openai-privacy{display:grid;gap:5px;padding:14px 16px;border-radius:12px;background:#edf6ff;color:#304d65}.openai-privacy small{color:#647b8e}
.openai-connection-status{display:grid;gap:4px;padding:13px 15px;border:1px solid;border-radius:12px}.openai-connection-status[hidden]{display:none}.openai-connection-status b,.openai-connection-status span{display:block}.openai-connection-status span{font-size:12px;line-height:1.45}.openai-connection-status.is-success{border-color:#8ed8c4;background:#eafaf4;color:#087458}.openai-connection-status.is-error{border-color:#efb3b6;background:#fff1f1;color:#9b2930}
.invoice-processing-fab{position:fixed;right:24px;bottom:24px;z-index:1300;display:grid;grid-template-columns:48px minmax(0,1fr) auto;align-items:center;gap:11px;min-width:270px;padding:9px 12px 9px 9px;border:1px solid #a7ddd0;border-radius:18px;background:linear-gradient(135deg,#102f43,#145e59);color:#fff;text-align:left;box-shadow:0 18px 48px #0d243b42;cursor:pointer}.invoice-processing-fab[hidden]{display:none}.invoice-processing-art{position:relative;display:grid;place-items:center;width:48px;height:48px;border-radius:14px;background:linear-gradient(145deg,#e8fff8,#b8eddf);box-shadow:inset 0 1px #fff,0 7px 16px #061c2b38}.invoice-processing-art::after{content:"";position:absolute;inset:-4px;border:2px solid transparent;border-top-color:#42deb4;border-right-color:#42deb4;border-radius:17px;animation:invoiceProcessingSpin 1.35s linear infinite}.invoice-processing-art img{width:42px;height:42px;object-fit:contain;filter:drop-shadow(0 5px 5px #17334825)}.invoice-processing-fab b,.invoice-processing-fab small{display:block}.invoice-processing-fab b{font-size:13px}.invoice-processing-fab small{margin-top:2px;color:#c1d9de;font-size:10px}.invoice-processing-fab>i{display:grid;place-items:center;min-width:25px;height:25px;padding:0 7px;border-radius:999px;background:#41dbae;color:#07372c;font-size:11px;font-style:normal;font-weight:950}@keyframes invoiceProcessingSpin{to{transform:rotate(360deg)}}
.invoice-processing-popover{position:fixed;right:24px;bottom:94px;z-index:1299;width:min(365px,calc(100vw - 28px));overflow:hidden;border:1px solid #ccdde2;border-radius:17px;background:#fff;box-shadow:0 20px 55px #10273a36}.invoice-processing-popover[hidden]{display:none}.invoice-processing-popover>header,.invoice-notification-popover>header{display:flex;align-items:center;justify-content:space-between;height:auto;padding:13px 15px;border:0;background:#122f43;color:#fff;box-shadow:none}.invoice-processing-popover>header button,.invoice-notification-popover>header button{padding:2px 6px;border:0;background:transparent;color:#dce8ed;font-size:20px;cursor:pointer}.invoice-processing-popover>div{display:grid;grid-template-columns:40px minmax(0,1fr);align-items:center;gap:10px;padding:12px 14px;border-top:1px solid #e4ecef}.invoice-processing-popover b,.invoice-processing-popover small{display:block}.invoice-processing-popover small{margin-top:3px;color:#748695;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.mini-processing-cube{display:grid;place-items:center;width:38px;height:38px;border-radius:11px;background:#e8f8f3}.mini-processing-cube img{width:34px;height:34px;object-fit:contain;animation:invoiceCubePulse 1.4s ease-in-out infinite}@keyframes invoiceCubePulse{50%{transform:translateY(-3px) rotate(-3deg);filter:drop-shadow(0 7px 5px #17433725)}}
.invoice-notification-button{position:relative;display:grid;place-items:center;flex:0 0 43px;width:43px;height:43px;margin-left:auto;border:1px solid #d4e2e7;border-radius:13px;background:#fff;color:#526779;box-shadow:0 6px 18px #17364b0b;cursor:pointer}.invoice-notification-button[hidden]{display:none}.invoice-notification-button svg{width:22px;height:22px;fill:none;stroke:currentColor;stroke-width:1.9;stroke-linecap:round;stroke-linejoin:round}.invoice-notification-button.has-notifications{border-color:#75d6bb;color:#078362;background:#effbf7}.invoice-notification-button>span{position:absolute;right:-5px;top:-6px;display:grid;place-items:center;min-width:19px;height:19px;padding:0 5px;border:2px solid #fff;border-radius:999px;background:#e14950;color:#fff;font-size:9px;font-weight:950}.invoice-notification-button>span[hidden]{display:none}
.invoice-notification-popover{position:fixed;right:24px;top:86px;z-index:1400;width:min(430px,calc(100vw - 28px));overflow:hidden;border:1px solid #cbdce2;border-radius:18px;background:#fff;box-shadow:0 24px 65px #0d253b42}.invoice-notification-popover[hidden]{display:none}.invoice-notification-popover>header span b,.invoice-notification-popover>header span small{display:block}.invoice-notification-popover>header span small{margin-top:2px;color:#aac0cc;font-size:10px}.invoice-notification-list{max-height:min(480px,70vh);overflow:auto}.invoice-notification-item{display:grid;grid-template-columns:38px minmax(0,1fr) auto;align-items:center;gap:11px;padding:14px 15px;border-bottom:1px solid #e7edef}.invoice-notification-item:last-child{border-bottom:0}.invoice-notification-state{display:grid;place-items:center;width:38px;height:38px;border-radius:12px;background:#dff8ef;color:#078260;font-size:18px;font-weight:950}.invoice-notification-item.is-error .invoice-notification-state{background:#ffeded;color:#b43138}.invoice-notification-item>span b,.invoice-notification-item>span small{display:block}.invoice-notification-item>span b{color:#183249;font-size:13px}.invoice-notification-item>span small{max-width:210px;margin-top:3px;color:#748595;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.invoice-notification-item>div{display:flex;align-items:center;gap:4px}.invoice-notification-item button{padding:8px 11px;border:0;border-radius:9px;background:#173c51;color:#fff;font-size:11px;font-weight:850;cursor:pointer}.invoice-notification-item .dismissInvoiceJob{padding:5px 7px;background:transparent;color:#718390;font-size:18px}.invoice-notification-empty{display:grid;justify-items:center;gap:5px;padding:30px;color:#718491;text-align:center}.invoice-notification-empty span{display:grid;place-items:center;width:42px;height:42px;border-radius:50%;background:#e7f8f2;color:#078362;font-size:20px;font-weight:900}.invoice-notification-empty p{margin:0;font-size:12px}
.invoice-notification-reason{display:block;max-width:230px;margin-top:6px;color:#9b2930;font-size:10px;line-height:1.35;font-style:normal}
.repair-change-preview{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.repair-change-preview>span{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px 14px;border:1px solid #cfe3df;border-radius:13px;background:#f1faf7;color:#4e6675}.repair-change-preview b{color:#087c60;font-size:17px}.repair-change-preview.has-change>span:last-child{border-color:#efc76d;background:#fff7df;color:#8a5a00}.repair-change-preview.has-change>span:last-child b{color:#a76400}@media(max-width:560px){.repair-change-preview{grid-template-columns:1fr}}
.audit-date-filter{display:grid;gap:5px;min-width:170px;color:#53677a;font-size:11px;font-weight:850}.audit-date-filter input{min-height:42px;padding:8px 11px}.audit-settings .audit-list{max-height:520px;overflow:auto}@media(max-width:600px){.audit-settings .panelhead{align-items:stretch;flex-direction:column}.audit-date-filter{width:100%}}
@media(max-width:580px){.invoice-processing-fab{right:12px;bottom:14px;min-width:0;width:calc(100vw - 24px)}.invoice-processing-popover{right:12px;bottom:84px;width:calc(100vw - 24px)}.invoice-notification-button{width:40px;height:40px;flex-basis:40px;margin-left:auto}.invoice-notification-popover{right:10px;top:72px;width:calc(100vw - 20px)}.invoice-notification-item{grid-template-columns:36px minmax(0,1fr)}.invoice-notification-item>div{grid-column:2}.invoice-notification-item>span small{max-width:230px}}
@media(max-width:580px){#toast.in-dialog{right:12px;bottom:12px;left:12px;max-width:none}}
.customer-request-button{display:flex;align-items:center;gap:9px;width:100%;min-height:52px;margin-top:auto;padding:6px 10px;border:1px solid #31c99f70;border-radius:14px;background:linear-gradient(145deg,#183d50,#123044);color:#fff;box-shadow:0 8px 22px #05182440;cursor:pointer}.customer-request-button:hover{border-color:#35d9ad;background:linear-gradient(145deg,#1d4c5c,#15483f)}.customer-request-button img{width:39px;height:39px;object-fit:contain;filter:drop-shadow(0 6px 6px #051c183d)}.customer-request-button b,.customer-request-button small{display:block;text-align:left}.customer-request-button b{font-size:12px}.customer-request-button small{margin-top:2px;color:#a9c4ce;font-size:9px}.customer-request-screen{position:fixed;z-index:4000;inset:0;display:grid;place-items:center;padding:24px;background:radial-gradient(circle at 50% 20%,#1f665e 0,#12394b 42%,#081c2d 100%);opacity:0;transition:opacity .22s}.customer-request-screen.visible{opacity:1}.customer-request-close{position:absolute;right:25px;top:20px;width:48px;height:48px;border:1px solid #ffffff55;border-radius:15px;background:#ffffff14;color:#fff;font-size:28px;cursor:pointer}.customer-request-form{display:grid;justify-items:center;width:min(620px,100%);padding:clamp(28px,5vw,58px);border:1px solid #d5e9e5;border-radius:32px;background:#fff;box-shadow:0 32px 90px #03121d80;text-align:center}.customer-request-form>img{width:112px;height:112px;object-fit:contain;filter:drop-shadow(0 14px 14px #0b57433a)}.customer-request-form>small{margin-top:8px;color:#078160;font-weight:950;letter-spacing:.18em}.customer-request-form h2{margin:8px 0 4px;color:#132b41;font-size:clamp(30px,5vw,48px)}.customer-request-form>p{margin:0 0 24px;color:#687f91;font-size:16px}.customer-request-form label{display:grid;gap:8px;width:100%;margin-top:14px;color:#3b5268;font-weight:850;text-align:left}.customer-request-form input{width:100%;min-height:62px;padding:0 18px;border:1px solid #bed7d5;border-radius:16px;background:#fafdfe;font-size:18px}.customer-request-form .primary{width:100%;min-height:60px;margin-top:24px;border-radius:16px;font-size:16px}.customer-request-success{display:grid;place-items:center;width:70px;height:70px;margin-top:6px;border-radius:50%;background:#ddf8ee;color:#07805f;font-size:34px;font-weight:950}.customer-request-notice{display:grid;width:100%;grid-template-columns:48px minmax(0,1fr) auto;align-items:center;gap:11px;padding:13px 15px;border:0;border-bottom:1px solid #e3edef;background:#f4fffb;color:#173149;text-align:left;cursor:pointer}.customer-request-notice:hover{background:#e9faf4}.customer-request-notice img{width:46px;height:46px;object-fit:contain}.customer-request-notice span b,.customer-request-notice span small,.customer-request-notice span em{display:block}.customer-request-notice span small{margin-top:3px;color:#415c6c}.customer-request-notice span em{margin-top:3px;color:#82939e;font-size:9px;font-style:normal}.customer-request-notice>i{padding:7px 9px;border-radius:9px;background:#123d50;color:#fff;font-size:10px;font-style:normal;font-weight:900}.customer-request-detail{display:grid;justify-items:center;padding:10px 10px 24px;text-align:center}.customer-request-detail img{width:100px;height:100px;object-fit:contain}.customer-request-detail>small{color:#07815f;font-weight:950;letter-spacing:.16em}.customer-request-detail h2{margin:8px 0}.customer-request-detail a{color:#125d78;font-size:20px;font-weight:900;text-decoration:none}.customer-request-detail p{color:#748696}.customer-request-actions{justify-content:center}.customer-directory-table .edit-customer{padding:7px 10px;white-space:nowrap}
@media(max-width:760px){.customer-request-button{position:fixed;right:14px;bottom:86px;z-index:45;width:54px;height:54px;margin:0;padding:6px;border-radius:17px}.customer-request-button span{display:none}.customer-request-button img{width:40px;height:40px}.customer-request-screen{height:100dvh;min-height:0;place-items:start center;overflow-y:auto;padding:14px;padding-top:max(14px,env(safe-area-inset-top))}.customer-request-form{margin:auto 0;border-radius:24px}.customer-request-close{position:fixed;right:14px;top:max(12px,env(safe-area-inset-top));z-index:2}.customer-request-screen.keyboard-open{padding:8px 12px}.customer-request-screen.keyboard-open .customer-request-form{align-self:start;margin:0;padding:14px 18px 18px;border-radius:19px}.customer-request-screen.keyboard-open .customer-request-form>img{width:48px;height:48px}.customer-request-screen.keyboard-open .customer-request-form>small{margin-top:0;font-size:9px}.customer-request-screen.keyboard-open .customer-request-form h2{margin:2px 0;font-size:23px}.customer-request-screen.keyboard-open .customer-request-form>p{display:none}.customer-request-screen.keyboard-open .customer-request-form label{gap:4px;margin-top:7px;font-size:12px}.customer-request-screen.keyboard-open .customer-request-form input{min-height:50px;padding:0 14px;font-size:16px}.customer-request-screen.keyboard-open .customer-request-form .primary{min-height:50px;margin-top:10px}.customer-request-screen.keyboard-open .customer-request-close{width:38px;height:38px;font-size:22px}}
@media (min-width:701px) and (max-width:1100px){
  .app{grid-template-columns:96px minmax(0,1fr)}
  aside{position:sticky;top:0;height:100vh;padding:18px 10px}
  .brand{justify-content:center;padding:0 0 22px}.brand>div{display:none}
  nav{display:grid;overflow:visible;gap:9px}
  nav button{display:grid;justify-items:center;gap:5px;padding:10px 4px;text-align:center;font-size:10px;line-height:1.15}
  nav button:hover{transform:none}
  nav button>svg{width:21px;height:21px}
  .sidefoot{display:none}
  header{height:88px;padding:17px 25px}
  #content{padding:24px 25px 38px}
  .metrics{grid-template-columns:repeat(2,minmax(0,1fr))}
  .grid2,.sale-workspace,.settings-grid{grid-template-columns:1fr}
  .sale-summary{position:static}
}
@media (max-width:700px){
  body{font-size:14px;padding-bottom:74px}
  .app{display:block;min-height:100vh}
  aside{position:fixed;z-index:50;inset:auto 0 0;height:70px;padding:6px 8px max(6px,env(safe-area-inset-bottom));background:#0d2235;box-shadow:0 -8px 28px #07152138}
  .brand,.sidefoot{display:none}
  nav{display:flex;gap:4px;height:100%;overflow-x:auto;overflow-y:hidden;scrollbar-width:none;overscroll-behavior-x:contain}
  nav::-webkit-scrollbar{display:none}
  nav button{flex:0 0 72px;display:grid;place-items:center;align-content:center;gap:3px;padding:4px 3px;border-radius:11px;text-align:center;font-size:10px;line-height:1.05;white-space:normal}
  nav button:hover{transform:none}
  nav button.active{box-shadow:inset 0 3px var(--mint)}
  nav button>svg{width:20px;height:20px;padding:2px}
  main{width:100%;overflow:hidden}
  header{height:76px;padding:14px 16px}
  header p{font-size:9px;margin-bottom:2px}
  h1{font-size:23px}
  #clock{display:none}
  #content{width:100%;padding:14px 12px 24px}
  .panel{padding:16px;border-radius:16px;margin-bottom:14px}
  .panelhead{align-items:flex-start;gap:12px;margin-bottom:14px}.panelhead h2{font-size:18px}.panelhead p{font-size:12px}
  .panelhead>button{flex:0 0 auto;padding-inline:12px}
  .module-launcher,.metrics,.paycards,.grid2,.sale-workspace,.settings-grid,.action-grid{grid-template-columns:1fr}
  .module-launcher{gap:10px;margin-bottom:14px}.module-tile{min-height:78px;padding:13px;border-radius:16px}.module-tile>span{width:44px;height:44px}
  .metrics{gap:10px}.metric{padding:16px}.metric strong{font-size:27px}
  .sale-entry{padding:15px}
  .sale-search-head,.sale-cart-head{align-items:stretch;gap:8px}.sale-search-head>div,.sale-cart-head>div{width:100%}
  .sale-search-head h2,.sale-cart-head h2{font-size:17px}.sale-search-head p{font-size:11px}
  .sale-count{align-self:flex-start;margin-left:43px}
  .sale-searchbox{grid-template-columns:auto minmax(0,1fr);margin-top:13px;padding:3px 10px;border-radius:12px}.sale-searchbox input{font-size:16px;padding:11px 2px}.sale-searchbox kbd{display:none}
  .sale-result{grid-template-columns:32px minmax(0,1fr) auto;padding:10px 8px;gap:8px}.result-stock,.result-action{display:none}.sale-result strong{font-size:14px}
  .sale-cart-head{margin-top:18px;padding-top:16px}.sale-cart-head>small{font-size:11px}
  .sale-cart-lines .empty{padding:26px 10px}
  .sale-cart-lines .sale-cartline{grid-template-columns:1fr 62px 88px 32px;padding:10px 8px;gap:7px}.sale-cartline label{font-size:10px}.sale-cartline input{padding:8px 5px}.sale-cart-lines .sale-cartline>b{grid-column:1/4;text-align:right}
  .panel.sale-summary{position:static;padding:18px;border-radius:18px}.sale-customer{margin:12px 0 16px;padding:12px}.summary-total{margin:6px 0 15px;font-size:35px}.summary-breakdown{margin-bottom:12px;padding:10px 0}.summary-breakdown>div{padding:5px 0}.sale-summary label{margin-top:10px}.sale-charge{min-height:52px;margin-top:15px}
  .payment-method-grid{grid-template-columns:1fr 1fr}.payment-method{min-height:48px;padding:7px}.payment-method:last-child{grid-column:1/-1}.payment-method span{width:35px;height:32px}.payment-method b{font-size:12px}
  .toolbar{align-items:stretch;flex-direction:column}.toolbar>*{width:100%;min-width:0!important}
  .formgrid{grid-template-columns:1fr}.formgrid .wide{grid-column:auto}
  .actions{display:grid;grid-template-columns:1fr;margin-top:16px}.actions button{width:100%;min-height:46px}
  table{display:block;width:100%;overflow-x:auto;white-space:nowrap;-webkit-overflow-scrolling:touch}
  dialog{width:calc(100vw - 24px);max-width:none;max-height:calc(100dvh - 32px);margin:auto;border-radius:22px}
  #modalBody:not(:has(.receipt-success)){padding:22px 18px}.x{right:10px;top:8px}
  #modalBody>h2{margin-left:0;margin-top:0;line-height:1.15}#modalBody>p{line-height:1.45}
  .module-menu-head{padding-right:35px}.module-menu-head>span{flex:0 0 48px}.module-menu-grid{gap:10px}.module-action{min-height:86px;padding:13px}
  .invoice-drop{padding:16px}.invoice-drop input[type="file"]{font-size:13px}.invoice-drop small{line-height:1.4}
  #modal:has(.cash-assistant),#modal:has(.mixed-assistant),#modal:has(.receipt-success){width:calc(100vw - 24px);max-width:none;border-radius:22px}
  #toast{left:12px;right:12px;bottom:84px;text-align:center}
}

/* Procesamiento en segundo plano: órbita de puntos y cierre suave. */
.invoice-processing-art,.mini-processing-orbit{position:relative;display:block;flex:0 0 auto;border-radius:50%;animation:invoiceDotOrbit 1.15s linear infinite}
.invoice-processing-art{width:48px;height:48px;background:radial-gradient(circle,#effff9 0 36%,#c9f4e7 38% 58%,#ffffff24 60%);box-shadow:inset 0 1px #fff,0 7px 16px #061c2b38}
.invoice-processing-art::after{display:none!important}
.mini-processing-orbit{width:38px;height:38px;background:#e8f8f3}
.processing-center-image{position:absolute;left:50%;top:50%;z-index:1;width:27px!important;height:27px!important;object-fit:contain;filter:drop-shadow(0 3px 4px #153d3438);transform:translate(-50%,-50%);animation:invoiceCenterCounterSpin 1.15s linear infinite}.mini-processing-orbit .processing-center-image{width:21px!important;height:21px!important}
.processing-orbit-dot{position:absolute;left:50%;top:50%;width:var(--dot-size);height:var(--dot-size);margin:calc(var(--dot-size) / -2);border-radius:50%;background:#16b98d;box-shadow:0 1px 4px #0a6b5242;transform:rotate(var(--dot-angle)) translateY(-16px)}
.mini-processing-orbit .processing-orbit-dot{transform:rotate(var(--dot-angle)) translateY(-12px)}
@keyframes invoiceDotOrbit{to{transform:rotate(360deg)}}
@keyframes invoiceCenterCounterSpin{to{transform:translate(-50%,-50%) rotate(-360deg)}}
.invoice-processing-popover{transform-origin:bottom right;transition:opacity .18s ease,transform .18s ease}
.invoice-processing-popover.is-hiding{opacity:0;transform:translateY(9px) scale(.98);pointer-events:none}
.invoice-processing-fab{touch-action:none;user-select:none;-webkit-user-select:none}.invoice-processing-fab.is-dragging{cursor:grabbing;transition:none;box-shadow:0 22px 55px #071d3061;transform:scale(1.025)}
.invoice-completion-flight{position:fixed;z-index:1800;display:block;width:48px;height:48px;pointer-events:none;opacity:1;transform:translate(0,0) scale(1);transition:transform .58s cubic-bezier(.3,.72,.25,1),opacity .5s ease}.invoice-completion-flight.is-flying{opacity:.2;transform:translate(var(--fly-x),var(--fly-y)) scale(.16)}.invoice-notification-button.invoice-arrived{animation:invoiceBellArrival .5s ease}@keyframes invoiceBellArrival{35%{transform:scale(1.18) rotate(-8deg);box-shadow:0 0 0 9px #36d3a52b}70%{transform:scale(.96) rotate(5deg)}}

/* Configuración compacta: selector y ventana para una sola postal a la vez. */
.settings-grid.settings-optionized{display:block}
.settings-option-launcher{max-width:1180px;margin:0 auto}
.settings-option-heading{display:flex;align-items:center;gap:16px;margin-bottom:18px;padding:20px 22px;border:1px solid #d5e5e8;border-radius:20px;background:linear-gradient(135deg,#102f43,#17655d);color:#fff;box-shadow:0 15px 40px #102b3d1b}
.settings-option-heading>span{display:grid;place-items:center;width:52px;height:52px;flex:0 0 52px;border-radius:15px;background:#ffffff17;color:#4de0b4}.settings-option-heading>span svg{width:25px;height:25px}.settings-option-heading small{display:block;color:#69e3bf;font-size:10px;font-weight:900;letter-spacing:.15em}.settings-option-heading h2{margin:3px 0 0;font-size:24px}.settings-option-heading p{margin:4px 0 0;color:#c5dce1}
.settings-option-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
.settings-option-button{display:grid;grid-template-columns:48px minmax(0,1fr) auto;align-items:center;gap:13px;min-height:92px;padding:16px 18px;border:1px solid #d9e5e9;border-radius:17px;background:linear-gradient(145deg,#fff,#f4f9fb);color:#172b3d;text-align:left;box-shadow:0 8px 22px #102d4109;cursor:pointer;transition:transform .16s ease,border-color .16s ease,box-shadow .16s ease}
.settings-option-button:hover,.settings-option-button:focus-visible{transform:translateY(-2px);border-color:#61cdb0;box-shadow:0 13px 30px #12324714;outline:none}.settings-option-button>span:nth-child(2){min-width:0}.settings-option-button b,.settings-option-button small{display:block}.settings-option-button b{font-size:15px}.settings-option-button small{margin-top:4px;color:#708396;line-height:1.35;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.settings-option-button>i{color:#8092a0;font-size:27px;font-style:normal}.settings-option-icon{display:grid;place-items:center;width:48px;height:48px;border-radius:14px;background:#dff8ef;color:#087f5e}.settings-option-icon svg{width:23px;height:23px}
.settings-option-window{position:fixed;inset:0;z-index:1700;display:grid;place-items:center;padding:28px;transition:opacity .18s ease}.settings-option-window[hidden]{display:none}.settings-option-window.is-hiding{opacity:0;pointer-events:none}.settings-option-backdrop{position:absolute;inset:0;border:0;background:#071a28a8;backdrop-filter:blur(5px);cursor:default}.settings-option-dialog{position:relative;display:flex;flex-direction:column;width:min(1180px,calc(100vw - 40px));max-height:calc(100vh - 56px);overflow:hidden;border:1px solid #d2e0e5;border-radius:22px;background:#f4f8fa;box-shadow:0 28px 90px #07172366;animation:settingsDialogIn .2s ease}.settings-option-dialog>header{position:static;display:flex;align-items:center;justify-content:space-between;flex:0 0 auto;height:auto;padding:15px 19px;border:0;border-bottom:1px solid #d5e3e7;background:#102f43;color:#fff;box-shadow:none}.settings-option-dialog>header span small,.settings-option-dialog>header span b{display:block}.settings-option-dialog>header span small{color:#5ae2ba;font-size:9px;font-weight:900;letter-spacing:.14em}.settings-option-dialog>header span b{margin-top:2px;font-size:17px}.settings-option-close{display:grid;place-items:center;width:38px;height:38px;padding:0;border:1px solid #ffffff2b;border-radius:11px;background:#ffffff10;color:#fff;font-size:25px;cursor:pointer}.settings-option-window-body{overflow:auto;padding:20px}.settings-option-window-body>.panel{width:100%;margin:0;background:#fff}.settings-window-open{overflow:hidden}@keyframes settingsDialogIn{from{opacity:0;transform:translateY(12px) scale(.985)}}
@media(max-width:700px){.settings-option-heading{padding:16px}.settings-option-heading h2{font-size:20px}.settings-option-list{grid-template-columns:1fr}.settings-option-button{min-height:78px;padding:13px}.settings-option-window{padding:10px}.settings-option-dialog{width:calc(100vw - 20px);max-height:calc(100vh - 20px);border-radius:18px}.settings-option-window-body{padding:10px}.settings-option-window-body>.panel{padding:15px}.settings-option-button small{white-space:normal;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical}}
@media(max-width:580px){.invoice-processing-fab{right:14px;bottom:14px;left:auto;top:auto;width:auto;min-width:86px;grid-template-columns:48px auto;padding-right:10px}.invoice-processing-fab>span:nth-child(2){display:none}.invoice-processing-fab>i{min-width:24px}}

/* Comparador de proveedores. */
.supplier-search-button{display:inline-flex;align-items:center;gap:8px}.supplier-search-button .ui-icon{width:18px;height:18px}#modal:has(.supplier-search-title){width:min(1180px,calc(100vw - 34px));max-height:calc(100dvh - 34px)}
.supplier-search-title{display:flex;align-items:center;gap:14px;padding-right:45px}.supplier-search-title>span{display:grid;place-items:center;width:48px;height:48px;flex:0 0 48px;border-radius:14px;background:#dff8ef;color:#087d5d}.supplier-search-title>span svg{width:24px;height:24px}.supplier-search-title small{display:block;color:#078260;font-size:9px;font-weight:900;letter-spacing:.14em}.supplier-search-title h2{margin:2px 0 0;font-size:25px}.supplier-search-title p{margin:3px 0 0;color:var(--muted)}
.supplier-search-form{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:10px;margin:20px 0 16px;padding:0!important}.supplier-search-form input{min-height:50px}.supplier-search-form button{min-width:170px}.supplier-search-results{min-height:260px}.supplier-search-empty,.supplier-search-loading{display:grid;justify-items:center;gap:6px;padding:46px 20px;border:1px dashed #c7d9df;border-radius:17px;background:#f7fafb;color:#6d8190;text-align:center}.supplier-search-empty>span{display:grid;place-items:center;width:48px;height:48px;border-radius:14px;background:#e3f7f1;color:#078260}.supplier-search-empty svg{width:25px;height:25px}.supplier-search-empty b,.supplier-search-loading b{color:#24394c}.supplier-search-empty p{margin:0}.supplier-search-loading small{color:var(--muted)}
.supplier-results-head{display:flex;align-items:end;justify-content:space-between;gap:15px;margin-bottom:12px}.supplier-results-head span small,.supplier-results-head span b{display:block}.supplier-results-head small{color:#7890a0;font-size:9px;font-weight:900;letter-spacing:.12em}.supplier-results-head b{margin-top:3px;color:#172e42;font-size:18px}.supplier-results-head em{color:#7d8e9b;font-size:11px;font-style:normal}.supplier-columns{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;align-items:start}.supplier-column{overflow:hidden;border:1px solid #d7e4e8;border-radius:17px;background:#fff}.supplier-column>header{position:static;display:grid;grid-template-columns:42px minmax(0,1fr) auto;align-items:center;gap:10px;height:auto;padding:12px 14px;border:0;border-bottom:1px solid #e3ebee;background:#f7fafb;color:#183044;box-shadow:none}.supplier-column>header span b,.supplier-column>header span small{display:block}.supplier-column>header span small{margin-top:2px;color:#728593;font-size:10px}.supplier-column>header>a{display:grid;place-items:center;width:34px;height:34px;border-radius:10px;background:#e7f3f0;color:#087b5c;text-decoration:none}.supplier-logo{display:grid;place-items:center;width:42px;height:42px;border-radius:12px;font-size:12px;font-weight:950}.supplier-logo-phonelcdparts{background:#ffeceb;color:#c5373e}.supplier-logo-mobilesentrix{background:#e8f0ff;color:#285fb6}.supplier-products{max-height:min(510px,58vh);overflow:auto;padding:7px}.supplier-product{display:grid;grid-template-columns:52px minmax(0,1fr) auto auto;align-items:center;gap:10px;padding:9px;border-bottom:1px solid #e9eff1;color:#1b3042;text-decoration:none;transition:.15s}.supplier-product:last-child{border-bottom:0}.supplier-product:hover{border-radius:12px;background:#effaf6}.supplier-product-image{display:grid;place-items:center;width:52px;height:52px;overflow:hidden;border-radius:11px;background:#f0f5f7}.supplier-product-image img{width:100%;height:100%;object-fit:contain}.supplier-product-image svg{width:24px;height:24px;color:#78909e}.supplier-product b,.supplier-product small{display:block}.supplier-product b{display:-webkit-box;overflow:hidden;font-size:12px;line-height:1.3;-webkit-box-orient:vertical;-webkit-line-clamp:2}.supplier-product small{margin-top:3px;color:#7b8c98;font-size:9px}.supplier-product strong{color:#087b5c;font-size:14px;white-space:nowrap}.supplier-product i{color:#81929e;font-style:normal}.supplier-unavailable{display:grid;justify-items:center;gap:7px;margin:12px;padding:34px 22px;border:1px dashed #d4dfe3;border-radius:14px;background:#f8fafb;color:#687c8b;text-align:center}.supplier-unavailable>span{display:grid;place-items:center;width:44px;height:44px;border-radius:50%;background:#fff0df;font-size:21px}.supplier-unavailable b{color:#283d4e}.supplier-unavailable p{max-width:460px;margin:0;line-height:1.5}.supplier-unavailable a{margin-top:4px;padding:9px 13px;border-radius:9px;background:#173b51;color:#fff;text-decoration:none;font-size:11px;font-weight:850}.supplier-unavailable.is-restricted>span{background:#e8f0ff}.supplier-column.is-unavailable{background:#fafcfd}
@media(max-width:760px){#modal:has(.supplier-search-title){width:calc(100vw - 18px);max-height:calc(100dvh - 18px)}.supplier-search-title{align-items:flex-start}.supplier-search-title h2{font-size:21px}.supplier-search-title p{font-size:12px}.supplier-search-form{grid-template-columns:1fr}.supplier-search-form button{width:100%}.supplier-columns{grid-template-columns:1fr}.supplier-products{max-height:46vh}.supplier-results-head{align-items:flex-start;flex-direction:column}.supplier-product{grid-template-columns:45px minmax(0,1fr) auto}.supplier-product-image{width:45px;height:45px}.supplier-product>i{display:none}}
@media(max-width:900px){header{height:auto;padding:19px 22px}#content{padding:22px}.panel{padding:20px}table{border-radius:12px}}
@media(max-width:560px){#content{padding:15px}.panel{padding:17px;border-radius:17px}dialog{width:96vw;border-radius:22px}#modalBody>h2{font-size:23px}.toolbar{align-items:stretch;flex-direction:column}}
@media(max-width:700px){.transaction-detail-head{grid-template-columns:auto 1fr;padding-right:28px}.transaction-detail-head>strong{grid-column:1/-1;padding:10px;border-radius:10px;background:#e3f8f1;text-align:center}.transaction-customer{align-items:flex-start;flex-direction:column}.transaction-product{grid-template-columns:1fr auto;gap:8px}.transaction-product>strong{grid-column:2}.transaction-repair-info{grid-template-columns:1fr}.transaction-row td:nth-child(2) small{display:none}}

/* Protección responsive común: evita desbordes y conserva márgenes en PC, tablet y teléfono. */
.panelhead{gap:12px;flex-wrap:wrap}.panelhead>div{min-width:0}.panelhead h2,.panelhead p{overflow-wrap:anywhere}.panel,.metric,.module-tile,.sale-entry,.sale-summary{min-width:0;max-width:100%}button,input,select,textarea{max-width:100%}#modalBody{max-width:100%;overflow-x:hidden}
.toolbar{max-width:100%;flex-wrap:wrap}.toolbar>*{min-width:0}.purchase-history-panel{overflow:hidden}.purchase-filter-bar{display:grid;grid-template-columns:minmax(150px,1fr) minmax(150px,1fr) auto;gap:10px;margin-bottom:12px}.purchase-history-table-wrap{width:100%;max-width:100%;overflow-x:auto;overscroll-behavior-x:contain;border-radius:14px}.purchase-history-table-wrap table{display:table;min-width:650px;margin:0}.purchase-history-table-wrap th,.purchase-history-table-wrap td{white-space:normal}.purchase-history-table-wrap th:last-child,.purchase-history-table-wrap td:last-child{min-width:130px}
@media(min-width:701px) and (max-width:1100px){.paycards{grid-template-columns:repeat(2,minmax(0,1fr))}.paycard strong{font-size:clamp(22px,3.1vw,30px)}}
@media(max-width:700px){html,body{max-width:100%;overflow-x:hidden}#content{padding:14px 12px 24px}.panel{padding:16px}.paycards{grid-template-columns:1fr 1fr;gap:9px}.paycard{padding:13px 12px}.paycard strong{font-size:clamp(20px,6vw,27px)}.panelhead>button,.panelhead>.toolbar{width:100%}.panelhead>button{justify-content:center}.customer-searchbox{grid-template-columns:auto minmax(0,1fr)}.customer-searchbox button{grid-column:1/-1;width:100%}.purchase-filter-bar{grid-template-columns:1fr}.purchase-filter-bar>*{width:100%}.purchase-history-table-wrap{margin:0}.purchase-history-table-wrap table,.daily-table-wrap table,.customer-table-wrap table{display:table}.daily-table-wrap,.customer-table-wrap{max-width:100%;overscroll-behavior-x:contain}}
@media(max-width:390px){#content{padding-inline:9px}.panel{padding:14px}.paycards{grid-template-columns:1fr}.paycard strong{font-size:25px}.module-tile{grid-template-columns:44px minmax(0,1fr) auto;padding-inline:11px}.module-tile>span{width:42px;height:42px}}
.receipt-actions button{display:inline-flex;align-items:center;justify-content:center;gap:9px}.receipt-actions button .ui-icon{width:21px;height:21px;margin:0}.receipt-actions #printReceiptNow .ui-icon{stroke-width:2}.receipt-actions #skipReceipt .ui-icon{color:#798898}html:has(dialog[open]),body:has(dialog[open]){overflow:hidden}#modal:has(.receive-order-modal){width:min(820px,calc(100vw - 32px));max-height:calc(100dvh - 32px)}.receive-order-modal{padding:18px!important;background:#f7fafb}.receive-order-head{display:grid;grid-template-columns:48px minmax(0,1fr);column-gap:13px;align-items:center;margin:0;padding:18px 58px 16px 20px;border-radius:17px;background:linear-gradient(135deg,#10263b,#173b51);color:#fff;border-bottom:3px solid #2acb9c}.receive-order-head .receive-order-icon{grid-row:1/3;display:grid;place-items:center;width:46px;height:46px;border-radius:13px;background:#25c797;color:#06271d}.receive-order-icon .ui-icon{width:26px;height:26px}.receive-order-head h2{margin:0!important;color:#fff!important;font-size:24px}.receive-order-head p{grid-column:2;margin:2px 0 0!important;color:#b9cedb!important;font-size:13px}.receive-order-form{margin:0;padding:21px 2px 2px!important;background:#f7fafb;gap:14px 18px}.receive-order-form label{padding:0;border:0;border-radius:0;background:transparent;box-shadow:none}.receive-order-form label>input,.receive-order-form label>select,.receive-order-form label>textarea,.receive-order-form .unlock-control>*{margin-top:1px;min-height:44px;background:#fff;border-color:#c8d7dc}.receive-order-form textarea{min-height:78px}.receive-order-form .panel{margin:0;padding:11px 13px;border-color:#bde5d9;background:#e8f8f3;color:#087458}.receive-order-form .actions{padding-top:14px;border-top:1px solid #d5e2e4}.receive-order-form .actions button{display:inline-flex;align-items:center;justify-content:center;min-height:43px}.receive-order-form .actions .primary{box-shadow:0 8px 20px #20bf912b}
@media(max-width:700px){#modal:has(.receive-order-modal){width:calc(100vw - 20px);max-height:calc(100dvh - 20px)}.receive-order-modal{padding:11px!important}.receive-order-head{grid-template-columns:43px minmax(0,1fr);margin:0;padding:15px 38px 14px 14px;border-radius:14px}.receive-order-head .receive-order-icon{width:41px;height:41px;border-radius:12px}.receive-order-head h2{font-size:21px}.receive-order-head p{font-size:11px;line-height:1.35}.receive-order-form{margin:0;padding:16px 2px 2px!important;gap:13px}.receipt-actions{gap:9px}.receipt-actions button{width:100%}}
.receive-order-form .diagnosis-option{position:relative;display:flex;align-items:center;min-height:46px;padding:10px 13px;border:1px solid #d7e5e3;border-radius:12px;background:#eef8f5}.diagnosis-choice{display:flex;align-items:center;gap:10px;width:100%;color:#23483e;font-weight:800}.diagnosis-choice>input{flex:0 0 auto;width:19px!important;height:19px;min-height:0!important;margin:0!important;accent-color:#16ae83}.diagnosis-info{position:relative;display:inline-grid;flex:0 0 22px;width:22px;height:22px;margin-left:auto;place-items:center;border-radius:50%;background:#17364b;color:#63e2bc;font-size:13px;font-weight:950;cursor:help}.diagnosis-tooltip{position:absolute;z-index:15;right:-8px;bottom:calc(100% + 10px);visibility:hidden;width:min(310px,calc(100vw - 60px));padding:11px 13px;border-radius:10px;background:#10283b;color:#fff;font-size:12px;font-weight:650;line-height:1.45;opacity:0;translate:0 5px;box-shadow:0 12px 28px #07172755;transition:.16s;pointer-events:none}.diagnosis-tooltip::after{content:"";position:absolute;right:12px;top:100%;border:7px solid transparent;border-top-color:#10283b}.diagnosis-info:hover .diagnosis-tooltip,.diagnosis-info:focus .diagnosis-tooltip,.diagnosis-info:focus-visible .diagnosis-tooltip{visibility:visible;opacity:1;translate:0}
#modal:has(.repair-receipt-head){width:min(650px,calc(100vw - 28px));padding:0;overflow:hidden}.repair-receipt-head{display:grid;grid-template-columns:54px minmax(0,1fr);gap:15px;align-items:center;padding:24px 27px 21px;background:linear-gradient(135deg,#effcf7,#f8fffc)}.repair-receipt-head>span{grid-row:1;display:grid;place-items:center;width:54px;height:54px;border-radius:50%;background:linear-gradient(135deg,#25cf9b,#13ae7d);color:#fff;box-shadow:0 10px 24px #1ebc8d35}.repair-receipt-head>span .ui-icon{width:29px;height:29px}.repair-receipt-head>div{min-width:0}.repair-receipt-head small{display:block;color:#108263;font-size:10px;letter-spacing:.15em;font-weight:900}.repair-receipt-head h2{margin:3px 0 1px;font-size:24px}.repair-receipt-head p{margin:0;color:#687789}.repair-receipt-options{display:grid;grid-template-columns:1fr 1fr;gap:13px;padding:22px 27px 4px}.repair-receipt-options button{display:grid;grid-template-columns:46px minmax(0,1fr);grid-template-rows:auto auto;column-gap:12px;align-items:center;min-height:108px;padding:16px;border:1px solid #d5e3e7;border-radius:15px;background:#fff;color:#15263a;text-align:left;box-shadow:0 8px 22px #18374b0b}.repair-receipt-options button:hover{border-color:#4bd0aa;background:#f1fcf8;translate:0 -1px}.repair-receipt-options button>span{grid-row:1/3;display:grid;place-items:center;width:46px;height:46px;border-radius:13px;background:#163249;color:#55dfb7}.repair-receipt-options button>span .ui-icon{width:25px;height:25px}.repair-receipt-options b{font-size:16px}.repair-receipt-options small{align-self:start;color:#6a7989;line-height:1.35}.repair-receipt-head~.receipt-choice{padding-top:17px}.repair-receipt-head~.receipt-choice button{display:inline-flex;align-items:center;gap:8px}.repair-receipt-head~.receipt-choice .ui-icon{width:19px;height:19px}@media(max-width:560px){#modal:has(.repair-receipt-head){width:calc(100vw - 20px)}.repair-receipt-head{grid-template-columns:47px minmax(0,1fr);gap:12px;padding:20px 18px 17px}.repair-receipt-head>span{width:47px;height:47px}.repair-receipt-head h2{font-size:21px}.repair-receipt-head p{font-size:13px}.repair-receipt-options{grid-template-columns:1fr;padding:17px 18px 2px}.repair-receipt-options button{min-height:92px}.repair-receipt-head~.receipt-choice{padding:15px 18px 20px}.repair-receipt-head~.receipt-choice button{width:100%}}
.repair-row-actions{display:flex;align-items:center;justify-content:flex-end;gap:7px}.repair-row-actions button{display:inline-flex;align-items:center;justify-content:center;gap:6px;white-space:nowrap}.repair-row-actions .ui-icon{width:17px;height:17px}@media(max-width:700px){.repair-row-actions{align-items:stretch;flex-direction:column}.repair-row-actions button{width:100%}}

/* Reparaciones: una selección clara, acciones únicas y cambio rápido de estado. */
.repair-action-bar{display:grid;grid-template-columns:minmax(210px,1fr) repeat(5,minmax(155px,1fr));align-items:stretch;gap:12px;margin:2px 0 18px;padding:12px;border:1px solid #d9e6ea;border-radius:18px;background:linear-gradient(135deg,#f2faf7,#f6f8fc);box-shadow:inset 0 1px #fff}
.repair-action-copy{display:flex;flex-direction:column;justify-content:center;padding:4px 9px}.repair-action-copy>span{color:#07805f;font-size:11px;font-weight:900;letter-spacing:.13em}.repair-action-copy p{margin:6px 0 0;color:#67798b}.repair-action-copy b{color:var(--ink)}
.repair-image-action{display:flex;align-items:center;gap:11px;min-height:78px;padding:7px 14px 7px 8px;border:1px solid #d4e0e6;border-radius:15px;background:#fff;color:var(--ink);text-align:left;cursor:pointer;box-shadow:0 8px 20px #14354b0b;transition:transform .16s ease,border-color .16s ease,box-shadow .16s ease}.repair-image-action:not(:disabled):hover{transform:translateY(-2px);border-color:#71d8ba;box-shadow:0 12px 24px #0d74551a}.repair-image-action:disabled{cursor:not-allowed;filter:grayscale(.85);opacity:.45}.repair-image-action img{width:64px;height:64px;object-fit:contain;filter:drop-shadow(0 7px 7px #17354b24)}.repair-image-action b,.repair-image-action small{display:block}.repair-image-action b{font-size:16px}.repair-image-action small{margin-top:4px;color:var(--muted);font-size:11px;line-height:1.25}
.repair-pay-action:not(:disabled){border-color:#a9dfcf;background:linear-gradient(145deg,#fff,#edfaf5)}
.repair-quote-action{border-color:#8bd8ca;background:linear-gradient(145deg,#fff,#eafaf6)}
.repair-deliver-action:not(:disabled){border-color:#a9d6e5;background:linear-gradient(145deg,#fff,#eef8fb)}
.orders-table-wrap{overflow-x:auto;padding:2px}.select-column{width:34px;padding-left:10px!important;padding-right:4px!important}.repair-select-row{cursor:pointer;outline:none;transition:background .15s ease,box-shadow .15s ease}.repair-select-row:hover{background:#f2faf7}.repair-select-row:focus-visible{box-shadow:inset 4px 0 #1bc99a}.repair-select-row.selected{background:#eaf9f4;box-shadow:inset 4px 0 #20c99a}.repair-radio{display:block;width:18px;height:18px;border:2px solid #b9c9d1;border-radius:50%;background:#fff;box-shadow:inset 0 0 0 4px #fff}.repair-select-row.selected .repair-radio{border-color:#18b98d;background:#18b98d}
.quick-status{display:grid;min-width:174px}.quick-status-trigger{align-items:center;justify-content:space-between;gap:8px;width:max-content;max-width:100%;border:1px solid #dce4e9;cursor:pointer}.quick-status-arrow{font-size:15px;line-height:1;transition:transform .16s ease}.quick-status-trigger[aria-expanded="true"] .quick-status-arrow{transform:rotate(180deg)}.quick-status-menu{display:grid;gap:4px;width:230px;margin-top:7px;padding:6px;border:1px solid #d6e2e7;border-radius:13px;background:#fff;box-shadow:0 12px 28px #1234481c}.quick-status-menu[hidden]{display:none}.quick-status-option{display:grid;grid-template-columns:12px minmax(0,1fr) 17px;align-items:center;gap:8px;width:100%;padding:8px 9px;border:0;border-radius:9px;background:transparent;color:#26384a;text-align:left;cursor:pointer}.quick-status-option:hover{background:#eef8f5}.quick-status-option.selected{background:#e5f8f1;color:#087659;font-weight:800}.quick-status-option b{text-align:right}.status-dot{display:block;width:9px;height:9px;border-radius:50%;background:#8b9aaa}.status-dot.green{background:#19b889}.status-dot.amber{background:#e9a425}.status-dot.red{background:#d5535b}
.floating-status-picker{position:fixed;z-index:5000;margin:0;max-height:min(470px,calc(100vh - 20px));overflow-y:auto;animation:statusPickerIn .14s ease-out}@keyframes statusPickerIn{from{opacity:0;transform:translateY(-5px) scale(.98)}to{opacity:1;transform:none}}

.repair-filter-panel{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(0,.85fr) auto;align-items:stretch;gap:12px;margin:0 0 18px;padding:12px;border:1px solid #d8e5e9;border-radius:18px;background:linear-gradient(135deg,#f8fbfc,#f1f8f6);box-shadow:inset 0 1px #fff}.repair-filter-group{display:grid;grid-template-columns:70px minmax(0,1fr);align-items:center;gap:12px;padding:11px 13px;border:1px solid #dce6ea;border-radius:15px;background:#fff}.repair-filter-group>img{width:68px;height:68px;object-fit:contain;filter:drop-shadow(0 7px 8px #15394b20)}.repair-filter-fields{min-width:0}.repair-filter-fields header{margin-bottom:9px}.repair-filter-fields header b,.repair-filter-fields header small{display:block}.repair-filter-fields header b{color:#18354a;font-size:14px}.repair-filter-fields header small{margin-top:2px;color:#7c8c99;font-size:10px}.repair-filter-row{display:flex;align-items:flex-end;gap:8px}.repair-filter-row label{display:grid;gap:4px;min-width:0;color:#4c6173;font-size:10px;font-weight:850;letter-spacing:.04em}.repair-filter-row input,.repair-filter-row select{height:42px;min-width:0;padding:8px 10px;border-radius:10px}.filter-search-field{flex:1}.filter-search-field input{width:100%}.filter-date-group .repair-filter-row label{flex:1}.filter-date-group input{width:100%}.repair-filter-actions{display:flex;flex-direction:column;justify-content:center;gap:8px;min-width:128px}.repair-filter-actions button{width:100%;white-space:nowrap}
@media(max-width:1450px){.repair-action-bar{grid-template-columns:repeat(4,1fr)}.repair-action-copy{grid-column:1/-1}.repair-image-action{max-width:none}}
@media(max-width:1050px){.repair-action-bar{grid-template-columns:repeat(2,1fr)}}
@media(max-width:1160px){.repair-filter-panel{grid-template-columns:1fr 1fr}.repair-filter-actions{grid-column:1/-1;flex-direction:row;justify-content:flex-end}.repair-filter-actions button{width:auto}}
@media(max-width:760px){.repair-filter-panel{grid-template-columns:1fr}.repair-filter-actions{grid-column:auto}.repair-filter-group{grid-template-columns:56px minmax(0,1fr)}.repair-filter-group>img{width:54px;height:54px}}
@media(max-width:760px){.repair-action-bar{grid-template-columns:1fr}.repair-action-copy{grid-column:auto}}
@media(max-width:620px){.repair-image-action{min-height:67px}.repair-image-action img{width:52px;height:52px}.quick-status-menu{width:205px}.repair-filter-row{align-items:stretch;flex-direction:column}.repair-filter-row label{width:100%}.repair-filter-actions{flex-direction:column}.repair-filter-actions button{width:100%}}

/* Configuración de proveedores de cotización. */
.supplier-security-note{display:flex;align-items:center;gap:11px;margin:2px 0 17px;padding:12px 14px;border:1px solid #bee6da;border-radius:13px;background:#effaf6;color:#176951}.supplier-security-note>.ui-icon{flex:0 0 24px;width:24px;height:24px}.supplier-security-note b,.supplier-security-note small{display:block}.supplier-security-note small{margin-top:2px;color:#5f786f}.supplier-source-form{margin-bottom:18px}.supplier-account-choice{display:flex!important;align-items:center!important;gap:11px}.supplier-account-choice input{flex:0 0 auto;width:19px!important;min-height:19px!important;margin:0!important}.supplier-account-choice b,.supplier-account-choice small{display:block}.supplier-source-list{display:grid;gap:10px}.supplier-source-card{display:grid;grid-template-columns:48px minmax(0,1fr) auto;align-items:center;gap:12px;padding:12px 13px;border:1px solid #d7e4e8;border-radius:14px;background:#fbfdfd}.supplier-source-mark{display:grid;place-items:center;width:46px;height:46px;border-radius:13px;background:linear-gradient(135deg,#0f3850,#16a67f);color:#fff;font-size:13px;font-weight:950}.supplier-source-card>span:nth-child(2){min-width:0}.supplier-source-card b,.supplier-source-card small,.supplier-source-card em{display:block}.supplier-source-card small{margin-top:3px;overflow:hidden;color:var(--muted);text-overflow:ellipsis;white-space:nowrap}.supplier-source-card em{width:max-content;margin-top:5px;padding:3px 7px;border-radius:99px;background:#e5f7f1;color:#08775a;font-size:10px;font-style:normal;font-weight:850}.supplier-source-card>div{display:flex;align-items:center;gap:7px}.supplier-source-card a{display:inline-flex;align-items:center;text-decoration:none;white-space:nowrap}.supplier-source-delete{display:grid;place-items:center;width:42px;height:42px;padding:0;border:1px solid #ffc9cb;border-radius:11px;background:#fff4f4;cursor:pointer}.supplier-source-empty{padding:24px;border:1px dashed #cddce1;border-radius:13px;color:var(--muted);text-align:center}@media(max-width:820px){.supplier-source-card{grid-template-columns:45px minmax(0,1fr)}.supplier-source-card>div{grid-column:1/-1;flex-wrap:wrap}.supplier-source-card a{flex:1;justify-content:center}.supplier-source-delete{margin-left:auto}}
.device-thumb{display:grid;place-items:center;flex:0 0 66px;width:66px;height:66px;overflow:hidden;border:1px solid #dce8ec;border-radius:16px;background:linear-gradient(145deg,#eef9f6,#e6eefb);color:#0f8b6b}.device-thumb img{width:100%;height:100%;object-fit:contain}.device-thumb .ui-icon{width:32px;height:32px}.device-thumb.compact{width:43px;height:43px;flex-basis:43px;border-radius:11px}.device-thumb.compact .ui-icon{width:23px;height:23px}.repair-device-cell{display:flex;align-items:center;gap:10px;min-width:180px}.repair-device-cell>span:last-child{display:grid;gap:3px}.repair-device-cell small{color:var(--muted)}.thumbnail-library{grid-column:1/-1}.thumbnail-pending-list{display:grid;gap:10px}.thumbnail-upload{display:grid;grid-template-columns:66px minmax(180px,1fr) auto auto;align-items:center;gap:14px;padding:12px;border:1px solid #dce8ec;border-radius:15px;background:#f9fcfc}.thumbnail-upload>div{display:grid;gap:4px}.thumbnail-upload small{color:var(--muted)}.thumbnail-file{position:relative;margin:0!important;padding:0!important;border:0!important;background:transparent!important}.thumbnail-file>span{display:inline-flex;align-items:center;min-height:40px;padding:0 13px;border:1px dashed #53cbaa;border-radius:10px;background:#eafaf5;color:#087557;font-weight:800}.thumbnail-file input{position:absolute;inset:0;width:100%;opacity:0;cursor:pointer}@media(max-width:700px){.thumbnail-upload{grid-template-columns:56px minmax(0,1fr)}.thumbnail-upload .device-thumb{width:56px;height:56px;flex-basis:56px}.thumbnail-upload .thumbnail-file,.thumbnail-upload button{grid-column:2}.thumbnail-upload button{width:100%}}
.device-thumb:has(.repair-parts-power){position:relative;overflow:visible}.repair-parts-power{position:absolute;z-index:2;right:-7px;top:-8px;display:grid;place-items:center;min-width:22px;height:22px;padding:0 6px;border:2px solid #fff;border-radius:999px;color:#fff;font-size:11px;line-height:1;font-style:normal;font-weight:950}.repair-parts-power.is-under{background:linear-gradient(145deg,#f4bd45,#d88a08);box-shadow:0 5px 12px #a9651555}.repair-parts-power.is-balanced{background:linear-gradient(145deg,#24d3a2,#0b9c75);box-shadow:0 5px 12px #08785a55}.repair-parts-power.is-over{background:linear-gradient(145deg,#ef6a70,#bd3038);box-shadow:0 5px 12px #9f222955}.device-thumb.compact .repair-parts-power{right:-8px;top:-9px;min-width:20px;height:20px;padding:0 5px;font-size:10px}
.dashboard-hero{display:flex;align-items:center;justify-content:space-between;gap:18px;margin-bottom:16px}.dashboard-search{display:flex;align-items:center;gap:10px;min-width:0;flex:1;max-width:520px;padding:12px 15px;border:1px solid #d8e4ea;border-radius:12px;background:#fff;color:#7b8b9c;box-shadow:0 7px 18px #12283a08}.dashboard-search .ui-icon{width:19px;height:19px;color:#1b8569}.dashboard-user{display:flex;align-items:center;gap:10px}.dashboard-user>span{display:grid;place-items:center;width:40px;height:40px;border-radius:50%;background:linear-gradient(135deg,#246ee0,#7658d8);color:#fff;font-size:12px;font-weight:900}.dashboard-user b,.dashboard-user small{display:block}.dashboard-user small{color:var(--muted);font-size:11px}.dashboard-metrics{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:15px;margin-bottom:19px}.dashboard-stat{display:flex;align-items:center;gap:14px;min-height:94px;padding:17px;border-radius:15px;color:#fff;box-shadow:0 12px 25px #16324b1c}.dashboard-stat>span{display:grid;place-items:center;width:46px;height:46px;border-radius:12px;background:#ffffff28}.dashboard-stat .ui-icon{width:27px;height:27px}.dashboard-stat b,.dashboard-stat small{display:block}.dashboard-stat b{font-size:27px;line-height:1.1}.dashboard-stat small{margin-top:4px;color:#ffffffdc}.dashboard-stat.stock{background:linear-gradient(135deg,#267cf1,#1761cf)}.dashboard-stat.sales{background:linear-gradient(135deg,#23bd8c,#129568)}.dashboard-stat.repairs{background:linear-gradient(135deg,#f19b39,#db6b17)}.dashboard-stat.clients{background:linear-gradient(135deg,#805be3,#6144c6)}.dashboard-grid{display:grid;grid-template-columns:minmax(0,1.5fr) minmax(290px,.78fr);gap:18px}.dashboard-main{margin:0}.repair-quick-list{display:grid;gap:5px}.repair-quick{display:grid;grid-template-columns:52px minmax(0,1fr) auto 20px;align-items:center;gap:12px;width:100%;padding:10px;border:0;border-bottom:1px solid #e7eef1;background:transparent;color:var(--ink);text-align:left;cursor:pointer}.repair-quick:last-child{border-bottom:0}.repair-quick:hover{border-radius:11px;background:#eefaf6}.repair-quick .device-thumb{width:49px;height:49px;flex-basis:49px;border-radius:12px}.repair-quick .device-thumb .ui-icon{width:25px;height:25px}.repair-quick b,.repair-quick small{display:block}.repair-quick small{margin-top:3px;color:var(--muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.repair-quick i{font-size:23px;color:#98a8b4;font-style:normal}.dashboard-link,.text-link{border:0;background:transparent;color:#087a5b;font-weight:800;cursor:pointer}.dashboard-link{margin-top:12px;padding:7px}.dashboard-side{display:grid;gap:18px}.dashboard-side .panel{margin:0}.low-stock-list{display:grid;gap:4px}.low-stock-list>div{display:grid;grid-template-columns:34px minmax(0,1fr) auto;align-items:center;gap:9px;padding:8px 0;border-bottom:1px solid #ebf0f2}.low-stock-list>div:last-child{border:0}.low-stock-list span{display:grid;place-items:center;width:31px;height:31px;border-radius:9px;background:#fff1dc;color:#ce7d12}.low-stock-list .ui-icon{width:17px;height:17px}.low-stock-list b{min-width:0;font-size:13px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.low-stock-list small{color:#c64a51;font-weight:800}.dashboard-payments .paycards{grid-template-columns:repeat(2,minmax(0,1fr))}.dashboard-payments .paycard{padding:11px}.dashboard-payments .paycard strong{font-size:19px}.dashboard-actions{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:15px;margin-top:19px}.dashboard-actions button{display:flex;align-items:center;gap:13px;min-height:80px;padding:15px;border:0;border-radius:14px;color:#fff;text-align:left;cursor:pointer}.dashboard-actions button>.ui-icon{width:31px;height:31px}.dashboard-actions b,.dashboard-actions small{display:block}.dashboard-actions small{margin-top:3px;color:#ffffffd8}.action-sale{background:linear-gradient(135deg,#18ba87,#0c936a)}.action-repair{background:linear-gradient(135deg,#3384f2,#1d62d3)}.action-admin{background:linear-gradient(135deg,#875ce6,#6947c7)}@media(max-width:960px){.dashboard-metrics{grid-template-columns:repeat(2,1fr)}.dashboard-grid{grid-template-columns:1fr}.dashboard-side{grid-template-columns:1fr 1fr}}@media(max-width:620px){.dashboard-hero{align-items:flex-start}.dashboard-search{font-size:12px}.dashboard-user>div{display:none}.dashboard-metrics,.dashboard-actions,.dashboard-side{grid-template-columns:1fr}.dashboard-stat{min-height:77px}.dashboard-stat b{font-size:23px}.repair-quick{grid-template-columns:46px minmax(0,1fr) 18px}.repair-quick .tag{display:none}.dashboard-actions{margin-bottom:8px}}
.access-gate{position:fixed;z-index:100;inset:0;display:grid;place-items:center;padding:24px;background:radial-gradient(circle at 25% 15%,#1a876d55,transparent 30rem),linear-gradient(135deg,#071421,#102d43);backdrop-filter:blur(8px)}.access-gate[hidden]{display:none}.access-card{width:min(560px,100%);padding:30px;border:1px solid #ffffff28;border-radius:25px;background:linear-gradient(145deg,#fff,#eff7f8);box-shadow:0 30px 80px #00000055}.access-brand{display:flex;align-items:center;gap:12px;padding-bottom:24px;border-bottom:1px solid #dce7ea}.access-brand>span{display:grid;place-items:center;width:45px;height:45px;border-radius:14px;background:linear-gradient(135deg,#31dfa9,#16a979);color:#06251d;font-size:23px;font-weight:950}.access-brand b,.access-brand small{display:block}.access-brand small{color:#71808e}.access-step{padding:24px 0 16px}.access-step small{color:#078260;font-size:11px;font-weight:900;letter-spacing:.14em}.access-step h2{margin:5px 0;font-size:27px}.access-step p{margin:0;color:#657688}.store-choices,.user-choices{display:grid;gap:11px}.store-choice,.user-choice{display:grid;grid-template-columns:48px minmax(0,1fr) auto;align-items:center;gap:13px;width:100%;padding:15px;border:1px solid #d9e5e8;border-radius:15px;background:#fff;color:#162538;text-align:left;cursor:pointer}.store-choice:hover,.user-choice:hover{border-color:#35c79d;background:#effbf7;translate:0 -1px}.store-choice>span,.user-choice>span{display:grid;place-items:center;width:46px;height:46px;border-radius:13px;background:#ddf8ef;color:#087a59;font-weight:900}.store-choice .ui-icon{width:25px;height:25px}.store-choice b,.store-choice small,.user-choice b,.user-choice small{display:block}.store-choice small,.user-choice small{margin-top:3px;color:#6e7e8d}.store-choice i,.user-choice i{color:#0b8867;font-style:normal;font-weight:800}.access-back{border:0;background:transparent;color:#087a59;font-weight:800;cursor:pointer}.active-user{display:flex;align-items:center;gap:8px;margin-left:15px;padding:5px 9px;border:1px solid #d6e5e8;border-radius:12px;background:#fff;color:#223447;text-align:left;cursor:pointer}.active-user>span{display:grid;place-items:center;width:29px;height:29px;border-radius:50%;background:#1cc797;color:#05251a;font-size:10px;font-weight:900}.active-user b,.active-user small{display:block;font-size:11px}.active-user small{color:#738293;font-size:10px}@media(max-width:580px){.access-gate{padding:15px}.access-card{padding:22px}.access-step h2{font-size:23px}.active-user>div{display:none}.active-user{margin-left:7px}}
.access-window-card{padding:0;overflow:hidden;background:#f8fbfc}.access-window-content{padding:24px 28px 30px}.access-window-card .access-step{padding:18px 0 16px}.access-window-card .access-back{margin:0}.access-window-card .formgrid{padding-top:4px}.access-window-card .actions{padding-top:14px;border-top:1px solid #dce6eb}.access-window-card .primary{min-width:130px}@media(max-width:580px){.access-window-content{padding:18px}.access-window-card .access-step h2{font-size:23px}.access-window-card .actions{display:grid}.access-window-card .primary{width:100%}}
.active-user>.active-user-avatar{display:block;width:38px;height:38px;overflow:hidden;padding:0;border-radius:50%;background:#e8f4f3;box-shadow:0 0 0 3px #dff3ed}.active-user-avatar .avatar-sprite{width:100%;height:100%;border-radius:50%}.active-user-avatar .avatar-sprite img{width:100%;height:100%;object-fit:cover}

/* Inicio SUSAN: tablero editorial, sobrio y orientado a la operación. */
.dashboard-hero{position:relative;display:grid;grid-template-columns:minmax(280px,.9fr) minmax(340px,1.1fr);align-items:center;gap:28px;margin-bottom:18px;padding:25px 28px;overflow:hidden;border:1px solid #d6e3e8;border-radius:22px;background:linear-gradient(115deg,#102d42 0%,#173d50 58%,#176f65 140%);box-shadow:0 18px 42px #102d421c;color:#fff}.dashboard-hero::after{content:"S";position:absolute;right:-10px;top:-74px;color:#ffffff0a;font-size:210px;font-weight:950;line-height:1}.dashboard-welcome{position:relative;z-index:1}.dashboard-live{display:flex;align-items:center;gap:7px;color:#7ce5c5;font-size:9px;font-weight:900;letter-spacing:.16em}.dashboard-live i{width:7px;height:7px;border-radius:50%;background:#43dbad;box-shadow:0 0 0 5px #43dbad1b}.dashboard-welcome h2{margin:8px 0 3px;color:#fff;font-size:clamp(25px,3vw,35px);letter-spacing:-.035em}.dashboard-welcome p{margin:0;color:#bfd0d9}.dashboard-search{position:relative;z-index:1;max-width:none;min-height:54px;border:1px solid #ffffff2b;background:#ffffffed;box-shadow:0 12px 28px #06141e28;color:#64778a}.dashboard-search kbd{margin-left:auto;padding:5px 8px;border:1px solid #d7e1e5;border-radius:7px;background:#f2f6f7;color:#738492;font:700 10px/1 sans-serif}.dashboard-metrics{gap:12px;margin-bottom:18px}.dashboard-stat{position:relative;display:grid;grid-template-columns:64px minmax(0,1fr);align-items:center;gap:15px;min-height:112px;padding:17px 18px;overflow:hidden;border:1px solid #d7e3e8;border-radius:18px;background:#fff!important;color:#182b40;box-shadow:0 11px 28px #1230460c}.dashboard-stat::after{content:"";position:absolute;inset:auto 0 0;height:3px;background:var(--stat-accent,#1db88d)}.dashboard-stat.stock{--stat-accent:#397fe2}.dashboard-stat.sales{--stat-accent:#1eb58a}.dashboard-stat.repairs{--stat-accent:#e29228}.dashboard-stat.clients{--stat-accent:#7659d6}.dashboard-stat>img{width:64px;height:64px;object-fit:cover;border-radius:16px;background:#eef7f5}.dashboard-stat b,.dashboard-stat small,.dashboard-stat em{display:block}.dashboard-stat small{color:#708091;font-size:11px;font-weight:750}.dashboard-stat b{margin:2px 0;color:#15283c;font-size:27px;letter-spacing:-.035em}.dashboard-stat em{color:#8b9aa7;font-size:10px;font-style:normal}.dashboard-grid{grid-template-columns:minmax(0,1.55fr) minmax(310px,.75fr);align-items:start}.dashboard-main{border-radius:20px}.dashboard-side{position:static;top:auto;display:grid;height:auto;padding:0;background:transparent;color:inherit}.dashboard-side .panel{border-radius:20px;background:#fff}.dashboard-side .panel::before{background:linear-gradient(90deg,#e6a23a,#f1c46e)}.dashboard-side .dashboard-payments::before{background:linear-gradient(90deg,#2685d9,#5ab9dd)}.repair-quick{border-radius:12px;transition:background .16s,transform .16s}.repair-quick:hover{background:#f0f8f6;transform:translateX(3px)}.dashboard-actions{gap:12px}.dashboard-actions button{display:grid;grid-template-columns:52px minmax(0,1fr) 22px;align-items:center;gap:13px;min-height:82px;border:1px solid #d7e3e8;background:#fff!important;color:#182b40;box-shadow:0 10px 26px #102d420c;transition:transform .16s,border-color .16s,box-shadow .16s}.dashboard-actions button:hover{transform:translateY(-2px);border-color:#72bba8;box-shadow:0 15px 32px #102d4214}.dashboard-actions button>img{width:52px;height:52px;object-fit:cover;border-radius:14px}.dashboard-actions button b{color:#172b40}.dashboard-actions button small{color:#728292}.dashboard-actions button>i{color:#259f80;font-size:20px;font-style:normal}.low-stock-list>div{grid-template-columns:34px minmax(0,1fr) auto}.low-stock-list b{color:#34485b}.active-user{min-height:48px;padding:5px 12px 5px 7px}
.dashboard-search input{min-width:0;flex:1;padding:0;border:0!important;outline:0;background:transparent!important;color:#193046;font-size:15px;box-shadow:none!important}.dashboard-search input::placeholder{color:#728599}.dashboard-search:focus-within{border-color:#54d4b2;box-shadow:0 0 0 4px #42d3ad22,0 15px 34px #06141e35}.global-search-results{position:absolute;z-index:30;top:calc(100% + 10px);left:0;right:0;max-height:min(520px,62vh);overflow:auto;padding:8px;border:1px solid #d4e2e6;border-radius:16px;background:#fff;color:#182d42;box-shadow:0 24px 55px #06141e4a}.global-search-results[hidden]{display:none}.global-search-result{display:grid;grid-template-columns:42px minmax(0,1fr) minmax(70px,auto) 16px;align-items:center;gap:11px;width:100%;padding:10px;border:0;border-bottom:1px solid #edf2f3;border-radius:10px;background:transparent;color:inherit;text-align:left;cursor:pointer}.global-search-result:last-child{border-bottom:0}.global-search-result:hover,.global-search-result.active{background:#eaf8f4}.global-search-result>span:nth-child(2){min-width:0}.global-search-result b,.global-search-result small{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.global-search-result b{font-size:14px}.global-search-result small{margin-top:3px;color:#718396;font-size:11px}.global-search-result em{max-width:170px;overflow:hidden;color:#65798c;font-size:10px;font-style:normal;text-overflow:ellipsis;white-space:nowrap}.global-search-result>i{color:#1a9c7c;font-size:20px;font-style:normal}.global-search-icon{display:grid;place-items:center;width:40px;height:40px;border-radius:12px;background:#e8f7f3;color:#128066}.global-search-icon .ui-icon{width:21px;height:21px}.global-search-icon.repair{background:#eaf1ff;color:#356fca}.global-search-icon.customer{background:#f1ecff;color:#7053bf}.global-search-icon.imei{background:#fff3df;color:#bd7418}.global-search-loading,.global-search-empty{padding:22px;color:#708295;text-align:center;font-size:13px}.global-search-target{position:relative;z-index:1;animation:globalSearchTarget 2.4s ease}.global-search-target td{background:#ddf8ef!important}@keyframes globalSearchTarget{0%,100%{box-shadow:none}18%,75%{box-shadow:inset 5px 0 #20bd90,0 0 0 3px #20bd9030}}
.dashboard-hero:has(.dashboard-search:focus-within){z-index:20;overflow:visible}.dashboard-hero:has(.dashboard-search:focus-within)::after{display:none}
@media(max-width:620px){.dashboard-hero{grid-template-columns:1fr}.dashboard-search{width:100%}.dashboard-search input{font-size:14px}.global-search-result{grid-template-columns:38px minmax(0,1fr) 14px}.global-search-result em{display:none}.global-search-icon{width:36px;height:36px}.global-search-results{max-height:58vh}}
@media(max-width:960px){.dashboard-hero{grid-template-columns:1fr}.dashboard-side{grid-template-columns:1fr 1fr}.dashboard-grid{grid-template-columns:1fr}}
@media(max-width:620px){.dashboard-hero{padding:21px 18px;border-radius:18px}.dashboard-search{min-height:49px}.dashboard-search kbd{display:none}.dashboard-metrics{grid-template-columns:1fr 1fr}.dashboard-stat{grid-template-columns:48px minmax(0,1fr);min-height:88px;padding:13px}.dashboard-stat>img{width:48px;height:48px;border-radius:13px}.dashboard-stat b{font-size:21px}.dashboard-stat em{display:none}.dashboard-side,.dashboard-actions{grid-template-columns:1fr}.dashboard-actions button{min-height:74px}.dashboard-welcome h2{font-size:27px}}
@media(max-width:390px){.dashboard-metrics{grid-template-columns:1fr}.dashboard-stat{grid-template-columns:54px minmax(0,1fr)}.dashboard-stat>img{width:54px;height:54px}}

/* Un solo desplazamiento dentro de las ventanas, con la barra superior fija. */
.dialog-windowbar{flex:0 0 auto}dialog[open]{display:flex;flex-direction:column;overflow:hidden}#modalBody{flex:1 1 auto;min-height:0;overflow-x:hidden;overflow-y:auto;overscroll-behavior:contain;scrollbar-gutter:stable;-webkit-overflow-scrolling:touch}#modalBody::-webkit-scrollbar{width:10px}#modalBody::-webkit-scrollbar-track{background:#edf3f5}#modalBody::-webkit-scrollbar-thumb{border:2px solid #edf3f5;border-radius:999px;background:#88a0ad}#modalBody::-webkit-scrollbar-thumb:hover{background:#5f7c8b}

/* Marco unificado: cada módulo y cuadro se percibe como una ventana de trabajo. */
.panel{position:relative;overflow:hidden;border-color:#d6e1e7;background:#fff;box-shadow:0 14px 32px #102b4010}.panel::before{content:"";display:block;height:3px;margin:-24px -24px 20px;background:linear-gradient(90deg,#173a50,#2bbf98)}.panelhead{padding-bottom:14px;border-bottom:1px solid #e5edf1}.panelhead h2{color:#183249}.panelhead p{color:#687d8e}dialog{overflow:hidden;border:1px solid #cbd9e1;background:#f7fafb}dialog::before{display:none}.dialog-windowbar{display:flex;align-items:center;gap:10px;min-height:58px;padding:0 58px 0 20px;border-bottom:1px solid #24485f;background:linear-gradient(90deg,#102c42,#173a50);color:#fff}.dialog-windowbar b{font-size:13px;letter-spacing:.02em}.dialog-windowbar em{margin-left:auto;color:#a9c0cd;font-size:10px;font-style:normal;font-weight:850;letter-spacing:.14em}dialog>.x{color:#d9e7ec;background:transparent}dialog>.x:hover{background:#ffffff18;color:#fff}#modalBody:not(:has(.receipt-success)){padding:24px 28px 28px}#modalBody>h2{color:#173248}.module-tile,.metric,.sale-entry,.sale-summary{overflow:hidden;border-color:#d6e1e7}.module-tile::before,.metric::before{content:"";display:block;height:3px;margin:-1px -1px 12px;background:linear-gradient(90deg,#173a50,#2bbf98)}
@media(max-width:700px){.panel::before{margin:-16px -16px 16px}.panelhead{padding-bottom:11px}.dialog-windowbar{min-height:54px;padding:0 48px 0 15px}.dialog-windowbar em{display:none}#modalBody:not(:has(.receipt-success)){padding:20px 18px 22px}.module-tile::before,.metric::before{margin:-1px -1px 9px}}

.device-catalog-settings{grid-column:1/-1}.catalog-admin-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}.catalog-add{display:flex;flex-direction:column;gap:11px;padding:17px;border:1px solid #d9e4e9;border-radius:15px;background:#f8fbfc}.catalog-add>b{color:#19354a;font-size:15px}.catalog-add label{gap:5px}.catalog-add button{align-self:flex-end;margin-top:auto}.catalog-note{display:block;margin-top:13px;color:#718291}.receive-order-form select[name="device_type"],.receive-order-form select[name="brand"],.receive-order-form select[name="model"]{font-weight:700}.receive-order-form select:disabled{background:#edf2f4;color:#8a99a5;cursor:not-allowed}@media(max-width:850px){.catalog-admin-grid{grid-template-columns:1fr}.catalog-add button{width:100%}}

.device-thumb img{width:92%;height:92%;object-fit:contain;filter:drop-shadow(0 5px 7px #18354a26)}

/* Autorización visible y obligatoria para cada cobro. */
.cashier-auth{grid-column:1/-1;display:grid;grid-template-columns:minmax(150px,.8fr) minmax(220px,1fr);gap:12px;margin-top:8px;padding:16px;border:1px solid #bcded4;border-radius:15px;background:linear-gradient(135deg,#edf9f5,#f7fbfc);box-shadow:inset 4px 0 #1fc89a}.cashier-auth>b{grid-column:1/-1;display:flex;align-items:center;gap:8px;color:#11775e;font-size:13px;letter-spacing:.03em}.cashier-auth>b::before{content:"";display:block;width:9px;height:9px;border-radius:50%;background:#20c99a;box-shadow:0 0 0 5px #20c99a18}.cashier-auth label{color:#42586c}.cashier-auth input,.cashier-auth select{background:#fff}.cashier-auth input[type="password"]{font-size:20px;letter-spacing:.2em}.cashier-auth::after{content:"El pago y la salida quedarán registrados a nombre de este empleado.";grid-column:1/-1;color:#708292;font-size:11px}
@media(max-width:620px){.cashier-auth{grid-template-columns:1fr}}
.cashier-authorization-dialog{width:min(680px,94vw);max-height:90vh;padding:0;overflow:hidden;border:1px solid #284a61;border-radius:24px;background:#0e263a;color:#fff;box-shadow:0 32px 95px #06162499}.cashier-authorization-dialog::backdrop{background:#07172580;backdrop-filter:blur(3px)}.cashier-authorization-dialog>.x{position:absolute;z-index:3;top:11px;right:14px;display:grid;place-items:center;width:36px;height:36px;padding:0;border:0;border-radius:50%;background:#ffffff14;color:#e5f0f3;font-size:25px;cursor:pointer}.cashier-authorization-dialog>.x:hover{background:#ffffff28}.cashier-authorization-dialog .dialog-windowbar{padding-right:62px}.cashier-authorization-body{padding:25px 28px 28px;overflow:auto;background:linear-gradient(145deg,#102a40,#0c2134)}.cashier-authorization-body>small{color:#4be0b9;font-size:10px;font-weight:950;letter-spacing:.18em}.cashier-authorization-body>h2{margin:7px 0 5px;color:#fff;font-size:30px}.cashier-authorization-body>p{margin:0 0 20px;color:#adc1d0}.cashier-authorization-body form{padding:0}.cashier-authorization-body .cashier-auth{margin:0;padding:18px;border-color:#365870;background:#18344b;box-shadow:inset 4px 0 #22c99a}.cashier-authorization-body .cashier-auth>b{color:#4be0b9}.cashier-authorization-body .cashier-auth label{color:#cfdae3}.cashier-authorization-body .cashier-auth input,.cashier-authorization-body .cashier-auth select{border-color:#48667b;background:#f8fbfd;color:#142a3e}.cashier-authorization-body .cashier-auth::after{color:#9db1c0}.cashier-authorization-body .actions{margin-bottom:0}.cashier-authorization-body .actions .secondary{border-color:#4b687d;background:#19364d;color:#dce7ed}.cashier-authorization-body .actions .primary{background:#20c696;color:#062a22}.cashier-verification-status:empty{display:none}.cashier-verification-status{padding:11px 13px;border-radius:11px;font-size:12px;font-weight:850}.cashier-verification-status.checking{background:#203e54;color:#c5d7e1}.cashier-verification-status.success{background:#164b40;color:#67e3bf}.cashier-verification-status.error{background:#572d35;color:#ffc6ca}@media(max-width:620px){.cashier-authorization-body{padding:21px 18px 23px}.cashier-authorization-body .actions{display:grid}.cashier-authorization-body .actions button{width:100%}}

.labor-line{margin:12px 0;border:1px solid #a9decf!important;background:linear-gradient(135deg,#effbf7,#fff)!important}.labor-line>span:first-child b{color:#08775d}.parts-accounting-warning{display:grid;gap:3px;margin:12px 0;padding:12px 14px;border:1px solid #f0d398;border-radius:12px;background:#fff7e5;color:#825600}.parts-accounting-warning small{color:#8b6a2b;line-height:1.35}.delivery-reconciliation{display:grid;gap:5px}.delivery-reconciliation>span{color:#43586b}.labor-only-confirm{display:flex!important;align-items:flex-start;gap:11px;padding:14px;border:1px solid #efd18e;border-radius:13px;background:#fff8e8}.labor-only-confirm input{width:20px!important;height:20px;margin-top:2px;flex:0 0 auto}.labor-only-confirm span,.labor-only-confirm b,.labor-only-confirm small{display:block}.labor-only-confirm small{margin-top:4px;color:#765f36;line-height:1.4}

/* Espacio visual de costos dentro de Gestionar reparación */
.parts-workspace{padding-top:8px}
.parts-pane-header{display:grid;grid-template-columns:88px minmax(0,1fr);align-items:center;gap:18px;margin:0 0 14px;padding:18px 20px;border:1px solid #cfe5df;border-radius:20px;background:linear-gradient(120deg,#effbf7 0%,#f8fbfc 58%,#eef5fb 100%);box-shadow:0 12px 28px #17364b12;overflow:hidden}
.parts-pane-visual{display:grid;place-items:center;width:76px;height:76px;border-radius:19px;background:linear-gradient(145deg,#fff,#ddf6ee);box-shadow:inset 0 0 0 1px #fff,0 9px 22px #0b866326}
.parts-pane-visual img{width:66px;height:66px;object-fit:contain;filter:drop-shadow(0 8px 8px #16394c25)}
.parts-pane-header small{display:block;margin-bottom:5px;color:#078262;font-size:11px;font-weight:900;letter-spacing:.16em}
.parts-pane-header h3{margin:0;color:#13283d;font-size:22px;line-height:1.15}
.parts-pane-header p{margin:6px 0 0;color:#667a8d;line-height:1.45}
.parts-workspace .parts-cost-graph{position:relative;margin:0 0 14px;padding:20px 22px;border:1px solid #25465e;background:linear-gradient(135deg,#102a41,#173f52);box-shadow:0 15px 32px #10263c24}
.parts-workspace .parts-cost-graph:before{content:'COMPARACIÓN DEL TRABAJO';display:block;margin-bottom:12px;color:#83d9c3;font-size:10px;font-weight:900;letter-spacing:.15em}
.parts-ledger-panel{margin:0!important;padding:20px!important;border:1px solid #d7e5e9!important;border-radius:20px!important;background:#fff!important;box-shadow:0 12px 30px #18384b0d!important}
.parts-ledger-panel .panelhead{margin-bottom:12px;padding-bottom:12px;border-bottom:1px solid #e3ecef}
.parts-ledger-panel .panelhead h2{margin:0;color:#142a3e;font-size:20px}
.parts-ledger-panel .partline{margin:8px 0;padding:14px 15px;border:1px solid #e0eaed!important;border-radius:14px;background:#f9fbfc;column-gap:14px}
.parts-ledger-panel .partline>span:first-child{min-width:0;color:#1b3145}
.parts-ledger-panel .partline>span:first-child small{color:#718497}
.parts-ledger-panel .partline>span:nth-child(2){padding:5px 9px;border-radius:999px;background:#edf3f6;color:#546a7c;font-size:12px;font-weight:800;white-space:nowrap}
.parts-ledger-panel .partline>b{color:#102b40;white-space:nowrap}
.parts-ledger-panel .labor-line{border-color:#a9decf!important;background:linear-gradient(135deg,#effbf7,#fff)!important}
.parts-ledger-panel .parts-accounting-warning{margin:8px 0 12px}
.parts-add-form{margin-top:18px!important;padding:17px;border:1px dashed #b9d7cf;border-radius:16px;background:#f3faf8}
.parts-add-form:before{content:'AGREGAR REPUESTO DEL INVENTARIO';grid-column:1/-1;color:#08795f;font-size:11px;font-weight:900;letter-spacing:.12em}
.parts-add-form .actions{margin-top:0}
.repair-accounting-form{display:grid;gap:8px}
.accounting-list-head,.accounting-list-row{display:grid;grid-template-columns:minmax(220px,1fr) 72px 150px 105px 48px;align-items:center;gap:12px}
.accounting-list-head{padding:0 12px 7px;color:#77899a;font-size:10px;font-weight:900;letter-spacing:.09em;text-transform:uppercase}.accounting-list-head span:nth-child(n+2){text-align:right}
.accounting-list-row{min-height:66px;padding:10px 12px;border-bottom:1px solid #e2ebee;background:#fff}.accounting-list-row:first-of-type{border-top:1px solid #e2ebee}.accounting-list-row:hover{background:#f8fbfc}
.accounting-concept{display:grid;gap:3px;min-width:0}.accounting-concept b{overflow:hidden;color:#183146;font-size:15px;text-overflow:ellipsis;white-space:nowrap}.accounting-concept small{color:#788b9d;font-size:12px}
.accounting-quantity{justify-self:end;min-width:34px;padding:6px 8px;border-radius:8px;background:#eef3f5;color:#53697b;text-align:center;font-size:12px;font-weight:800}
.accounting-list-row .inline-cost-field{grid-template-columns:auto minmax(76px,108px)}.accounting-list-row .inline-cost-field input{min-height:38px;padding:6px 9px}.accounting-list-row>label,.accounting-list-row>.part-line-total,.accounting-list-row>.labor-line-total{justify-self:end}.part-line-total,.labor-line-total{color:#183146;font-size:14px}
.accounting-list-row .remove-part{justify-self:end;width:38px;height:38px;padding:0;border-radius:50%}
.accounting-list-row.labor-line{margin:4px 0 0!important;border:1px solid #a9decf!important;border-radius:12px;background:#effbf7!important}.accounting-list-row.labor-line:hover{background:#e8f8f3!important}
.accounting-empty{padding:24px;border-block:1px solid #e2ebee;color:#788b9d;text-align:center}
.inline-cost-field{display:grid!important;grid-template-columns:auto minmax(82px,110px);align-items:center;gap:5px;margin:0;color:#52677a}
.inline-cost-field small{grid-column:1/-1;text-align:right;font-size:10px;font-weight:800;letter-spacing:.05em;text-transform:uppercase}
.inline-cost-field input{width:100%;min-height:42px;padding:8px 10px;border-radius:10px;text-align:right;font-weight:800;color:#102b40;background:#fff}
.calculated-cost-field input[readonly]{border-color:#9ddccb;background:#eaf8f4;color:#08785e;cursor:default}
.editable-part-line{grid-template-columns:minmax(0,1fr) auto auto auto!important}
.editable-labor-line{grid-template-columns:minmax(0,1fr) auto auto!important}
.accounting-total-row{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-top:10px;padding:16px 18px;border-radius:15px;background:#112e43;color:#fff}
.accounting-total-row small,.accounting-total-row b{display:block}.accounting-total-row small{color:#83d9c3;font-size:10px;font-weight:900;letter-spacing:.13em}.accounting-total-row b{margin-top:3px;font-size:17px}
.accounting-total-row .inline-cost-field{grid-template-columns:auto minmax(110px,145px);color:#8ee0ca}.accounting-total-row input{font-size:18px}
.accounting-equation{display:flex;align-items:center;justify-content:flex-end;gap:10px;flex-wrap:wrap;padding:11px 13px;border-radius:12px;background:#f0f5f7;color:#536879;font-size:12px}.accounting-equation span b{margin-left:4px;color:#1a3247}.accounting-equation i{font-style:normal;font-weight:900}.accounting-equation strong{margin-left:6px;padding:5px 9px;border-radius:999px}.accounting-equation.is-balanced strong{background:#dff6ee;color:#087a60}.accounting-equation.is-unbalanced strong{background:#fff0df;color:#9a5a00}
.repair-accounting-form>.actions{justify-content:flex-end;margin:4px 0 8px}
@media(max-width:850px){.accounting-list-head{display:none}.accounting-list-row{grid-template-columns:minmax(150px,1fr) 52px 120px 42px}.accounting-list-row>.part-line-total,.accounting-list-row>.labor-line-total{display:none}.accounting-total-row{align-items:flex-start;flex-direction:column}.accounting-total-row .inline-cost-field{align-self:stretch}.accounting-equation{justify-content:flex-start}}
@media(max-width:700px){.parts-pane-header{grid-template-columns:64px minmax(0,1fr);padding:15px}.parts-pane-visual{width:58px;height:58px}.parts-pane-visual img{width:52px;height:52px}.parts-pane-header h3{font-size:18px}.parts-workspace .compare-head{display:grid}.parts-ledger-panel{padding:14px!important}.parts-ledger-panel .partline{grid-template-columns:1fr auto!important}.parts-ledger-panel .partline>span:first-child{grid-column:1/-1}}

/* Tabla compacta del desglose de reparación */
.accounting-table-wrap{width:100%;max-width:100%;border:1px solid #dbe6ea;border-radius:13px;overflow-x:auto;background:#fff}
.accounting-table{width:100%;min-width:720px;max-width:100%;table-layout:fixed;border-collapse:collapse}
.accounting-table .qty-col{width:58px}.accounting-table .cost-col{width:138px}.accounting-table .total-col{width:92px}.accounting-table .action-col{width:46px}
.accounting-table th{padding:9px 10px;border-bottom:1px solid #dbe6ea;background:#f2f6f8;color:#6d8192;font-size:10px;font-weight:900;letter-spacing:.08em;text-align:left;text-transform:uppercase;white-space:nowrap}
.accounting-table th:nth-child(n+2){text-align:right}.accounting-table th:last-child{text-align:center}
.accounting-table td{height:52px;padding:7px 10px;border-bottom:1px solid #e6edef;color:#1b3347;vertical-align:middle}.accounting-table tbody tr:last-child td{border-bottom:0}.accounting-table tbody tr:hover td{background:#f9fbfc}
.accounting-table td:first-child{min-width:0}.accounting-table td:first-child b,.accounting-table td:first-child small{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.accounting-table td:first-child b{font-size:14px}.accounting-table td:first-child small{margin-top:2px;color:#788b9c;font-size:11px}
.accounting-table .number-cell,.accounting-table .money-cell{text-align:right;white-space:nowrap}.accounting-table .number-cell{color:#52687a;font-weight:800}.accounting-table .money-cell{font-size:13px;font-weight:850}
.table-money-input{display:grid;grid-template-columns:13px minmax(0,1fr);align-items:center;gap:3px;color:#577083}.table-money-input input{width:100%;min-width:0;height:36px;padding:5px 8px;border-radius:8px;text-align:right;font-weight:850}.table-money-input.calculated-cost-field input{border-color:#9ddccb;background:#eaf8f4;color:#08785e}
.accounting-table .action-cell{padding-inline:4px;text-align:center}.accounting-table .remove-part,.accounting-table .icon-delete{display:inline-grid!important;place-items:center;width:31px!important;height:31px!important;margin:0!important;padding:0!important;border-radius:50%!important;font-size:18px!important;line-height:1!important}
.accounting-table .labor-table-row td{background:#effaf6;border-top:2px solid #9edcca}.accounting-table .labor-table-row:hover td{background:#e9f8f3}.accounting-table .labor-table-row td:first-child b{color:#08785e}
.accounting-table .accounting-empty{height:64px;text-align:center}
.accounting-table-wrap+.accounting-total-row{margin-top:12px}
@media(max-width:620px){.accounting-table .qty-col{width:44px}.accounting-table .cost-col{width:112px}.accounting-table .total-col{width:76px}.accounting-table .action-col{width:38px}.accounting-table th,.accounting-table td{padding-inline:6px}.accounting-table th:nth-child(4),.accounting-table td:nth-child(4){display:none}.accounting-table .total-col{width:0}.table-money-input input{padding-inline:5px}}
@media(max-width:620px){.accounting-table th:nth-child(4),.accounting-table td:nth-child(4){display:table-cell}.accounting-table .total-col{width:92px}}

/* Márgenes consistentes de toda la ventana Gestionar reparación */
#modal:has(.manage-tabs){width:min(980px,calc(100vw - 44px));max-height:calc(100dvh - 38px)}
#modal:has(.manage-tabs) #modalBody{padding:28px 32px 34px}
#modal:has(.manage-tabs) #modalBody>h2{margin:0 48px 6px 0}
#modal:has(.manage-tabs) #modalBody>h2+p{margin:0 0 20px}
#modal:has(.manage-tabs) .manage-tabs{margin:20px 0 18px}
#modal:has(.manage-tabs) .manage-pane{min-width:0}
#modal:has(.manage-tabs) .manage-pane>.panel{width:100%;margin:0 0 16px}
#modal:has(.manage-tabs) .manage-pane>form[data-action]{margin:0;padding:20px;border:1px solid #d7e4e8;border-radius:18px;background:#fff;box-shadow:0 10px 25px #17364b0b}
#modal:has(.manage-tabs) .manage-pane>form[data-action] .actions{margin-top:12px}
#modal:has(.manage-tabs) .parts-workspace{padding:0}
#modal:has(.manage-tabs) .parts-pane-header,#modal:has(.manage-tabs) .parts-cost-graph,#modal:has(.manage-tabs) .parts-ledger-panel{width:100%;max-width:100%;box-sizing:border-box}
#modal:has(.manage-tabs) .parts-pane-header,#modal:has(.manage-tabs) .parts-cost-graph{margin-bottom:16px}
#modal:has(.manage-tabs) .parts-ledger-panel{margin-bottom:0!important}
.general-agreed-amount{display:flex;align-items:center;justify-content:space-between;gap:24px;margin:0 0 16px;padding:18px 20px;border:1px solid #bfded5;border-radius:18px;background:linear-gradient(120deg,#effaf6,#fff);box-shadow:0 10px 25px #17364b0b}
.general-agreed-amount>span{min-width:0}.general-agreed-amount small,.general-agreed-amount b,.general-agreed-amount em{display:block}.general-agreed-amount small{color:#087e62;font-size:10px;font-weight:900;letter-spacing:.14em}.general-agreed-amount b{margin-top:4px;color:#173147;font-size:18px}.general-agreed-amount em{margin-top:3px;color:#718596;font-size:11px;font-style:normal}.general-agreed-amount .inline-cost-field{flex:0 0 170px;grid-template-columns:auto minmax(0,1fr);color:#087e62}.general-agreed-amount input{font-size:18px}
#modal:has(.manage-tabs) #partForm.parts-add-form{gap:14px 18px;margin:18px 0 0!important;padding:18px!important;border:1px dashed #b9d7cf;border-radius:16px;background:#f3faf8;box-sizing:border-box}
#modal:has(.manage-tabs) #partForm.parts-add-form:before{margin:0 0 2px;padding:0;line-height:1.3}
#modal:has(.manage-tabs) #partForm.parts-add-form>label{margin:0;min-width:0}
#modal:has(.manage-tabs) #partForm.parts-add-form .parts-cost-note{margin:0;padding:13px 15px}
#modal:has(.manage-tabs) #partForm.parts-add-form .actions{margin:0;padding-top:14px;border-top:1px solid #d5e5e1}
#modal:has(.manage-tabs) #partForm.parts-add-form .actions button{min-width:150px}
@media(max-width:700px){#modal:has(.manage-tabs){width:calc(100vw - 18px);max-height:calc(100dvh - 18px)}#modal:has(.manage-tabs) #modalBody{padding:18px 14px 22px}#modal:has(.manage-tabs) .manage-tabs{margin-block:15px}#modal:has(.manage-tabs) .manage-tab{flex:1;padding-inline:8px}#modal:has(.manage-tabs) .manage-pane>form[data-action]{padding:14px}}

/* Consulta local de IMEI / TAC */
.dashboard-actions{grid-template-columns:repeat(4,minmax(0,1fr))}
.action-imei{background:linear-gradient(135deg,#176b72,#0d4a58)}
.imei-lookup{display:grid;gap:18px}
.imei-lookup-head{display:grid;grid-template-columns:84px minmax(0,1fr);align-items:center;gap:18px;padding:19px;border:1px solid #cfe5df;border-radius:18px;background:linear-gradient(135deg,#edf9f5,#f8fbfc)}
.imei-lookup-head img{width:84px;height:84px;object-fit:contain}
.imei-lookup-head small,.imei-result small{color:#078060;font-size:10px;font-weight:900;letter-spacing:.14em}
.imei-lookup-head h2{margin:3px 0 2px!important}
.imei-lookup-head p{margin:0;color:#687c8d}
.imei-lookup-form{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:end;gap:12px}
.imei-lookup-form label{display:grid;gap:7px;color:#40546b;font-weight:850}
.imei-lookup-form input{font-size:18px;letter-spacing:.08em}
.imei-lookup-form button{min-height:47px}
.imei-privacy{display:flex;align-items:center;gap:8px;padding:11px 13px;border-radius:12px;background:#e9f8f3;color:#087458;font-size:12px;font-weight:750}
.imei-privacy .ui-icon{width:18px;height:18px}
.imei-loading{padding:18px;text-align:center;color:#687c8d}
.imei-result{display:grid;gap:11px;padding:18px;border:1px solid #d4e3e7;border-radius:16px;background:#fff}
.imei-result.found{grid-template-columns:52px minmax(0,1fr) auto;align-items:center;border-color:#91d8c4;background:#f6fcfa}
.imei-result-icon{display:grid;place-items:center;width:52px;height:52px;border-radius:14px;background:#d9f6ec;color:#078060}
.imei-result-icon .ui-icon{width:28px;height:28px}
.imei-result h3{margin:3px 0;color:#173249;font-size:20px}
.imei-result p{margin:3px 0;color:#667a8c;overflow-wrap:anywhere}
.imei-result dl{display:flex;gap:18px;margin:10px 0 0}
.imei-result dl div{display:flex;gap:7px}
.imei-result dt{color:#748696}.imei-result dd{margin:0;color:#173249;font-weight:850}
.imei-result.not-found{border-color:#eed69c;background:#fffaf0}
.imei-result.error{border-color:#f1b9bd;background:#fff3f4;color:#a52c36}
@media(max-width:760px){.dashboard-actions{grid-template-columns:repeat(2,minmax(0,1fr))}.imei-lookup-head{grid-template-columns:64px minmax(0,1fr)}.imei-lookup-head img{width:64px;height:64px}.imei-lookup-form{grid-template-columns:1fr}.imei-result.found{grid-template-columns:44px minmax(0,1fr)}.imei-result.found>button{grid-column:1/-1;width:100%}}
@media(max-width:620px){.dashboard-actions{grid-template-columns:1fr}}
@media(max-width:480px){.dashboard-actions{grid-template-columns:1fr}.imei-lookup-head{grid-template-columns:1fr;text-align:center}.imei-lookup-head img{margin:auto}.imei-result.found{grid-template-columns:1fr}.imei-result-icon{margin:auto}.imei-result dl{display:grid;gap:5px}}
@media(max-width:560px){.general-agreed-amount{align-items:stretch;flex-direction:column;gap:12px;padding:15px}.general-agreed-amount .inline-cost-field{flex-basis:auto;width:100%}}
.labor-only-confirm[hidden]{display:none!important}.parts-cost-note{display:grid;gap:3px;padding:11px 13px;border:1px solid #dbe6ea;border-radius:11px;background:#f5f9fa;color:#3f5668}.parts-cost-note.active{border-color:#9ddbc9;background:#effaf6}.parts-cost-note small{color:#758694}
.manage-diagnosis-option{display:flex!important;align-items:flex-start;gap:11px;padding:14px;border:1px solid #b9dccf;border-radius:13px;background:linear-gradient(135deg,#effaf6,#fff)}.manage-diagnosis-option input[type="hidden"]{display:none}.manage-diagnosis-option input[type="checkbox"]{width:21px!important;height:21px;margin-top:2px;flex:0 0 auto;accent-color:#18b98d}.manage-diagnosis-option span,.manage-diagnosis-option b,.manage-diagnosis-option small{display:block}.manage-diagnosis-option b{color:#126f59}.manage-diagnosis-option small{margin-top:4px;color:#637a70;line-height:1.4}

/* Reparaciones: datos de contacto visibles sin abrir la orden */
.repair-device-cell .repair-customer-phone{display:flex;align-items:center;gap:5px;color:#31566d;font-weight:750}
.repair-customer-phone .ui-icon{width:14px;height:14px;color:#159474}
.repair-orders-table{min-width:1180px}
.repair-orders-table th:nth-child(2){width:190px}.repair-orders-table th:nth-child(3){width:330px}.repair-orders-table th:nth-child(4){width:165px}.repair-orders-table th:nth-child(5){width:230px}
.repair-phone-cell{white-space:nowrap;color:#31566d;font-weight:800}
.repair-phone-cell .ui-icon{width:16px;height:16px;margin-right:7px;vertical-align:-3px;color:#159474}
.repair-phone-cell span{vertical-align:middle}

/* Ventas: márgenes uniformes y autorización claramente delimitada */
.sale-workspace{width:100%;max-width:1500px;margin:0 auto;gap:clamp(16px,2vw,28px)}
.sale-entry,.sale-summary{box-sizing:border-box;margin-bottom:0}
.sale-entry{padding:clamp(18px,2.1vw,30px)}
.sale-summary{padding:clamp(18px,2vw,28px)}
.cashier-auth{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:12px;margin:18px 0;padding:16px;border:1px solid #b9ded3;border-radius:15px;background:#eff9f6}
.cashier-auth>b{grid-column:1/-1;color:#173c34;font-size:14px}
.cashier-auth label{display:grid;gap:7px;color:#40566a;font-weight:800}
.cashier-auth input,.cashier-auth select{width:100%;background:#fff}
@media(max-width:980px){.sale-workspace{max-width:760px}.sale-entry,.sale-summary{width:100%}}
@media(max-width:600px){.sale-workspace{gap:14px}.sale-entry,.sale-summary{padding:16px}.cashier-auth{grid-template-columns:1fr;padding:14px}.cashier-auth>b{grid-column:auto}}

/* Punto de venta: dos paneles alineados y una composición más compacta. */
.sale-workspace{grid-template-columns:minmax(560px,1.65fr) minmax(360px,.72fr);align-items:start;column-gap:24px}
.sale-entry,.sale-summary{--sale-panel-pad:clamp(18px,2vw,28px);margin:0;padding:var(--sale-panel-pad)}
.sale-entry::before,.sale-summary::before{margin:calc(var(--sale-panel-pad) * -1) calc(var(--sale-panel-pad) * -1) 20px}
.sale-entry{min-height:clamp(560px,calc(100dvh - 180px),780px);display:flex;flex-direction:column}
.sale-summary{position:sticky;top:20px;align-self:start;width:100%;box-shadow:0 18px 42px #0b1d2d22}
.sale-search-head,.sale-cart-head{min-height:54px}
.sale-searchbox{margin-top:15px}
.sale-cart-head{margin-top:22px}
.sale-cart-lines{display:grid;gap:9px}
.sale-cart-lines>.empty{display:grid;place-items:center;align-content:center;min-height:260px;margin:0;padding:92px 20px 28px;position:relative;background:linear-gradient(145deg,#fbfdfd,#f3f8fa);color:#6f8291;font-weight:750}
.sale-cart-lines>.empty::before{content:"";position:absolute;top:28px;width:58px;height:58px;border-radius:17px;background:#e5f7f1 url('/assets/nav-sale.png') center/54px 54px no-repeat;box-shadow:0 10px 24px #16394c16}
.sale-customer{margin:14px 0 17px;padding:13px}
.sale-customer input{min-height:46px}
.summary-total{margin:7px 0 16px}
.summary-breakdown{margin-bottom:15px;padding:11px 0}
.summary-breakdown>div{padding:5px 0}
.sale-summary label{margin-top:10px}
.sale-charge{margin-top:16px}
@media(max-width:1180px){.sale-workspace{grid-template-columns:minmax(0,1fr) minmax(340px,.72fr);column-gap:18px}.sale-entry{min-height:620px}}
@media(max-width:980px){.sale-workspace{grid-template-columns:1fr;max-width:760px;row-gap:16px}.sale-entry{min-height:0}.sale-summary{position:static}}
@media(max-width:600px){.sale-entry,.sale-summary{--sale-panel-pad:16px}.sale-search-head,.sale-cart-head{min-height:0}.sale-cart-lines>.empty{min-height:190px;padding-top:80px}.sale-summary{top:auto}}

/* Escala contemporánea para monitores amplios. */
#content:has(.sale-workspace){width:100%;max-width:1920px;padding:clamp(24px,2.2vw,44px)}
.sale-workspace{max-width:none;grid-template-columns:minmax(680px,1.65fr) minmax(430px,.72fr);column-gap:clamp(22px,2vw,34px)}
.sale-entry,.sale-summary{--sale-panel-pad:clamp(24px,2vw,34px);border-radius:24px}
.sale-search-head h2,.sale-cart-head h2{font-size:clamp(21px,1.25vw,25px)}
.sale-search-head p,.sale-cart-head>small{font-size:13px}
.sale-step{width:38px;height:38px;border-radius:12px;font-size:16px}
.sale-count{padding:9px 14px;font-size:13px}
.sale-searchbox{min-height:66px;padding:6px 9px 6px 18px;border-radius:17px}
.sale-searchbox input{font-size:17px}
.sale-cart-head{margin-top:26px;padding-top:24px}
.sale-cart-lines{flex:1;min-height:0}
.sale-cart-lines>.empty{height:100%;min-height:330px;padding-top:112px;border-radius:17px;font-size:16px}
.sale-cart-lines>.empty::before{top:38px;width:70px;height:70px;border-radius:20px;background-size:64px 64px}
.sale-summary{top:24px;padding:var(--sale-panel-pad)}
.summary-kicker{font-size:12px}
.sale-customer{padding:16px;border-radius:17px}
.sale-customer-title>span{width:40px;height:40px;border-radius:12px}
.sale-customer-title b{font-size:16px}.sale-customer-title small{font-size:12px}
.sale-customer input{min-height:50px;padding-inline:15px;font-size:15px}
.sale-summary>h2{font-size:18px}
.summary-total{font-size:48px}
.summary-breakdown{font-size:15px}
.sale-summary>label{font-size:14px}
.sale-summary>label>input{min-height:50px}
.payment-method{min-height:58px;padding:10px 12px;border-radius:13px}
.payment-method b{font-size:14px}
.sale-charge{min-height:58px;font-size:15px}
.sale-charge b{font-size:20px}
@media(max-width:1280px){#content:has(.sale-workspace){padding:24px}.sale-workspace{grid-template-columns:minmax(0,1fr) minmax(380px,.72fr);column-gap:20px}.sale-entry,.sale-summary{--sale-panel-pad:24px}.sale-cart-lines>.empty{min-height:280px}}
@media(max-width:980px){#content:has(.sale-workspace){max-width:820px}.sale-workspace{grid-template-columns:1fr}.sale-summary{position:static}.sale-cart-lines>.empty{min-height:230px}}
@media(max-width:600px){#content:has(.sale-workspace){padding:14px 10px 24px}.sale-entry,.sale-summary{--sale-panel-pad:16px;border-radius:18px}.sale-step{width:34px;height:34px}.sale-searchbox{min-height:56px}.sale-searchbox input{font-size:16px}.sale-cart-lines>.empty{min-height:190px}.summary-total{font-size:40px}}

/* En escritorio, carrito y resumen forman una sola estación con igual altura. */
.sale-workspace{align-items:stretch}
.sale-entry,.sale-summary{height:100%}
.sale-summary{position:relative;top:auto;align-self:stretch}
.sale-cart-lines>.empty{height:100%}
@media(max-width:980px){.sale-entry,.sale-summary{height:auto}.sale-summary{align-self:auto}}

/* Cliente a la izquierda; la columna derecha queda reservada para el cobro. */
.sale-entry .sale-customer-left{display:grid;grid-template-columns:minmax(220px,.9fr) minmax(190px,1fr) minmax(190px,1fr);align-items:center;gap:14px;margin:0 0 24px;padding:16px 18px;border-color:#c7e3dc;border-radius:17px;background:linear-gradient(120deg,#effaf6,#f7fbfc);color:#173148;box-shadow:0 9px 24px #17364b0b}
.sale-entry .sale-customer-title{margin:0}.sale-entry .sale-customer-title>span{background:#d7f5eb;color:#078060}
.sale-entry .sale-customer-title b{color:#173148}.sale-entry .sale-customer-title small{color:#6e8190}
.sale-entry .sale-customer-left input{min-width:0;margin:0!important;border-color:#c3d9d4!important;background:#fff!important;color:#173148!important}
.sale-entry .sale-customer-matches{top:calc(100% - 8px);left:auto;right:18px;width:min(620px,calc(100% - 36px))}
.sale-summary>.summary-kicker{margin-bottom:18px}
@media(max-width:1180px){.sale-entry .sale-customer-left{grid-template-columns:1fr 1fr}.sale-entry .sale-customer-title{grid-column:1/-1}.sale-entry .sale-customer-matches{left:18px;width:auto}}
@media(max-width:720px){.sale-entry .sale-customer-left{grid-template-columns:1fr;gap:10px;padding:14px}.sale-entry .sale-customer-title{grid-column:auto}.sale-entry .sale-customer-matches{left:14px;right:14px;width:auto}}

/* Carrito: filas compactas, delimitadas y fáciles de recorrer visualmente. */
.sale-cart-columns{display:grid;grid-template-columns:minmax(300px,1.45fr) minmax(105px,.45fr) minmax(155px,.65fr) minmax(105px,.42fr) 52px;align-items:center;gap:18px;padding:0 18px 8px;color:#718497;font-size:11px;font-weight:900;letter-spacing:.08em;text-transform:uppercase}
.sale-cart-columns span:nth-child(n+2){text-align:right}
.sale-cart-lines{align-content:start;grid-auto-rows:max-content}
.sale-cart-lines .sale-cartline{position:relative;grid-template-columns:minmax(300px,1.45fr) minmax(105px,.45fr) minmax(155px,.65fr) minmax(105px,.42fr) 52px;align-items:center;gap:18px;min-height:104px;margin:0;padding:15px 18px 15px 22px;border:1px solid #d8e5e9;border-radius:16px;background:linear-gradient(110deg,#fff,#f8fbfc);box-shadow:0 8px 22px #17364b0b;overflow:hidden;transition:transform .16s,border-color .16s,box-shadow .16s}
.sale-cart-lines .sale-cartline::before{content:"";position:absolute;inset:0 auto 0 0;width:5px;background:linear-gradient(#28d5a2,#148db0)}
.sale-cart-lines .sale-cartline:nth-child(even){background:linear-gradient(110deg,#fff,#f2f8ff)}
.sale-cart-lines .sale-cartline:hover{transform:translateY(-1px);border-color:#9bcfc0;box-shadow:0 12px 28px #17364b13}
.sale-cartline>span:first-child{min-width:0}.sale-cartline>span:first-child b{display:block;overflow:hidden;color:#173148;font-size:16px;text-overflow:ellipsis;white-space:nowrap}.sale-cartline>span:first-child small{color:#718497;font-size:12px}
.sale-cartline label{gap:5px;margin:0;color:#52677a;font-size:11px}.sale-cartline input{min-height:44px;padding:8px 10px;text-align:right;background:#fff}
.sale-cartline>b{color:#10283d;font-size:17px;text-align:right;white-space:nowrap}
.sale-cartline .remove-cart-item{justify-self:end;width:46px;height:46px;border-color:#f1c7c9;background:#fff7f7;box-shadow:0 6px 14px #9e2d3820}
.sale-cartline .remove-cart-item img{display:block;width:38px;height:38px;object-fit:contain;pointer-events:none}
@media(max-width:1180px) and (min-width:761px){.sale-cart-columns,.sale-cart-lines .sale-cartline{grid-template-columns:minmax(220px,1.25fr) minmax(82px,.42fr) minmax(120px,.62fr) minmax(90px,.4fr) 46px;gap:10px}.sale-cart-lines .sale-cartline{padding-inline:18px 14px}}
@media(max-width:760px){.sale-cart-columns{display:none}.sale-cart-lines .sale-cartline{grid-template-columns:minmax(0,1fr) 70px 105px 46px;padding:14px 12px 14px 18px}.sale-cartline>span:first-child{grid-column:1/-1}.sale-cartline>b{grid-column:1/4}.sale-cartline .remove-cart-item{grid-column:4;grid-row:2}}

/* Selector de impuesto por cada artículo de la venta. */
.tax-mode{display:inline-flex;align-items:center;gap:8px;width:max-content;max-width:100%;min-height:44px;margin-top:8px;padding:5px 13px 5px 6px;border:1px solid #c7d9df;border-radius:999px;background:#f1f6f8;color:#506779;font-size:11px;font-weight:850;cursor:pointer;transition:.15s}
.tax-mode>img{display:block;width:34px;height:34px;flex:0 0 34px;object-fit:contain;filter:drop-shadow(0 4px 5px #17364b18);pointer-events:none}
.tax-mode:hover{border-color:#7fcbb7;background:#eaf8f4;color:#08765b}
.tax-mode.included{border-color:#75cfb4;background:#def7ee;color:#08775c}
.sale-cartline:has(.tax-mode.included)::before{background:linear-gradient(#23c997,#6f62dc)}
.sale-cartline:has(.tax-mode.included)>b{color:#08785d}
@media(max-width:760px){.tax-mode{white-space:normal;text-align:left}.sale-cart-lines .sale-cartline{min-height:0}}

/* Una sola papelera 3D identifica todas las acciones de eliminación del sistema. */
.icon-delete,.remove-part,.removePurchase,.delete-purchase-item,.technician-delete,.serial-chip button{overflow:hidden;color:transparent!important;font-size:0!important;text-indent:-9999px;background-color:#fff6f6!important;background-image:url('/assets/action-delete-3d.png')!important;background-position:center!important;background-repeat:no-repeat!important;background-size:30px 30px!important;border:1px solid #f1c7c9!important;box-shadow:0 5px 12px #9e2d3818;cursor:pointer}
.icon-delete:hover,.remove-part:hover,.removePurchase:hover,.delete-purchase-item:hover,.technician-delete:hover,.serial-chip button:hover{background-color:#ffecec!important;border-color:#e99da2!important;transform:translateY(-1px)}
.purchase-line>.removePurchase{display:grid!important;place-items:center!important;align-self:center;justify-self:center;flex:0 0 42px;width:42px!important;min-width:42px!important;max-width:42px!important;height:42px!important;min-height:42px!important;padding:0!important;border-radius:13px!important;background-size:36px 36px!important}
.purchase-head-action{display:inline-flex!important;align-items:center;justify-content:center;gap:9px;min-height:54px;padding:7px 16px 7px 9px!important;white-space:nowrap}
.purchase-head-action img{display:block;width:40px;height:40px;object-fit:contain;filter:drop-shadow(0 5px 7px #17304726);pointer-events:none}
.transaction-ticket-button{display:grid!important;place-items:center;width:42px;min-width:42px;height:42px;padding:7px!important;border-radius:12px}
.transaction-ticket-button svg{width:22px;height:22px;pointer-events:none}
.transaction-print-actions{justify-content:flex-end;margin-top:18px;padding-top:14px;border-top:1px solid #dbe6eb}
.app-window-logo{display:block!important;width:92px!important;height:36px!important;object-fit:contain;object-position:left center;border-radius:0!important;background:none!important;box-shadow:none!important}
/* Identidad SUSAN: el logotipo tiene jerarquía propia y la tienda queda como contexto secundario. */
.brand{flex-direction:column;align-items:flex-start;gap:7px;padding:0 8px 24px}
.brand>.brand-logo-shell{position:relative;isolation:isolate;display:block;width:188px;height:60px;overflow:visible;border-radius:18px;background:radial-gradient(ellipse at 46% 52%,#47e8bb26 0,#20c99712 46%,transparent 76%);box-shadow:none;transform:none}
.brand>.brand-logo-shell::before{content:"";position:absolute;z-index:-1;inset:8px 3px;border-radius:18px;background:#3ee0b40c;box-shadow:0 0 24px #2bd4a53b,0 0 50px #19b98c1f;pointer-events:none}
.brand-logo{position:relative;z-index:1;width:188px;height:60px;object-fit:contain;object-position:left center;filter:brightness(1.16) contrast(1.08) drop-shadow(0 0 2px #baffedb8) drop-shadow(0 0 9px #31d9aa8a) drop-shadow(0 8px 16px #00c99735)}
.brand-store{display:flex;align-items:baseline;gap:8px;padding-left:10px}
.brand-store strong{font-size:15px;color:#f3f8fb}
.brand-store small{margin:0;font-size:11px;color:#8fa0b4}
.workshop-admin{grid-column:1/-1}.workshop-admin .panelhead{align-items:center}.workshop-current{display:flex;align-items:center;gap:12px;margin:4px 0 14px;padding:13px 16px;border:1px solid #bfe7da;border-radius:13px;background:#effbf7}.workshop-current small{color:#07805f;font-size:10px;font-weight:900;letter-spacing:.13em}.workshop-current strong{color:#173147}.role-user-list{display:grid;gap:9px}.role-user-row{display:grid;grid-template-columns:48px minmax(190px,1fr) minmax(180px,240px);align-items:center;gap:13px;padding:12px 14px;border:1px solid #dce7ea;border-radius:13px;background:#fbfdfd}.role-avatar{display:grid;place-items:center;width:45px;height:45px;overflow:hidden;border-radius:50%;background:#e3f8f1}.role-avatar .avatar-sprite{width:45px;height:45px}.role-user-row b,.role-user-row small{display:block}.role-user-row small{margin-top:3px;color:#718291}.role-user-row label{gap:4px}.workshop-safety{display:block;margin-top:11px;color:#687b8c}@media(max-width:650px){.workshop-admin .panelhead{align-items:stretch;flex-direction:column}.role-user-row{grid-template-columns:45px 1fr}.role-user-row label{grid-column:1/-1}}
.app-window-logo{width:154px!important;height:48px!important;flex:0 0 154px;filter:brightness(1.18) contrast(1.08) drop-shadow(0 0 2px #c5fff0b8) drop-shadow(0 0 10px #30dbaa91) drop-shadow(0 6px 14px #00b8894f)!important}
.access-windowbar{min-height:72px!important;padding:0 30px!important;gap:16px!important}
.access-windowbar small{font-size:12px!important;letter-spacing:.04em}
@media(max-width:900px){
  .brand{align-items:center;padding:0 0 22px}
  .brand>.brand-logo-shell{width:50px;height:50px;border-radius:14px}
  .brand-logo{width:150px;height:50px;max-width:none;object-fit:contain;transform:translateX(-10px)}
  .brand-store{display:none}
}
@media(max-width:580px){.app-window-logo{width:126px!important;height:42px!important;flex-basis:126px}.access-windowbar{min-height:64px!important;padding:0 18px!important}}
.serial-chip button{width:31px;height:31px;padding:0;border-radius:50%}

/* Carrito móvil: posiciones explícitas para evitar saltos y desalineación. */
@media(max-width:760px){
  .sale-cart-lines .sale-cartline{grid-template-columns:76px minmax(0,1fr) 48px;grid-template-areas:"product product product" "quantity price remove" "total total total";align-items:end;gap:12px 10px;min-height:0;padding:16px 14px 14px 20px}
  .sale-cartline>span:first-child{grid-area:product;display:block;min-width:0}
  .sale-cartline>span:first-child b{font-size:17px;white-space:normal}
  .sale-cartline>span:first-child small{display:block;margin-top:5px}
  .sale-cartline>label:nth-of-type(1){grid-area:quantity}
  .sale-cartline>label:nth-of-type(2){grid-area:price}
  .sale-cartline label{align-self:stretch;justify-content:end;min-width:0}
  .sale-cartline label input{width:100%;min-width:0;min-height:50px}
  .sale-cartline .remove-cart-item{grid-area:remove;align-self:end;justify-self:end;width:46px;height:46px;margin-bottom:2px}
  .sale-cartline>b{grid-area:total;display:flex;align-items:center;justify-content:space-between;width:100%;margin-top:2px;padding-top:12px;border-top:1px solid #dbe6e9;text-align:right}
  .sale-cartline>b::before{content:"Total";color:#607487;font-size:12px;font-weight:850;letter-spacing:.06em;text-transform:uppercase}
  .tax-mode{justify-content:flex-start;width:100%;margin-top:10px;padding-right:12px;white-space:normal;text-align:left}
}

/* Bienvenida animada del técnico después de validar su contraseña (solo escritorio). */
.employee-welcome-overlay{position:fixed;inset:0;z-index:2600;display:grid;place-items:center;overflow:hidden;padding:32px;background:linear-gradient(135deg,#071b2dF2,#0b3045F2 54%,#075c52F0);opacity:0;transition:opacity .28s ease;isolation:isolate}
.employee-welcome-overlay.visible{opacity:1}.employee-welcome-overlay.is-flying{background-color:#071b2d99;transition:background .65s ease,opacity .25s ease .52s}
.employee-welcome-glow{position:absolute;z-index:-1;width:min(760px,68vw);aspect-ratio:1;border-radius:50%;background:radial-gradient(circle,#38e0b43d 0,#1ab89f18 42%,transparent 70%);filter:blur(4px);animation:employeeGlow 1.8s ease-in-out infinite alternate}
.employee-welcome-stage{display:flex;align-items:center;justify-content:center;gap:clamp(32px,6vw,96px);width:min(1050px,92vw)}
.employee-welcome-character-wrap{position:relative;flex:0 0 auto;width:clamp(230px,27vw,360px);aspect-ratio:543/724;transform-origin:center center;filter:drop-shadow(0 28px 30px #0007)}
.employee-welcome-character{display:block;width:100%;height:100%;background-repeat:no-repeat;background-size:400% 100%;background-position-y:center;animation:employeeWaveFrames .54s steps(1,end) infinite,employeeGreetingBob 1.08s ease-in-out infinite;will-change:transform,background-image}
.employee-welcome-character.male-1,.employee-welcome-character.male-2,.employee-welcome-character.male-3,.employee-welcome-character.male-4{--welcome-a:url('/assets/welcome-technicians-male.png');--welcome-b:url('/assets/welcome-technicians-male-wave.png')}
.employee-welcome-character.female-1,.employee-welcome-character.female-2,.employee-welcome-character.female-3,.employee-welcome-character.female-4{--welcome-a:url('/assets/welcome-technicians-female.png');--welcome-b:url('/assets/welcome-technicians-female-wave.png')}
.employee-welcome-character.male-1,.employee-welcome-character.female-1{background-position-x:0}.employee-welcome-character.male-2,.employee-welcome-character.female-2{background-position-x:33.333%}.employee-welcome-character.male-3,.employee-welcome-character.female-3{background-position-x:66.667%}.employee-welcome-character.male-4,.employee-welcome-character.female-4{background-position-x:100%}
.employee-welcome-copy{min-width:min(420px,42vw);color:#fff;text-shadow:0 2px 12px #0018;transition:opacity .24s ease,transform .4s ease}
.employee-welcome-copy small{display:block;margin-bottom:12px;color:#69e5c5;font-size:13px;font-weight:950;letter-spacing:.16em}.employee-welcome-copy h2{margin:0;font-size:clamp(44px,5vw,72px);line-height:.98}.employee-welcome-copy p{margin:18px 0 26px;color:#d6e7ed;font-size:clamp(18px,1.7vw,24px)}
.employee-welcome-copy button{min-width:150px;padding:13px 22px;border:1px solid #ffffff38;border-radius:14px;background:#ffffff17;color:#fff;font-size:15px;font-weight:850;backdrop-filter:blur(8px);cursor:pointer;transition:.18s}.employee-welcome-copy button:hover{border-color:#6be7c7;background:#25c79f;color:#05251f;transform:translateY(-2px)}
.employee-welcome-overlay.is-flying .employee-welcome-copy{opacity:0;transform:translateX(24px)}.employee-welcome-overlay.is-flying .employee-welcome-glow{opacity:0}
.active-user-avatar.avatar-arrival{animation:employeeAvatarArrival .62s cubic-bezier(.2,.8,.2,1)}
@keyframes employeeWaveFrames{0%,45%,100%{background-image:var(--welcome-a)}46%,88%{background-image:var(--welcome-b)}}
@keyframes employeeGreetingBob{0%,100%{transform:translateY(0) rotate(-.6deg)}50%{transform:translateY(-9px) rotate(.7deg)}}
@keyframes employeeGlow{to{transform:scale(1.1);opacity:.72}}
@keyframes employeeAvatarArrival{0%{transform:scale(.72);box-shadow:0 0 0 0 #43ddb78c}55%{transform:scale(1.18);box-shadow:0 0 0 12px #43ddb700}100%{transform:scale(1)}}
@media(max-width:900px){.employee-welcome-overlay{display:none!important}}
@media(prefers-reduced-motion:reduce){.employee-welcome-character,.employee-welcome-glow{animation:none}.employee-welcome-overlay,.employee-welcome-copy{transition-duration:.01ms}}

/* Reporte contable opcional y administración central de cajas. */
.daily-report-option{display:flex!important;align-items:flex-start;gap:12px;padding:15px 16px;border:1px solid #a8dccc;border-radius:16px;background:#eefaf6;cursor:pointer}
.daily-report-option input{width:20px!important;height:20px!important;margin:2px 0 0;flex:0 0 auto;accent-color:#0b9b7d}
.daily-report-option span{display:grid;gap:3px}.daily-report-option b{color:#087660}.daily-report-option small{color:#607489;line-height:1.35}.daily-report-button{white-space:nowrap}
.cash-register-admin{grid-column:1/-1}.cash-register-list{display:grid;gap:10px}.cash-register-row{display:grid;grid-template-columns:46px minmax(240px,1fr) minmax(210px,.8fr) 150px 100px 46px;align-items:center;gap:14px;padding:13px 15px;border:1px solid #d7e5e8;border-radius:15px;background:#f9fbfc}
.cash-register-row.is-disabled{border-color:#efc6c8;background:#fff7f7}.cash-register-device{display:grid;place-items:center;width:42px;height:42px;border-radius:13px;background:#dff6ee;color:#078264;font-size:17px;font-weight:950}.cash-register-row.is-disabled .cash-register-device{background:#f9dddd;color:#aa3439}
.cash-register-row label{margin:0}.cash-register-row input[name="name"]{min-height:44px}.cash-register-row label>small{color:#698093;font-size:9px;font-weight:950;letter-spacing:.1em}.cash-register-history{display:grid;gap:3px}.cash-register-history b{color:#173148;font-size:12px}.cash-register-history small{color:#718497;font-size:10px}.cash-register-active{display:flex!important;align-items:center;gap:8px}.cash-register-active input{width:20px!important;height:20px!important;accent-color:#0b9b7d}.cash-register-active span{font-weight:850;color:#08795d}.cash-register-row.is-disabled .cash-register-active span{color:#a63339}
.cash-register-delete{width:42px;height:42px;border-radius:13px}.cash-register-identity-note{display:flex;gap:12px;margin-top:14px;padding:13px 15px;border:1px solid #cbdde3;border-radius:13px;background:#f1f7f9;color:#5d7486;font-size:11px;line-height:1.45}.cash-register-identity-note b{flex:0 0 auto;color:#173148}
.device-block-card{max-width:620px!important}.device-block-symbol{display:grid;place-items:center;width:82px;height:82px;margin:0 auto 18px;border-radius:24px;background:#ffe8e8;font-size:38px;box-shadow:0 12px 28px #7b202018}.device-block-card .access-step{text-align:center}.device-block-card .access-step small{color:#b13940}
.device-authorize-status:empty{display:none}.device-authorize-status{padding:11px 13px;border-radius:11px;font-size:12px;font-weight:800}.device-authorize-status.checking{background:#edf5f8;color:#47687c}.device-authorize-status.success{background:#e5f8ef;color:#087657}.device-authorize-status.error{background:#fff0f0;color:#a52e35}
@media(max-width:980px){.cash-register-row{grid-template-columns:42px minmax(200px,1fr) 130px 95px 46px}.cash-register-history{grid-column:2/-1;grid-row:2}.cash-register-device{grid-row:1/3}.cash-register-identity-note{flex-direction:column;gap:4px}}
@media(max-width:640px){.cash-register-row{grid-template-columns:42px 1fr 46px;align-items:start}.cash-register-row>label:first-of-type,.cash-register-history,.cash-register-active{grid-column:2/-1}.cash-register-history{grid-row:auto}.cash-register-device{grid-row:1/6}.cash-register-row>button[type="submit"]{grid-column:2;width:100%}.cash-register-delete{grid-column:3;grid-row:5}}

/* Encabezado global: el titulo y la fecha nunca deben invadir el mismo espacio. */
main>header{display:grid;grid-template-columns:minmax(0,1fr) max-content;column-gap:28px;align-items:center}
main>header>div:first-child{min-width:0}
#title{max-width:100%;overflow-wrap:break-word}
@media(max-width:1200px){main>header{height:auto;min-height:112px;grid-template-columns:minmax(0,1fr);align-content:center;justify-items:start;row-gap:7px;padding:17px 24px}main>header #clock{display:block!important;position:static;max-width:100%;font-size:14px;line-height:1.2;white-space:normal}}
@media(max-width:700px){main>header{min-height:108px;padding:15px 16px;row-gap:6px}main>header h1{font-size:25px}main>header #clock{font-size:13px}}

/* Apertura, estado y continuidad diaria de la caja. */
.cash-opening{display:grid;gap:18px}.cash-opening-head{display:flex;align-items:center;gap:16px;padding:4px 0 18px;border-bottom:1px solid #dce7ea}.cash-opening-head img{width:72px;height:72px;border-radius:18px;object-fit:cover;background:#e8f6f2}.cash-opening-head small{color:#078365;font-size:11px;font-weight:950;letter-spacing:.14em}.cash-opening-head h2{margin:3px 0 4px}.cash-opening-head p{margin:0;color:#718497}.cash-opening-note{display:flex;flex-direction:column;gap:4px;padding:14px 16px;border:1px solid #bde5d8;border-radius:13px;background:#ecfaf5;color:#496274}.cash-opening-note b{color:#08795d}.cash-opening-note span{font-size:12px}.register-status{display:flex;align-items:center;gap:13px;margin:0 0 16px;padding:13px 15px;border:1px solid #b9e3d5;border-radius:14px;background:linear-gradient(100deg,#eaf9f4,#f7fcfa)}.register-status>span{display:grid;place-items:center;width:38px;height:38px;flex:0 0 38px;border-radius:12px;background:#ccefe4;color:#087a5c;font-size:18px;font-weight:950}.register-status small,.register-status b,.register-status em{display:block}.register-status small{color:#078165;font-size:9px;font-weight:950;letter-spacing:.13em}.register-status b{margin-top:2px;color:#173148}.register-status em{margin-top:2px;color:#718497;font-size:11px;font-style:normal}.register-status.pending{border-color:#efd59b;background:#fff9ec}.register-status.pending>span{background:#ffedc4;color:#a76800}.register-status.pending small{color:#a76800}.register-status.closed{border-color:#cad9e2;background:#f2f6f8}.register-status.closed>span{background:#dfeaed;color:#456276}.register-status.closed small{color:#526b7c}
.cash-opening .formgrid>label{align-self:start}.cash-opening .formgrid>label>input,.cash-opening .formgrid>label>select{height:54px}.cash-opening .formgrid>label>small{display:block;min-height:36px;margin-top:2px;line-height:1.35}.cash-opening .cash-opening-note{margin-top:2px}
.store-total-label{display:flex;align-items:center;justify-content:space-between;gap:16px;margin:5px 0 11px;color:#63788b}.store-total-label b{color:#173148;font-size:14px}.store-total-label span{font-size:11px;text-align:right}@media(max-width:620px){.store-total-label{align-items:flex-start;flex-direction:column;gap:3px}.store-total-label span{text-align:left}}
.transaction-employee{display:inline-block;color:#173148;font-size:12px;white-space:nowrap}.transaction-register{display:inline-block;padding:5px 8px;border-radius:999px;background:#e8f7f3;color:#08795d;font-size:10px;font-weight:850;white-space:nowrap}.daily-transactions{min-width:1120px}

/* Selector visual para permitir que una parte también se venda. */
.part-sale-option{display:flex!important;align-items:center;gap:14px;min-height:88px;padding:10px 16px 10px 10px!important;border:1px solid #b8ded4;border-radius:17px;background:linear-gradient(105deg,#edf9f6,#f9fcfc);cursor:pointer;transition:border-color .18s,box-shadow .18s,transform .18s}
.part-sale-option[hidden]{display:none!important}.part-sale-option:hover{border-color:#55c7aa;box-shadow:0 10px 24px #0b70531a;transform:translateY(-1px)}
.part-sale-option>img{width:70px;height:70px;flex:0 0 70px;object-fit:contain;filter:drop-shadow(0 8px 10px #133f5224)}.part-sale-option>span{display:grid;grid-template-columns:23px 1fr;align-items:center;gap:2px 9px;color:#19364b}.part-sale-option input{grid-row:1/3;width:21px!important;height:21px!important;margin:0;accent-color:#0ab88b}.part-sale-option b{font-size:14px}.part-sale-option small{grid-column:2;color:#698094;font-size:11px;line-height:1.35}.part-sale-option:has(input:checked){border-color:#20bc92;background:linear-gradient(105deg,#ddf8ef,#f5fcfa);box-shadow:0 0 0 3px #20bc9218,0 10px 25px #08795b16}
.field-output{display:flex;align-items:center;min-height:46px;padding:0 13px;border:1px dashed #bfd5da;border-radius:12px;background:#f4f8f9;color:#678092;font-size:12px;font-weight:750}
@media(max-width:560px){.part-sale-option{align-items:flex-start}.part-sale-option>img{width:58px;height:58px;flex-basis:58px}}

/* Buscador de partes dentro de la gestión de reparaciones. */
.repair-part-search-trigger{display:grid;grid-template-columns:42px 1fr;align-items:center;gap:1px 12px;width:100%;min-height:64px;padding:10px 14px;border:1px solid #bdd8d2;border-radius:13px;background:#fff;color:#173148;text-align:left;cursor:pointer}.repair-part-search-trigger>span{grid-row:1/3;display:grid;place-items:center;width:40px;height:40px;border-radius:12px;background:#dff7ef;color:#078364;font-size:25px}.repair-part-search-trigger b{font-size:14px}.repair-part-search-trigger small{color:#708397;font-size:11px}.repair-part-search-trigger:hover{border-color:#29b992;box-shadow:0 8px 18px #0b785715}
.repair-part-selection{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-top:8px;padding:10px 12px;border-radius:12px;background:#e9f8f4;color:#173148}.repair-part-selection span{display:grid;gap:2px}.repair-part-selection small{color:#668093;font-size:10px}.repair-part-selection strong{white-space:nowrap;color:#08795d}
.repair-part-picker-overlay{position:fixed;z-index:10020;inset:0;display:grid;place-items:center;padding:18px;background:#071b2db8;backdrop-filter:blur(5px)}.repair-part-picker{display:grid;grid-template-rows:auto auto minmax(180px,1fr);gap:14px;width:min(690px,96vw);max-height:min(720px,88vh);padding:20px;border-radius:22px;background:#f8fbfc;box-shadow:0 28px 75px #03111f66}.repair-part-picker-head{display:flex;align-items:center;justify-content:space-between}.repair-part-picker-head small{color:#078469;font-size:10px;font-weight:950;letter-spacing:.14em}.repair-part-picker-head h3{margin:3px 0 0;color:#173148}.repair-part-picker-head button{display:grid;place-items:center;width:38px;height:38px;border:0;border-radius:12px;background:#e8eff2;color:#50677a;font-size:22px;cursor:pointer}.repair-part-query{width:100%}.repair-part-results{display:grid;gap:8px;overflow:auto;padding-right:3px}.repair-part-result{display:flex;align-items:center;justify-content:space-between;gap:16px;width:100%;padding:13px 14px;border:1px solid #d4e3e5;border-radius:14px;background:#fff;color:#173148;text-align:left;cursor:pointer}.repair-part-result:hover{border-color:#31b995;background:#f1fbf8}.repair-part-result>span{display:grid;gap:3px}.repair-part-result>span:last-child{justify-items:end}.repair-part-result small,.repair-part-result em{color:#708497;font-size:10px;font-style:normal}.repair-part-result strong{color:#08795d}.repair-part-result.no-stock{border-color:#efcf97;background:#fffaf0}.repair-part-result.no-stock em{color:#9d6500;font-weight:850}.repair-part-result.no-stock em:after{content:' · uso permitido';font-weight:700}
@media(max-width:560px){.repair-part-result{align-items:flex-start;flex-direction:column}.repair-part-result>span:last-child{justify-items:start}}
.inventory-table-wrap{overflow-x:auto}.inventory-table{min-width:1220px}.inventory-table td:nth-child(5),.inventory-table td:nth-child(6),.inventory-table td:nth-child(7),.inventory-table td:nth-child(8){white-space:nowrap;font-variant-numeric:tabular-nums}
.inventory-actions{display:flex;align-items:center;justify-content:center;gap:8px}.inventory-delete{display:grid;place-items:center;width:46px;height:46px;padding:4px;border:1px solid #f0bfc1;border-radius:14px;background:#fff6f6;cursor:pointer}.inventory-delete img{width:34px;height:34px;object-fit:contain;filter:drop-shadow(0 5px 7px #7c1b2724)}.inventory-delete:hover{border-color:#e8888d;background:#ffeded;transform:translateY(-1px)}
#modal:has(.manage-tabs) #partForm.parts-add-form{grid-template-columns:1fr}#modal:has(.manage-tabs) #partForm.parts-add-form>label,#modal:has(.manage-tabs) #partForm.parts-add-form .parts-cost-note,#modal:has(.manage-tabs) #partForm.parts-add-form .actions{grid-column:1/-1}

/* Estos estados deben permanecer al final para prevalecer sobre el estilo general de diferencia. */
.accounting-equation.is-under strong{background:#fff0cf;color:#8a5700}
.accounting-equation.is-exact strong{background:#dff6ee;color:#087a60}
.accounting-equation.is-over strong{background:#ffe1e4;color:#b42332}
.repair-accounting-form>.actions{display:none}
#layawayItemRows:empty::before{content:'Todavía no hay artículos en el apartado. Usa el botón Agregar artículo para buscar y seleccionar uno.';display:block;padding:24px;border:1px dashed #bfd8d4;border-radius:14px;background:#f7fbfa;color:#718497;text-align:center}
#modal:has(.layaway-editor){width:min(1180px,calc(100vw - 30px))}.layaway-editor-row.layaway-unit-row{grid-template-columns:minmax(240px,1.5fr) 155px minmax(220px,1fr) minmax(165px,.8fr) 120px 48px}.layaway-editor-row.layaway-unit-row:not(:has(.layaway-serial-select)){grid-template-columns:minmax(260px,1.7fr) 170px minmax(240px,1.15fr) 130px 48px}.layaway-unit-row label>small,.layaway-tax-panel>small{display:block;margin-top:5px;color:#718497;font-size:10px}.layaway-tax-panel{display:grid;align-content:end;gap:5px}.layaway-tax-panel .tax-mode{display:flex;align-items:center;gap:10px;width:100%;min-height:62px;padding:8px 12px;border:1px solid #d4e3e5;border-radius:14px;background:#f8fbfc;color:#456174;font-size:11px;font-weight:850;text-align:left;cursor:pointer}.layaway-tax-panel .tax-mode.included{border-color:#58c8aa;background:#eaf9f4;color:#08795d}.layaway-tax-panel .tax-mode img{width:42px;height:42px;flex:0 0 42px;object-fit:contain;filter:drop-shadow(0 4px 6px #14324922)}.add-layaway-item{display:flex;align-items:center;justify-content:center;min-height:52px;border:2px dashed #55c7a8!important;background:#ecfaf5!important;color:#08795d!important;font-size:14px!important;font-weight:900!important}.add-layaway-item:hover{background:#ddf7ee!important;transform:translateY(-1px)}@media(max-width:1100px){#modal:has(.layaway-editor){width:min(760px,calc(100vw - 24px))}.layaway-editor-row.layaway-unit-row,.layaway-editor-row.layaway-unit-row:not(:has(.layaway-serial-select)){grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:560px){.layaway-editor-row.layaway-unit-row,.layaway-editor-row.layaway-unit-row:not(:has(.layaway-serial-select)){grid-template-columns:1fr}}
.layaway-unit-row{align-items:stretch!important}.layaway-product-fixed,.layaway-price-field,.layaway-serial-field,.layaway-tax-panel,.layaway-line-total{min-height:92px}.layaway-product-fixed{display:flex;flex-direction:column;justify-content:center;gap:3px;padding:10px 12px;border:1px solid #d4e3e5;border-radius:13px;background:#fff}.layaway-product-fixed>small{color:#078265;font-size:9px;font-weight:950;letter-spacing:.12em}.layaway-product-fixed>b{font-size:14px}.layaway-product-fixed>span,.layaway-product-fixed>em{color:#718497;font-size:10px;font-style:normal}.layaway-price-field,.layaway-serial-field{display:flex!important;flex-direction:column;justify-content:flex-end;gap:7px}.layaway-price-field>span,.layaway-serial-field>span{font-size:11px;font-weight:850}.layaway-line-total{justify-content:center}.layaway-unit-row>.inventory-delete{align-self:center}.layaway-picker-overlay{position:fixed;z-index:10050;inset:0;display:grid;place-items:center;padding:18px;background:#071b2db8;backdrop-filter:blur(5px)}.layaway-product-picker{display:grid;grid-template-rows:auto auto minmax(180px,1fr);gap:14px;width:min(760px,96vw);max-height:min(760px,90vh);padding:20px;border-radius:22px;background:#f8fbfc;box-shadow:0 28px 75px #03111f66}.layaway-product-picker>header{display:flex;align-items:flex-start;justify-content:space-between;gap:20px}.layaway-product-picker header small{color:#078469;font-size:10px;font-weight:950;letter-spacing:.14em}.layaway-product-picker header h3{margin:3px 0}.layaway-product-picker header p{margin:3px 0 0;color:#718497}.picker-close{display:grid;place-items:center;width:40px;height:40px;border:0;border-radius:12px;background:#e7eef1;color:#50677a;font-size:24px;cursor:pointer}.layaway-picker-search{display:flex;align-items:center;gap:10px;padding:0 14px;border:1px solid #bcdad3;border-radius:14px;background:#fff}.layaway-picker-search .ui-icon{width:20px;height:20px;color:#078265}.layaway-picker-search input{border:0;box-shadow:none;width:100%;padding-inline:0}.layaway-picker-results{display:grid;gap:8px;overflow:auto;padding-right:3px}.layaway-picker-item{display:flex;align-items:center;justify-content:space-between;gap:16px;width:100%;padding:13px 14px;border:1px solid #d4e3e5;border-radius:14px;background:#fff;color:#173148;text-align:left;cursor:pointer}.layaway-picker-item:hover{border-color:#2abc95;background:#effaf7}.layaway-picker-item>span{display:grid;gap:3px}.layaway-picker-item>span:last-child{justify-items:end}.layaway-picker-item small,.layaway-picker-item em{color:#718497;font-size:10px;font-style:normal}.layaway-picker-item em.negative{color:#ad6500;font-weight:900}.layaway-picker-item strong{color:#08795d}@media(max-width:560px){.layaway-picker-item{align-items:flex-start;flex-direction:column}.layaway-picker-item>span:last-child{justify-items:start}}

/* Editor de apartados con varias líneas e impuesto individual. */
.layaway-lines{display:grid;gap:12px}.layaway-lines-head{display:flex;align-items:center;justify-content:space-between;gap:14px}.layaway-lines-head span{display:grid;gap:2px}.layaway-lines-head small{color:#718497}.layaway-editor-row{display:grid;grid-template-columns:minmax(220px,1.5fr) 100px 125px minmax(180px,.9fr) minmax(150px,.8fr) 110px 48px;align-items:end;gap:10px;padding:14px;border:1px solid #d6e5e7;border-radius:16px;background:linear-gradient(110deg,#fff,#f8fbfc)}.layaway-editor-row label{min-width:0}.layaway-tax-control{display:grid!important;gap:8px}.layaway-tax-control>span{display:flex;align-items:center;gap:7px}.layaway-tax-control input[type="checkbox"]{width:18px;height:18px;accent-color:#16b98c}.tax-rate-wrap input{width:88px}.layaway-line-total{display:grid;gap:5px;min-height:59px;align-content:center;padding:8px 10px;border-radius:12px;background:#e9f8f4;color:#08795d}.layaway-line-total small{font-size:10px}.layaway-line-total b{font-size:15px}.remove-layaway-item{align-self:center}.layaway-editor-summary{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}.layaway-editor-summary>span{display:grid;gap:4px;padding:13px;border-radius:13px;background:#edf5f6;color:#173148}.layaway-editor-summary>span:nth-last-child(-n+2){background:#e6f8f2;color:#08795d}.layaway-editor-summary small{color:#718497}.layaway-editor-summary b{font-size:18px}@media(max-width:1100px){.layaway-editor-row{grid-template-columns:repeat(2,minmax(0,1fr))}.layaway-editor-row .remove-layaway-item{justify-self:end}.layaway-editor-summary{grid-template-columns:repeat(2,1fr)}}@media(max-width:560px){.layaway-lines-head{align-items:stretch;flex-direction:column}.layaway-editor-row,.layaway-editor-summary{grid-template-columns:1fr}.layaway-editor-row .remove-layaway-item{justify-self:start}}

.supplier-column>header>a:first-of-type:not(:last-of-type){width:auto;padding:0 9px;white-space:nowrap}

/* Apartados: reserva, historial de abonos y entrega final. */
aside nav button::before{display:none!important}aside nav .nav-scene{display:block!important}nav button[data-view="layaways"] .nav-scene{object-fit:contain;background:#e8f6f1}
.layaway-page .panelhead .primary,.layaway-detail-head{display:flex;align-items:center;gap:12px}.layaway-page .panelhead .primary img{width:42px;height:42px;object-fit:contain;filter:drop-shadow(0 6px 8px #063f3538)}
.layaway-list{display:grid;gap:11px}.layaway-card{display:grid;grid-template-columns:minmax(220px,1.5fr) minmax(130px,.8fr) minmax(190px,.9fr);align-items:center;gap:18px;width:100%;padding:16px 18px;border:1px solid #d6e5e7;border-radius:16px;background:#fff;color:#173148;text-align:left;cursor:pointer;box-shadow:0 8px 22px #1432490a}.layaway-card:hover{border-color:#32bf98;background:#f8fdfb;transform:translateY(-1px)}.layaway-card>span{display:grid;gap:4px}.layaway-card>span:last-child{text-align:right;justify-items:end}.layaway-card small,.layaway-card em{color:#718497;font-size:11px;font-style:normal}.layaway-card b{font-size:15px}.layaway-progress{display:block!important;height:10px;overflow:hidden;border-radius:999px;background:#e5eef0}.layaway-progress i{display:block;height:100%;border-radius:inherit;background:linear-gradient(90deg,#12bd8d,#3dd7ad)}.layaway-status{display:inline-flex!important;width:max-content;padding:5px 9px;border-radius:999px;background:#fff3d8;color:#966000;font-size:10px!important;font-weight:900}.layaway-status.paid{background:#ddf8ef;color:#087b5d}.layaway-status.delivered{background:#e7f0ff;color:#3265a5}
.layaway-detail-head{padding-bottom:16px;border-bottom:1px solid #dce8ea}.layaway-detail-head>img{width:76px;height:76px;object-fit:contain}.layaway-detail-head>div{min-width:0;flex:1}.layaway-detail-head h2{margin:2px 0}.layaway-detail-head p{margin:0;color:#708397}.layaway-detail-items,.layaway-history,.layaway-totals{display:grid;gap:8px;margin:15px 0}.layaway-detail-items>div,.layaway-history>div,.layaway-totals>div{display:flex;align-items:center;justify-content:space-between;gap:15px;padding:11px 13px;border-radius:12px;background:#f3f8f9}.layaway-detail-items span,.layaway-history span{display:grid;gap:3px}.layaway-detail-items small,.layaway-history small{color:#718497}.layaway-totals .remaining{background:#e6f8f2;color:#08795d;font-size:17px}.layaway-rule{display:flex;flex-direction:column;gap:4px;padding:13px 15px;border:1px solid #bee5da;border-radius:13px;background:#ecfaf6;color:#516d78}.layaway-rule b{color:#08795d}.layaway-rule span{font-size:12px}
@media(max-width:700px){.layaway-card{grid-template-columns:1fr}.layaway-card>span:last-child{text-align:left;justify-items:start}.layaway-detail-head{align-items:flex-start;flex-wrap:wrap}.layaway-detail-head>img{width:58px;height:58px}}
.layaway-customer-results{min-height:24px}.layaway-customer-hint{display:block;padding:4px 2px;color:#718497}.layaway-customer-picker{display:grid;gap:7px;padding:12px;border:1px solid #cfe2e4;border-radius:14px;background:#f7fbfb;box-shadow:0 10px 25px #16324910}.layaway-customer-picker>small{color:#078265;font-size:10px;font-weight:950;letter-spacing:.12em}.layaway-customer-picker button{display:flex;align-items:center;justify-content:space-between;gap:14px;width:100%;padding:10px 12px;border:1px solid #d8e6e7;border-radius:11px;background:#fff;color:#173148;text-align:left;cursor:pointer}.layaway-customer-picker button:hover{border-color:#2bbd96;background:#edfaf6}.layaway-customer-picker button span{display:grid;gap:2px}.layaway-customer-picker button small{color:#718497}.layaway-customer-picker button em{color:#078265;font-size:11px;font-style:normal;font-weight:900}.layaway-customer-picker .create-new{border-style:dashed;background:#f1faf7}.layaway-selected-customer,.layaway-new-customer{display:flex;align-items:center;gap:11px;padding:11px 13px;border:1px solid #91d8c4;border-radius:13px;background:#eaf9f4;color:#173148}.layaway-selected-customer>span:first-child{display:grid;place-items:center;width:30px;height:30px;border-radius:10px;background:#22bf93;color:#fff;font-weight:950}.layaway-selected-customer>span:nth-child(2),.layaway-new-customer>span:first-child{display:grid;flex:1;gap:2px}.layaway-selected-customer small,.layaway-new-customer small{color:#688094}.layaway-selected-customer button{border:0;background:transparent;color:#078265;font-weight:900;cursor:pointer}.layaway-new-customer>span:last-child{font-size:25px;color:#0b9d78}


.sku-generator-field{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:8px;align-items:stretch}.sku-generator-field input{min-width:0}.sku-generator-button{display:flex;align-items:center;gap:7px;padding:7px 11px;border:1px solid #b9dcd4;border-radius:12px;background:linear-gradient(145deg,#f5fffc,#e5f8f2);color:#087d60;font-weight:850;cursor:pointer;white-space:nowrap}.sku-generator-button:hover{border-color:#27bd94;box-shadow:0 7px 17px #16a9801f}.sku-generator-button img{width:34px;height:34px;object-fit:contain;filter:drop-shadow(0 4px 5px #12304725)}@media(max-width:560px){.sku-generator-field{grid-template-columns:1fr}.sku-generator-button{justify-content:center}}

/* Filas de apartado balanceadas: mismos tamaños, alturas y jerarquía visual. */
.layaway-status.cancelled{background:#f1f3f5!important;color:#687786!important}.cancel-layaway{border-color:#efc3c5!important;color:#a52c35!important;background:#fff7f7!important}
.layaway-editor-row.layaway-unit-row{grid-template-columns:minmax(210px,1.1fr) minmax(175px,.8fr) minmax(235px,1.1fr) minmax(165px,.8fr) minmax(145px,.65fr) 52px;align-items:stretch;gap:12px;padding:12px}.layaway-editor-row.layaway-unit-row:not(:has(.layaway-serial-select)){grid-template-columns:minmax(230px,1.15fr) minmax(180px,.85fr) minmax(250px,1.15fr) minmax(155px,.65fr) 52px}.layaway-product-fixed,.layaway-price-field,.layaway-serial-field,.layaway-tax-panel,.layaway-line-total{box-sizing:border-box;min-height:112px;height:112px;padding:13px 14px;border:1px solid #d7e5e7;border-radius:15px;background:#fff}.layaway-product-fixed{justify-content:flex-start}.layaway-product-fixed>small,.layaway-price-field>span,.layaway-serial-field>span,.layaway-line-total>small{margin:0 0 7px;color:#087e62;font-size:9px;font-weight:950;letter-spacing:.1em;text-transform:uppercase}.layaway-product-fixed>b{display:block;overflow:hidden;color:#182d43;font-size:15px;line-height:1.25;text-overflow:ellipsis;white-space:nowrap}.layaway-product-fixed>span,.layaway-product-fixed>em{overflow:hidden;font-size:10px;line-height:1.35;text-overflow:ellipsis;white-space:nowrap}.layaway-price-field,.layaway-serial-field{justify-content:flex-start}.layaway-price-field input,.layaway-serial-field select{height:49px;margin-top:auto;font-size:15px;font-weight:750}.layaway-tax-panel{align-content:start}.layaway-tax-panel .tax-mode{height:64px;min-height:64px;padding:7px 10px}.layaway-tax-panel>small{margin-top:2px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.layaway-line-total{align-content:center;justify-content:start;background:#e8f8f3}.layaway-line-total>b{color:#078060;font-size:19px}.layaway-unit-row>.inventory-delete{align-self:center;width:48px;height:48px;margin:0}.layaway-unit-row>.inventory-delete img{width:35px;height:35px}@media(max-width:1100px){.layaway-editor-row.layaway-unit-row,.layaway-editor-row.layaway-unit-row:not(:has(.layaway-serial-select)){grid-template-columns:repeat(2,minmax(0,1fr))}.layaway-product-fixed,.layaway-price-field,.layaway-serial-field,.layaway-tax-panel,.layaway-line-total{height:auto;min-height:105px}}@media(max-width:560px){.layaway-editor-row.layaway-unit-row,.layaway-editor-row.layaway-unit-row:not(:has(.layaway-serial-select)){grid-template-columns:1fr}.layaway-product-fixed,.layaway-price-field,.layaway-serial-field,.layaway-tax-panel,.layaway-line-total{min-height:0;height:auto}.layaway-unit-row>.inventory-delete{justify-self:end}}
.layaway-tax-panel{align-content:center!important}.layaway-tax-panel>small{display:none!important}.layaway-tax-panel .tax-mode{height:72px;min-height:72px;margin:0}

/* Apartado compacto: varias unidades visibles sin alargar toda la ventana. */
#modal:has(.layaway-editor) #modalBody{padding-bottom:22px}
.layaway-editor{gap:16px}
.layaway-editor .layaway-lines{gap:10px;padding:15px;border:1px solid #cfe1e2;border-radius:18px;background:linear-gradient(145deg,#fbfdfd,#f4f9f8);box-shadow:inset 0 1px #fff,0 6px 18px #17314808}
.layaway-editor .layaway-lines-head{padding:0 3px 3px}
.layaway-editor .layaway-lines-head b{color:#173148;font-size:14px}
.layaway-editor #layawayItemRows{display:grid;gap:7px;max-height:min(348px,42vh);overflow-y:auto;overscroll-behavior:contain;padding:2px 7px 2px 1px;scrollbar-gutter:stable}
.layaway-editor-row.layaway-unit-row,.layaway-editor-row.layaway-unit-row:not(:has(.layaway-serial-select)){grid-template-columns:minmax(230px,1fr) 120px minmax(205px,.75fr) 122px 42px;align-items:center;gap:10px;padding:9px 10px;border-color:#d9e6e7;border-radius:14px;background:#fff;box-shadow:0 3px 12px #1731480a}
.layaway-editor-row.layaway-unit-row:has(.layaway-serial-select){grid-template-columns:minmax(205px,1fr) 112px minmax(185px,.75fr) 150px 115px 42px}
.layaway-editor .layaway-product-fixed,.layaway-editor .layaway-price-field,.layaway-editor .layaway-serial-field,.layaway-editor .layaway-tax-panel,.layaway-editor .layaway-line-total{height:68px;min-height:68px;padding:5px 8px;border:0;border-radius:10px;background:transparent}
.layaway-editor .layaway-product-fixed{justify-content:center;padding-left:10px}
.layaway-editor .layaway-product-fixed>small{margin-bottom:2px}
.layaway-editor .layaway-product-fixed>b{font-size:13px}
.layaway-editor .layaway-product-fixed>em{display:none}
.layaway-editor .layaway-price-field{justify-content:center;gap:4px}
.layaway-editor .layaway-price-field>span,.layaway-editor .layaway-serial-field>span,.layaway-editor .layaway-line-total>small{margin:0;font-size:8px}
.layaway-editor .layaway-price-field input,.layaway-editor .layaway-serial-field select{height:40px;margin:0;padding:7px 10px;font-size:13px}
.layaway-editor .layaway-tax-panel{align-content:center!important;padding:0}
.layaway-editor .layaway-tax-panel .tax-mode{height:48px;min-height:48px;padding:5px 8px;border-radius:11px;font-size:10px}
.layaway-editor .layaway-tax-panel .tax-mode img{width:31px;height:31px;flex-basis:31px}
.layaway-editor .layaway-line-total{align-content:center;padding:7px 10px;background:#eaf8f4}
.layaway-editor .layaway-line-total>b{font-size:16px}
.layaway-editor .layaway-unit-row>.inventory-delete{width:39px;height:39px}
.layaway-editor .layaway-unit-row>.inventory-delete img{width:29px;height:29px}
.layaway-editor .add-layaway-item{justify-self:start;width:auto;min-width:185px;min-height:42px;padding:8px 18px!important;border-width:1px!important;border-radius:12px;font-size:12px!important}
.layaway-products-footer{display:flex;align-items:center;justify-content:space-between;gap:14px;padding-top:3px;border-top:1px solid #dce9e8}
.layaway-products-total{display:flex;align-items:center;gap:14px;min-width:235px;padding:9px 14px;border:1px solid #bfe4d8;border-radius:12px;background:#e8f8f3;color:#087b5e}
.layaway-products-total small{flex:1;font-size:9px;font-weight:950;letter-spacing:.09em}
.layaway-products-total b{font-size:20px;white-space:nowrap}

/* Acción compacta para agregar repuestos sin ocupar todo el panel. */
#modal:has(.manage-tabs) #partForm.parts-add-form{display:grid;grid-template-columns:max-content 1fr;padding:14px 18px!important}
#modal:has(.manage-tabs) #partForm.parts-add-form:before{grid-column:1/-1}
#modal:has(.manage-tabs) .repair-part-search-trigger.repair-part-add-only{grid-column:1;width:auto;min-width:190px;min-height:48px;padding:6px 15px}
#modal:has(.manage-tabs) .repair-part-search-trigger.repair-part-add-only>span{width:34px;height:34px;font-size:22px}
#modal:has(.manage-tabs) .repair-part-search-trigger.repair-part-add-only b{font-size:13px}

/* Lista de repuestos contenida y acción alineada con el sistema visual. */
#modal:has(.manage-tabs) .parts-ledger-panel .accounting-table-wrap{max-height:min(365px,42vh);overflow:auto;overscroll-behavior:contain;scrollbar-gutter:stable;border:1px solid #d5e3e7;border-radius:14px}
#modal:has(.manage-tabs) .parts-ledger-panel .accounting-table{border:0;border-radius:0}
#modal:has(.manage-tabs) .parts-ledger-panel .accounting-table thead{position:sticky;top:0;z-index:2;box-shadow:0 2px 8px #17314812}
#modal:has(.manage-tabs) .repair-part-search-trigger.repair-part-add-only{display:inline-flex;align-items:center;justify-content:center;gap:10px;min-width:176px;min-height:46px;padding:6px 17px;border:0;border-radius:13px;background:linear-gradient(135deg,#22cfa1,#18bb90);color:#082f31;box-shadow:0 9px 20px #13a77d25;font-weight:900;transition:transform .15s,box-shadow .15s,filter .15s}
#modal:has(.manage-tabs) .repair-part-search-trigger.repair-part-add-only>span{display:grid;place-items:center;width:30px;height:30px;border-radius:9px;background:#ffffff42;color:#064e43;font-size:21px;font-weight:700}
#modal:has(.manage-tabs) .repair-part-search-trigger.repair-part-add-only:hover{border:0;background:linear-gradient(135deg,#2bd8aa,#1cc598);box-shadow:0 12px 24px #13a77d35;transform:translateY(-1px);filter:saturate(1.04)}
#modal:has(.manage-tabs) .repair-part-search-trigger.repair-part-add-only:active{transform:translateY(0)}
@media(max-width:620px){#modal:has(.manage-tabs) .parts-ledger-panel .accounting-table-wrap{max-height:340px}#modal:has(.manage-tabs) .repair-part-search-trigger.repair-part-add-only{width:100%}}

#modal:has(.manage-tabs) #partForm.parts-add-form{display:flex;justify-content:flex-end;align-items:center;padding:12px 16px!important}
#modal:has(.manage-tabs) #partForm.parts-add-form:before{display:none}
#modal:has(.manage-tabs) .repair-part-search-trigger.repair-part-add-only{margin-left:auto}
#modal:has(.manage-tabs) .repair-part-search-trigger.repair-part-add-only>img{width:38px;height:38px;object-fit:contain;filter:drop-shadow(0 5px 7px #073e3a35)}

#modal #partForm{display:flex!important;width:100%!important;justify-content:flex-end!important;align-items:center!important}
#modal #partForm .repair-part-search-trigger.repair-part-add-only{justify-self:end!important;margin-right:0!important;margin-left:auto!important}

/* Las ventanas no deben alterar el ancho de la aplicación ni del menú lateral. */
html{scrollbar-gutter:stable}
@media(min-width:901px){.app{grid-template-columns:238px minmax(0,1fr)}aside{width:238px;min-width:238px;max-width:238px;box-sizing:border-box}}
html:has(dialog[open]){overflow-y:scroll!important;overflow-x:hidden}
body:has(dialog[open]){overflow:hidden}

/* La barra superior pertenece al borde de la ventana, no al contenido. */
#modal:has(.cash-assistant),#modal:has(.mixed-assistant){padding:0}
.cashier-authorization-dialog.purchase-authorization .cashier-auth::after{content:"La factura y la entrada al inventario quedarán registradas a nombre de este empleado."}
.cashier-authorization-dialog.close-authorization .cashier-auth::after{content:"El cierre de caja quedará registrado a nombre de este empleado."}
/* Una autorización superpuesta no debe activar el menú compacto de tableta. */
@media(min-width:701px){
 body:has(.cashier-authorization-dialog[open]) .app{grid-template-columns:238px minmax(0,1fr)}
 body:has(.cashier-authorization-dialog[open]) aside{position:sticky;top:0;width:238px;min-width:238px;max-width:238px;height:100vh;padding:24px 16px}
 body:has(.cashier-authorization-dialog[open]) .brand{justify-content:flex-start;padding:0 8px 26px}
 body:has(.cashier-authorization-dialog[open]) .brand>div{display:block}
 body:has(.cashier-authorization-dialog[open]) nav{display:grid;overflow:visible;gap:7px}
 body:has(.cashier-authorization-dialog[open]) nav button{display:flex;justify-items:normal;gap:12px;padding:12px 14px;text-align:left;font-size:15px;line-height:1.45}
 body:has(.cashier-authorization-dialog[open]) .sidefoot{display:grid}
}
.layaway-payment-footer{display:flex;align-items:end;justify-content:flex-end;gap:14px;padding-top:2px}
.layaway-payment-footer>label{width:210px;font-size:11px}
.compact-money-input{display:flex;align-items:center;height:48px;margin-top:6px;padding:0 12px;border:1px solid #cadde0;border-radius:13px;background:#fff}
.compact-money-input:focus-within{border-color:#19bf91;box-shadow:0 0 0 3px #19bf9120}
.compact-money-input i{color:#087e62;font-style:normal;font-weight:900}
.compact-money-input input{height:auto;min-width:0;padding:0 0 0 7px;border:0;box-shadow:none;font-size:16px;font-weight:800}
.layaway-payment-footer>.primary{height:48px;min-width:170px}
@media(max-width:1100px){.layaway-editor-row.layaway-unit-row,.layaway-editor-row.layaway-unit-row:not(:has(.layaway-serial-select)),.layaway-editor-row.layaway-unit-row:has(.layaway-serial-select){grid-template-columns:minmax(190px,1fr) 105px minmax(170px,.8fr) 110px 42px}.layaway-editor .layaway-serial-field{grid-column:1/-2}.layaway-editor #layawayItemRows{max-height:min(420px,48vh)}}
@media(max-width:620px){.layaway-editor-row.layaway-unit-row,.layaway-editor-row.layaway-unit-row:not(:has(.layaway-serial-select)),.layaway-editor-row.layaway-unit-row:has(.layaway-serial-select){grid-template-columns:1fr 92px 38px}.layaway-editor .layaway-tax-panel{grid-column:1/3}.layaway-editor .layaway-line-total{grid-column:1/2}.layaway-editor .layaway-serial-field{grid-column:1/3}.layaway-editor .layaway-lines{padding:10px}.layaway-products-footer{align-items:stretch;flex-direction:column-reverse}.layaway-products-total{width:100%;min-width:0}.layaway-editor .add-layaway-item{width:100%}.layaway-payment-footer{align-items:stretch;flex-direction:column}.layaway-payment-footer>label,.layaway-payment-footer>.primary{width:100%}}

/* Actualizaciones seguras y aviso compartido en Notificaciones. */
.system-update-notice{display:flex;align-items:center;gap:12px;width:100%;padding:13px 14px;border:0;border-bottom:1px solid #dfe9eb;background:#effaf7;color:#173148;text-align:left;cursor:pointer}.system-update-notice:hover{background:#e2f7f1}.system-update-notice-icon,.system-update-mini,.system-update-logo{display:grid;place-items:center;border-radius:50%;background:#19bf91;color:#fff;font-weight:950}.system-update-notice-icon{width:38px;height:38px;font-size:25px}.system-update-notice>span:nth-child(2){display:grid;flex:1;gap:2px}.system-update-notice small,.system-update-notice em{color:#6f8294;font-size:10px;font-style:normal}.system-update-notice>i{color:#087d60;font-size:11px;font-style:normal;font-weight:900}.system-update-card{display:flex;align-items:center;gap:18px;padding:18px;border:1px solid #cce5df;border-radius:17px;background:linear-gradient(125deg,#f4fcf9,#edf7fa)}.system-update-logo{flex:0 0 68px;width:68px;height:68px;font-size:43px;box-shadow:0 10px 24px #13a9802b}.system-update-card>div{display:grid;gap:4px}.system-update-card b{font-size:17px}.system-update-card p{margin:0;color:#087d60;font-weight:850}.system-update-card small,.system-update-main-note{color:#718497}.system-update-mini{width:38px;height:38px;font-size:25px}.system-update-notes{max-height:190px;overflow:auto;margin:14px 0;padding:13px;border-radius:13px;background:#eff6f7;white-space:pre-wrap}.system-update-restarting{margin:24px auto;width:64px;height:64px;color:#19bf91;font-size:54px;animation:updateSpin 1s linear infinite}@keyframes updateSpin{to{transform:rotate(360deg)}}

/* Distribución de un cobro entre varios métodos. */
.flexible-payment{display:grid;gap:14px}.flexible-payment>label{max-width:340px}.flexible-payment-methods{margin:0}.flexible-payment-splits{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;padding:14px;border:1px solid #cfe0e5;border-radius:14px;background:#f5f9fa}.flexible-payment-splits label{display:grid;gap:6px;color:#40576b;font-size:12px;font-weight:850}.flexible-payment-splits input{min-width:0}.flexible-payment-balance{margin:0}.flexible-payment-balance[hidden],.flexible-payment-splits[hidden]{display:none}@media(max-width:620px){.flexible-payment-splits{grid-template-columns:1fr}.flexible-payment>label{max-width:none}}
.repair-part-add-only{justify-content:center;min-height:58px}.repair-part-add-only>span{font-size:22px}.repair-part-add-only>b{font-size:15px}#partForm:has(.repair-part-add-only){display:block!important;padding:0!important;border:0!important;background:transparent!important}#partForm:has(.repair-part-add-only) .repair-part-add-only{width:100%}

/* El detalle del cierre describe el movimiento de dinero, no los repuestos internos. */
.transaction-payment-context{grid-template-columns:repeat(2,minmax(0,1fr))}
.transaction-payment-context>div:first-child{grid-column:1/-1}
.transaction-payments>div>span b,.transaction-payments>div>span small{display:block}
.transaction-payments>div>span small{margin-top:3px;color:#718091;font-size:10px}
.transaction-payments>div>strong{color:#08775d;font-size:17px}

/* El historial de compras aprovecha el espacio libre de las pantallas amplias. */
@media(min-width:1400px){#content:has(.purchase-history-panel){width:100%;max-width:1900px;padding-inline:24px}.grid2:has(.purchase-history-panel){grid-template-columns:minmax(560px,1.08fr) minmax(690px,1.22fr)}.purchase-history-table-wrap table{min-width:760px}}
@media(max-width:1399px){.grid2:has(.purchase-history-panel){grid-template-columns:1fr}.purchase-history-panel{min-width:0}}
@media(max-width:700px){.transaction-payment-context{grid-template-columns:1fr}.transaction-payment-context>div:first-child{grid-column:auto}}

/* El tablero ocupa la pantalla disponible y mantiene proporcionada la columna lateral. */
@media(min-width:1400px){
 #content:has(.dashboard-hero){width:100%;max-width:1900px;padding-inline:24px}
 .dashboard-grid{grid-template-columns:minmax(0,1fr) minmax(390px,.36fr);gap:20px}
 .dashboard-side{gap:20px}
 .dashboard-side .panel{padding:22px}
 .dashboard-side .low-stock-list>div{grid-template-columns:38px minmax(145px,1fr) auto;gap:11px}
 .dashboard-side .low-stock-list b{font-size:14px}
 .dashboard-payments .paycards{gap:11px}
 .dashboard-payments .paycard{min-height:90px;padding:14px}
 .dashboard-payments .paycard strong{font-size:22px}
}

/* Inicio: inventario lateral compacto y cobros en una fila bajo reparaciones. */
@media(min-width:961px){
 .dashboard-grid{align-items:start}
 .dashboard-main{grid-column:1;grid-row:1}
 .dashboard-side{display:contents}
 .dashboard-side>.panel:first-child{grid-column:2;grid-row:1;align-self:start;width:100%;height:auto}
 .dashboard-side>.dashboard-payments{grid-column:1/-1;grid-row:2;width:100%;margin-top:0}
 .dashboard-payments .panelhead{margin-bottom:12px}
 .dashboard-payments .paycards{grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}
 .dashboard-payments .paycard{min-height:84px;padding:15px 17px}
 .dashboard-payments .paycard strong{font-size:23px}
}
