@import"https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800;900&family=Poppins:wght@600;700;800;900&display=swap";*,*:before,*:after{margin:0;padding:0;box-sizing:border-box}:root{--primary: #6366f1;--primary-hover: #5558e3;--primary-light: #818cf8;--primary-glow: rgba(99,102,241,.35);--secondary: #ec4899;--secondary-hover: #db2777;--success: #10b981;--warning: #f59e0b;--danger: #ef4444;--info: #3b82f6;--bg-base: #0a0f1e;--bg-card: #111827;--bg-card-2: #1a2235;--bg-input: #1a2235;--bg-sidebar: #0d1525;--border: rgba(148,163,184,.12);--border-focus: rgba(99,102,241,.6);--border-hover: rgba(148,163,184,.25);--text-1: #f8fafc;--text-2: #cbd5e1;--text-3: #94a3b8;--text-4: #475569;--gradient-brand: linear-gradient(135deg, #6366f1 0%, #ec4899 100%);--gradient-dark: linear-gradient(135deg, #0a0f1e 0%, #111827 100%);--gradient-glow: linear-gradient(135deg, rgba(99,102,241,.2) 0%, rgba(236,72,153,.1) 100%);--shadow-sm: 0 1px 3px rgba(0,0,0,.5);--shadow-md: 0 4px 16px rgba(0,0,0,.4);--shadow-lg: 0 16px 40px rgba(0,0,0,.5);--shadow-glow: 0 0 30px rgba(99,102,241,.35);--r-sm: 6px;--r-md: 12px;--r-lg: 16px;--r-xl: 24px;--r-full: 9999px;--t-fast: .15s ease;--t-base: .3s cubic-bezier(.4,0,.2,1);--t-spring: .5s cubic-bezier(.34,1.56,.64,1);--sidebar-w: 260px}html{scroll-behavior:smooth}body{font-family:Inter,-apple-system,sans-serif;background:var(--bg-base);color:var(--text-1);line-height:1.6;-webkit-font-smoothing:antialiased;overflow-x:hidden}h1,h2,h3,h4,h5{font-family:Poppins,sans-serif;font-weight:700;line-height:1.2}a{color:var(--primary-light);text-decoration:none;transition:var(--t-fast)}a:hover{color:var(--primary)}.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:11px 24px;border-radius:var(--r-md);font-size:14px;font-weight:600;font-family:inherit;border:none;cursor:pointer;transition:var(--t-base);white-space:nowrap;position:relative;overflow:hidden}.btn:disabled{opacity:.5;cursor:not-allowed;pointer-events:none}.btn-primary{background:var(--gradient-brand);color:#fff;box-shadow:0 4px 20px var(--primary-glow)}.btn-primary:hover{transform:translateY(-2px);box-shadow:0 8px 30px var(--primary-glow)}.btn-primary:active{transform:translateY(0)}.btn-secondary{background:#6366f11f;color:var(--primary-light);border:1px solid rgba(99,102,241,.3)}.btn-secondary:hover{background:#6366f133;border-color:var(--primary)}.btn-danger{background:#ef44441f;color:#f87171;border:1px solid rgba(239,68,68,.3)}.btn-danger:hover{background:#ef444433}.btn-ghost{background:transparent;color:var(--text-3);border:1px solid var(--border)}.btn-ghost:hover{background:#ffffff0d;color:var(--text-1)}.btn-sm{padding:7px 16px;font-size:13px}.btn-lg{padding:14px 32px;font-size:16px}.btn-icon{padding:10px;border-radius:var(--r-md)}.btn-loading:before{content:"";width:14px;height:14px;border:2px solid rgba(255,255,255,.3);border-top-color:#fff;border-radius:50%;animation:spin .7s linear infinite}.card{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--r-lg);padding:24px;transition:var(--t-base)}.card:hover{border-color:var(--border-hover)}.card-gradient{background:linear-gradient(135deg,var(--bg-card) 0%,var(--bg-card-2) 100%);border:1px solid var(--border)}.card-glow{box-shadow:var(--shadow-glow);border-color:#6366f14d}.form-group{display:flex;flex-direction:column;gap:6px;margin-bottom:18px}.form-label{font-size:13px;font-weight:600;color:var(--text-3);letter-spacing:.03em;text-transform:uppercase}.form-input,.form-select,.form-textarea{background:var(--bg-input);border:1px solid var(--border);border-radius:var(--r-md);color:var(--text-1);font-family:inherit;font-size:14px;padding:12px 16px;transition:var(--t-fast);width:100%;outline:none;-webkit-appearance:none;-moz-appearance:none;appearance:none}.form-input:focus,.form-select:focus,.form-textarea:focus{border-color:var(--primary);box-shadow:0 0 0 3px var(--primary-glow)}.form-input::placeholder,.form-textarea::placeholder{color:var(--text-4)}.form-select{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'%3E%3Cpath d='M1 1l5 5 5-5' stroke='%2394a3b8' stroke-width='1.5' fill='none'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 14px center;padding-right:40px}.form-textarea{resize:vertical;min-height:100px}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:16px}.input-group{position:relative}.input-group .form-input{padding-left:42px}.input-group .input-icon{position:absolute;left:14px;top:50%;transform:translateY(-50%);color:var(--text-4);font-size:16px;pointer-events:none}.badge{display:inline-flex;align-items:center;gap:4px;padding:4px 10px;border-radius:var(--r-full);font-size:12px;font-weight:600;letter-spacing:.02em}.badge-success{background:#10b98126;color:#34d399;border:1px solid rgba(16,185,129,.3)}.badge-warning{background:#f59e0b26;color:#fbbf24;border:1px solid rgba(245,158,11,.3)}.badge-danger{background:#ef444426;color:#f87171;border:1px solid rgba(239,68,68,.3)}.badge-info{background:#3b82f626;color:#60a5fa;border:1px solid rgba(59,130,246,.3)}.badge-primary{background:#6366f126;color:#a5b4fc;border:1px solid rgba(99,102,241,.3)}.data-table{width:100%;border-collapse:collapse}.data-table th{text-align:left;font-size:12px;font-weight:600;color:var(--text-4);letter-spacing:.05em;text-transform:uppercase;padding:12px 16px;border-bottom:1px solid var(--border)}.data-table td{padding:14px 16px;font-size:14px;color:var(--text-2);border-bottom:1px solid var(--border)}.data-table tbody tr{transition:background var(--t-fast)}.data-table tbody tr:hover{background:#ffffff08}.data-table tbody tr:last-child td{border-bottom:none}.modal{display:none;position:fixed;top:0;right:0;bottom:0;left:0;z-index:2000;background:#000000bf;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);align-items:center;justify-content:center;padding:20px}.modal.active{display:flex}.modal-content{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--r-xl);width:100%;max-width:520px;max-height:90vh;overflow-y:auto;animation:modalIn .35s cubic-bezier(.34,1.56,.64,1);box-shadow:0 40px 80px #000000b3}.modal-content.modal-lg{max-width:720px}.modal-header{display:flex;align-items:center;justify-content:space-between;padding:24px 28px;border-bottom:1px solid var(--border)}.modal-header h3{font-size:18px}.modal-close{width:32px;height:32px;border-radius:var(--r-md);background:#ffffff0f;border:none;color:var(--text-3);cursor:pointer;font-size:18px;display:flex;align-items:center;justify-content:center;transition:var(--t-fast)}.modal-close:hover{background:#ffffff1a;color:var(--text-1)}.modal-body{padding:28px}.modal-footer{display:flex;justify-content:flex-end;gap:12px;padding:20px 28px;border-top:1px solid var(--border)}.divider{display:flex;align-items:center;gap:12px;color:var(--text-4);font-size:13px;margin:20px 0}.divider:before,.divider:after{content:"";flex:1;height:1px;background:var(--border)}::-webkit-scrollbar{width:6px;height:6px}::-webkit-scrollbar-track{background:transparent}::-webkit-scrollbar-thumb{background:#94a3b833;border-radius:4px}::-webkit-scrollbar-thumb:hover{background:#94a3b866}.stat-card{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--r-lg);padding:24px;position:relative;overflow:hidden;transition:var(--t-base)}.stat-card:before{content:"";position:absolute;top:0;left:0;right:0;height:3px;background:var(--gradient-brand);border-radius:var(--r-lg) var(--r-lg) 0 0;transform:scaleX(0);transform-origin:left;transition:transform .4s ease}.stat-card:hover{border-color:var(--border-hover);transform:translateY(-2px)}.stat-card:hover:before{transform:scaleX(1)}.stat-icon{width:48px;height:48px;border-radius:var(--r-md);display:flex;align-items:center;justify-content:center;font-size:22px;margin-bottom:16px}.stat-value{font-size:32px;font-weight:800;font-family:Poppins,sans-serif;background:var(--gradient-brand);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;line-height:1;margin-bottom:4px}.stat-label{font-size:13px;color:var(--text-4);font-weight:500}.stat-change{font-size:12px;margin-top:8px}.stat-change.up{color:var(--success)}.stat-change.down{color:var(--danger)}.avatar{border-radius:var(--r-full);background:var(--gradient-brand);color:#fff;font-weight:700;display:inline-flex;align-items:center;justify-content:center;flex-shrink:0}.avatar-sm{width:32px;height:32px;font-size:12px}.avatar-md{width:40px;height:40px;font-size:14px}.avatar-lg{width:56px;height:56px;font-size:20px}.dropdown{position:relative;display:inline-block}.dropdown-menu{position:absolute;top:calc(100% + 8px);right:0;background:var(--bg-card-2, #1a2235);border:1px solid var(--border);border-radius:var(--r-lg);min-width:180px;box-shadow:var(--shadow-lg);z-index:200;overflow:hidden;animation:fadeInDown .2s ease}.dropdown-item{display:flex;align-items:center;gap:10px;padding:11px 16px;font-size:14px;color:var(--text-2);cursor:pointer;transition:var(--t-fast);border:none;background:none;width:100%;text-align:left}.dropdown-item:hover{background:#ffffff0d;color:var(--text-1)}.dropdown-item.danger:hover{background:#ef44441a;color:#f87171}.alert{display:flex;align-items:center;gap:12px;padding:14px 18px;border-radius:var(--r-md);font-size:14px;margin-bottom:16px}.alert-warning{background:#f59e0b1a;border:1px solid rgba(245,158,11,.3);color:#fbbf24}.alert-danger{background:#ef44441a;border:1px solid rgba(239,68,68,.3);color:#f87171}.alert-info{background:#6366f11a;border:1px solid rgba(99,102,241,.3);color:#a5b4fc}.alert-success{background:#10b9811a;border:1px solid rgba(16,185,129,.3);color:#34d399}.progress{background:#ffffff14;border-radius:var(--r-full);height:6px;overflow:hidden}.progress-bar{height:100%;background:var(--gradient-brand);border-radius:var(--r-full);animation:progressFill 1s ease both}.tag{display:inline-block;padding:3px 10px;border-radius:var(--r-full);font-size:12px;font-weight:500;background:#ffffff14;color:var(--text-3)}.empty-state{text-align:center;padding:60px 20px;color:var(--text-4)}.empty-state .empty-icon{font-size:56px;margin-bottom:16px;opacity:.5}.empty-state h3{color:var(--text-3);margin-bottom:8px}.empty-state p{font-size:14px;margin-bottom:24px}.tabs{display:flex;gap:4px;background:#ffffff0d;border-radius:var(--r-md);padding:4px}.tab-btn{flex:1;padding:9px 16px;border:none;background:transparent;color:var(--text-3);border-radius:var(--r-sm);font-size:14px;font-weight:500;cursor:pointer;transition:var(--t-base);font-family:inherit}.tab-btn.active{background:var(--primary);color:#fff;box-shadow:0 4px 12px var(--primary-glow)}.tab-btn:hover:not(.active){color:var(--text-1);background:#ffffff0d}.tab-panel{display:none}.tab-panel.active{display:block;animation:fadeIn .3s ease}@media(max-width:768px){.form-row{grid-template-columns:1fr}.modal-content{border-radius:var(--r-lg)}}@keyframes fadeInUp{0%{opacity:0;transform:translateY(30px)}to{opacity:1;transform:translateY(0)}}@keyframes fadeInDown{0%{opacity:0;transform:translateY(-20px)}to{opacity:1;transform:translateY(0)}}@keyframes fadeInLeft{0%{opacity:0;transform:translate(-30px)}to{opacity:1;transform:translate(0)}}@keyframes fadeInRight{0%{opacity:0;transform:translate(30px)}to{opacity:1;transform:translate(0)}}@keyframes scaleIn{0%{opacity:0;transform:scale(.85)}to{opacity:1;transform:scale(1)}}@keyframes slideUp{0%{transform:translateY(100%);opacity:0}to{transform:translateY(0);opacity:1}}@keyframes toastIn{0%{opacity:0;transform:translate(120%) scale(.9)}to{opacity:1;transform:translate(0) scale(1)}}@keyframes toastOut{0%{opacity:1;transform:translate(0) scale(1)}to{opacity:0;transform:translate(120%) scale(.9)}}@keyframes shimmer{0%{background-position:-200% 0}to{background-position:200% 0}}@keyframes spin{to{transform:rotate(360deg)}}@keyframes pulse{0%,to{opacity:1;transform:scale(1)}50%{opacity:.6;transform:scale(.96)}}@keyframes pulseDot{0%,to{transform:scale(1);opacity:1}50%{transform:scale(1.5);opacity:.5}}@keyframes gradientShift{0%{background-position:0% 50%}50%{background-position:100% 50%}to{background-position:0% 50%}}@keyframes float{0%,to{transform:translateY(0)}50%{transform:translateY(-12px)}}@keyframes glow{0%,to{box-shadow:0 0 10px #6366f14d}50%{box-shadow:0 0 30px #6366f1b3,0 0 60px #6366f14d}}@keyframes ripple{0%{transform:scale(0);opacity:.6}to{transform:scale(4);opacity:0}}@keyframes tableAvailable{0%,to{box-shadow:0 0 #10b98166}50%{box-shadow:0 0 0 8px #10b98100}}@keyframes tableBlink{0%,to{opacity:1}50%{opacity:.7}}@keyframes countUp{0%{transform:translateY(20px);opacity:0}to{transform:translateY(0);opacity:1}}@keyframes modalIn{0%{opacity:0;transform:scale(.9) translateY(20px)}to{opacity:1;transform:scale(1) translateY(0)}}@keyframes bgPan{0%{background-position:0% 50%}50%{background-position:100% 50%}to{background-position:0% 50%}}@keyframes slideInRight{0%{transform:translate(100%);opacity:0}to{transform:translate(0);opacity:1}}@keyframes bounce{0%,to{transform:translateY(0);animation-timing-function:ease-in}50%{transform:translateY(-16px);animation-timing-function:ease-out}}@keyframes wave{0%{transform:rotate(0)}20%{transform:rotate(14deg)}40%{transform:rotate(-8deg)}60%{transform:rotate(14deg)}80%{transform:rotate(-4deg)}to{transform:rotate(0)}}@keyframes progressFill{0%{width:0%}to{width:var(--target-width, 100%)}}.anim-fade-in{animation:fadeIn .5s ease both}.anim-fade-in-up{animation:fadeInUp .6s cubic-bezier(.34,1.56,.64,1) both}.anim-fade-in-down{animation:fadeInDown .5s ease both}.anim-fade-in-left{animation:fadeInLeft .6s cubic-bezier(.34,1.56,.64,1) both}.anim-fade-in-right{animation:fadeInRight .6s cubic-bezier(.34,1.56,.64,1) both}.anim-scale-in{animation:scaleIn .4s cubic-bezier(.34,1.56,.64,1) both}.anim-float{animation:float 3s ease-in-out infinite}.anim-pulse{animation:pulse 2s ease-in-out infinite}.anim-spin{animation:spin 1s linear infinite}.anim-glow{animation:glow 2s ease-in-out infinite}.delay-100{animation-delay:.1s}.delay-200{animation-delay:.2s}.delay-300{animation-delay:.3s}.delay-400{animation-delay:.4s}.delay-500{animation-delay:.5s}.delay-600{animation-delay:.6s}.delay-700{animation-delay:.7s}.delay-800{animation-delay:.8s}.hover-lift{transition:transform .3s cubic-bezier(.34,1.56,.64,1),box-shadow .3s ease}.hover-lift:hover{transform:translateY(-4px);box-shadow:0 20px 40px #0006}.hover-scale{transition:transform .2s cubic-bezier(.34,1.56,.64,1)}.hover-scale:hover{transform:scale(1.04)}.hover-glow{transition:box-shadow .3s ease}.hover-glow:hover{box-shadow:0 0 25px #6366f180}.btn-ripple{position:relative;overflow:hidden}.btn-ripple:after{content:"";position:absolute;border-radius:50%;background:#ffffff4d;width:100px;height:100px;top:50%;left:50%;transform:scale(0) translate(-50%,-50%);transform-origin:0 0;pointer-events:none}.btn-ripple:active:after{animation:ripple .5s ease-out}.page-enter{animation:fadeInUp .5s cubic-bezier(.34,1.56,.64,1) both}.table-card.available{animation:tableAvailable 2.5s ease-in-out infinite}.table-card.reserved{animation:tableBlink 2s ease-in-out infinite}.reveal{opacity:0;transform:translateY(30px);transition:opacity .7s ease,transform .7s cubic-bezier(.34,1.56,.64,1)}.reveal.visible{opacity:1;transform:translateY(0)}.hero-gradient{background:linear-gradient(-45deg,#6366f1,#8b5cf6,#ec4899,#f43f5e,#6366f1);background-size:400% 400%;animation:gradientShift 8s ease infinite}.skeleton{background:linear-gradient(90deg,#1e293b 25%,#243247,#1e293b 75%);background-size:200% 100%;animation:shimmer 1.5s infinite;border-radius:8px}.app-layout{display:flex;min-height:100vh}.sidebar{width:var(--sidebar-w);background:var(--bg-sidebar);border-right:1px solid var(--border);display:flex;flex-direction:column;position:fixed;top:0;left:0;bottom:0;z-index:100;transition:transform var(--t-base);overflow-y:auto;overflow-x:hidden}.sidebar-header{padding:24px 20px;border-bottom:1px solid var(--border)}.sidebar-logo{display:flex;align-items:center;gap:10px;margin-bottom:16px}.sidebar-logo-icon{width:36px;height:36px;background:var(--gradient-brand);border-radius:10px;display:flex;align-items:center;justify-content:center;font-size:18px;box-shadow:0 4px 12px var(--primary-glow)}.sidebar-logo-text{font-family:Poppins,sans-serif;font-size:18px;font-weight:800;background:var(--gradient-brand);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.restaurant-selector{background:#ffffff0a;border:1px solid var(--border);border-radius:var(--r-md);padding:10px 12px;display:flex;align-items:center;gap:10px;cursor:pointer;transition:var(--t-fast)}.restaurant-selector:hover{border-color:var(--primary);background:#6366f114}.restaurant-selector .restaurant-name{font-size:13px;font-weight:600;color:var(--text-1);flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.restaurant-selector .selector-chevron{color:var(--text-4);font-size:12px}.sidebar-nav{padding:16px 12px;flex:1}.nav-section-label{font-size:10px;font-weight:700;color:var(--text-4);letter-spacing:.1em;text-transform:uppercase;padding:4px 8px;margin:16px 0 6px}.nav-section-label:first-child{margin-top:0}.sidebar-link{display:flex;align-items:center;gap:10px;padding:10px 12px;border-radius:var(--r-md);color:var(--text-3);font-size:14px;font-weight:500;transition:var(--t-fast);cursor:pointer;text-decoration:none;margin-bottom:2px;position:relative}.sidebar-link:hover{background:#ffffff0d;color:var(--text-1)}.sidebar-link.active{background:linear-gradient(90deg,#6366f133,#6366f10d);color:var(--primary-light);border-right:2px solid var(--primary)}.sidebar-link .link-icon{width:20px;text-align:center;font-size:16px;flex-shrink:0}.sidebar-link .link-badge{margin-left:auto;background:var(--primary);color:#fff;font-size:10px;font-weight:700;padding:2px 7px;border-radius:var(--r-full);min-width:18px;text-align:center}.sidebar-link[data-pro-feature]{opacity:.55;cursor:pointer}.sidebar-link[data-pro-feature]:hover{opacity:.8}.sidebar-link[data-pro-feature].pro-unlocked{opacity:1}.pro-lock{margin-left:auto;font-size:11px}.sidebar-link.pro-unlocked .pro-lock{display:none}@keyframes scaleInPop{0%{opacity:0;transform:scale(.85)}to{opacity:1;transform:scale(1)}}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.sidebar-footer{padding:16px 12px;border-top:1px solid var(--border)}.sidebar-user{display:flex;align-items:center;gap:10px;padding:10px 12px;border-radius:var(--r-md);cursor:pointer;transition:var(--t-fast)}.sidebar-user:hover{background:#ffffff0d}.sidebar-user-info{flex:1;min-width:0}.sidebar-user-name{font-size:13px;font-weight:600;color:var(--text-1);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.sidebar-user-email{font-size:11px;color:var(--text-4);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.main-content{margin-left:var(--sidebar-w);flex:1;min-height:100vh;display:flex;flex-direction:column}.topbar{position:sticky;top:0;z-index:50;background:#0a0f1ed9;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border-bottom:1px solid var(--border);padding:0 32px;height:64px;display:flex;align-items:center;justify-content:space-between;gap:20px}.topbar-left{display:flex;align-items:center;gap:16px}.topbar-title{font-size:18px;font-weight:700}.topbar-right{display:flex;align-items:center;gap:12px}.topbar-search{display:flex;align-items:center;gap:10px;background:#ffffff0d;border:1px solid var(--border);border-radius:var(--r-full);padding:8px 16px;font-size:14px;color:var(--text-3);cursor:pointer;transition:var(--t-fast)}.topbar-search:hover{border-color:var(--border-hover)}.page-content{padding:32px;flex:1}.page-header{display:flex;align-items:flex-start;justify-content:space-between;margin-bottom:32px;gap:16px}.page-header-left h1{font-size:24px;margin-bottom:4px}.page-header-left p{font-size:14px;color:var(--text-3)}.page-header-actions{display:flex;gap:10px;flex-shrink:0}.stats-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:20px;margin-bottom:32px}.floor-plan-container{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--r-lg);overflow:hidden}.floor-plan-toolbar{display:flex;align-items:center;gap:12px;padding:16px 20px;border-bottom:1px solid var(--border);flex-wrap:wrap}.floor-plan-legend{display:flex;align-items:center;gap:16px;margin-left:auto;flex-wrap:wrap}.legend-item{display:flex;align-items:center;gap:6px;font-size:12px;color:var(--text-3)}.legend-dot{width:12px;height:12px;border-radius:3px;border:2px solid}.legend-dot.available{background:#f8fafc;border-color:#10b981}.legend-dot.reserved{background:#fef2f2;border-color:#ef4444}.legend-dot.occupied{background:#eff6ff;border-color:#3b82f6}.legend-dot.blocked{background:#f1f5f9;border-color:#94a3b8}.floor-plan-canvas{position:relative;min-height:500px;background:radial-gradient(circle at 20px 20px,rgba(148,163,184,.05) 1px,transparent 1px),radial-gradient(circle at 20px 20px,rgba(148,163,184,.05) 1px,transparent 1px);background-size:40px 40px;background-color:#080e1a;overflow:hidden;cursor:default}.table-card{position:absolute;display:flex;flex-direction:column;align-items:center;justify-content:center;cursor:pointer;-webkit-user-select:none;user-select:none;transition:transform .2s cubic-bezier(.34,1.56,.64,1),box-shadow .2s ease;border-width:2px;border-style:solid}.table-card:hover{transform:scale(1.06);z-index:10}.table-card.selected{z-index:20}.table-card .table-number{font-size:11px;font-weight:700;letter-spacing:.05em;opacity:.7}.table-card .table-label{font-size:13px;font-weight:700;margin:2px 0}.table-card .table-seats{font-size:11px;opacity:.7}.table-card .table-status-dot{width:8px;height:8px;border-radius:50%;position:absolute;top:6px;right:6px;animation:pulseDot 2s ease-in-out infinite}.table-card.available .table-status-dot{background:#10b981}.table-card.reserved .table-status-dot{background:#ef4444}.table-card.occupied .table-status-dot{background:#3b82f6}.table-card.blocked .table-status-dot{background:#64748b;animation:none}.table-side-panel{width:280px;border-left:1px solid var(--border);background:var(--bg-sidebar);flex-shrink:0;overflow-y:auto}.table-side-panel .panel-header{padding:16px 20px;border-bottom:1px solid var(--border);font-weight:600}.reservation-row{display:flex;align-items:center;gap:12px;padding:14px 16px;border-radius:var(--r-md);background:var(--bg-card);border:1px solid var(--border);margin-bottom:8px;transition:var(--t-fast)}.reservation-row:hover{border-color:var(--border-hover)}.reservation-time{font-size:20px;font-weight:800;color:var(--text-1);font-variant-numeric:tabular-nums;min-width:52px}.reservation-info{flex:1}.reservation-name{font-size:14px;font-weight:600;color:var(--text-1)}.reservation-meta{font-size:12px;color:var(--text-3)}.menu-item-card{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--r-lg);overflow:hidden;transition:var(--t-base)}.menu-item-card:hover{border-color:var(--border-hover);transform:translateY(-2px);box-shadow:var(--shadow-md)}.menu-item-img{width:100%;height:140px;object-fit:cover;background:#ffffff0d}.menu-item-img-placeholder{width:100%;height:140px;background:var(--gradient-glow);display:flex;align-items:center;justify-content:center;font-size:40px;color:#fff3}.menu-item-body{padding:16px}.menu-item-name{font-size:15px;font-weight:600;margin-bottom:4px}.menu-item-desc{font-size:12px;color:var(--text-3);margin-bottom:10px;line-height:1.4}.menu-item-footer{display:flex;align-items:center;justify-content:space-between}.menu-item-price{font-size:18px;font-weight:800;background:var(--gradient-brand);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.menu-item-actions{display:flex;gap:6px}.notif-btn{position:relative;width:38px;height:38px;border-radius:var(--r-md);background:#ffffff0d;border:1px solid var(--border);color:var(--text-3);display:flex;align-items:center;justify-content:center;cursor:pointer;transition:var(--t-fast);font-size:17px}.notif-btn:hover{background:#ffffff1a;color:var(--text-1)}.notif-count{position:absolute;top:-4px;right:-4px;background:var(--danger);color:#fff;font-size:9px;font-weight:700;width:16px;height:16px;border-radius:50%;display:flex;align-items:center;justify-content:center;border:2px solid var(--bg-base);animation:pulseDot 2s ease-in-out infinite}.menu-toggle{display:none;width:36px;height:36px;border-radius:var(--r-md);background:#ffffff0d;border:1px solid var(--border);color:var(--text-1);cursor:pointer;align-items:center;justify-content:center;font-size:18px}.chart-container{position:relative;background:var(--bg-card);border:1px solid var(--border);border-radius:var(--r-lg);padding:24px}.chart-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:20px}.chart-title{font-size:15px;font-weight:600}.sub-banner{background:linear-gradient(135deg,#f59e0b26,#ef44441a);border:1px solid rgba(245,158,11,.3);border-radius:var(--r-lg);padding:16px 24px;display:flex;align-items:center;gap:16px;margin-bottom:24px}@media(max-width:1024px){.sidebar{transform:translate(-100%)}.sidebar.open{transform:translate(0);box-shadow:0 0 60px #000c}.main-content{margin-left:0}.menu-toggle{display:flex}.sidebar-overlay{display:none;position:fixed;top:0;right:0;bottom:0;left:0;background:#0009;z-index:99;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.sidebar-overlay.active{display:block}}@media(max-width:768px){.page-content{padding:16px}.topbar{padding:0 16px}.page-header{flex-direction:column}.stats-grid{grid-template-columns:1fr 1fr}}@media(max-width:480px){.stats-grid{grid-template-columns:1fr}}
