*,:after,:before{box-sizing:border-box;margin:0;padding:0}:root{--bg:#f5f4f0;--surface:#fff;--border:#0000001a;--text:#1a1a1a;--text-muted:#666;--blue:#378add;--blue-light:#e6f1fb;--blue-dark:#185fa5;--green:#3b6d11;--green-light:#eaf3de;--amber:#854f0b;--amber-light:#faeeda;--red:#a32d2d;--radius:10px;--radius-sm:6px}body{-webkit-font-smoothing:antialiased;background:#f5f4f0;background:var(--bg);color:#1a1a1a;color:var(--text);font-family:-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;font-size:15px;line-height:1.5}button{cursor:pointer}button,input,select{font-family:inherit;font-size:inherit}.btn-primary{background:#1a1a1a;background:var(--text);border:none;border-radius:6px;border-radius:var(--radius-sm);color:#fff;font-size:14px;font-weight:500;padding:11px;width:100%}.btn-primary:disabled{cursor:not-allowed;opacity:.5}.btn-primary:hover:not(:disabled){opacity:.85}.btn-outline{background:none;border:.5px solid #0000001a;border:.5px solid var(--border);border-radius:6px;border-radius:var(--radius-sm);color:#1a1a1a;color:var(--text);cursor:pointer;font-size:13px;padding:9px 14px}.btn-outline:hover{background:#f5f4f0;background:var(--bg)}.btn-sm{background:none;border:.5px solid #0000001a;border:.5px solid var(--border);border-radius:6px;border-radius:var(--radius-sm);color:#666;color:var(--text-muted);cursor:pointer;font-size:12px;padding:5px 10px}.btn-sm:hover{background:#f5f4f0;background:var(--bg);color:#1a1a1a;color:var(--text)}.btn-sm.danger{border-color:#f09595;color:#a32d2d;color:var(--red)}.btn-sm.danger:hover{background:#fcebeb}.btn-sm.success{border-color:#c0dd97;color:#3b6d11;color:var(--green)}.btn-sm.success:hover{background:#eaf3de;background:var(--green-light)}.page-loading{align-items:center;color:#666;color:var(--text-muted);display:flex;font-size:14px;height:100%;justify-content:center}.app-layout{height:100vh}.app-layout,.sidebar{display:flex;flex-direction:column}.sidebar{background:#fff;background:var(--surface);border-right:.5px solid #0000001a;border-right:.5px solid var(--border);min-width:220px;width:220px}.sidebar-logo{align-items:center;border-bottom:.5px solid #0000001a;border-bottom:.5px solid var(--border);display:flex;gap:10px;padding:18px 16px}.sidebar-logo span{font-size:24px}.logo-name{font-size:15px;font-weight:600}.logo-user{color:#666;color:var(--text-muted);font-size:12px}.sidebar-nav{flex:1 1;padding:10px 8px}.nav-item{align-items:center;border-radius:6px;border-radius:var(--radius-sm);color:#666;color:var(--text-muted);display:flex;font-size:14px;gap:10px;margin-bottom:2px;padding:10px 12px;text-decoration:none}.nav-item.active,.nav-item:hover{background:#f5f4f0;background:var(--bg);color:#1a1a1a;color:var(--text)}.nav-item.active{font-weight:500}.nav-icon{font-size:16px}.logout-btn{background:none;border:.5px solid #0000001a;border:.5px solid var(--border);border-radius:6px;border-radius:var(--radius-sm);color:#666;color:var(--text-muted);font-size:13px;margin:12px;padding:9px}.logout-btn:hover{background:#f5f4f0;background:var(--bg)}.main-content{flex:1 1;overflow:auto}.login-wrap{align-items:center;background:#f5f4f0;background:var(--bg);display:flex;justify-content:center;min-height:100vh}.login-card{background:#fff;background:var(--surface);border:.5px solid #0000001a;border:.5px solid var(--border);border-radius:10px;border-radius:var(--radius);padding:32px;width:340px}.login-logo{margin-bottom:28px;text-align:center}.login-icon{font-size:36px}.login-logo h1{font-size:22px;font-weight:600;margin-top:8px}.login-logo p{color:#666;color:var(--text-muted);font-size:13px;margin-top:4px}.field{margin-bottom:16px}.field label{color:#666;color:var(--text-muted);display:block;font-size:13px;font-weight:500;margin-bottom:6px}.field input{background:#fff;background:var(--surface);border:.5px solid #0000001a;border:.5px solid var(--border);border-radius:6px;border-radius:var(--radius-sm);color:#1a1a1a;color:var(--text);font-size:14px;outline:none;padding:10px 12px;width:100%}.field input:focus{border-color:#378add;border-color:var(--blue);box-shadow:0 0 0 3px #e6f1fb;box-shadow:0 0 0 3px var(--blue-light)}.login-error{background:#fcebeb;border-radius:6px;border-radius:var(--radius-sm);color:#a32d2d;color:var(--red);font-size:13px;margin-bottom:14px;padding:10px 12px}.login-card .btn-primary{margin-top:4px}.tables-page{padding:20px}.tables-summary{display:flex;flex-wrap:wrap;gap:16px;margin-bottom:20px}.summary-item{border-radius:20px;font-size:13px;font-weight:500;padding:6px 12px}.occupied-dot{background:#e6f1fb;background:var(--blue-light);color:#185fa5;color:var(--blue-dark)}.free-dot{background:#eaf3de;background:var(--green-light);color:#3b6d11;color:var(--green)}.reserved-dot{background:#faeeda;background:var(--amber-light);color:#854f0b;color:var(--amber)}.tables-grid{grid-gap:12px;display:grid;gap:12px;grid-template-columns:repeat(auto-fill,minmax(120px,1fr))}.table-card{background:#fff;background:var(--surface);border:.5px solid #0000001a;border:.5px solid var(--border);border-radius:10px;border-radius:var(--radius);cursor:pointer;padding:16px 12px;text-align:center;transition:border-color .15s,transform .1s}.table-card:hover{border-color:#aaa;transform:translateY(-1px)}.table-card:active{transform:scale(.97)}.table-card.occupied{background:#e6f1fb;background:var(--blue-light);border-color:#378add;border-color:var(--blue)}.table-card.reserved{background:#faeeda;background:var(--amber-light);border-color:#ef9f27}.table-number{font-size:26px;font-weight:600}.table-seats{color:#666;color:var(--text-muted);font-size:12px;margin:2px 0}.table-status{font-size:11px;font-weight:500}.table-card.free .table-status{color:#3b6d11;color:var(--green)}.table-card.occupied .table-status{color:#185fa5;color:var(--blue-dark)}.table-card.reserved .table-status{color:#854f0b;color:var(--amber)}.table-total{color:#666;color:var(--text-muted);font-size:12px;margin-top:4px}.order-page{display:flex;flex-direction:column;height:100%}.order-header{align-items:center;background:#fff;background:var(--surface);border-bottom:.5px solid #0000001a;border-bottom:.5px solid var(--border);display:flex;gap:14px;padding:14px 20px}.back-btn{background:none;border:.5px solid #0000001a;border:.5px solid var(--border);border-radius:6px;border-radius:var(--radius-sm);color:#666;color:var(--text-muted);font-size:13px;padding:7px 12px}.back-btn:hover{background:#f5f4f0;background:var(--bg)}.order-header h2{font-size:16px;font-weight:500}.order-layout{grid-gap:0;display:grid;flex:1 1;gap:0;grid-template-columns:1fr 320px;overflow:hidden}.menu-col{overflow:auto;padding:16px 20px}.cat-tabs{display:flex;flex-wrap:wrap;gap:6px;margin-bottom:14px}.cat-tab{background:none;border:.5px solid #0000001a;border:.5px solid var(--border);border-radius:20px;color:#666;color:var(--text-muted);font-size:13px;padding:7px 16px}.cat-tab:hover{background:#f5f4f0;background:var(--bg)}.cat-tab.active{background:#1a1a1a;background:var(--text);border-color:#1a1a1a;border-color:var(--text);color:#fff}.menu-grid{grid-gap:8px;display:grid;gap:8px;grid-template-columns:repeat(auto-fill,minmax(130px,1fr))}.menu-item{background:#fff;background:var(--surface);border:.5px solid #0000001a;border:.5px solid var(--border);border-radius:10px;border-radius:var(--radius);cursor:pointer;padding:12px;transition:border-color .15s}.menu-item:hover{border-color:#aaa}.menu-item:active{transform:scale(.97)}.mi-name{font-size:13px;font-weight:500}.mi-price{color:#666;color:var(--text-muted);font-size:13px;margin-top:4px}.cart-col{background:#fff;background:var(--surface);border-left:.5px solid #0000001a;border-left:.5px solid var(--border);display:flex;flex-direction:column;overflow:hidden}.cart-header{align-items:center;border-bottom:.5px solid #0000001a;border-bottom:.5px solid var(--border);display:flex;font-size:14px;font-weight:500;justify-content:space-between;padding:14px 16px}.clear-btn{background:none;border:none;border-radius:6px;border-radius:var(--radius-sm);color:#666;color:var(--text-muted);font-size:12px;padding:4px 8px}.clear-btn:hover{background:#f5f4f0;background:var(--bg)}.cart-items{flex:1 1;overflow:auto;padding:8px 16px}.cart-empty{color:#666;color:var(--text-muted);font-size:13px;padding:20px 0;text-align:center}.cart-row{align-items:center;border-bottom:.5px solid #0000001a;border-bottom:.5px solid var(--border);display:flex;gap:8px;padding:9px 0}.cart-name{flex:1 1;font-size:13px}.qty-ctrl{align-items:center;display:flex;gap:6px}.qty-ctrl button{background:none;border:.5px solid #0000001a;border:.5px solid var(--border);border-radius:6px;border-radius:var(--radius-sm);color:#666;color:var(--text-muted);font-size:15px;height:26px;width:26px}.qty-ctrl button:hover{background:#f5f4f0;background:var(--bg)}.qty-ctrl span{font-size:13px;min-width:16px;text-align:center}.cart-price{font-size:13px;font-weight:500;min-width:52px;text-align:right}.cart-footer{border-top:.5px solid #0000001a;border-top:.5px solid var(--border);padding:14px 16px}.cart-total{font-size:15px;margin-bottom:10px}.open-orders{border-top:.5px solid #0000001a;border-top:.5px solid var(--border);overflow:auto;padding:14px 16px}.open-orders-title{color:#666;color:var(--text-muted);font-size:12px;font-weight:500;letter-spacing:.05em;margin-bottom:10px;text-transform:uppercase}.open-order{background:#f5f4f0;background:var(--bg);border-radius:6px;border-radius:var(--radius-sm);margin-bottom:8px;padding:10px 12px}.oo-item{font-size:13px;padding:3px 0}.oo-footer,.oo-item{display:flex;justify-content:space-between}.oo-footer{align-items:center;border-top:.5px solid #0000001a;border-top:.5px solid var(--border);margin-top:8px;padding-top:8px}.oo-total{font-size:13px;font-weight:500}.btn-pay{background:#eaf3de;background:var(--green-light);border:none;border-radius:6px;border-radius:var(--radius-sm);color:#3b6d11;color:var(--green);font-size:12px;font-weight:500;padding:6px 14px}.btn-pay:hover{opacity:.8}.toast{animation:fadein .2s;background:#1a1a1a;background:var(--text);border-radius:6px;border-radius:var(--radius-sm);bottom:24px;color:#fff;font-size:13px;left:50%;padding:10px 20px;pointer-events:none;position:fixed;transform:translateX(-50%);z-index:999}@keyframes fadein{0%{opacity:0;transform:translateX(-50%) translateY(8px)}to{opacity:1;transform:translateX(-50%) translateY(0)}}.stats-page{padding:20px}.stats-grid{grid-gap:12px;display:grid;gap:12px;grid-template-columns:repeat(auto-fit,minmax(140px,1fr));margin-bottom:20px}.stat-card{background:#f5f4f0;background:var(--bg);border-radius:6px;border-radius:var(--radius-sm);padding:14px 16px}.sc-label{color:#666;color:var(--text-muted);font-size:12px;margin-bottom:6px}.sc-value{font-size:22px;font-weight:600}.chart-card{background:#fff;background:var(--surface);border:.5px solid #0000001a;border:.5px solid var(--border);border-radius:10px;border-radius:var(--radius);margin-bottom:16px;padding:16px 20px}.chart-card h3{font-size:14px;font-weight:500;margin-bottom:16px}.no-data{color:#666;color:var(--text-muted);font-size:13px}.bar-chart{align-items:flex-end;display:flex;gap:6px;height:120px}.bar-wrap{align-items:center;display:flex;flex:1 1;flex-direction:column;gap:4px}.bar-val{color:#666;color:var(--text-muted);font-size:10px;font-weight:500}.bar{background:#378add;background:var(--blue);border-radius:3px 3px 0 0;min-height:4px;width:100%}.bar-label{color:#666;color:var(--text-muted);font-size:10px}.top-row{align-items:center;display:flex;gap:10px;margin-bottom:10px}.top-name{font-size:13px;min-width:130px}.top-bar-wrap{background:#f5f4f0;background:var(--bg);border-radius:3px;flex:1 1;height:8px;overflow:hidden}.top-bar{background:#378add;background:var(--blue);border-radius:3px;height:100%}.top-cnt{color:#666;color:var(--text-muted);font-size:12px;min-width:28px;text-align:right}@media (max-width:768px){.sidebar{display:none}.order-layout{grid-template-columns:1fr}.cart-col{border-left:none;border-top:.5px solid #0000001a;border-top:.5px solid var(--border);max-height:45vh}.tables-grid{grid-template-columns:repeat(3,1fr)}}.table-card.ready{animation:pulse-border 1.5s ease-in-out infinite;background:#f5eef8;border-color:#9b59b6}.table-card.ready .table-status{color:#6c3483;font-weight:600}.ready-dot{background:#f5eef8;border:1px solid #c39bd3;color:#6c3483}@keyframes pulse-border{0%{border-color:#9b59b6;box-shadow:0 0 0 0 #9b59b666}50%{border-color:#6c3483;box-shadow:0 0 0 6px #9b59b600}to{border-color:#9b59b6;box-shadow:0 0 0 0 #9b59b600}}
/*# sourceMappingURL=main.8096a07e.css.map*/