:root{--color-primary:#4caf50;--color-primary-rgb:76,175,80;--color-secondary:#2e7d32;--primary:var(--color-primary);--text-primary:#2e5a2e;--text-secondary:#688f68;--text-dark:#1b361b;--text-placeholder:#767676;--bg:#e8f5e9;--background:var(--bg);--background-hover:#4caf500d;--surface:var(--white);--bg-card:#f1f8f2;--bg-input:#f4faf5;--border:#c8e6c9;--white:#fff;--black:#000;--gradient-start:#4caf50;--gradient-end:#2e7d32;--primary-10:#4caf501a;--link:var(--color-primary);--error-bg:#f8d7da;--error-text:#721c24;--error-border:#f5c6cb;--success:#4caf50;--success-hover:#45a049;--danger:#f44336;--danger-hover:#d32f2f;--primary-hover:#45a049;--primary-light:#4caf5033;font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-family:system-ui,Avenir,Helvetica,Arial,sans-serif;font-weight:400;line-height:1.5}body{background-color:var(--bg);width:100%;height:100vh;color:var(--text-primary);margin:0;padding:0;overflow-x:hidden}*{box-sizing:border-box}#root{width:100%;height:100vh;margin:0;padding:0}button,input{font-family:inherit}h1{font-size:3.2em;line-height:1.1}button{background:var(--color-primary);color:var(--white);cursor:pointer;border:1px solid #0000;border-radius:8px;padding:.6em 1.2em;font-family:inherit;font-size:1em;font-weight:500;transition:border-color .25s,background-color .25s,color .25s}button:hover{border-color:var(--color-primary)}.auth-container{background:linear-gradient(135deg,var(--gradient-start)0%,var(--gradient-end)100%);box-sizing:border-box;justify-content:center;align-items:center;width:100vw;height:100vh;min-height:100vh;padding:20px;display:flex;position:fixed;top:0;left:0;overflow-y:auto}.auth-form{z-index:1;background:#fff;border-radius:12px;width:100%;max-width:450px;margin:auto;padding:2rem;position:relative;box-shadow:0 10px 25px #0000001a}.auth-form h2{text-align:center;color:var(--text-primary);margin-bottom:1.5rem;font-size:1.5rem;font-weight:600}.form-group{margin-bottom:1rem}.form-group label{color:var(--text-primary);margin-bottom:.5rem;font-size:.9rem;font-weight:500;display:block}.form-group input{border:2px solid var(--border);box-sizing:border-box;border-radius:8px;width:100%;padding:.75rem;font-size:1rem;transition:border-color .3s,box-shadow .3s}.form-group input:focus{border-color:var(--color-primary);box-shadow:0 0 0 3px var(--primary-10);outline:none}.form-group input:disabled{background-color:var(--bg-input);opacity:.7;cursor:not-allowed}.submit-button{background:linear-gradient(135deg,var(--gradient-start)0%,var(--gradient-end)100%);width:100%;color:var(--white);cursor:pointer;border:none;border-radius:8px;margin-top:.5rem;padding:.75rem;font-size:1rem;font-weight:600;transition:transform .2s,box-shadow .2s}.submit-button:hover:not(:disabled){box-shadow:0 5px 15px var(--primary-10);transform:translateY(-2px)}.submit-button:disabled{opacity:.7;cursor:not-allowed;box-shadow:none;transform:none}.error-message{background:var(--error-bg);color:var(--error-text);border:1px solid var(--error-border);border-radius:8px;margin-bottom:1rem;padding:.75rem;font-size:.9rem}.switch-form{text-align:center;color:var(--text-secondary);margin-top:1.5rem;font-size:.9rem}.link-button{color:var(--color-primary);cursor:pointer;font-size:inherit;background:0 0;border:none;margin:0;padding:0;text-decoration:underline}.link-button:hover:not(:disabled){filter:brightness(.95)}.link-button:disabled{opacity:.7;cursor:not-allowed}.dashboard-container{background:var(--bg);min-height:100vh}.dashboard-header{background:#fff;justify-content:space-between;align-items:center;padding:1rem 2rem;display:flex;box-shadow:0 2px 4px #0000001a}.dashboard-header h1{color:var(--text-primary);margin:0;font-size:1.5rem}.user-info{align-items:center;gap:1rem;display:flex}.user-name{color:var(--text-secondary);font-weight:500}.logout-button{color:#fff;cursor:pointer;background:#dc3545;border:none;border-radius:6px;padding:.5rem 1rem;font-size:.9rem;transition:background-color .3s}.logout-button:hover{background:#c82333}.dashboard-content{max-width:1200px;margin:0 auto;padding:2rem}.welcome-card{background:var(--white);text-align:center;border-radius:12px;padding:2rem;box-shadow:0 4px 6px #0000000d}.welcome-card h2{color:var(--text-primary);margin-bottom:1rem}.welcome-card p{color:var(--text-secondary);margin-bottom:0}@media (max-width:768px){.auth-container{align-items:flex-start;padding:5vh 15px 15px}.auth-form{border-radius:8px;max-width:100%;min-height:auto;margin:0;padding:1.5rem}.auth-form h2{margin-bottom:1.2rem;font-size:1.3rem}.demo-credentials{margin-bottom:1.2rem;padding:.8rem;font-size:.85rem}.form-group{margin-bottom:.9rem}.form-group input{padding:.7rem;font-size:16px}.submit-button{padding:.8rem;font-size:1rem}.dashboard-header{text-align:center;flex-direction:column;gap:.5rem;padding:.8rem 1rem}.dashboard-header h1{font-size:1.3rem}.user-info{flex-direction:column;gap:.5rem}.dashboard-content{padding:1rem}.welcome-card{padding:1.5rem}}@media (max-width:480px){.auth-container{padding:3vh 10px 10px}.auth-form{border-radius:6px;padding:1.2rem}.auth-form h2{font-size:1.2rem}.demo-credentials{padding:.7rem;font-size:.8rem}.form-group input{padding:.6rem}.submit-button{padding:.7rem;font-size:.95rem}.dashboard-content{padding:.8rem}.welcome-card{padding:1.2rem}.welcome-card h2{font-size:1.2rem}}@media (max-height:600px) and (orientation:landscape){.auth-container{align-items:flex-start;padding-top:2vh}.auth-form{margin:0}}@media (max-width:320px){.auth-form{padding:1rem}.form-group input{padding:.5rem;font-size:14px}.submit-button{padding:.6rem;font-size:.9rem}}.sidebar{background:var(--white);border-right:1px solid var(--border);z-index:1000;flex-direction:column;width:250px;height:100vh;display:flex;position:fixed;top:0;left:0;overflow-y:auto;box-shadow:0 2px 8px #0000000d}.sidebar-header{border-bottom:1px solid var(--border);padding:1.5rem}.logo{color:var(--color-primary);cursor:pointer;border-radius:12px;align-items:center;gap:.75rem;padding:.5rem;font-size:1.5rem;font-weight:700;transition:all .3s cubic-bezier(.4,0,.2,1);display:flex;position:relative;overflow:hidden}.logo:before{content:"";background:linear-gradient(90deg,#0000,#ffffff1a,#0000);width:100%;height:100%;transition:left .6s;position:absolute;top:0;left:-100%}.logo:hover{background:rgba(var(--color-primary-rgb),.05);box-shadow:0 8px 25px rgba(var(--color-primary-rgb),.15);transform:translateY(-2px)}.logo:hover:before{left:100%}.logo:active{transition:transform .1s;transform:translateY(0)}.logo-icon{filter:drop-shadow(0 2px 4px #0000001a);font-size:1.75rem;transition:all .3s cubic-bezier(.4,0,.2,1)}.logo:hover .logo-icon{filter:drop-shadow(0 4px 8px #0003);transform:rotate(10deg)scale(1.1)}.logo-text{color:var(--text-primary);background:linear-gradient(135deg,var(--text-primary),var(--color-primary));-webkit-text-fill-color:transparent;-webkit-background-clip:text;background-clip:text;transition:all .3s}.logo:hover .logo-text{background:linear-gradient(135deg,var(--color-primary),var(--color-secondary));-webkit-text-fill-color:transparent;-webkit-background-clip:text;background-clip:text;transform:translate(2px)}@keyframes logoEntrance{0%{opacity:0;transform:translateY(-20px)scale(.8)}50%{transform:translateY(5px)scale(1.05)}to{opacity:1;transform:translateY(0)scale(1)}}.logo{animation:.8s cubic-bezier(.34,1.56,.64,1) forwards logoEntrance}@keyframes logoPulse{0%,to{transform:scale(1)}50%{transform:scale(1.02)}}.logo:not(:hover) .logo-icon{animation:3s ease-in-out infinite logoPulse}.restaurant-selector{margin-top:1rem}.restaurant-dropdown{width:100%;color:var(--text-secondary);cursor:pointer;text-align:left;appearance:none;background:url("data:image/svg+xml;charset=UTF-8,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='currentColor' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3e%3cpolyline points='6,9 12,15 18,9'%3e%3c/polyline%3e%3c/svg%3e") right .75rem center/1rem no-repeat;border-radius:8px;padding:.75rem 2.5rem .75rem 1rem;font-size:.9rem;font-weight:500;transition:all .2s}.restaurant-dropdown:hover{background:var(--bg);color:var(--color-primary)}.restaurant-dropdown:focus{background:var(--primary-10);color:var(--color-primary);outline:none}.restaurant-loading,.restaurant-empty{color:var(--text-secondary);text-align:center;padding:.5rem;font-size:.75rem;font-style:italic}.restaurant-loading{color:var(--color-primary)}.sidebar-nav{flex:1;padding:1rem 0;overflow-y:auto}.nav-section{margin-bottom:2rem}.nav-section:first-child{margin-top:0}.nav-label{text-transform:uppercase;color:var(--text-secondary);letter-spacing:.05em;margin-bottom:.75rem;padding:0 1rem;font-size:.75rem;font-weight:600}.nav-list{margin:0;padding:0;list-style:none}.nav-item{width:100%;color:var(--text-secondary);cursor:pointer;text-align:left;background:0 0;border:none;align-items:center;gap:.75rem;padding:.75rem 1rem;font-size:.9rem;font-weight:500;display:flex}.nav-item:hover{background:var(--bg);color:var(--color-primary)}.nav-item.active{background:var(--primary-10);color:var(--color-primary);border-left:3px solid var(--color-primary);padding-left:calc(1rem - 3px)}.nav-icon{width:1.5rem;font-size:1.25rem}.nav-label-inline{flex:1}.sidebar-footer{border-top:1px solid var(--border);background:var(--bg);padding:1rem}.user-profile{background:var(--white);cursor:pointer;border-radius:8px;align-items:center;gap:.75rem;margin-bottom:1rem;padding:.75rem;display:flex}.user-profile:hover{background:var(--bg)}.user-profile:hover .user-email{color:var(--color-primary)}.user-profile:focus-visible{outline:2px solid var(--color-primary);outline-offset:2px}.user-avatar{background:linear-gradient(135deg,var(--gradient-start)0%,var(--gradient-end)100%);width:40px;height:40px;color:var(--white);border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;font-size:.9rem;font-weight:600;display:flex}.user-info{flex:1;min-width:0}.user-name{color:var(--text-primary);white-space:nowrap;text-overflow:ellipsis;font-size:.85rem;font-weight:600;overflow:hidden}.user-email{color:var(--text-secondary);white-space:nowrap;text-overflow:ellipsis;font-size:.75rem;overflow:hidden}.logout-button{background:var(--white);color:#dc3545;cursor:pointer;border:1px solid #dc3545;border-radius:6px;justify-content:center;align-items:center;gap:.5rem;width:100%;padding:.5rem;font-size:.85rem;font-weight:600;transition:all .2s;display:flex}.logout-icon{font-size:1rem}.logout-text{font-size:inherit}.logout-button:hover{color:var(--white);background:#dc3545}@media (max-width:768px){.sidebar{width:60px;transition:width .3s}.sidebar-header{padding:1rem .5rem}.logo{justify-content:center;gap:0;min-height:44px;padding:.75rem .5rem}.logo-text,.nav-label,.nav-label-inline,.user-info,.restaurant-selector{display:none}.logo-icon{font-size:1.5rem}.sidebar-footer{padding:.5rem}.nav-item{justify-content:center;padding:.75rem .5rem}.nav-item.active{border-left:none;border-top:3px solid var(--color-primary);padding-left:.5rem}.user-profile{justify-content:center;margin-bottom:.75rem;padding:.5rem}.logout-button{gap:0;min-height:44px;padding:.75rem .5rem;font-size:.75rem}.logout-text{display:none}.logout-icon{font-size:1.2rem}}@media (max-width:480px){.sidebar{width:50px}.sidebar-header{padding:.75rem .25rem}.logo{min-height:44px;padding:.6rem .25rem}.logo-icon{font-size:1.3rem}.nav-icon{font-size:1.1rem}.nav-item{padding:.6rem .25rem}.nav-item.active{padding-left:.25rem}.user-profile{padding:.4rem}.user-avatar{width:32px;height:32px;font-size:.8rem}.logout-button{gap:0;min-height:44px;padding:.6rem .4rem;font-size:.7rem}.logout-icon{font-size:1.1rem}}@media (max-width:320px){.sidebar{width:45px}.sidebar-header{padding:.5rem .15rem}.logo{min-height:40px;padding:.5rem .15rem}.logo-icon{font-size:1.2rem}.nav-item{padding:.5rem .15rem}.user-avatar{width:28px;height:28px;font-size:.7rem}.logout-button{border-radius:4px;gap:0;min-height:40px;padding:.5rem .15rem;font-size:10px}.logout-icon{font-size:1rem}}.app-header{background:var(--white);border-bottom:1px solid var(--border);z-index:100;padding:1rem 2rem;position:sticky;top:0;box-shadow:0 2px 4px #0000000d}.header-content{justify-content:space-between;align-items:center;max-width:1400px;margin:0 auto;display:flex}.header-title{color:var(--text-primary);margin:0;font-size:1.75rem;font-weight:700}.header-user{align-items:center;gap:1rem;display:flex}.user-greeting{color:var(--text-secondary);font-size:.9rem;font-weight:500}.user-avatar-small{background:linear-gradient(135deg,var(--gradient-start)0%,var(--gradient-end)100%);width:36px;height:36px;color:var(--white);border-radius:50%;justify-content:center;align-items:center;font-size:.85rem;font-weight:600;display:flex}@media (max-width:1024px){.app-header{padding:1rem 1.5rem}.header-title{font-size:1.6rem}}@media (max-width:768px){.app-header{padding:.75rem 1rem}.header-content{flex-wrap:wrap;gap:.5rem}.header-title{font-size:1.3rem;line-height:1.2}.user-greeting{display:none}.user-avatar-small{width:32px;height:32px;font-size:.75rem}}@media (max-width:480px){.app-header{padding:.5rem .75rem}.header-title{font-size:1.1rem}.user-avatar-small{width:28px;height:28px;font-size:.7rem}}@media (max-width:320px){.app-header{padding:.5rem}.header-title{font-size:1rem}.user-avatar-small{width:24px;height:24px;font-size:.65rem}}.main-layout{background:var(--bg);height:100vh;display:flex}.main-layout .sidebar{flex-shrink:0}.layout-main{flex-direction:column;flex:1;margin-left:250px;display:flex;overflow:hidden}.layout-main .app-header{flex-shrink:0}.layout-content{flex:1;padding:2rem;overflow-y:auto}.page-container{width:100%;max-width:1400px;margin:0 auto}.empty-state{text-align:center;background:var(--white);border:2px dashed var(--border);min-height:400px;color:var(--text-secondary);border-radius:12px;flex-direction:column;justify-content:center;align-items:center;padding:2rem;display:flex}.empty-state h2{color:var(--text-primary);margin:0 0 1rem;font-size:1.5rem}.empty-state p{margin:0;font-size:1rem}@media (max-width:1024px){.layout-content{padding:1.5rem}.page-container{max-width:100%}}@media (max-width:768px){.layout-main{margin-left:60px;transition:margin-left .3s}.layout-content{padding:1rem}.empty-state{min-height:250px;padding:1.5rem}.empty-state h2{font-size:1.3rem}}@media (max-width:480px){.layout-main{margin-left:50px}.layout-content{padding:.75rem}.empty-state{min-height:200px;padding:1rem}.empty-state h2{font-size:1.2rem}.empty-state p{font-size:.9rem}}@media (max-width:320px){.layout-main{margin-left:45px}.layout-content{padding:.5rem}.empty-state{padding:.75rem}.empty-state h2{font-size:1.1rem}.empty-state p{font-size:.85rem}}.layout-content::-webkit-scrollbar{width:8px}.layout-content::-webkit-scrollbar-track{background:var(--bg)}.layout-content::-webkit-scrollbar-thumb{background:var(--border);border-radius:4px}.layout-content::-webkit-scrollbar-thumb:hover{background:var(--text-secondary)}.calendar-widget{background:var(--surface);border:1px solid var(--border);box-sizing:border-box;border-radius:8px;width:260px;max-width:260px;padding:.75rem;font-family:inherit}.calendar-header{justify-content:space-between;align-items:center;margin-bottom:.5rem;padding:0 .25rem;display:flex}.calendar-nav-btn{color:var(--text-primary);cursor:pointer;background:0 0;border:none;border-radius:4px;justify-content:center;align-items:center;width:28px;height:28px;padding:.25rem;font-size:1rem;transition:all .2s;display:flex}.calendar-nav-btn:hover:not(:disabled){background:var(--background-hover);color:var(--primary)}.calendar-nav-btn:disabled{opacity:.3;cursor:not-allowed}.calendar-title{color:var(--text-primary);text-align:center;flex:1;margin:0;font-size:.9rem;font-weight:600}.calendar-weekdays{grid-template-columns:repeat(7,minmax(28px,1fr));gap:2px;max-width:100%;margin-bottom:.5rem;display:grid}.weekday-header{text-align:center;color:var(--text-secondary);text-transform:uppercase;letter-spacing:.5px;padding:.25rem 0;font-size:.65rem;font-weight:600}.calendar-grid{grid-template-columns:repeat(7,minmax(28px,1fr));gap:2px;max-width:100%;display:grid}.calendar-day{aspect-ratio:1;cursor:pointer;color:var(--text-primary);text-overflow:clip;background:0 0;border:none;border-radius:4px;justify-content:center;align-items:center;width:100%;max-width:32px;min-height:28px;font-size:.75rem;font-weight:500;transition:all .2s;display:flex;position:relative;overflow:hidden}.calendar-day:hover:not(:disabled){background:var(--background-hover);color:var(--primary)}.calendar-day.prev-month,.calendar-day.next-month{color:var(--text-secondary);opacity:.5}.calendar-day.today{background:var(--primary-light);color:var(--primary);font-weight:600}.calendar-day.selected{background:var(--primary);color:#fff;font-weight:600}.calendar-day.selected:hover{background:var(--primary-hover);color:#fff}.calendar-day.future{opacity:.3;cursor:not-allowed}.calendar-day:disabled{cursor:not-allowed}@media (max-width:768px){.calendar-widget{width:100%;max-width:320px;margin:0 auto}.calendar-day{max-width:36px;min-height:32px;font-size:.7rem}.calendar-grid,.calendar-weekdays{grid-template-columns:repeat(7,minmax(32px,1fr))}.calendar-title{font-size:1rem}}@media (max-width:480px){.calendar-widget{max-width:280px;padding:.5rem}.calendar-day{max-width:32px;min-height:28px;font-size:.65rem}.calendar-grid,.calendar-weekdays{grid-template-columns:repeat(7,minmax(28px,1fr))}.calendar-title{font-size:.9rem}}.orders-page{max-width:1200px;margin:0 auto;padding:2rem}.page-header h1{color:var(--text-primary);margin-bottom:.5rem;font-size:2rem;font-weight:600}.page-header p{color:var(--text-secondary);font-size:1rem}.orders-filters{background:var(--surface);border:1px solid var(--border);border-radius:12px;align-items:flex-start;gap:2rem;margin-bottom:2rem;padding:1.5rem;display:flex}.calendar-section{flex-shrink:0}.day-overview{flex:1;padding:0 1rem}.overview-header{border-bottom:1px solid var(--border);margin-bottom:1.5rem;padding-bottom:1rem}.overview-header h3{color:var(--text-primary);text-align:left;margin:0 0 .25rem;font-size:1.25rem;font-weight:600}.overview-date{color:var(--text-secondary);margin:0;font-size:.9rem}.overview-stats{gap:1rem;margin-bottom:1.5rem;display:flex}.stat-card{background:var(--background);border:1px solid var(--border);text-align:center;border-radius:8px;flex:1;padding:1rem}.stat-label{color:var(--text-secondary);font-size:.875rem;font-weight:500}.status-breakdown h4{color:var(--text-primary);margin:0 0 1rem;font-size:1rem;font-weight:600}.status-stats{grid-template-columns:1fr 1fr;gap:.75rem;display:grid}.status-stat{background:var(--background);border-radius:6px;align-items:center;gap:.5rem;padding:.5rem;display:flex}.status-count{text-align:center;min-width:24px;font-size:1.125rem;font-weight:600}.status-name{color:var(--text-secondary);font-size:.875rem}.status-stat.pending .status-count{color:#f59e0b}.status-stat.in-progress .status-count{color:#3b82f6}.status-stat.completed .status-count{color:#10b981}.status-stat.cancelled .status-count{color:#ef4444}.filter-group{flex-direction:column;gap:.5rem;min-width:200px;display:flex}.filter-group label{color:var(--text-secondary);font-size:.875rem;font-weight:500}.filter-select{border:1px solid var(--border);background:var(--background);color:var(--text-primary);border-radius:8px;padding:.75rem 1rem;font-size:.875rem;transition:all .2s}.filter-select:focus{border-color:var(--primary);box-shadow:0 0 0 3px var(--primary-light);outline:none}.refresh-btn{background:var(--primary);color:#fff;cursor:pointer;border:none;border-radius:8px;min-width:100px;padding:.75rem 1.5rem;font-size:.875rem;font-weight:500;transition:all .2s}.refresh-btn:hover:not(:disabled){background:var(--primary-hover);transform:translateY(-1px)}.refresh-btn:disabled{opacity:.6;cursor:not-allowed}.error-message{color:#dc2626;background:#fef2f2;border:1px solid #fecaca;border-radius:8px;margin-bottom:1.5rem;padding:1rem;font-size:.875rem}.loading-state,.empty-state{text-align:center;color:var(--text-secondary);padding:3rem}.loading-state p,.empty-state p{font-size:1.125rem}.orders-list{background:var(--surface);border:1px solid var(--border);border-radius:12px;overflow:hidden}.orders-header{background:var(--background);border-bottom:1px solid var(--border);color:var(--text-secondary);grid-template-columns:100px 90px 80px 100px 110px 1fr;gap:.75rem;padding:.75rem 1rem;font-size:.8rem;font-weight:600;display:grid}.order-row{border-bottom:1px solid var(--border);grid-template-columns:100px 90px 80px 100px 110px 1fr;gap:.75rem;min-height:60px;padding:.75rem 1rem;transition:background-color .2s;display:grid}.order-row:last-child{border-bottom:none}.order-row:hover{background:var(--background-hover)}.order-cell{align-items:center;font-size:.8rem;line-height:1.2;display:flex}.action-buttons{flex-wrap:wrap;gap:.3rem;display:flex}.action-buttons button{cursor:pointer;border:none;border-radius:4px;min-width:auto;padding:.4rem .6rem;font-size:.7rem;font-weight:500;transition:all .2s}.btn-complete{background:var(--success);color:#fff}.btn-cancel{background:var(--danger);color:#fff}.order-number{color:var(--text-primary);cursor:help;font-family:monospace;font-size:.75rem;font-weight:600}.table-name{color:var(--text-primary)}.order-time{color:var(--text-secondary)}.order-amount{color:var(--primary);font-weight:600}.order-card{background:var(--surface);border:1px solid var(--border);border-radius:12px;padding:1.5rem;transition:all .2s}.order-card:hover{border-color:var(--primary-light);box-shadow:0 4px 12px #0000000d}.order-header{justify-content:space-between;align-items:flex-start;margin-bottom:1rem;display:flex}.order-info h3{color:var(--text-primary);margin-bottom:.25rem;font-size:1.125rem;font-weight:600}.table-info,.order-time{color:var(--text-secondary);margin:.25rem 0;font-size:.875rem}.order-amount{color:var(--primary);font-size:1.25rem;font-weight:700}.order-status-section{justify-content:space-between;align-items:center;gap:1rem;margin-bottom:1rem;display:flex}.status-badge{text-transform:uppercase;letter-spacing:.5px;border-radius:20px;padding:.5rem 1rem;font-size:.75rem;font-weight:600}.status-pending{color:#92400e;background:#fef3c7}.status-in-progress{color:#1e40af;background:#dbeafe}.status-completed{color:#065f46;background:#d1fae5}.status-cancelled{color:#991b1b;background:#fee2e2}.status-actions{gap:.5rem;display:flex}.status-actions button{cursor:pointer;border:none;border-radius:6px;padding:.5rem .75rem;font-size:.75rem;font-weight:500;transition:all .2s}.btn-start{background:var(--primary);color:#fff}.btn-start:hover{background:var(--primary-hover)}.btn-complete{color:#fff;background:#10b981}.btn-complete:hover{background:#059669}.btn-cancel{color:#fff;background:#ef4444}.btn-cancel:hover{background:#dc2626}.order-items{border-top:1px solid var(--border);padding-top:1rem}.order-items h4{color:var(--text-primary);margin-bottom:.75rem;font-size:.875rem;font-weight:600}.order-items ul{margin:0;padding:0;list-style:none}.order-items li{border-bottom:1px solid var(--border-light);justify-content:space-between;align-items:center;padding:.5rem 0;display:flex}.order-items li:last-child{border-bottom:none}.item-name{color:var(--text-primary);flex:1;font-size:.875rem}.item-quantity{color:var(--text-secondary);margin:0 1rem;font-size:.875rem}.item-price{color:var(--text-primary);font-size:.875rem;font-weight:500}@media (max-width:768px){.orders-page{padding:1rem}.filter-group{min-width:auto}.orders-grid{grid-template-columns:1fr}.order-header{text-align:left;flex-direction:column;gap:.5rem}.order-status-section{flex-direction:column;align-items:stretch;gap:.75rem}.status-actions{justify-content:center}.orders-filters{flex-direction:column;align-items:center;gap:1.5rem}.day-overview{width:100%;padding:0}.overview-header h3{text-align:center;margin-bottom:1rem;font-size:1.125rem}.overview-stats{flex-direction:column;gap:.75rem}.status-stats{grid-template-columns:1fr;gap:.5rem}.stat-card{padding:.75rem}.stat-number{font-size:1.25rem}.orders-header{grid-template-columns:80px 70px 60px 80px 90px 1fr;gap:.5rem;padding:.5rem .75rem;font-size:.7rem}.order-row{grid-template-columns:80px 70px 60px 80px 90px 1fr;gap:.5rem;min-height:50px;padding:.5rem .75rem}.order-cell{font-size:.7rem}.order-number{font-size:.65rem}.action-buttons button{padding:.3rem .5rem;font-size:.65rem}}.page-header{margin-bottom:2rem}.page-header h1{color:var(--text-primary);margin-bottom:.5rem}.page-header p{color:var(--text-secondary);margin-bottom:1rem}.restaurant-info{align-items:center;gap:1rem;display:flex}.restaurant-id{background:var(--bg-card);color:var(--text-secondary);border-radius:4px;padding:.25rem .75rem;font-family:monospace;font-size:.875rem}.menu-sections{flex-direction:column;gap:1.5rem;display:flex}.menu-controls{background:var(--white);border:1px solid var(--border);border-radius:8px;justify-content:space-between;align-items:center;padding:1rem 1.5rem;display:flex;box-shadow:0 2px 4px #0000000a}.menu-summary{align-items:center;gap:1.5rem;display:flex}.total-items,.categories-count{color:var(--text-secondary);font-size:.875rem;font-weight:500}.total-items{color:var(--primary)}.menu-category-compact{background:var(--white);border:1px solid var(--border);border-radius:8px;overflow:hidden;box-shadow:0 2px 4px #0000000a}.category-header-compact{background:var(--bg-card);border-bottom:1px solid var(--border);justify-content:space-between;align-items:center;padding:1rem 1.5rem;display:flex}.category-header-compact h3{color:var(--text-primary);margin:0;font-size:1.125rem;font-weight:600}.item-count{background:var(--primary-light);color:var(--primary);border-radius:12px;padding:.25rem .75rem;font-size:.75rem;font-weight:500}.menu-items-table{width:100%}.table-header{background:var(--bg);border-bottom:1px solid var(--border);color:var(--text-secondary);grid-template-columns:2fr 3fr 1fr 1fr 1fr;gap:1rem;padding:.75rem 1.5rem;font-size:.875rem;font-weight:600;display:grid}.table-body{max-height:400px;overflow-y:auto}.menu-item-row{border-bottom:1px solid #0000000d;grid-template-columns:2fr 3fr 1fr 1fr 1fr;align-items:center;gap:1rem;padding:.75rem 1.5rem;transition:background-color .2s;display:grid}.menu-item-row:hover{background:var(--background-hover)}.menu-item-row:last-child{border-bottom:none}.col-name .item-name{color:var(--text-primary);font-size:.9rem;font-weight:500}.col-description .item-description{color:var(--text-secondary);-webkit-line-clamp:2;line-clamp:2;-webkit-box-orient:vertical;font-size:.825rem;line-height:1.3;display:-webkit-box;overflow:hidden}.col-price .item-price{color:var(--primary);font-size:.9rem;font-weight:600}.status-badge{opacity:.8;font-size:1rem}.status-badge.available{opacity:1}.status-badge.unavailable{opacity:.6}.col-actions{justify-content:center;gap:.5rem;display:flex}.btn-icon{cursor:pointer;background:0 0;border:none;border-radius:4px;justify-content:center;align-items:center;width:28px;height:28px;padding:.25rem;font-size:.875rem;transition:all .2s;display:flex}.btn-icon:hover{background:var(--background-hover);transform:scale(1.1)}.btn-edit:hover{background:#1976d21a}.btn-delete:hover{background:#f443361a}.btn{cursor:pointer;border:none;border-radius:6px;justify-content:center;align-items:center;padding:.5rem 1rem;font-size:.875rem;font-weight:500;text-decoration:none;transition:all .2s;display:inline-flex}.btn-primary:hover{background:var(--primary-hover)}.btn-secondary:hover{background:var(--background-hover)}.btn-danger{background:var(--danger);color:#fff}.btn-danger:hover{background:var(--danger-hover)}.btn-sm{padding:.375rem .75rem;font-size:.8rem}.btn-large{padding:1rem 2rem;font-size:1rem}.add-item-section{text-align:center;background:var(--bg);border:2px dashed var(--border);border-radius:12px;margin-top:2rem;padding:2rem}.loading-state,.error-state,.empty-state{text-align:center;background:var(--white);border-radius:12px;padding:3rem 2rem;box-shadow:0 2px 8px #0000000f}.loading-state{color:var(--text-secondary)}.empty-state h2,.empty-state h3{color:var(--text-primary);margin-bottom:1rem}.empty-state p{color:var(--text-secondary);margin-bottom:2rem}@media (max-width:768px){.menu-controls{flex-direction:column;align-items:stretch;gap:1rem}.menu-summary{justify-content:center}.table-header,.menu-item-row{grid-template-columns:2fr 2fr 1fr 80px;gap:.5rem;padding:.75rem 1rem}.table-header .col-status,.menu-item-row .col-status{display:none}.col-description .item-description{-webkit-line-clamp:1;line-clamp:1}.col-actions{flex-direction:column;gap:.25rem}.btn-icon{width:24px;height:24px;font-size:.75rem}}@media (max-width:480px){.table-header,.menu-item-row{grid-template-columns:2fr 1fr 60px}.table-header .col-description,.menu-item-row .col-description{display:none}.category-header-compact{padding:.75rem 1rem}.category-header-compact h3{font-size:1rem}}.confirmation-modal-overlay{z-index:1000;background-color:#00000080;justify-content:center;align-items:center;animation:.2s ease-out fadeIn;display:flex;position:fixed;inset:0}.confirmation-modal{background:var(--surface);border-radius:var(--border-radius-lg,12px);border:1px solid var(--border);width:90%;max-width:500px;animation:.3s ease-out slideUp;box-shadow:0 10px 40px #0003}.confirmation-modal-header{border-bottom:1px solid var(--border);justify-content:space-between;align-items:center;padding:24px;display:flex}.confirmation-modal-header h2{color:var(--text-primary);margin:0;font-size:20px;font-weight:600}.confirmation-modal-close{cursor:pointer;color:var(--text-secondary);background:0 0;border:none;border-radius:6px;justify-content:center;align-items:center;width:32px;height:32px;padding:0;font-size:24px;transition:all .2s;display:flex}.confirmation-modal-close:hover:not(:disabled){background-color:var(--background-hover);color:var(--text-primary)}.confirmation-modal-close:disabled{opacity:.5;cursor:not-allowed}.confirmation-modal-body{color:var(--text-primary);padding:24px;font-size:16px;line-height:1.5}.confirmation-modal-body p{margin:0}.confirmation-modal-footer{border-top:1px solid var(--border);justify-content:flex-end;gap:12px;padding:24px;display:flex}.confirmation-modal-footer .btn{min-width:100px;padding:8px 16px;font-size:14px}.confirmation-modal-footer .btn-danger{background-color:var(--error,#ef4444);border-color:var(--error,#ef4444);color:#fff}.confirmation-modal-footer .btn-danger:hover:not(:disabled){background-color:#dc2626;border-color:#dc2626}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes slideUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}@media (max-width:480px){.confirmation-modal{width:95%}.confirmation-modal-header,.confirmation-modal-body{padding:16px}.confirmation-modal-footer{flex-direction:column;padding:16px}.confirmation-modal-footer .btn{width:100%}}.qr-settings-page{max-width:1200px;margin:0 auto;padding:2rem}.qr-header{border-bottom:2px solid var(--border-color);justify-content:space-between;align-items:center;margin-bottom:2rem;padding-bottom:1rem;display:flex}.qr-header h1{color:var(--text-primary);margin:0;font-size:2rem}.success-message{background-color:var(--primary);color:#fff;z-index:1000;pointer-events:none;border-radius:8px;padding:1rem 2rem;font-size:1rem;font-weight:500;animation:1s ease-in-out forwards fadeInOut;position:fixed;top:2rem;left:50%;transform:translate(-50%);box-shadow:0 4px 12px #00000026}@keyframes fadeInOut{0%{opacity:0;transform:translate(-50%)scale(.9)}10%{opacity:1;transform:translate(-50%)scale(1)}90%{opacity:1;transform:translate(-50%)scale(1)}to{opacity:0;transform:translate(-50%)scale(.9)}}@keyframes slideIn{0%{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:translateY(0)}}.qr-stats{gap:2rem;margin-bottom:2rem;display:flex}.stat-card{background:var(--surface-color);border:1px solid var(--border-color);text-align:center;border-radius:12px;min-width:150px;padding:1.5rem;box-shadow:0 2px 8px #0000001a}.stat-number{color:var(--primary);margin-bottom:.5rem;font-size:2.5rem;font-weight:700}.stat-label{color:var(--text-secondary);text-transform:uppercase;letter-spacing:.5px;font-size:.9rem}.qr-tables-section{margin-top:2rem}.section-title{color:var(--text-primary);align-items:center;gap:.5rem;margin-bottom:1rem;font-size:1.5rem;display:flex}.tables-grid{grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:1.5rem;margin-top:1rem;display:grid}.table-card{background:var(--surface-color);border:1px solid var(--border-color);border-radius:12px;padding:1.5rem;transition:transform .2s,box-shadow .2s;box-shadow:0 2px 8px #0000001a}.table-card:hover{transform:translateY(-2px);box-shadow:0 4px 16px #00000026}.table-header{justify-content:space-between;align-items:flex-start;margin-bottom:1rem;display:flex}.table-name{color:var(--text-primary);text-overflow:ellipsis;white-space:nowrap;max-width:200px;margin:0;font-size:1.2rem;font-weight:600;overflow:hidden}.table-info{color:var(--text-secondary);margin:.5rem 0;font-size:.9rem}.qr-status{border-radius:8px;align-items:center;gap:.5rem;margin-top:1rem;padding:.75rem;font-weight:500;display:flex}.qr-status.has-qr{color:#059669;background:#22c55e1a;border:1px solid #22c55e33}.qr-status.no-qr{color:#dc2626;background:#ef44441a;border:1px solid #ef444433}.qr-code-display{background:var(--background-color);text-align:center;border:1px solid var(--border-color);border-radius:12px;margin-top:1rem;padding:1.5rem}.qr-code-info{color:var(--text-secondary);margin-top:1rem;font-size:.85rem}.qr-code-info div{text-overflow:ellipsis;white-space:nowrap;max-width:100%;margin:.25rem 0;overflow:hidden}.qr-code-info div .qr-url{white-space:normal;word-break:break-all;display:inline-block}.qr-code-actions{justify-content:space-between;align-items:center;gap:.5rem;margin-top:1rem;display:flex}.table-actions{justify-content:center;gap:.5rem;margin-top:1rem;display:flex}.btn{cursor:pointer;border:none;border-radius:6px;align-items:center;gap:.5rem;padding:.5rem 1rem;font-size:.9rem;font-weight:500;transition:all .2s;display:flex}.btn-primary{background:var(--primary);color:#fff}.btn-primary:hover{background:var(--primary-hover);transform:translateY(-1px)}.btn-danger{color:#fff;background:#ef4444}.btn-danger:hover{background:#dc2626;transform:translateY(-1px)}.btn-secondary{background:var(--surface-color);color:var(--text-primary);border:1px solid var(--border-color)}.btn-secondary:hover{background:var(--background-color);transform:translateY(-1px)}.btn-info{color:#fff;background:#3b82f6}.btn-info:hover{background:#2563eb;transform:translateY(-1px)}.loading-state,.error-state,.empty-state{text-align:center;color:var(--text-secondary);padding:3rem}.loading-state{font-size:1.1rem}.error-state{color:#ef4444}.error-state h3{color:#ef4444;margin-bottom:.5rem}.empty-state{background:var(--surface-color);border:1px solid var(--border-color);border-radius:12px;margin-top:2rem}.empty-state h3{color:var(--text-primary);margin-bottom:.5rem}.refresh-btn{background:var(--primary);color:#fff;cursor:pointer;border:none;border-radius:6px;margin-left:1rem;padding:.5rem 1rem;font-size:.9rem;transition:background .2s}.refresh-btn:hover{background:var(--primary-hover)}@media (max-width:768px){.qr-settings-page{padding:1rem}.qr-header{flex-direction:column;align-items:flex-start;gap:1rem}.qr-stats{flex-direction:column;gap:1rem}.tables-grid{grid-template-columns:1fr}.table-actions{flex-direction:column}.qr-code-actions{flex-direction:column;align-items:stretch}.qr-code-actions .btn{width:100%;margin-bottom:.5rem}}.qr-code-container{background:#fff;border-radius:8px;margin:8px 0;padding:8px;display:inline-block;position:relative;overflow:hidden;box-shadow:0 2px 8px #0000001a}.qr-code-canvas{border-radius:4px;display:block}.qr-code-loading{color:#666;background:#f5f5f5;border:1px dashed #ccc;border-radius:4px;justify-content:center;align-items:center;font-size:12px;display:flex}.qr-code-error{background:#fee;border:1px solid #fcc;border-radius:8px;margin:8px 0;padding:16px}.error-message{color:#c33;align-items:center;gap:8px;font-size:14px;display:flex}.downloadable-qr-code{flex-direction:column;align-items:center;gap:12px;display:flex}.qr-download-btn{min-width:auto;padding:6px 12px;font-size:12px}.qr-code-display{background:#f8f9fa;border-radius:8px;flex-direction:column;align-items:center;gap:12px;margin:12px 0;padding:16px;display:flex}.qr-code-info{text-align:center;color:#666;margin-top:8px;font-size:12px}.qr-url{overflow-wrap:break-word;word-break:break-all;color:#333;background-color:#f0f0f0;border-radius:4px;max-width:100%;margin:4px 0;padding:4px 6px;font-family:Monaco,Courier New,monospace;font-size:11px;display:inline-block}.qr-code-actions{flex-wrap:wrap;justify-content:center;gap:8px;display:flex}.qr-code-actions .btn{padding:6px 12px;font-size:12px}.qr-code-small .qr-code-container{padding:4px}.qr-code-large .qr-code-container{padding:16px}.qr-code-modal{z-index:1000;background:#000c;justify-content:center;align-items:center;padding:20px;display:flex;position:fixed;inset:0}.qr-code-modal-content{text-align:center;background:#fff;border-radius:12px;width:100%;max-width:400px;padding:24px;position:relative}.qr-code-modal-close{cursor:pointer;color:#666;background:0 0;border:none;padding:4px;font-size:24px;line-height:1;position:absolute;top:12px;right:12px}.qr-code-modal-close:hover{color:#333}.qr-code-modal-title{color:#333;margin:0 0 20px;font-size:18px}.qr-code-modal .qr-code-container{margin:16px auto}@keyframes qrFadeIn{0%{opacity:0;transform:scale(.8)}to{opacity:1;transform:scale(1)}}.qr-code-canvas{animation:.3s ease-out qrFadeIn}@media (max-width:768px){.qr-code-display{gap:8px;padding:12px}.qr-code-actions{flex-direction:column;width:100%}.qr-code-actions .btn{width:100%;margin-bottom:4px}.qr-code-info{font-size:11px}}@media (max-width:480px){.qr-code-container{padding:6px}.qr-code-display{padding:8px}.qr-code-actions .btn{padding:5px 10px;font-size:11px}}@media print{.qr-code-container{box-shadow:none;border:1px solid #000}.qr-download-btn,.qr-code-actions .btn{display:none}}#root{width:100%;height:100vh;margin:0;padding:0;overflow:hidden}html,body{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;width:100%;height:100vh;margin:0;padding:0;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif}*,:before,:after{box-sizing:border-box}.logo{will-change:filter;height:6em;padding:1.5em;transition:filter .3s}.logo:hover{filter:drop-shadow(0 0 2em #646cffaa)}.logo.react:hover{filter:drop-shadow(0 0 2em #61dafbaa)}@keyframes logo-spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}@media (prefers-reduced-motion:no-preference){a:nth-of-type(2) .logo{animation:20s linear infinite logo-spin}}.card{padding:2em}.read-the-docs{color:#888}
