:root{--sidebar-width: 250px;--sidebar-collapsed-width: 70px;--sidebar-bg: #1a1f2e;--sidebar-active-bg: #2d3748;--sidebar-hover-bg: #252d3d;--sidebar-text: #a0aec0;--sidebar-active-text: #ffffff;--topbar-height: 60px;--primary: #4f46e5;--primary-light: #eef2ff;--success: #10b981;--warning: #f59e0b;--danger: #ef4444;--info: #3b82f6;--border-color: #e2e8f0;--card-shadow: 0 1px 3px rgba(0,0,0,.08), 0 1px 2px rgba(0,0,0,.04)}*{box-sizing:border-box}body{margin:0;font-family:Segoe UI,system-ui,-apple-system,sans-serif;background:#f8fafc;color:#1a202c}.sidebar{position:fixed;top:0;left:0;height:100vh;width:var(--sidebar-width);background:var(--sidebar-bg);display:flex;flex-direction:column;z-index:1000;transition:width .25s ease;overflow:hidden}.sidebar.collapsed{width:var(--sidebar-collapsed-width)}.sidebar-header{display:flex;align-items:center;justify-content:space-between;padding:18px 16px;border-bottom:1px solid rgba(255,255,255,.07);min-height:var(--topbar-height)}.sidebar-logo{display:flex;align-items:center;gap:10px;color:#fff;font-size:20px}.sidebar-brand{font-weight:700;font-size:1.1rem;white-space:nowrap;letter-spacing:.5px}.sidebar-toggle-btn{color:var(--sidebar-text)!important;padding:4px}.sidebar-menu{flex:1;overflow-y:auto;overflow-x:hidden;padding:8px 0}.sidebar-menu::-webkit-scrollbar{width:4px}.sidebar-menu::-webkit-scrollbar-track{background:transparent}.sidebar-menu::-webkit-scrollbar-thumb{background:#ffffff1a;border-radius:2px}.sidebar .nav-link{display:flex;align-items:center;gap:12px;padding:10px 16px;color:var(--sidebar-text);border-radius:8px;margin:2px 8px;transition:all .15s;text-decoration:none;white-space:nowrap;font-size:.875rem}.sidebar .nav-link:hover{background:var(--sidebar-hover-bg);color:#fff}.sidebar .nav-link.active{background:var(--primary);color:#fff}.nav-icon{width:20px;text-align:center;flex-shrink:0;font-size:1rem}.nav-text{white-space:nowrap}.chevron-icon{font-size:.7rem;transition:transform .2s}.nav-group-toggle[aria-expanded=true] .chevron-icon{transform:rotate(180deg)}.sub-menu{padding-left:16px}.sub-menu .nav-link{padding:8px 16px;font-size:.825rem}.sidebar.collapsed .nav-text,.sidebar.collapsed .chevron-icon,.sidebar.collapsed .sidebar-brand{display:none}.sidebar.collapsed .nav-link{justify-content:center;gap:0;margin:2px 6px;padding:12px 8px}.sidebar.collapsed .sidebar-header{justify-content:center}.sidebar.collapsed .sub-menu{display:none}.main-content{margin-left:var(--sidebar-width);display:flex;flex-direction:column;min-height:100vh;transition:margin-left .25s ease}.main-content.expanded{margin-left:var(--sidebar-collapsed-width)}.topbar{height:var(--topbar-height);background:#fff;border-bottom:1px solid var(--border-color);position:sticky;top:0;z-index:999;box-shadow:0 1px 3px #0000000d}.page-title-text{font-weight:600;font-size:1rem;color:#374151}.topbar-divider{height:30px;width:1px;background:var(--border-color);margin:0 4px}.user-dropdown{text-decoration:none!important}.page-content{flex:1;padding:24px}.page-footer{padding:12px 24px;background:#fff;border-top:1px solid var(--border-color);display:flex;align-items:center}.card{border:1px solid var(--border-color);border-radius:12px;box-shadow:var(--card-shadow)}.card-header{border-bottom:1px solid var(--border-color);background:#fff;border-radius:12px 12px 0 0!important;padding:16px 20px}.card-body{padding:20px}.kpi-card{border-radius:12px;padding:20px;color:#fff;position:relative;overflow:hidden}.kpi-card:after{content:"";position:absolute;top:-30px;right:-30px;width:100px;height:100px;border-radius:50%;background:#ffffff1a}.kpi-card .kpi-icon{font-size:2rem;opacity:.8}.kpi-card .kpi-value{font-size:1.75rem;font-weight:700;line-height:1.2}.kpi-card .kpi-label{font-size:.8rem;opacity:.85;margin-top:4px}.kpi-card .kpi-sub{font-size:.75rem;opacity:.7;margin-top:8px}.bg-kpi-1{background:linear-gradient(135deg,#4f46e5,#7c3aed)}.bg-kpi-2{background:linear-gradient(135deg,#10b981,#059669)}.bg-kpi-3{background:linear-gradient(135deg,#f59e0b,#d97706)}.bg-kpi-4{background:linear-gradient(135deg,#3b82f6,#2563eb)}.table thead th{background:#f8fafc;font-size:.8rem;text-transform:uppercase;letter-spacing:.5px;color:#6b7280;border-bottom:2px solid var(--border-color)}.table td{vertical-align:middle;font-size:.875rem}.badge{font-size:.75rem;padding:4px 8px;border-radius:6px}.status-free{background:#d1fae5;color:#065f46}.status-occupied{background:#fee2e2;color:#991b1b}.status-reserved{background:#fef3c7;color:#92400e}.status-dirty{background:#f3f4f6;color:#374151}.btn{border-radius:8px;font-size:.875rem;font-weight:500}.btn-primary{background:var(--primary);border-color:var(--primary)}.btn-primary:hover{background:#4338ca;border-color:#4338ca}.form-control,.form-select{border-radius:8px;border-color:#d1d5db;font-size:.875rem}.form-control:focus,.form-select:focus{border-color:var(--primary);box-shadow:0 0 0 3px #4f46e51a}.form-label{font-size:.875rem;font-weight:500;color:#374151;margin-bottom:6px}.modal-header{border-bottom:1px solid var(--border-color);padding:16px 20px}.modal-footer{border-top:1px solid var(--border-color);padding:16px 20px}.modal-title{font-size:1rem;font-weight:600}.low-stock-alert{background:#fef2f2;border-left:4px solid var(--danger);padding:12px 16px;border-radius:0 8px 8px 0;margin-bottom:8px}.table-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(130px,1fr));gap:16px}.table-card{background:#fff;border:2px solid var(--border-color);border-radius:12px;padding:16px;text-align:center;cursor:pointer;transition:all .15s;position:relative}.table-card:hover{transform:translateY(-2px);box-shadow:0 4px 12px #0000001a}.table-card.free{border-color:#10b981}.table-card.occupied{border-color:#ef4444;background:#fff5f5}.table-card.reserved{border-color:#f59e0b;background:#fffbeb}.table-card .table-number{font-size:1.1rem;font-weight:700}.table-card .table-capacity{font-size:.75rem;color:#6b7280}.table-card .table-order{font-size:.7rem;color:#6b7280;margin-top:4px}.order-entry-layout{display:grid;grid-template-columns:1fr 380px;gap:16px;height:calc(100vh - 120px)}.menu-panel{overflow-y:auto}.cart-panel{background:#fff;border-radius:12px;border:1px solid var(--border-color);display:flex;flex-direction:column;overflow:hidden}.category-tabs .nav-link{border-radius:20px;font-size:.8rem;padding:6px 14px}.category-tabs .nav-link.active{background:var(--primary);color:#fff}.menu-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:12px;padding:12px 0}.menu-item-card{background:#fff;border:1px solid var(--border-color);border-radius:10px;padding:12px;cursor:pointer;transition:all .15s;text-align:center}.menu-item-card:hover{border-color:var(--primary);box-shadow:0 2px 8px #4f46e526}.menu-item-card .item-name{font-size:.8rem;font-weight:600}.menu-item-card .item-price{font-size:.875rem;color:var(--primary);font-weight:700;margin-top:4px}.cart-header{padding:16px;border-bottom:1px solid var(--border-color);font-weight:600}.cart-items{flex:1;overflow-y:auto;padding:8px}.cart-item{display:flex;align-items:center;gap:8px;padding:8px;border-radius:8px;margin-bottom:4px;background:#f9fafb}.cart-item:hover{background:#f3f4f6}.cart-item-name{flex:1;font-size:.825rem;font-weight:500}.cart-item-qty{display:flex;align-items:center;gap:4px}.cart-item-qty .btn{padding:2px 8px;font-size:.8rem}.cart-item-price{font-size:.85rem;font-weight:600;color:var(--primary);min-width:60px;text-align:right}.cart-footer{padding:12px 16px;border-top:1px solid var(--border-color)}.cart-totals{font-size:.875rem}.cart-totals .total-row{display:flex;justify-content:space-between;padding:3px 0}.cart-totals .grand-total{font-weight:700;font-size:1.1rem;color:var(--primary);padding-top:8px;border-top:1px solid var(--border-color);margin-top:4px}.kds-layout{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;height:calc(100vh - 70px);overflow:hidden}.kds-column{background:#f1f5f9;border-radius:12px;overflow:hidden;display:flex;flex-direction:column}.kds-col-header{padding:14px 16px;font-weight:700;font-size:.9rem;text-transform:uppercase;letter-spacing:1px}.kds-pending .kds-col-header{background:#fef3c7;color:#92400e}.kds-preparing .kds-col-header{background:#dbeafe;color:#1e40af}.kds-ready .kds-col-header{background:#d1fae5;color:#065f46}.kds-orders{flex:1;overflow-y:auto;padding:8px}.kds-order-card{background:#fff;border-radius:10px;padding:14px;margin-bottom:10px;box-shadow:var(--card-shadow);border-left:4px solid}.kds-pending .kds-order-card{border-left-color:#f59e0b}.kds-preparing .kds-order-card{border-left-color:#3b82f6}.kds-ready .kds-order-card{border-left-color:#10b981}.kds-order-no{font-weight:700;font-size:1rem}.kds-table,.kds-time{font-size:.75rem;color:#6b7280}.kds-item{display:flex;justify-content:space-between;padding:4px 0;font-size:.85rem;border-bottom:1px dashed #f0f0f0}.kds-item:last-child{border-bottom:none}.kds-wait-badge{font-size:.7rem;padding:2px 6px;border-radius:10px}.wait-ok{background:#d1fae5;color:#065f46}.wait-warn{background:#fef3c7;color:#92400e}.wait-late{background:#fee2e2;color:#991b1b}.payment-method-btn{border:2px solid var(--border-color);background:#fff;padding:14px;border-radius:10px;text-align:center;cursor:pointer;transition:all .15s}.payment-method-btn:hover,.payment-method-btn.active{border-color:var(--primary);background:var(--primary-light)}.payment-method-btn .pm-icon{font-size:1.5rem;margin-bottom:4px}.payment-method-btn .pm-name{font-size:.8rem;font-weight:600}.page-header{margin-bottom:24px}.page-header h4{font-weight:700;color:#1a202c;margin:0}.loading-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#fffc;display:flex;align-items:center;justify-content:center;z-index:9999}.spinner-text{margin-top:12px;color:#6b7280;font-size:.875rem}.empty-state{text-align:center;padding:40px 20px;color:#9ca3af}.empty-state i{font-size:3rem;margin-bottom:12px;display:block}.cursor-pointer{cursor:pointer}.divider-text{display:flex;align-items:center;gap:12px;color:#9ca3af;font-size:.8rem}.divider-text:before,.divider-text:after{content:"";flex:1;height:1px;background:var(--border-color)}.login-page{min-height:100vh;display:flex;align-items:center;justify-content:center;padding:20px;background:linear-gradient(135deg,#1a1f2e,#2d3748)}.login-wrapper{width:100%;max-width:420px}.login-card{background:#fff;border-radius:20px;padding:40px;box-shadow:0 25px 60px #0000004d}.login-logo{text-align:center;margin-bottom:32px}.login-logo .logo-icon{width:70px;height:70px;background:linear-gradient(135deg,#4f46e5,#7c3aed);border-radius:20px;display:flex;align-items:center;justify-content:center;margin:0 auto 16px}.login-logo .logo-icon i{color:#fff;font-size:2rem}.login-logo h2{font-weight:800;font-size:1.5rem;color:#1a202c;margin:0}.login-logo p{color:#6b7280;font-size:.875rem;margin:4px 0 0}.login-page .form-label{font-size:.85rem;font-weight:600;color:#374151;margin-bottom:8px}.login-page .form-control{padding:12px 16px;border-radius:0 10px 10px 0;border:2px solid #e5e7eb;font-size:.9rem}.login-page .form-control:focus{border-color:#4f46e5;box-shadow:0 0 0 4px #4f46e51a}.login-page .input-group-text{border:2px solid #e5e7eb;border-right:none;border-radius:10px 0 0 10px}.login-page .input-group .btn{border:2px solid #e5e7eb;border-left:none;border-radius:0 10px 10px 0}.btn-login{background:linear-gradient(135deg,#4f46e5,#7c3aed);border:none;border-radius:10px;padding:13px;font-size:.95rem;font-weight:600;letter-spacing:.5px;transition:all .2s}.btn-login:hover{transform:translateY(-1px);box-shadow:0 8px 20px #4f46e559}.footer-text{color:#ffffff80;text-align:center;font-size:.8rem;margin-top:20px}.sidebar button.nav-group-toggle{width:100%;background:transparent;border:0;text-align:left;cursor:pointer}.coming-soon{display:flex;align-items:center;justify-content:center;min-height:60vh}.coming-soon-card{background:#fff;border:1px solid var(--border-color);border-radius:16px;box-shadow:var(--card-shadow);padding:48px 40px;text-align:center;max-width:460px}.coming-soon-icon{width:80px;height:80px;border-radius:20px;background:linear-gradient(135deg,#4f46e5,#7c3aed);color:#fff;display:flex;align-items:center;justify-content:center;font-size:2rem;margin:0 auto 20px}.coming-soon-card h3{font-weight:700;margin-bottom:8px}@media (max-width: 991.98px){.sidebar{transform:translate(-100%);transition:transform .25s ease}.sidebar.mobile-open{transform:translate(0);box-shadow:0 0 40px #00000059}.sidebar.collapsed{width:var(--sidebar-collapsed-width);transform:translate(0)}.main-content,.main-content.expanded{margin-left:0!important}.page-content{padding:16px}}
