:root{--primary:#087f73;--primary-dark:#06645c;--bg:#f3f8f7;--surface:#fff;--text:#18312f;--muted:#647b78;--border:#d9e6e4;--danger:#b42318;--warning:#a15c00;--info:#175cd3;--sidebar:255px}*{box-sizing:border-box}body{margin:0;font:14px/1.5 system-ui,-apple-system,"Segoe UI",sans-serif;color:var(--text);background:var(--bg)}a{color:inherit;text-decoration:none}button,input,select,textarea{font:inherit}.app{min-height:100vh}.sidebar{position:fixed;inset:0 auto 0 0;width:var(--sidebar);background:#063d39;color:#e8fffc;padding:18px 14px;overflow:auto;z-index:20}.brand{display:flex;gap:11px;align-items:center;font-size:18px;font-weight:800;padding:8px 10px 20px}.brand-mark{display:grid;place-items:center;width:36px;height:36px;border-radius:12px;background:#31c7b5;color:#063d39}.nav-label{font-size:11px;text-transform:uppercase;letter-spacing:.1em;color:#9bc8c3;margin:18px 10px 6px}.nav a{display:flex;align-items:center;gap:11px;padding:10px 12px;border-radius:10px;color:#d8efec;margin:2px 0;min-height:44px}.nav a:hover,.nav a.active{background:#0b5b54;color:#fff}.nav-icon{width:22px;text-align:center}.main{margin-left:var(--sidebar)}.topbar{position:sticky;top:0;z-index:10;height:68px;padding:0 28px;background:rgba(255,255,255,.95);border-bottom:1px solid var(--border);display:flex;align-items:center;justify-content:space-between}.menu-btn{display:none}.user{display:flex;gap:10px;align-items:center}.avatar{width:34px;height:34px;border-radius:50%;display:grid;place-items:center;background:#d4f5ef;color:var(--primary-dark);font-weight:800}.content{padding:26px;max-width:1500px;margin:auto}.page-head{display:flex;justify-content:space-between;align-items:center;gap:16px;margin-bottom:20px}.page-head h1{font-size:25px;margin:0}.page-head p{color:var(--muted);margin:3px 0}.grid{display:grid;gap:16px}.stats{grid-template-columns:repeat(4,minmax(0,1fr))}.card{background:var(--surface);border:1px solid var(--border);border-radius:15px;padding:18px;box-shadow:0 2px 8px rgba(18,59,55,.04)}.stat-label{color:var(--muted)}.stat-value{font-size:26px;font-weight:800;margin-top:5px}.toolbar{display:flex;gap:10px;flex-wrap:wrap;margin-bottom:14px}.field{margin-bottom:15px}.field label{display:block;font-weight:650;margin-bottom:6px}.input,.select,.textarea{width:100%;border:1px solid #b9cecb;border-radius:9px;padding:10px 12px;background:#fff;min-height:44px}.textarea{min-height:90px}.form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 18px}.full{grid-column:1/-1}.btn{display:inline-flex;align-items:center;justify-content:center;gap:7px;border:0;border-radius:9px;padding:10px 15px;min-height:42px;cursor:pointer;font-weight:700}.btn-primary{background:var(--primary);color:#fff}.btn-primary:hover{background:var(--primary-dark)}.btn-light{background:#eaf3f2;color:var(--text)}.btn-danger{background:#fee4e2;color:var(--danger)}.btn-warning{background:#fff0d5;color:var(--warning)}table{width:100%;border-collapse:collapse}th{text-align:left;color:var(--muted);font-size:12px;text-transform:uppercase;letter-spacing:.04em}th,td{padding:12px;border-bottom:1px solid var(--border);vertical-align:top}.table-wrap{overflow-x:auto}.badge{display:inline-flex;align-items:center;gap:5px;border-radius:99px;padding:4px 9px;font-size:12px;font-weight:750}.success{background:#dcfae6;color:#067647}.warning{background:#fff0c2;color:#8a4b00}.danger{background:#fee4e2;color:#b42318}.info{background:#e5efff;color:#175cd3}.alert{padding:12px 15px;border-radius:10px;margin-bottom:15px}.alert-success{background:#dcfae6;color:#067647}.alert-danger{background:#fee4e2;color:#b42318}.muted{color:var(--muted)}.money{font-variant-numeric:tabular-nums;font-weight:700}.login-page{min-height:100vh;display:grid;place-items:center;padding:20px;background:radial-gradient(circle at 20% 10%,#c9f5eb,transparent 35%),var(--bg)}.login-card{width:min(430px,100%);background:#fff;border:1px solid var(--border);border-radius:20px;padding:30px;box-shadow:0 22px 70px rgba(5,74,67,.12)}.login-card h1{margin-bottom:4px}.hint{padding:12px;background:#f2f7f6;border-radius:10px;color:var(--muted);font-size:13px}.product-thumb{width:42px;height:42px;object-fit:contain;background:#f2f6f5;border-radius:8px}.pos-layout{display:grid;grid-template-columns:minmax(0,1.6fr) minmax(330px,.8fr);gap:18px}.product-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.product-card{border:1px solid var(--border);border-radius:12px;padding:12px;cursor:pointer;background:#fff}.product-card:hover{border-color:var(--primary)}.cart{position:sticky;top:86px;height:max-content}.receipt{max-width:80mm;margin:auto;background:white;padding:12px;font-family:monospace}.receipt-line{display:flex;justify-content:space-between;gap:10px}.mobile-only{display:none}.pagination{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin-top:16px}.pagination svg{width:18px!important;height:18px!important;max-width:18px!important;max-height:18px!important}.pagination a,.pagination span{display:inline-flex;align-items:center;justify-content:center;min-width:36px;min-height:36px;padding:6px 10px;border:1px solid var(--border);border-radius:8px;background:#fff;color:var(--text)}.pagination [aria-current=page] span,.pagination .active span{background:var(--primary);border-color:var(--primary);color:#fff}.pagination [aria-disabled=true] span{color:var(--muted);background:#f6faf9}.pagination p{margin:8px 0;color:var(--muted)}@media(max-width:1000px){.stats{grid-template-columns:repeat(2,1fr)}.product-grid{grid-template-columns:repeat(2,1fr)}}@media(max-width:760px){.sidebar{transform:translateX(-100%);transition:.2s}.sidebar.open{transform:none}.main{margin-left:0}.topbar{height:60px;padding:0 14px}.menu-btn{display:inline-flex}.content{padding:16px}.page-head{align-items:flex-start}.page-head h1{font-size:21px}.stats,.form-grid,.pos-layout{grid-template-columns:1fr}.product-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.cart{position:static}.desktop-only{display:none}.mobile-only{display:block}.sticky-action{position:sticky;bottom:10px;z-index:5;width:100%}.table-responsive-cards table,.table-responsive-cards thead,.table-responsive-cards tbody,.table-responsive-cards tr,.table-responsive-cards th,.table-responsive-cards td{display:block}.table-responsive-cards thead{display:none}.table-responsive-cards tr{border:1px solid var(--border);border-radius:12px;margin-bottom:10px;padding:9px;background:#fff}.table-responsive-cards td{border:0;padding:5px 8px}.table-responsive-cards td:before{content:attr(data-label);display:block;color:var(--muted);font-size:11px;text-transform:uppercase}}@media(max-width:360px){.product-grid{grid-template-columns:1fr}.content{padding:11px}}@media print{.sidebar,.topbar,.no-print{display:none!important}.main{margin:0}.content{padding:0}.receipt{box-shadow:none;border:0;width:58mm}.card{border:0;box-shadow:none}}
