:root{
  --bg:#f4f6fb;--panel:#ffffff;--panel-2:#f8fafc;--text:#111827;--muted:#6b7280;--line:#e5e7eb;
  --primary:#111827;--primary-2:#1f2937;--accent:#ef4444;--accent-soft:#fee2e2;--good:#16a34a;--warn:#d97706;--bad:#dc2626;
  --shadow:0 16px 45px rgba(15,23,42,.10);--radius:22px;--radius-sm:14px;
}
.dark{
  --bg:#0b1020;--panel:#111827;--panel-2:#0f172a;--text:#f9fafb;--muted:#9ca3af;--line:#263244;
  --primary:#f9fafb;--primary-2:#d1d5db;--accent:#ef4444;--accent-soft:rgba(239,68,68,.16);--shadow:0 16px 45px rgba(0,0,0,.35);
}
*{box-sizing:border-box} body{margin:0;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;background:var(--bg);color:var(--text)}
button,input,select,textarea{font:inherit} button{cursor:pointer} input,select,textarea{width:100%;border:1px solid var(--line);background:var(--panel);color:var(--text);border-radius:13px;padding:12px 13px;outline:none;transition:.15s}
input:focus,select:focus,textarea:focus{border-color:var(--accent);box-shadow:0 0 0 4px var(--accent-soft)} textarea{resize:vertical;min-height:88px} label{display:grid;gap:7px;color:var(--muted);font-weight:700;font-size:13px} small{color:var(--muted)}
.hidden{display:none!important}.full{width:100%}.grid{display:grid;gap:14px}.grid.two{grid-template-columns:repeat(2,minmax(0,1fr))}.grid.three{grid-template-columns:repeat(3,minmax(0,1fr))}.grid.four{grid-template-columns:repeat(4,minmax(0,1fr))}
.auth-screen{min-height:100vh;display:grid;place-items:center;padding:24px;background:radial-gradient(circle at top left,rgba(239,68,68,.18),transparent 34%),linear-gradient(135deg,#f8fafc,var(--bg))}.dark .auth-screen{background:radial-gradient(circle at top left,rgba(239,68,68,.22),transparent 34%),linear-gradient(135deg,#020617,#0b1020)}
.auth-card{width:min(760px,100%);background:rgba(255,255,255,.88);backdrop-filter:blur(18px);border:1px solid rgba(255,255,255,.8);border-radius:30px;box-shadow:var(--shadow);padding:28px}.dark .auth-card{background:rgba(17,24,39,.84);border-color:#233049}
.brand-block{display:flex;gap:16px;align-items:center;margin-bottom:22px}.brand-mark,.logo-box{width:56px;height:56px;border-radius:18px;background:var(--primary);color:var(--bg);display:grid;place-items:center;font-weight:900;font-size:27px;overflow:hidden}.logo-box img{width:100%;height:100%;object-fit:cover}.brand-block h1{margin:0;font-size:32px}.brand-block p{margin:4px 0 0;color:var(--muted)}
.auth-tabs{display:flex;background:var(--panel-2);border:1px solid var(--line);border-radius:16px;padding:5px;margin-bottom:18px}.auth-tab{flex:1;border:0;background:transparent;color:var(--muted);padding:12px;border-radius:12px;font-weight:800}.auth-tab.active{background:var(--panel);color:var(--text);box-shadow:0 8px 22px rgba(15,23,42,.08)}.auth-form{display:none;gap:14px}.auth-form.active{display:grid}.auth-note{color:var(--muted);font-size:13px;margin:18px 0 0;text-align:center}.check-row{display:flex;align-items:center;gap:10px}.check-row input{width:auto}
.primary,.ghost,.danger,.success,.warn{border:0;border-radius:13px;padding:12px 16px;font-weight:900;transition:.15s}.primary{background:var(--primary);color:var(--bg)}.primary:hover{transform:translateY(-1px);background:var(--primary-2)}.ghost{background:var(--panel);color:var(--text);border:1px solid var(--line)}.ghost:hover{border-color:var(--accent)}.danger{background:var(--bad);color:white}.success{background:var(--good);color:white}.warn{background:var(--warn);color:white}.small{padding:9px 11px;font-size:13px}.icon-btn{border:0;background:var(--panel-2);color:var(--text);width:38px;height:38px;border-radius:12px;font-size:22px}.link-btn{border:0;background:transparent;color:var(--accent);font-weight:900;padding:0}
.app{display:grid;grid-template-columns:282px 1fr;min-height:100vh}.sidebar{background:var(--panel);border-right:1px solid var(--line);padding:18px;display:flex;flex-direction:column;gap:16px;position:sticky;top:0;height:100vh}.app-brand{display:flex;align-items:center;gap:12px;padding:8px}.app-brand strong{font-size:20px}.app-brand small{display:block;margin-top:2px}.nav{display:grid;gap:7px;overflow:auto}.nav button{border:0;background:transparent;color:var(--muted);display:flex;align-items:center;gap:11px;padding:12px 13px;border-radius:14px;text-align:left;font-weight:800}.nav button.active,.nav button:hover{background:var(--panel-2);color:var(--text)}.side-footer{margin-top:auto;display:grid;gap:8px}
.main{min-width:0}.topbar{position:sticky;top:0;z-index:5;display:flex;justify-content:space-between;gap:18px;align-items:center;padding:20px 24px;background:rgba(244,246,251,.82);backdrop-filter:blur(16px);border-bottom:1px solid var(--line)}.dark .topbar{background:rgba(11,16,32,.82)}.topbar h2{margin:0;font-size:26px}.topbar p{margin:4px 0 0;color:var(--muted)}.top-actions{display:flex;align-items:center;gap:10px}.global-search{position:relative;width:min(430px,34vw)}.global-results{position:absolute;top:52px;left:0;right:0;background:var(--panel);border:1px solid var(--line);box-shadow:var(--shadow);border-radius:18px;padding:8px;z-index:20;max-height:360px;overflow:auto}.global-item{display:grid;gap:3px;border:0;width:100%;text-align:left;background:transparent;color:var(--text);padding:10px;border-radius:12px}.global-item:hover{background:var(--panel-2)}.user-pill{background:var(--panel);border:1px solid var(--line);border-radius:16px;padding:8px 12px;display:grid;min-width:150px}.user-pill span{font-weight:900}.view{padding:24px;display:grid;gap:18px}
.cards{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px}.card,.panel{background:var(--panel);border:1px solid var(--line);border-radius:var(--radius);box-shadow:0 8px 24px rgba(15,23,42,.04)}.card{padding:18px}.card .label{color:var(--muted);font-weight:800;font-size:13px}.card .value{font-size:30px;font-weight:950;margin-top:8px}.card .sub{color:var(--muted);font-size:13px;margin-top:4px}.panel{padding:18px}.panel-head{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:14px}.panel-head h3{margin:0}.panel-actions{display:flex;gap:8px;flex-wrap:wrap}.toolbar{display:flex;gap:10px;flex-wrap:wrap;align-items:center}.toolbar input,.toolbar select{max-width:260px}.split{display:grid;grid-template-columns:1.1fr .9fr;gap:18px}.pos-grid{display:grid;grid-template-columns:1fr 430px;gap:18px}.product-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(185px,1fr));gap:12px;max-height:62vh;overflow:auto;padding-right:4px}.product-tile{background:var(--panel);border:1px solid var(--line);border-radius:18px;padding:14px;text-align:left;display:grid;gap:8px}.product-tile:hover{border-color:var(--accent);transform:translateY(-1px)}.product-tile b{font-size:16px}.product-tile .price{font-weight:950}.stock-pill,.badge{display:inline-flex;align-items:center;gap:5px;width:max-content;border-radius:999px;padding:5px 9px;font-size:12px;font-weight:900;background:var(--panel-2);color:var(--muted)}.badge.good{background:rgba(22,163,74,.12);color:var(--good)}.badge.warn{background:rgba(217,119,6,.12);color:var(--warn)}.badge.bad{background:rgba(220,38,38,.12);color:var(--bad)}
.table-wrap{overflow:auto;border:1px solid var(--line);border-radius:18px}table{width:100%;border-collapse:collapse;background:var(--panel)}th,td{padding:12px;border-bottom:1px solid var(--line);text-align:left;vertical-align:top;font-size:14px}th{color:var(--muted);font-size:12px;text-transform:uppercase;letter-spacing:.04em;background:var(--panel-2)}tr:last-child td{border-bottom:0}.row-actions{display:flex;gap:7px;flex-wrap:wrap}.qty-box{display:flex;align-items:center;gap:6px}.qty-box button{width:30px;height:30px;border-radius:10px;border:1px solid var(--line);background:var(--panel-2);color:var(--text);font-weight:900}.summary{display:grid;gap:10px}.summary-row{display:flex;justify-content:space-between;gap:12px}.summary-row.total{font-size:26px;font-weight:950;border-top:1px solid var(--line);padding-top:12px}.empty{padding:28px;text-align:center;color:var(--muted);border:1px dashed var(--line);border-radius:18px;background:var(--panel)}
.modal{position:fixed;inset:0;z-index:50;display:grid;place-items:center;padding:18px}.modal-backdrop{position:absolute;inset:0;background:rgba(2,6,23,.58);backdrop-filter:blur(4px)}.modal-card{position:relative;z-index:2;width:min(900px,100%);max-height:88vh;overflow:auto;background:var(--panel);border:1px solid var(--line);border-radius:26px;box-shadow:var(--shadow);padding:18px}.modal-head{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:14px}.modal-head h3{margin:0}.form-actions{display:flex;justify-content:flex-end;gap:10px;margin-top:16px}.ticket{font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;background:#fff;color:#111;padding:18px;border-radius:18px;border:1px solid #e5e7eb}.ticket h3{text-align:center;margin:0}.ticket .center{text-align:center}.ticket hr{border:0;border-top:1px dashed #9ca3af;margin:12px 0}.ticket-row{display:flex;justify-content:space-between;gap:12px}.logo-preview{width:84px;height:84px;border-radius:18px;background:var(--panel-2);border:1px solid var(--line);display:grid;place-items:center;overflow:hidden}.logo-preview img{width:100%;height:100%;object-fit:cover}.bars{display:grid;gap:10px}.bar-row{display:grid;grid-template-columns:110px 1fr 90px;gap:10px;align-items:center}.bar{height:12px;background:var(--panel-2);border-radius:999px;overflow:hidden}.bar span{display:block;height:100%;background:var(--accent);border-radius:999px}.activity{display:grid;gap:10px}.activity-item{display:flex;justify-content:space-between;gap:10px;border-bottom:1px solid var(--line);padding-bottom:10px}.activity-item:last-child{border-bottom:0;padding-bottom:0}.toast-area{position:fixed;right:18px;bottom:18px;z-index:80;display:grid;gap:10px}.toast{background:var(--panel);border:1px solid var(--line);box-shadow:var(--shadow);border-left:5px solid var(--accent);border-radius:16px;padding:13px 14px;min-width:270px;animation:pop .18s ease}.toast.good{border-left-color:var(--good)}.toast.bad{border-left-color:var(--bad)}.toast b{display:block;margin-bottom:2px}.kpi-line{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:10px}.mini-kpi{background:var(--panel-2);border:1px solid var(--line);border-radius:16px;padding:12px}.mini-kpi b{font-size:20px;display:block;margin-top:4px}.only-print{display:none}
@keyframes pop{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}
@media (max-width:1100px){.cards{grid-template-columns:repeat(2,minmax(0,1fr))}.pos-grid,.split{grid-template-columns:1fr}.sidebar{position:fixed;z-index:30;left:0;top:0;bottom:0;transform:translateX(-100%);transition:.2s}.app.menu-open .sidebar{transform:none}.app{grid-template-columns:1fr}.global-search{width:260px}.topbar{align-items:flex-start;flex-direction:column}.top-actions{width:100%;flex-wrap:wrap}.view{padding:18px}}
@media (max-width:720px){.grid.two,.grid.three,.grid.four{grid-template-columns:1fr}.cards{grid-template-columns:1fr}.auth-card{padding:20px;border-radius:24px}.top-actions{display:grid;grid-template-columns:1fr;width:100%}.global-search{width:100%}.toolbar input,.toolbar select{max-width:none}.pos-grid{gap:12px}.modal-card{padding:14px}.table-wrap{font-size:13px}th,td{padding:10px}.bar-row{grid-template-columns:80px 1fr}.bar-row strong{display:none}}
@media print{body *{visibility:hidden}.ticket,.ticket *{visibility:visible}.ticket{position:absolute;left:0;top:0;width:100%;border:0}.no-print{display:none!important}}
.auth-link{justify-self:center;margin-top:-4px}
.reset-link-box{word-break:break-all;background:var(--panel-2);border:1px solid var(--line);border-radius:14px;padding:12px;font-size:13px}
