.app{grid-template-columns:236px minmax(0,1fr);min-height:100vh;display:grid}.sidebar{background:var(--surface);border-right:1px solid var(--border);flex-direction:column;gap:4px;height:100vh;padding:16px 12px;display:flex;position:sticky;top:0}.side-brand{align-items:center;gap:10px;padding:6px 8px 14px;display:flex}.brand-mark{background:var(--accent);color:#fff;width:34px;height:34px;box-shadow:0 2px 8px color-mix(in srgb, var(--accent) 35%, transparent);border-radius:9px;flex:none;place-items:center;display:grid}:root[data-theme=dark] .brand-mark{color:#052925}@media (prefers-color-scheme:dark){.brand-mark{color:#052925}}.side-brand h1{letter-spacing:-.02em;margin:0;font-size:15px;font-weight:680}.side-brand p{color:var(--text-faint);white-space:nowrap;text-overflow:ellipsis;margin:0;font-size:11px;overflow:hidden}.nav-label{letter-spacing:.07em;text-transform:uppercase;color:var(--text-faint);padding:12px 10px 5px;font-size:10px;font-weight:680}.nav-item{border-radius:var(--radius-sm);color:var(--text-muted);cursor:pointer;text-align:left;width:100%;font-size:13.5px;font-weight:500;font-family:var(--ui);background:0 0;border:0;align-items:center;gap:11px;padding:9px 10px;text-decoration:none;display:flex}.nav-item svg{color:var(--text-faint);flex:none}.nav-item:hover{background:var(--surface-2);color:var(--text)}.nav-item.active{background:var(--accent-soft);color:var(--accent-strong);font-weight:600}.nav-item.active svg{color:var(--accent-strong)}.nav-item .count{background:var(--warning-soft);color:var(--warning);border-radius:999px;margin-left:auto;padding:1px 7px;font-size:11px;font-weight:650}.side-foot{border-top:1px solid var(--border);margin-top:auto;padding-top:12px}.user{align-items:center;gap:10px;padding:6px 8px;display:flex}.avatar{background:var(--accent-soft);width:32px;height:32px;color:var(--accent-strong);border-radius:50%;flex:none;place-items:center;font-size:13px;font-weight:650;display:grid}.user .u-name{white-space:nowrap;text-overflow:ellipsis;font-size:12.5px;font-weight:600;overflow:hidden}.user .u-role{color:var(--text-faint);white-space:nowrap;text-overflow:ellipsis;font-size:11px;overflow:hidden}.logout{color:var(--text-faint);cursor:pointer;background:0 0;border:0;border-radius:6px;flex:none;place-items:center;margin-left:auto;padding:6px;display:grid}.logout:hover{color:var(--danger);background:color-mix(in srgb, var(--danger) 12%, transparent)}.main{flex-direction:column;min-width:0;display:flex}.topbar{background:var(--surface);border-bottom:1px solid var(--border);z-index:20;justify-content:space-between;align-items:center;gap:16px;padding:13px clamp(16px,3vw,28px);display:flex;position:sticky;top:0}.tb-left{align-items:center;gap:12px;min-width:0;display:flex}.tb-title{letter-spacing:-.01em;white-space:nowrap;text-overflow:ellipsis;font-size:15px;font-weight:650;overflow:hidden}.tb-sub{color:var(--text-faint);font-size:12px}.tb-right{align-items:center;gap:12px;display:flex}.pill{background:var(--warning-soft);color:var(--warning);white-space:nowrap;border-radius:999px;align-items:center;gap:6px;padding:4px 10px;font-size:11.5px;font-weight:600;display:inline-flex}.pill .dot{background:currentColor;border-radius:50%;width:6px;height:6px}.icon-btn{border:1px solid var(--border);background:var(--surface);width:34px;height:34px;color:var(--text-muted);cursor:pointer;border-radius:8px;flex:none;place-items:center;font-size:15px;display:grid}.icon-btn:hover{background:var(--surface-2);color:var(--text)}.content{gap:18px;width:100%;max-width:1200px;margin:0 auto;padding:clamp(16px,3vw,28px);display:grid}.page-head{flex-wrap:wrap;justify-content:space-between;align-items:flex-end;gap:16px;display:flex}.page-head h2{letter-spacing:-.02em;margin:0;font-size:21px;font-weight:680}.page-head p{color:var(--text-muted);margin:3px 0 0;font-size:13px}.btn-primary{border-radius:var(--radius-sm);background:var(--accent);color:#fff;font-family:var(--ui);cursor:pointer;border:0;align-items:center;gap:8px;padding:10px 16px;font-size:13.5px;font-weight:640;display:inline-flex}:root[data-theme=dark] .btn-primary{color:#052925}@media (prefers-color-scheme:dark){.btn-primary{color:#052925}}.btn-primary:hover{background:var(--accent-strong)}.btn-ghost{border:1px solid var(--border-strong);color:var(--text-muted);font-family:var(--ui);border-radius:var(--radius-sm);cursor:pointer;background:0 0;padding:9px 14px;font-size:13px;font-weight:550}.btn-ghost:hover{background:var(--surface-2);color:var(--text)}.card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow)}.card-h{border-bottom:1px solid var(--border);justify-content:space-between;align-items:center;gap:10px;padding:13px 16px;display:flex}.card-h h3{letter-spacing:.05em;text-transform:uppercase;color:var(--text-muted);margin:0;font-size:12px;font-weight:680}.card-h a{color:var(--accent-strong);font-size:12px;font-weight:550;text-decoration:none}.card-b{padding:16px}.tbl{border-collapse:collapse;width:100%}.tbl thead th{letter-spacing:.05em;text-transform:uppercase;color:var(--text-faint);text-align:left;border-bottom:1px solid var(--border);white-space:nowrap;padding:0 12px 10px;font-size:10.5px;font-weight:680}.tbl thead th.r,.tbl tbody td.r{text-align:right}.tbl tbody td{border-bottom:1px solid var(--border);vertical-align:middle;padding:12px}.tbl tbody tr:last-child td{border-bottom:0}.tbl tbody tr:hover{background:var(--surface-2)}.tbl-scroll{overflow-x:auto}.mono{font-family:var(--mono)}.badge{white-space:nowrap;border-radius:999px;align-items:center;gap:6px;padding:3px 9px;font-size:11px;font-weight:620;display:inline-flex}.badge.accent{background:var(--accent-soft);color:var(--accent-strong)}.badge.ok{background:var(--success-soft);color:var(--success)}.badge.warn{background:var(--warning-soft);color:var(--warning)}.badge.muted{background:var(--surface-2);color:var(--text-muted)}.badge.danger{background:var(--danger-soft);color:var(--danger)}.badge .dot{background:currentColor;border-radius:50%;width:6px;height:6px}.empty{text-align:center;color:var(--text-faint);padding:40px 16px;font-size:13px}.search{flex:1;align-items:center;gap:9px;display:flex}.search svg{color:var(--text-faint);flex:none}.search input{color:var(--text);font-family:var(--ui);background:0 0;border:0;outline:0;width:100%;padding:4px 0;font-size:14px}.search input::placeholder{color:var(--text-faint)}.row-actions{justify-content:flex-end;gap:4px;display:inline-flex}.row-actions button{border:1px solid var(--border);background:var(--surface);color:var(--text-muted);cursor:pointer;border-radius:7px;place-items:center;width:30px;height:30px;display:grid}.row-actions button:hover{background:var(--surface-2);color:var(--text)}.row-actions button.danger:hover{color:var(--danger);border-color:color-mix(in srgb, var(--danger) 40%, var(--border));background:color-mix(in srgb, var(--danger) 10%, transparent)}.modal-overlay{-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);z-index:60;background:#08100f80;place-items:center;padding:20px;display:grid;position:fixed;inset:0}.modal{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);width:100%;max-width:620px;max-height:90vh;box-shadow:var(--shadow-lg);overflow:auto}.modal-h{border-bottom:1px solid var(--border);background:var(--surface);justify-content:space-between;align-items:center;padding:16px 20px;display:flex;position:sticky;top:0}.modal-h h3{letter-spacing:-.01em;margin:0;font-size:16px;font-weight:660}.modal-h .x{color:var(--text-faint);cursor:pointer;background:0 0;border:0;border-radius:6px;padding:4px 8px;font-size:20px;line-height:1}.modal-h .x:hover{background:var(--surface-2);color:var(--text)}.modal-b{gap:18px;padding:20px;display:grid}.modal-f{border-top:1px solid var(--border);background:var(--surface);justify-content:flex-end;gap:10px;padding:14px 20px;display:flex;position:sticky;bottom:0}.form-section{gap:12px;display:grid}.form-section>.sec-label{letter-spacing:.06em;text-transform:uppercase;color:var(--text-faint);font-size:10.5px;font-weight:680}.form-grid{grid-template-columns:1fr 1fr;gap:12px;display:grid}.field{gap:5px;display:grid}.field.col2{grid-column:span 2}.field label{color:var(--text-muted);font-size:11.5px;font-weight:600}.field input,.field select{width:100%;font-size:13.5px;font-family:var(--ui);color:var(--text);background:var(--surface);border:1px solid var(--border-strong);border-radius:var(--radius-sm);outline:0;padding:9px 11px}.field input:focus,.field select:focus{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-soft)}.field input::placeholder{color:var(--text-faint)}.field .err-msg{color:var(--danger);font-size:11px}.field input.mono{font-family:var(--mono)}.check{color:var(--text);cursor:pointer;align-items:center;gap:9px;padding:4px 0;font-size:13px;display:flex}.check input{width:16px;height:16px;accent-color:var(--accent)}.form-error{background:var(--danger-soft);color:var(--danger);border:1px solid color-mix(in srgb, var(--danger) 30%, transparent);border-radius:var(--radius-sm);padding:9px 12px;font-size:12.5px}.combo{position:relative}.combo>input{width:100%;font-size:13.5px;font-family:var(--ui);color:var(--text);background:var(--surface);border:1px solid var(--border-strong);border-radius:var(--radius-sm);outline:0;padding:9px 11px}.combo>input:focus{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-soft)}.combo-code{color:var(--text-faint);pointer-events:none;font-size:11px;position:absolute;top:9px;right:10px}.combo-list{z-index:5;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-sm);box-shadow:var(--shadow-lg);max-height:220px;margin:0;padding:4px;list-style:none;position:absolute;top:calc(100% + 4px);left:0;right:0;overflow:auto}.combo-list li{cursor:pointer;border-radius:6px;padding:8px 10px;font-size:12.5px}.combo-list li:hover{background:var(--accent-soft);color:var(--accent-strong)}.combo-list li .mono{color:var(--text-faint);margin-right:6px}.combo-list li:hover .mono{color:var(--accent-strong)}@media (width<=560px){.form-grid{grid-template-columns:1fr}.field.col2{grid-column:auto}}@media (width<=820px){.app{grid-template-columns:1fr}.sidebar{display:none}}.auth{background:radial-gradient(900px 420px at 50% -8%, var(--accent-soft), transparent 62%), var(--bg);place-items:center;min-height:100vh;padding:28px 18px;display:grid;position:relative}.auth .theme-toggle{border-radius:var(--radius-sm);border:1px solid var(--border);background:var(--surface);width:36px;height:36px;color:var(--text-muted);cursor:pointer;box-shadow:var(--shadow);place-items:center;font-size:16px;display:grid;position:fixed;top:16px;right:16px}.auth .theme-toggle:hover{background:var(--surface-2);color:var(--text)}.auth .card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);width:100%;max-width:400px;box-shadow:var(--shadow-lg);padding:30px 30px 26px}.auth .brand{align-items:center;gap:12px;display:flex}.auth .brand-mark{background:var(--accent);color:#fff;width:42px;height:42px;box-shadow:0 2px 8px color-mix(in srgb, var(--accent) 35%, transparent);border-radius:11px;flex:none;place-items:center;display:grid}:root[data-theme=dark] .auth .brand-mark{color:#052925}@media (prefers-color-scheme:dark){.auth .brand-mark{color:#052925}}.auth .brand-txt h1{letter-spacing:-.02em;margin:0;font-size:18px;font-weight:680}.auth .brand-txt p{color:var(--text-faint);margin:1px 0 0;font-size:12px}.auth .head{margin:24px 0 18px}.auth .head h2{letter-spacing:-.01em;text-wrap:balance;margin:0;font-size:16px;font-weight:640}.auth .head p{color:var(--text-muted);margin:4px 0 0;font-size:13px}.auth .err{background:var(--danger-soft);color:var(--danger);border:1px solid color-mix(in srgb, var(--danger) 32%, transparent);border-radius:var(--radius-sm);align-items:flex-start;gap:9px;margin-bottom:16px;padding:10px 12px;font-size:12.5px;font-weight:500;line-height:1.4;display:flex}.auth .err svg{flex:none;margin-top:1px}.auth form{gap:14px;display:grid}.auth .field{gap:6px;display:grid}.auth .field-top{justify-content:space-between;align-items:baseline;gap:8px;display:flex}.auth .field label{letter-spacing:.02em;color:var(--text-muted);font-size:11.5px;font-weight:620}.auth .field .link{color:var(--accent-strong);font-size:11.5px;font-weight:550;text-decoration:none}.auth .field .link:hover{text-decoration:underline}.auth .control{border:1.5px solid var(--border-strong);border-radius:var(--radius-sm);background:var(--surface);align-items:center;gap:8px;padding:0 11px;transition:border-color .12s,box-shadow .12s;display:flex}.auth .control:focus-within{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-soft)}.auth .control svg.lead{color:var(--text-faint);flex:none}.auth .control input{color:var(--text);font-family:var(--ui);background:0 0;border:0;outline:0;width:100%;padding:11px 0;font-size:14px}.auth .control input::placeholder{color:var(--text-faint)}.auth .control input.mono{font-family:var(--mono);font-variant-numeric:tabular-nums;letter-spacing:.01em}.auth .reveal{color:var(--text-faint);cursor:pointer;background:0 0;border:0;border-radius:6px;flex:none;place-items:center;padding:4px;display:grid}.auth .reveal:hover{color:var(--text)}.auth .submit{border-radius:var(--radius-sm);background:var(--accent);color:#fff;width:100%;font-family:var(--ui);cursor:pointer;border:0;justify-content:center;align-items:center;gap:9px;margin-top:4px;padding:13px;font-size:14.5px;font-weight:640;transition:background .12s,transform 50ms;display:inline-flex}:root[data-theme=dark] .auth .submit{color:#052925}@media (prefers-color-scheme:dark){.auth .submit{color:#052925}}.auth .submit:hover{background:var(--accent-strong)}.auth .submit:active{transform:translateY(1px)}.auth .submit:disabled{opacity:.65;cursor:progress}.auth .spinner{border:2px solid color-mix(in srgb, currentColor 35%, transparent);border-top-color:currentColor;border-radius:50%;width:16px;height:16px;animation:.6s linear infinite efac-spin;display:none}.auth .submit.loading .spinner{display:inline-block}.auth .submit.loading .label,.auth .submit.loading svg.chk{display:none}@keyframes efac-spin{to{transform:rotate(360deg)}}.auth .foot{border-top:1px solid var(--border);color:var(--text-faint);text-align:center;justify-content:center;align-items:center;gap:7px;margin:20px 0 0;padding-top:16px;font-size:11.5px;line-height:1.5;display:flex}.auth .foot svg{color:var(--accent);opacity:.9;flex:none}@media (width<=440px){.auth .card{padding:26px 22px 22px}}.tr-badge{border-radius:999px;align-items:center;gap:3px;padding:2px 8px;font-size:12px;font-weight:600;line-height:1.4;display:inline-flex}.tr-up{color:#059669;background:#10b98124}.tr-down{color:#dc2626;background:#ef444424}.tr-neutral{background:var(--surface-2,#7f7f7f1f);color:var(--text-faint)}:root[data-theme=dark] .tr-up{color:#34d399}:root[data-theme=dark] .tr-down{color:#f87171}@media (prefers-color-scheme:dark){:root:not([data-theme=light]) .tr-up{color:#34d399}:root:not([data-theme=light]) .tr-down{color:#f87171}}.tr-chart{width:100%;position:relative}.tr-grid{stroke:var(--border);stroke-width:1px;stroke-dasharray:3 3;opacity:.7}.tr-axis{fill:var(--text-faint);font-size:10px;font-family:var(--font-mono,ui-monospace, monospace)}.tr-cursor{stroke:var(--text-faint);stroke-width:1px;stroke-dasharray:3 3}.tr-tip{background:var(--surface);border:1px solid var(--border);pointer-events:none;white-space:nowrap;border-radius:8px;padding:6px 10px;font-size:12px;position:absolute;top:6px;transform:translate(-50%);box-shadow:0 6px 20px #0000001f}.tr-tip-x{color:var(--text-faint);margin-bottom:2px;font-size:10.5px}.tr-tip-v{align-items:center;gap:6px;font-weight:600;display:flex}.tr-dot{border-radius:999px;flex:none;width:8px;height:8px;display:inline-block}.tr-barlist{flex-direction:column;gap:9px;display:flex}.tr-bar-row{align-items:center;gap:12px;display:flex}.tr-bar-track{background:var(--surface-2,#7f7f7f0f);border-radius:5px;flex:1;align-items:center;height:26px;display:flex;position:relative;overflow:hidden}.tr-bar-fill{opacity:.22;border-radius:5px;position:absolute;inset:0 auto 0 0}.tr-bar-name{color:var(--text);padding-left:9px;font-size:12.5px;font-weight:500;position:relative}.tr-bar-val{color:var(--text-muted);text-align:right;min-width:64px;font-size:12.5px;font-weight:600;font-family:var(--font-mono,ui-monospace, monospace)}.tr-donut-wrap{flex-wrap:wrap;align-items:center;gap:20px;display:flex}.tr-donut{flex:none;width:150px;height:150px;position:relative}.tr-donut-center{text-align:center;place-content:center;display:grid;position:absolute;inset:0}.tr-donut-num{font-size:22px;font-weight:700;line-height:1}.tr-donut-lbl{color:var(--text-faint);text-transform:uppercase;letter-spacing:.05em;margin-top:3px;font-size:10.5px}.tr-legend{flex-direction:column;flex:1;gap:7px;min-width:160px;display:flex}.tr-legend-row{align-items:center;gap:8px;font-size:12.5px;display:flex}.tr-legend-name{color:var(--text-muted);flex:1}.tr-legend-val{font-weight:600;font-family:var(--font-mono,ui-monospace, monospace)}.kpis{grid-template-columns:repeat(4,1fr);gap:14px;margin-bottom:18px;display:grid}.kpi{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow);flex-direction:column;gap:6px;padding:16px 18px;display:flex}.kpi-label{color:var(--text-muted);font-size:12px;font-weight:600}.kpi-row{justify-content:space-between;align-items:center;gap:10px;display:flex}.kpi-metric{font-family:var(--mono);letter-spacing:-.02em;font-size:27px;font-weight:700;line-height:1.1}.kpi-sub{color:var(--text-faint);font-size:11.5px}.dash-grid{grid-template-columns:minmax(0,1.6fr) minmax(0,1fr);align-items:start;gap:18px;margin-bottom:18px;display:grid}.chart-total{align-items:baseline;gap:10px;margin-bottom:8px;display:flex}.chart-total .amt{font-family:var(--mono);letter-spacing:-.02em;font-size:24px;font-weight:700}.chart-total .lbl{color:var(--text-muted);font-size:12px}.dash-tbl td{border-bottom:1px solid var(--border);padding:10px 16px}.dash-tbl tr:last-child td{border-bottom:0}@media (width<=1000px){.kpis{grid-template-columns:repeat(2,1fr)}.dash-grid{grid-template-columns:1fr}}@media (width<=560px){.kpis{grid-template-columns:1fr}}.pos{background:var(--bg);height:100dvh;color:var(--text);flex-direction:column;display:flex}.pos .num,.pos .mono{font-family:var(--mono,ui-monospace, monospace)}.pos-top{border-bottom:1px solid var(--border);background:var(--surface);align-items:center;gap:16px;padding:11px 18px;display:flex}.pos-brand{align-items:center;gap:11px;display:flex}.pos-logo{background:linear-gradient(135deg, var(--accent), var(--accent-strong));color:#04211d;border-radius:10px;place-items:center;width:36px;height:36px;display:grid}.pos-brand b{font-size:15px}.pos-sub{color:var(--text-faint);text-overflow:ellipsis;white-space:nowrap;max-width:260px;font-size:11.5px;overflow:hidden}.pos-top-right{align-items:center;gap:14px;margin-left:auto;display:flex}.pos-pill{color:var(--warning,#b45309);background:var(--warning-soft,#b453091f);border-radius:999px;padding:5px 11px;font-size:11.5px;font-weight:600}.pos-cashier{align-items:center;gap:9px;display:flex}.pos-av{background:var(--accent-soft);width:32px;height:32px;color:var(--accent-strong);border-radius:999px;place-items:center;font-size:12.5px;font-weight:700;display:grid}.pos-cashier .who{font-size:12.5px;font-weight:600;line-height:1.2}.pos-cashier .role{color:var(--text-faint);font-size:11px}.pos-exit{border:1px solid var(--border);background:var(--surface);color:var(--text-muted);cursor:pointer;border-radius:9px;padding:8px 14px;font-size:12.5px;font-weight:600}.pos-exit:hover{color:var(--text);border-color:var(--accent)}.pos-body{flex:1;grid-template-columns:minmax(0,1fr) 380px;min-height:0;display:grid}.pos-catalog{flex-direction:column;gap:13px;min-height:0;padding:15px 16px;display:flex}.pos-search{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-sm,10px);align-items:center;gap:10px;padding:0 12px;display:flex}.pos-search svg{color:var(--text-faint);flex:none}.pos-search input{color:var(--text);background:0 0;border:0;outline:0;width:100%;padding:12px 0;font-size:14px}.pos-cats{flex-wrap:wrap;gap:8px;display:flex}.pos-chip{border:1px solid var(--border);background:var(--surface);color:var(--text-muted);cursor:pointer;border-radius:999px;align-items:center;gap:7px;padding:8px 13px;font-size:12.5px;font-weight:600;display:inline-flex}.pos-chip:hover{color:var(--text)}.pos-chip.active{background:var(--accent);border-color:var(--accent);color:#04211d}.pos-chip .cdot{border-radius:999px;width:8px;height:8px}.pos-chip.active .cdot{display:none}.pos-grid-scroll{min-height:0;margin:0 -4px;padding:2px 4px;overflow-y:auto}.pos-products{grid-template-columns:repeat(auto-fill,minmax(140px,1fr));gap:11px;display:grid}.pp-card{text-align:left;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius,12px);cursor:pointer;color:var(--text);flex-direction:column;gap:9px;padding:12px;transition:transform .1s,border-color .1s,box-shadow .1s;display:flex}.pp-card:hover{border-color:var(--accent);box-shadow:var(--shadow,0 8px 20px #00000024);transform:translateY(-2px)}.pp-thumb{color:#fff;border-radius:10px;place-items:center;width:40px;height:40px;font-size:17px;font-weight:800;display:grid}.pp-name{color:var(--text);font-size:12.5px;font-weight:600;line-height:1.3}.pp-price{letter-spacing:-.02em;color:var(--text);font-size:14px;font-weight:700;font-family:var(--mono,monospace);margin-top:auto}.pos-empty,.pos-cart-empty{color:var(--text-faint);text-align:center;grid-column:1/-1;padding:30px 10px;font-size:13px}.pos-ticket{background:var(--surface);border-left:1px solid var(--border);flex-direction:column;min-height:0;display:flex}.pos-ticket-head{border-bottom:1px solid var(--border);justify-content:space-between;align-items:center;padding:15px 18px;display:flex}.pos-ticket-head h2{margin:0;font-size:16px}.pos-doc{color:var(--accent-strong);background:var(--accent-soft);border-radius:999px;padding:4px 9px;font-size:11px;font-weight:600}.pos-lines{flex:1;min-height:0;padding:6px 10px;overflow-y:auto}.pos-line{border-radius:10px;grid-template-columns:auto 1fr auto;align-items:center;gap:11px;padding:9px 6px;display:grid}.pos-line:hover{background:var(--bg)}.pos-qty{background:var(--bg);border:1px solid var(--border);border-radius:9px;align-items:center;display:flex;overflow:hidden}.pos-qty button{width:26px;height:30px;color:var(--text-muted);cursor:pointer;background:0 0;border:0;font-size:16px}.pos-qty button:hover{color:var(--text)}.pos-qty span{text-align:center;min-width:22px;font-size:13px;font-weight:700}.pos-l-name{font-size:12.5px;font-weight:600;line-height:1.3}.pos-l-unit{color:var(--text-faint);font-size:11px;font-family:var(--mono,monospace)}.pos-l-right{text-align:right}.pos-l-total{font-size:13.5px;font-weight:700;font-family:var(--mono,monospace)}.pos-l-rm{color:var(--danger);cursor:pointer;background:0 0;border:0;padding:0;font-size:10.5px}.pos-foot{border-top:1px solid var(--border);padding:14px 18px 16px}.pos-totals{flex-direction:column;gap:6px;margin-bottom:12px;display:flex}.pos-totals .tr{color:var(--text-muted);justify-content:space-between;font-size:13px;display:flex}.pos-totals .tr .v{color:var(--text);font-weight:600;font-family:var(--mono,monospace)}.pos-grand{border-top:1px dashed var(--border);justify-content:space-between;align-items:baseline;margin-top:5px;padding-top:10px;display:flex}.pos-grand .amt{letter-spacing:-.03em;font-size:26px;font-weight:800;font-family:var(--mono,monospace)}.pos-pays{grid-template-columns:repeat(3,1fr);gap:8px;margin-bottom:11px;display:grid}.pos-pay{border:1px solid var(--border);background:var(--bg);color:var(--text-muted);cursor:pointer;border-radius:10px;padding:10px 4px;font-size:12px;font-weight:600}.pos-pay:hover{color:var(--text)}.pos-pay.active{border-color:var(--accent);color:var(--accent-strong);background:var(--accent-soft)}.pos-cobrar{color:#04211d;background:linear-gradient(135deg, var(--accent), var(--accent-strong));cursor:pointer;border:0;border-radius:11px;justify-content:center;align-items:center;gap:10px;width:100%;padding:16px;font-size:16px;font-weight:800;display:flex}.pos-cobrar:hover:not(:disabled){filter:brightness(1.05)}.pos-cobrar:disabled{opacity:.5;cursor:not-allowed}.pos-cobrar .amt{font-family:var(--mono,monospace)}.pos-overlay{z-index:50;background:#00000080;place-items:center;padding:20px;display:grid;position:fixed;inset:0}.pos-result{background:var(--surface);border:1px solid var(--border);text-align:center;border-radius:18px;width:100%;max-width:380px;padding:30px}.pos-r-ico{border-radius:999px;place-items:center;width:62px;height:62px;margin:0 auto 14px;display:grid}.pos-r-ico.ok{background:var(--success-soft,#10b98124);color:var(--success,#10b981)}.pos-r-ico.err{background:var(--danger-soft,#ef444424);color:var(--danger,#ef4444)}.pos-result h3{margin:0 0 4px;font-size:18px}.pos-r-total{letter-spacing:-.03em;font-size:32px;font-weight:800;font-family:var(--mono,monospace);margin:6px 0}.pos-r-nc{color:var(--text-faint);font-size:11.5px}.pos-r-sub{color:var(--text-muted);margin:10px 0 0;font-size:13px;line-height:1.5}.pos-r-obs{text-align:left;color:var(--danger);margin:10px 0 0;padding-left:18px;font-size:12px}.pos-r-actions{gap:10px;margin-top:20px;display:flex}.pos-r-actions button{flex:1}.pos-splash{background:var(--bg);height:100dvh;color:var(--text-faint);place-items:center;display:grid}.pos-abrir{background:var(--surface);border:1px solid var(--border);text-align:center;border-radius:16px;width:100%;max-width:340px;padding:26px}.pos-abrir h2{color:var(--text)}.pos-caja-info{flex-direction:column;align-items:flex-end;line-height:1.25;display:flex}.pos-caja-info .lbl{color:var(--text-faint);text-transform:uppercase;letter-spacing:.05em;font-size:10.5px}.pos-caja-info .val{font-size:12.5px;font-weight:600;font-family:var(--mono,monospace)}.pos-exit.ghost-danger:hover{color:var(--danger);border-color:var(--danger)}.pos-cli,.pos-cli-search{margin-top:10px;position:relative}.pos-cli{background:var(--bg);border:1px solid var(--border);border-radius:9px;justify-content:space-between;align-items:center;gap:10px;padding:8px 11px;display:flex}.pos-cli .who{font-size:12.5px;font-weight:600}.pos-cli .desc{color:var(--text-faint);font-size:11px}.pos-cli-x{color:var(--accent);cursor:pointer;background:0 0;border:0;font-size:11px;font-weight:600}.pos-cli-search input{border:1px solid var(--border);background:var(--bg);width:100%;color:var(--text);border-radius:9px;outline:0;padding:9px 11px;font-size:12.5px}.pos-cli-list{z-index:5;background:var(--surface);border:1px solid var(--border);box-shadow:var(--shadow,0 10px 24px #00000029);border-radius:9px;max-height:220px;margin:4px 0 0;padding:4px;list-style:none;position:absolute;top:100%;left:0;right:0;overflow:auto}.pos-cli-list li{cursor:pointer;border-radius:7px;justify-content:space-between;gap:8px;padding:8px 9px;font-size:12.5px;display:flex}.pos-cli-list li:hover{background:var(--bg)}.pos-cli-list li span{color:var(--text-faint);font-size:11px}.pos-desc-row{color:var(--text-muted);justify-content:space-between;align-items:center;margin-bottom:11px;font-size:12.5px;display:flex}.pos-desc-in{border:1px solid var(--border);background:var(--bg);border-radius:8px;align-items:center;gap:6px;padding:4px 10px;display:flex}.pos-desc-in input{width:46px;color:var(--text);font-family:var(--mono,monospace);text-align:right;background:0 0;border:0;outline:0;font-size:13px}.pos-arqueo{flex-direction:column;gap:6px;margin-top:12px;display:flex}.pos-arqueo .ar{color:var(--text-muted);justify-content:space-between;font-size:13px;display:flex}.pos-arqueo .ar span:last-child{color:var(--text);font-weight:600;font-family:var(--mono,monospace)}.pos-arqueo .ar.sub{color:var(--text-faint);padding-left:12px;font-size:12px}.pos-arqueo .ar.total{border-top:1px dashed var(--border);margin-top:4px;padding-top:8px;font-weight:700}.pos-arqueo .ar.total.warn span:last-child{color:var(--warning,#d97706)}.pos-dif{text-align:center;border-radius:9px;margin-top:10px;padding:9px 12px;font-size:13px;font-weight:600}.pos-dif.ok{background:var(--success-soft,#10b98124);color:var(--success,#10b981)}.pos-dif.warn{background:var(--warning-soft,#d9770624);color:var(--warning,#d97706)}.pos-result .seg{background:var(--bg);border:1px solid var(--border);border-radius:10px;grid-template-columns:1fr 1fr;gap:6px;padding:4px;display:grid}.pos-result .seg button{color:var(--text-muted);cursor:pointer;background:0 0;border:0;border-radius:7px;padding:8px;font-size:12.5px;font-weight:600}.pos-result .seg button.active{background:var(--surface);color:var(--accent-strong);box-shadow:var(--shadow,0 1px 3px #0000001a)}.pos-hist{flex-direction:column;gap:8px;max-height:320px;margin-top:12px;display:flex;overflow-y:auto}.pos-hist-row{border:1px solid var(--border);border-radius:10px;align-items:center;gap:12px;padding:10px 12px;display:flex}.pos-hist-row>div:first-child{flex:1}@media (width<=620px){.pos-body{grid-template-columns:1fr}.pos-ticket{display:none}}@media (width<=900px){.pos-body{grid-template-columns:minmax(0,1fr) 320px}}.emit-layout{grid-template-columns:minmax(0,1fr) 340px;align-items:start;gap:18px;display:grid}@media (width<=980px){.emit-layout{grid-template-columns:1fr}}.emit-side{gap:16px;display:grid;position:sticky;top:84px}@media (width<=980px){.emit-side{position:static}}.pick{position:relative}.pick-list{z-index:10;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-sm);box-shadow:var(--shadow-lg);max-height:260px;margin:0;padding:4px;list-style:none;position:absolute;top:calc(100% + 4px);left:0;right:0;overflow:auto}.pick-list li{cursor:pointer;border-radius:6px;justify-content:space-between;gap:10px;padding:9px 11px;font-size:13px;display:flex}.pick-list li:hover{background:var(--accent-soft);color:var(--accent-strong)}.pick-list li .muted{color:var(--text-faint);font-size:12px}.pick-list li:hover .muted{color:var(--accent-strong)}.det{border-collapse:collapse;width:100%}.det thead th{letter-spacing:.05em;text-transform:uppercase;color:var(--text-faint);text-align:right;border-bottom:1px solid var(--border);padding:0 8px 9px;font-size:10.5px;font-weight:680}.det thead th:first-child{text-align:left}.det tbody td{border-bottom:1px solid var(--border);text-align:right;vertical-align:middle;padding:10px 8px}.det tbody td:first-child{text-align:left}.det tbody tr:last-child td{border-bottom:0}.det .it-name{font-weight:550}.det .it-code{color:var(--text-faint);font-size:11.5px;font-family:var(--mono)}.det-cant{text-align:right;border:1px solid var(--border-strong);background:var(--surface);width:74px;color:var(--text);font-family:var(--mono);border-radius:7px;outline:0;padding:7px 9px;font-size:13px}.det-cant:focus{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-soft)}.det .money{font-family:var(--mono);font-size:13px}.det .rm{color:var(--text-faint);cursor:pointer;background:0 0;border:0;border-radius:6px;padding:4px 7px;font-size:15px}.det .rm:hover{color:var(--danger);background:color-mix(in srgb, var(--danger) 12%, transparent)}.det-empty{text-align:center;color:var(--text-faint);padding:26px 10px;font-size:13px}.seg{background:var(--surface-2);border-radius:9px;grid-auto-flow:column;gap:6px;padding:4px;display:grid}.seg button{color:var(--text-muted);font-family:var(--ui);cursor:pointer;background:0 0;border:0;border-radius:6px;padding:8px 6px;font-size:12.5px;font-weight:550}.seg button.active{background:var(--surface);color:var(--accent-strong);box-shadow:var(--shadow)}.totals{gap:9px;display:grid}.trow{color:var(--text-muted);justify-content:space-between;align-items:center;font-size:13px;display:flex}.trow .v{font-family:var(--mono);color:var(--text)}.reten{border-top:1px dashed var(--border);border-bottom:1px dashed var(--border);justify-content:space-between;align-items:center;margin:2px 0;padding:9px 0;display:flex}.grand{border-top:1.5px solid var(--border-strong);justify-content:space-between;align-items:baseline;margin-top:8px;padding-top:12px;display:flex}.grand .lbl{letter-spacing:.05em;text-transform:uppercase;color:var(--text-muted);font-size:12px;font-weight:650}.grand .amt{font-family:var(--mono);letter-spacing:-.02em;font-size:26px;font-weight:700}.letras{color:var(--text-faint);text-transform:uppercase;letter-spacing:.02em;margin-top:6px;font-size:11px}.switch{cursor:pointer;color:var(--text-muted);-webkit-user-select:none;user-select:none;align-items:center;gap:9px;font-size:13px;display:inline-flex}.switch input{width:16px;height:16px;accent-color:var(--accent)}.emit-btn{border-radius:var(--radius-sm);background:var(--accent);color:#fff;width:100%;font-family:var(--ui);cursor:pointer;border:0;justify-content:center;align-items:center;gap:9px;padding:13px;font-size:15px;font-weight:650;display:inline-flex}:root[data-theme=dark] .emit-btn{color:#052925}@media (prefers-color-scheme:dark){.emit-btn{color:#052925}}.emit-btn:hover{background:var(--accent-strong)}.emit-btn:disabled{opacity:.5;cursor:not-allowed}.side-note{color:var(--text-faint);text-align:center;margin-top:10px;font-size:11px;line-height:1.5}.opts{gap:10px;display:grid}.opt{color:var(--text);cursor:pointer;align-items:center;gap:9px;font-size:13px;display:flex}.opt input{width:16px;height:16px;accent-color:var(--accent)}.det-desc{width:100%;min-width:220px;color:var(--text);font:inherit;resize:none;field-sizing:content;background:0 0;border:1px solid #0000;border-radius:7px;outline:0;max-height:140px;padding:7px 9px;font-weight:550;line-height:1.35;display:block;overflow:hidden}.det-desc:hover{border-color:var(--border-strong)}.det-desc:focus{border-color:var(--accent);background:var(--surface);box-shadow:0 0 0 3px var(--accent-soft)}.det-precio{text-align:right;border:1px solid var(--border-strong);background:var(--surface);width:104px;color:var(--text);font-family:var(--mono);border-radius:7px;outline:0;padding:7px 9px;font-size:13px}.det-precio:focus{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-soft)}.det .it-hint{color:var(--text-faint);margin-top:3px;font-size:11.5px}.det .it-hint.warn{color:var(--warn)}.filtro{border:1px solid var(--border-strong);background:var(--surface);color:var(--text);font-family:var(--ui);border-radius:var(--radius-sm);cursor:pointer;outline:0;padding:7px 10px;font-size:12.5px}.filtro:focus{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-soft)}.acc-btn{border:1px solid var(--border);background:var(--surface);color:var(--text-muted);cursor:pointer;border-radius:7px;width:32px;height:30px;font-size:16px;line-height:1}.acc-btn:hover{background:var(--surface-2);color:var(--text)}.acc-backdrop{z-index:30;position:fixed;inset:0}.acc-menu{z-index:31;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-sm);min-width:190px;box-shadow:var(--shadow-lg);text-align:left;gap:1px;padding:5px;display:grid;position:absolute;top:calc(100% + 4px);right:0}.acc-menu button{color:var(--text);font-family:var(--ui);text-align:left;cursor:pointer;background:0 0;border:0;border-radius:6px;width:100%;padding:8px 10px;font-size:13px}.acc-menu button:hover{background:var(--surface-2)}.acc-menu button.danger{color:var(--danger)}.acc-menu button.danger:hover{background:color-mix(in srgb, var(--danger) 12%, transparent)}.acc-menu button:disabled{opacity:.4;cursor:not-allowed}.acc-sep{background:var(--border);height:1px;margin:4px 0}.pager{border-top:1px solid var(--border);color:var(--text-muted);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:14px;padding:12px 16px;font-size:13px;display:flex}.pager label{align-items:center;gap:8px;display:inline-flex}.pager select{border:1px solid var(--border);color:inherit;font:inherit;background:0 0;border-radius:7px;padding:5px 8px}.pager-btns{align-items:center;gap:8px;display:inline-flex}.pager-btns button{border:1px solid var(--border);color:inherit;font:inherit;cursor:pointer;background:0 0;border-radius:7px;padding:5px 10px}.pager-btns button:disabled{opacity:.4;cursor:default}.vinc-intro{color:var(--text-muted);margin:0 0 16px;font-size:13.5px;line-height:1.55}.vinc-intro code{font-family:var(--font-mono,ui-monospace, monospace);background:var(--surface-2,#7f7f7f1f);border-radius:5px;padding:1px 5px;font-size:12px}.vinc-label{text-transform:uppercase;letter-spacing:.04em;color:var(--text-faint);margin-bottom:6px;font-size:12px;font-weight:600;display:block}.vinc-token{background:var(--surface-2,#7f7f7f14);border:1px solid var(--border);border-radius:9px;justify-content:space-between;align-items:center;gap:10px;padding:9px 12px;display:flex}.vinc-token .mono{font-family:var(--font-mono,ui-monospace, monospace);color:var(--accent,#0f766e);word-break:break-all;font-size:13px}.vinc-env{color:#d6e2f0;font-family:var(--font-mono,ui-monospace, monospace);white-space:pre;background:#0b1220;border-radius:9px;margin:0 0 8px;padding:13px 14px;font-size:12.5px;line-height:1.7;overflow-x:auto}:root[data-theme=light] .vinc-env{background:#0f172a}.vinc-warn{color:var(--warn,#b45309);background:var(--warn-soft,#b453091a);border-radius:8px;margin-top:16px;padding:10px 12px;font-size:12.5px;line-height:1.5}.tabs{border-bottom:1px solid var(--border);gap:4px;margin-bottom:4px;display:flex}.tabs button{color:var(--text-muted);font-family:var(--ui);cursor:pointer;background:0 0;border:0;border-bottom:2px solid #0000;margin-bottom:-1px;padding:10px 14px;font-size:13.5px;font-weight:550}.tabs button:hover{color:var(--text)}.tabs button.active{color:var(--accent-strong);border-bottom-color:var(--accent);font-weight:640}.cfg-actions{justify-content:flex-end;gap:10px;margin-top:6px;display:flex}.cfg-ok{background:var(--success-soft);color:var(--success);border:0}.u-list{gap:1px;display:grid}.u-row{border-bottom:1px solid var(--border);align-items:center;gap:12px;padding:12px 4px;display:flex}.u-row:last-child{border-bottom:0}.u-avatar{background:var(--accent-soft);width:34px;height:34px;color:var(--accent-strong);border-radius:50%;flex:none;place-items:center;font-size:13px;font-weight:650;display:grid}.u-info{flex:1;min-width:0}.u-info .n{font-size:13.5px;font-weight:600}.u-info .e{color:var(--text-faint);font-size:12px}.kv{grid-template-columns:200px 1fr;gap:12px 16px;font-size:13.5px;display:grid}.kv .k{color:var(--text-muted)}.kv .v{color:var(--text);font-weight:500}@media (width<=560px){.kv{grid-template-columns:1fr;gap:4px 0}.kv .k{margin-top:8px}}.bo-root{background:var(--bg);min-height:100vh}.bo-top{border-bottom:1px solid var(--border);background:var(--surface);z-index:10;align-items:center;gap:24px;height:60px;padding:0 24px;display:flex;position:sticky;top:0}.bo-brand{align-items:center;gap:10px;display:flex}.bo-logo{background:var(--accent,#14b8a6);color:#04211d;border-radius:9px;place-items:center;width:34px;height:34px;font-size:13px;font-weight:800;display:grid}.bo-tag{text-transform:uppercase;letter-spacing:.08em;color:var(--accent,#14b8a6);border:1px solid var(--accent,#14b8a6);border-radius:5px;margin-left:2px;padding:1px 6px;font-size:10.5px}.bo-nav{flex:1;gap:4px;display:flex}.bo-nav a{color:var(--text-muted);border-radius:8px;padding:7px 12px;font-size:13.5px;font-weight:550;text-decoration:none}.bo-nav a.active{background:var(--surface-2,#7f7f7f1a);color:var(--text)}.bo-user{color:var(--text-muted);align-items:center;gap:12px;font-size:13px;display:flex}.bo-main{max-width:980px;margin:0 auto;padding:26px 24px 60px}.bo-login{background:var(--bg);place-items:center;min-height:100vh;padding:20px;display:grid}.bo-login-card{background:var(--surface);border:1px solid var(--border);border-radius:16px;width:100%;max-width:380px;padding:26px}.btn-ghost.sm{padding:5px 11px;font-size:12.5px}.mod-row{border:1px solid var(--border);background:var(--card);border-radius:10px;justify-content:space-between;align-items:center;gap:16px;padding:12px;display:flex}.mh-log{color:#cbd5e1;max-height:560px;font-family:var(--font-mono,ui-monospace, monospace);white-space:pre-wrap;word-break:break-word;background:#0b1220;border-radius:9px;margin:0;padding:14px;font-size:11.5px;line-height:1.55;overflow:auto}:root[data-theme=light] .mh-log{color:#e2e8f0;background:#0f172a}:root{--bg:#f5f8f7;--surface:#fff;--surface-2:#eef3f2;--border:#e0e7e5;--border-strong:#cbd6d3;--text:#16201f;--text-muted:#5d6c69;--text-faint:#8a9794;--accent:#0f766e;--accent-strong:#0b5a54;--accent-soft:#e4f1ef;--success:#15803d;--success-soft:#e6f4ea;--warning:#9a5b00;--warning-soft:#fbf0dc;--danger:#c0392b;--danger-soft:#fbe9e7;--shadow:0 1px 2px #10201f0a, 0 4px 16px #10201f0d;--shadow-lg:0 2px 4px #10201f0d, 0 18px 48px #10201f1a;--radius:12px;--radius-sm:8px;--ui:system-ui, -apple-system, "Segoe UI", Roboto, Helvetica, Arial, sans-serif;--mono:ui-monospace, "SF Mono", "Cascadia Code", Menlo, Consolas, monospace}@media (prefers-color-scheme:dark){:root{--bg:#0e1413;--surface:#151d1b;--surface-2:#1c2624;--border:#29332f;--border-strong:#35423f;--text:#e9eeec;--text-muted:#9daba8;--text-faint:#6c7a77;--accent:#2dd4bf;--accent-strong:#5eead4;--accent-soft:#143430;--success:#4ade80;--success-soft:#10281a;--warning:#e0a44a;--warning-soft:#2a1f0e;--danger:#f1785f;--danger-soft:#2a1512;--shadow:0 1px 2px #0000004d, 0 6px 20px #00000059;--shadow-lg:0 2px 6px #00000059, 0 24px 60px #00000080}}:root[data-theme=light]{--bg:#f5f8f7;--surface:#fff;--surface-2:#eef3f2;--border:#e0e7e5;--border-strong:#cbd6d3;--text:#16201f;--text-muted:#5d6c69;--text-faint:#8a9794;--accent:#0f766e;--accent-strong:#0b5a54;--accent-soft:#e4f1ef;--success:#15803d;--success-soft:#e6f4ea;--warning:#9a5b00;--warning-soft:#fbf0dc;--danger:#c0392b;--danger-soft:#fbe9e7;--shadow:0 1px 2px #10201f0a, 0 4px 16px #10201f0d;--shadow-lg:0 2px 4px #10201f0d, 0 18px 48px #10201f1a}:root[data-theme=dark]{--bg:#0e1413;--surface:#151d1b;--surface-2:#1c2624;--border:#29332f;--border-strong:#35423f;--text:#e9eeec;--text-muted:#9daba8;--text-faint:#6c7a77;--accent:#2dd4bf;--accent-strong:#5eead4;--accent-soft:#143430;--success:#4ade80;--success-soft:#10281a;--warning:#e0a44a;--warning-soft:#2a1f0e;--danger:#f1785f;--danger-soft:#2a1512;--shadow:0 1px 2px #0000004d, 0 6px 20px #00000059;--shadow-lg:0 2px 6px #00000059, 0 24px 60px #00000080}*{box-sizing:border-box}html,body,#root{height:100%}body{font-family:var(--ui);color:var(--text);background:var(--bg);-webkit-font-smoothing:antialiased;margin:0;font-size:14px;line-height:1.45}.num{font-variant-numeric:tabular-nums}:focus-visible{outline:2px solid var(--accent);outline-offset:2px}@media (prefers-reduced-motion:reduce){*{transition:none!important;animation:none!important}}a{color:var(--accent-strong)}
