@import "https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700&family=JetBrains+Mono:wght@400;500;600;700&display=swap";
:root{--bg-primary:#121212;--bg-card:#1a1a1a;--bg-card-hover:#222;--bg-subtle:#161616;--bg-input:#141414;--border-color:#2a2a2a;--border-focus:#10b981;--accent-cyan:#10b981;--accent-cyan-rgb:16, 185, 129;--accent-cyan-hover:#059669;--accent-cyan-text:#fff;--accent-red:#ef4444;--accent-red-bg:#ef44441f;--accent-green:#10b981;--accent-green-text:#34d399;--accent-green-bg:#10b9811f;--accent-amber:#f59e0b;--accent-amber-text:#fbbf24;--accent-amber-bg:#f59e0b1f;--accent-blue:#f59e0b;--text-primary:#f5f5f5;--text-secondary:#a3a3a3;--text-muted:#737373;--font-sans:"Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;--font-mono:"JetBrains Mono", ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, monospace;--radius-sm:6px;--radius-md:10px;--radius-lg:14px;--radius-full:9999px;--shadow-sm:0 1px 3px #0000004d;--shadow-md:0 10px 25px -5px #00000073;--shadow-glow:0 2px 10px #10b98133}[data-theme=light]{--bg-primary:#f4f4f5;--bg-card:#fff;--bg-card-hover:#fafafa;--bg-subtle:#f4f4f5;--bg-input:#fff;--border-color:#e4e4e7;--border-focus:#059669;--accent-cyan:#059669;--accent-cyan-rgb:5, 150, 105;--accent-cyan-hover:#047857;--accent-cyan-text:#fff;--accent-red:#dc2626;--accent-red-bg:#fef2f2;--accent-green:#059669;--accent-green-text:#047857;--accent-green-bg:#ecfdf5;--accent-amber:#d97706;--accent-amber-text:#b45309;--accent-amber-bg:#fffbeb;--accent-blue:#d97706;--text-primary:#18181b;--text-secondary:#52525b;--text-muted:#a1a1aa;--shadow-sm:0 1px 2px #18181b0d;--shadow-md:0 10px 25px -5px #18181b14;--shadow-glow:0 2px 10px #0596692e}*{box-sizing:border-box;margin:0;padding:0}html,body{background-color:var(--bg-primary);min-height:100vh;color:var(--text-primary);font-family:var(--font-sans);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-size:14px;line-height:1.5;transition:background-color .15s,color .15s}.font-mono{font-family:var(--font-mono);font-feature-settings:"tnum" 1}::-webkit-scrollbar{width:6px;height:6px}::-webkit-scrollbar-track{background:0 0}::-webkit-scrollbar-thumb{background:var(--border-color);border-radius:var(--radius-full)}::-webkit-scrollbar-thumb:hover{background:var(--text-muted)}.app-shell{flex-direction:column;width:100%;min-height:100vh;display:flex}.app-header{background-color:var(--bg-card);border-bottom:1px solid var(--border-color);z-index:50;justify-content:space-between;align-items:center;height:64px;padding:0 24px;display:flex;position:sticky;top:0}.app-body{flex:1;width:100%;min-height:calc(100vh - 64px);display:flex}.app-sidebar{background-color:var(--bg-card);border-right:1px solid var(--border-color);-webkit-user-select:none;user-select:none;flex-direction:column;justify-content:space-between;width:248px;min-width:248px;padding:18px 14px;display:flex}.app-main{background-color:var(--bg-primary);flex:1;max-height:calc(100vh - 64px);overflow-y:auto}.page-container{flex-direction:column;gap:20px;max-width:1600px;margin:0 auto;padding:24px 28px;display:flex}.page-header{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;display:flex}.page-title{letter-spacing:-.02em;color:var(--text-primary);margin:0;font-size:20px;font-weight:700}.page-subtitle{color:var(--text-secondary);margin-top:2px;font-size:13px}.kpi-grid{grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:16px;display:grid}.dashboard-split{grid-template-columns:2fr 1fr;gap:20px;display:grid}.filter-grid-3{grid-template-columns:1fr 210px 190px;gap:12px;display:grid}.pos-layout{align-items:flex-start;gap:20px;min-height:calc(100vh - 64px);padding:20px 24px;display:flex}.pos-catalog{flex-direction:column;flex:1;gap:16px;min-width:0;display:flex}.pos-grid{grid-template-columns:repeat(auto-fill,minmax(205px,1fr));align-content:start;gap:12px;display:grid}.pos-cart{flex-direction:column;justify-content:space-between;width:360px;min-width:360px;height:calc(100vh - 104px);padding:18px;display:flex;position:sticky;top:84px}@media (max-width:1024px){.dashboard-split,.filter-grid-3{grid-template-columns:1fr}.pos-layout{flex-direction:column}.pos-cart{width:100%;min-width:0;height:auto;position:static}}@media (max-width:768px){.app-body{flex-direction:column}.app-sidebar{border-right:none;border-bottom:1px solid var(--border-color);width:100%;min-width:0;padding:12px}.app-main{max-height:none}.hide-mobile{display:none!important}}.sip-card{background-color:var(--bg-card);border:1px solid var(--border-color);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);padding:20px;transition:border-color .15s,background-color .15s}.sip-card-hover:hover{background-color:var(--bg-card-hover);border-color:rgba(var(--accent-cyan-rgb), .35)}.badge{border-radius:var(--radius-full);white-space:nowrap;align-items:center;gap:5px;padding:3px 9px;font-size:11px;font-weight:600;line-height:1.25;display:inline-flex}.badge-cyan{background:rgba(var(--accent-cyan-rgb), .12);color:var(--accent-cyan);border:1px solid rgba(var(--accent-cyan-rgb), .25)}.badge-green{background:var(--accent-green-bg);color:var(--accent-green-text);border:1px solid rgba(var(--accent-cyan-rgb), .25)}.badge-red{background:var(--accent-red-bg);color:var(--accent-red);border:1px solid #ef444447}.badge-amber{background:var(--accent-amber-bg);color:var(--accent-amber-text);border:1px solid #f59e0b47}.badge-muted{background:var(--bg-subtle);color:var(--text-secondary);border:1px solid var(--border-color)}.alert-box{background-color:var(--accent-red-bg);color:var(--accent-red);border:1px solid #ef444447;border-left:3px solid var(--accent-red);border-radius:var(--radius-sm);align-items:center;gap:10px;padding:12px 16px;font-size:13px;font-weight:500;display:flex}.alert-box-warning{background-color:var(--accent-amber-bg);color:var(--accent-amber-text);border:1px solid #f59e0b47;border-left:3px solid var(--accent-amber);border-radius:var(--radius-sm);align-items:center;gap:10px;padding:12px 16px;font-size:13px;font-weight:500;display:flex}.alert-box-info{background-color:rgba(var(--accent-cyan-rgb), .1);color:var(--accent-cyan);border:1px solid rgba(var(--accent-cyan-rgb), .25);border-left:3px solid var(--accent-cyan);border-radius:var(--radius-sm);align-items:center;gap:10px;padding:12px 16px;font-size:13px;font-weight:500;display:flex}.form-label{color:var(--text-secondary);margin-bottom:6px;font-size:12px;font-weight:600;display:block}.sip-input{background-color:var(--bg-input);border:1px solid var(--border-color);border-radius:var(--radius-md);width:100%;color:var(--text-primary);font-family:var(--font-sans);outline:none;padding:9px 13px;font-size:13.5px;transition:border-color .15s,box-shadow .15s}.sip-input:focus{border-color:var(--border-focus);box-shadow:0 0 0 2px rgba(var(--accent-cyan-rgb), .16)}.sip-input::placeholder{color:var(--text-muted)}.sip-select{background-color:var(--bg-input);border:1px solid var(--border-color);border-radius:var(--radius-md);width:100%;color:var(--text-primary);font-family:var(--font-sans);cursor:pointer;outline:none;padding:9px 13px;font-size:13.5px;transition:border-color .15s}.sip-select:focus{border-color:var(--border-focus)}.btn{border-radius:var(--radius-md);cursor:pointer;-webkit-user-select:none;user-select:none;white-space:nowrap;border:1px solid #0000;justify-content:center;align-items:center;gap:7px;padding:9px 16px;font-size:13px;font-weight:600;transition:all .15s;display:inline-flex}.btn:disabled{opacity:.5;cursor:not-allowed}.btn:not(:disabled):active{transform:scale(.98)}.btn-primary{color:#fff;box-shadow:var(--shadow-sm);background-color:#059669}.btn-primary:not(:disabled):hover{box-shadow:var(--shadow-glow);background-color:#047857}.btn-secondary{background-color:var(--bg-card);color:var(--text-primary);border-color:var(--border-color)}.btn-secondary:not(:disabled):hover{background-color:var(--bg-card-hover);border-color:var(--text-muted)}.btn-danger{background-color:var(--accent-red);color:#fff}.btn-danger:not(:disabled):hover{opacity:.9}.btn-sm{border-radius:var(--radius-sm);padding:6px 12px;font-size:12px}.btn-icon{border-radius:var(--radius-sm);padding:7px}.sip-table-container{border-radius:var(--radius-md);border:1px solid var(--border-color);background-color:var(--bg-card);width:100%;overflow-x:auto}.sip-table{border-collapse:collapse;text-align:left;width:100%}.sip-table th{background-color:var(--bg-subtle);color:var(--text-secondary);text-transform:uppercase;letter-spacing:.05em;border-bottom:1px solid var(--border-color);white-space:nowrap;padding:11px 16px;font-size:11px;font-weight:600}.sip-table td{border-bottom:1px solid var(--border-color);color:var(--text-primary);vertical-align:middle;padding:12px 16px;font-size:13px}.sip-table tbody tr:last-child td{border-bottom:none}.sip-table tbody tr{transition:background-color .12s}.sip-table tbody tr:hover{background-color:var(--bg-card-hover)}.modal-backdrop{-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);z-index:1000;background-color:#000000b8;justify-content:center;align-items:center;padding:16px;animation:.15s ease-out fadeIn;display:flex;position:fixed;inset:0}.modal-content{background-color:var(--bg-card);border:1px solid var(--border-color);border-radius:var(--radius-lg);width:100%;max-width:540px;max-height:90vh;box-shadow:var(--shadow-md);padding:24px;animation:.15s ease-out slideUp;overflow-y:auto}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes slideUp{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}.receipt-paper{width:320px;font-family:var(--font-mono);border-radius:4px;margin:0 auto;padding:24px 20px;font-size:11px;line-height:1.45;box-shadow:0 4px 20px #00000026;color:#111!important;background-color:#fff!important}.receipt-divider{border-top:1px dashed #888;margin:10px 0}@media print{.no-print,.app-header,.app-sidebar{display:none!important}.app-main{max-height:none!important;overflow:visible!important}body:has(.receipt-printable) *{visibility:hidden}:is(body:has(.receipt-printable) .receipt-printable,body:has(.receipt-printable) .receipt-printable *){visibility:visible}:is(body:has(.receipt-printable) .modal-backdrop,body:has(.receipt-printable) .modal-content){max-height:none!important;box-shadow:none!important;-webkit-backdrop-filter:none!important;backdrop-filter:none!important;background:0 0!important;border:none!important;padding:0!important;animation:none!important;position:static!important;overflow:visible!important;transform:none!important}body:has(.receipt-printable) .receipt-printable{width:100%;max-width:320px;margin:0;padding:8px;position:absolute;top:0;left:0;box-shadow:none!important}}
