:root{--font-sans:"Inter", system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;--font-mono:ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, monospace;--bg-primary:#f8fafc;--bg-surface:#fff;--bg-surface-hover:#f1f5f9;--border-color:#cbd5e1;--border-color-focus:#2563eb;--text-primary:#0f172a;--text-secondary:#334155;--text-muted:#64748b;--primary:#2563eb;--primary-hover:#1d4ed8;--primary-subtle:#eff6ff;--primary-contrast:#fff;--success:#15803d;--success-subtle:#f0fdf4;--success-border:#bbf7d0;--warning:#b45309;--warning-subtle:#fffbeb;--warning-border:#fde68a;--danger:#b91c1c;--danger-hover:#991b1b;--danger-subtle:#fef2f2;--danger-border:#fecaca;--status-new-bg:#eff6ff;--status-new-text:#1d4ed8;--status-new-border:#93c5fd;--status-prep-bg:#fffbeb;--status-prep-text:#b45309;--status-prep-border:#fcd34d;--status-deliv-bg:#f0fdf4;--status-deliv-text:#15803d;--status-deliv-border:#86efac;--status-canc-bg:#fef2f2;--status-canc-text:#b91c1c;--status-canc-border:#fca5a5;--radius-sm:6px;--radius-md:8px;--radius-lg:12px;--radius-full:9999px;--shadow-sm:0 1px 2px 0 #0000000d;--shadow-md:0 4px 6px -1px #0000001a, 0 2px 4px -2px #00000014;--shadow-lg:0 10px 15px -3px #0000001a, 0 4px 6px -4px #0000000f;--header-height:64px;--sidebar-width:240px}@media (prefers-color-scheme:dark){:root{--bg-primary:#0b0f19;--bg-surface:#111827;--bg-surface-hover:#1f2937;--border-color:#374151;--border-color-focus:#60a5fa;--text-primary:#f9fafb;--text-secondary:#e5e7eb;--text-muted:#9ca3af;--primary:#3b82f6;--primary-hover:#60a5fa;--primary-subtle:#1e3a8a3d;--primary-contrast:#fff;--success:#22c55e;--success-subtle:#14532d40;--success-border:#166534;--warning:#f59e0b;--warning-subtle:#78350f40;--warning-border:#92400e;--danger:#ef4444;--danger-hover:#f87171;--danger-subtle:#7f1d1d40;--danger-border:#991b1b;--status-new-bg:#1e3a8a4d;--status-new-text:#bfdbfe;--status-new-border:#3b82f6;--status-prep-bg:#78350f4d;--status-prep-text:#fde68a;--status-prep-border:#d97706;--status-deliv-bg:#14532d4d;--status-deliv-text:#bbf7d0;--status-deliv-border:#22c55e;--status-canc-bg:#7f1d1d4d;--status-canc-text:#fecaca;--status-canc-border:#ef4444;--shadow-sm:0 1px 2px 0 #00000080;--shadow-md:0 4px 6px -1px #0009;--shadow-lg:0 10px 15px -3px #000000b3}}*,:before,:after{box-sizing:border-box;margin:0;padding:0}html,body{min-height:100%;font-family:var(--font-sans);background-color:var(--bg-primary);color:var(--text-primary);-webkit-font-smoothing:antialiased;line-height:1.5}a{color:var(--primary);text-decoration:none}a:hover{text-decoration:underline}button,input,select,textarea{font-family:inherit;font-size:inherit}button{cursor:pointer;background:0 0;border:none}button:disabled{cursor:not-allowed;opacity:.6}:focus-visible{outline:2px solid var(--border-color-focus);outline-offset:2px}.sr-only{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.mb-1{margin-bottom:.25rem}.mb-2{margin-bottom:.5rem}.mb-3{margin-bottom:.75rem}.mb-4{margin-bottom:1rem}.mt-2{margin-top:.5rem}.mt-3{margin-top:.75rem}.mt-4{margin-top:1rem}.text-left{text-align:left}.text-right{text-align:right}.text-center{text-align:center}.text-sm{font-size:.875rem}.text-muted{color:var(--text-muted)}.font-medium{font-weight:500}.font-semibold{font-weight:600}.font-bold{font-weight:700}.text-highlight{color:var(--primary)}.app-shell{flex-direction:column;min-height:100vh;display:flex}.app-header{height:var(--header-height);background-color:var(--bg-surface);border-bottom:1px solid var(--border-color);z-index:40;justify-content:space-between;align-items:center;padding:0 1.5rem;display:flex;position:sticky;top:0}.header-left{align-items:center;gap:1rem;display:flex}.brand{align-items:center;gap:.625rem;display:flex}.brand-logo{font-size:1.5rem;line-height:1}.brand-name{color:var(--text-primary);letter-spacing:-.01em;font-size:1.15rem;font-weight:700}.header-right{align-items:center;gap:1.25rem;display:flex}.user-profile{align-items:center;gap:.5rem;display:flex}.user-avatar{background-color:var(--primary-subtle);width:32px;height:32px;color:var(--primary);border-radius:var(--radius-full);border:1px solid var(--border-color);justify-content:center;align-items:center;font-size:.875rem;font-weight:600;display:flex}.user-name{color:var(--text-secondary);font-size:.9rem;font-weight:500}.mobile-menu-btn{border-radius:var(--radius-sm);background:0 0;flex-direction:column;gap:4px;padding:6px;display:none}.hamburger-line{background-color:var(--text-primary);border-radius:2px;width:20px;height:2px}.app-body{flex:1;display:flex}.app-sidebar{width:var(--sidebar-width);background-color:var(--bg-surface);border-right:1px solid var(--border-color);flex-direction:column;flex-shrink:0;display:flex}.sidebar-nav{padding:1.25rem .75rem}.nav-list{flex-direction:column;gap:.375rem;list-style:none;display:flex}.nav-link{border-radius:var(--radius-md);color:var(--text-secondary);align-items:center;gap:.75rem;padding:.625rem .875rem;font-size:.925rem;font-weight:500;text-decoration:none;transition:background-color .15s,color .15s;display:flex}.nav-link:hover{background-color:var(--bg-surface-hover);color:var(--text-primary);text-decoration:none}.nav-link--active{background-color:var(--primary-subtle);color:var(--primary);font-weight:600}.nav-icon{color:currentColor;justify-content:center;align-items:center;display:flex}.app-main{flex:1;width:100%;max-width:1200px;margin:0 auto;padding:1.75rem 2rem}.page-container{flex-direction:column;gap:1.5rem;display:flex}.page-container--narrow{max-width:600px;margin:0 auto}.page-header{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:1rem;display:flex}.page-title{color:var(--text-primary);letter-spacing:-.02em;font-size:1.625rem;font-weight:700}.page-subtitle{color:var(--text-muted);margin-top:.25rem;font-size:.95rem}.breadcrumbs{margin-bottom:.5rem}.breadcrumb-link{color:var(--text-muted);font-size:.875rem;font-weight:500}.breadcrumb-link:hover{color:var(--primary)}.btn{border-radius:var(--radius-md);white-space:nowrap;justify-content:center;align-items:center;gap:.5rem;padding:.625rem 1.125rem;font-size:.925rem;font-weight:500;line-height:1.25;text-decoration:none;transition:all .15s;display:inline-flex}.btn:hover{text-decoration:none}.btn--primary{background-color:var(--primary);color:var(--primary-contrast)}.btn--primary:hover:not(:disabled){background-color:var(--primary-hover)}.btn--secondary{background-color:var(--bg-surface-hover);color:var(--text-primary);border:1px solid var(--border-color)}.btn--secondary:hover:not(:disabled){background-color:var(--border-color)}.btn--outline{color:var(--primary);border:1px solid var(--primary);background-color:#0000}.btn--outline:hover:not(:disabled){background-color:var(--primary-subtle)}.btn--danger{background-color:var(--danger);color:#fff}.btn--danger:hover:not(:disabled){background-color:var(--danger-hover)}.btn--danger-outline{color:var(--danger);border:1px solid var(--danger-border);background-color:#0000}.btn--danger-outline:hover:not(:disabled){background-color:var(--danger-subtle)}.btn--success{background-color:var(--success);color:#fff}.btn--sm{padding:.375rem .75rem;font-size:.85rem}.btn--lg{padding:.75rem 1.5rem;font-size:1rem}.btn--block{width:100%}.btn-loading-wrapper{align-items:center;gap:.5rem;display:flex}.form-field{flex-direction:column;gap:.375rem;margin-bottom:1.125rem;display:flex}.form-label{color:var(--text-secondary);font-size:.875rem;font-weight:500}.required-indicator{color:var(--danger)}.form-control{border-radius:var(--radius-md);border:1px solid var(--border-color);background-color:var(--bg-surface);width:100%;color:var(--text-primary);padding:.625rem .875rem;font-size:.95rem;transition:border-color .15s,box-shadow .15s}.form-control:focus{border-color:var(--border-color-focus);outline:none;box-shadow:0 0 0 3px #2563eb26}.form-control--error{border-color:var(--danger)}.form-control--error:focus{border-color:var(--danger);box-shadow:0 0 0 3px #dc262626}.form-control--sm{padding:.35rem .625rem;font-size:.85rem}.form-help-text{color:var(--text-muted);font-size:.8125rem}.form-error-text{color:var(--danger);font-size:.8125rem;font-weight:500}.card{background-color:var(--bg-surface);border:1px solid var(--border-color);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);padding:1.5rem}.panel{background-color:var(--bg-surface);border:1px solid var(--border-color);border-radius:var(--radius-lg);box-shadow:var(--shadow-md);padding:1.75rem}.panel--success{border-color:var(--success-border)}.panel-header{align-items:flex-start;gap:1rem;margin-bottom:1.5rem;display:flex}.panel-badge-icon{font-size:2rem;line-height:1}.panel-title{color:var(--text-primary);font-size:1.35rem;font-weight:700}.panel-subtitle{color:var(--text-muted);margin-top:.25rem;font-size:.95rem}.instructions-card{background-color:var(--bg-surface-hover);border:1px solid var(--border-color);border-radius:var(--radius-md);padding:1rem 1.25rem}.instructions-title{color:var(--text-primary);margin-bottom:.375rem;font-size:.925rem;font-weight:600}.instructions-text{color:var(--text-secondary);font-size:.875rem}code{font-family:var(--font-mono);background-color:var(--bg-surface-hover);border-radius:var(--radius-sm);border:1px solid var(--border-color);padding:.15em .4em;font-size:.875em}.alert{border-radius:var(--radius-md);justify-content:space-between;align-items:center;gap:.75rem;padding:.875rem 1.125rem;font-size:.9rem;font-weight:500;display:flex}.alert-content{align-items:center;gap:.625rem;display:flex}.alert-icon{flex-shrink:0}.alert--danger{background-color:var(--danger-subtle);border:1px solid var(--danger-border);color:var(--danger)}.alert--success{background-color:var(--success-subtle);border:1px solid var(--success-border);color:var(--success)}.alert--warning{background-color:var(--warning-subtle);border:1px solid var(--warning-border);color:var(--warning)}.alert-dismiss-btn{color:currentColor;opacity:.7;padding:0 4px;font-size:1.25rem;line-height:1}.alert-dismiss-btn:hover{opacity:1}.stats-bar{grid-template-columns:repeat(3,1fr);gap:1.25rem;display:grid}.stat-card{background-color:var(--bg-surface);border:1px solid var(--border-color);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);flex-direction:column;padding:1.25rem 1.5rem;display:flex}.stat-card-header{justify-content:space-between;align-items:center;margin-bottom:.5rem;display:flex}.stat-card-title{color:var(--text-muted);text-transform:uppercase;letter-spacing:.04em;font-size:.875rem;font-weight:600}.stat-card-icon{font-size:1.25rem}.stat-card-value{color:var(--text-primary);font-size:1.75rem;font-weight:700;line-height:1.2}.stat-card-value--rating{font-size:1.35rem}.stat-card-meta{color:var(--text-muted);margin-top:.375rem;font-size:.8125rem}.skeleton-card{background:linear-gradient(90deg, var(--bg-surface) 25%, var(--bg-surface-hover) 50%, var(--bg-surface) 75%);background-size:200% 100%;height:110px;animation:1.5s infinite shimmer}@keyframes shimmer{0%{background-position:200% 0}to{background-position:-200% 0}}.bots-grid{grid-template-columns:repeat(auto-fill,minmax(320px,1fr));gap:1.25rem;display:grid}.bot-card{background-color:var(--bg-surface);border:1px solid var(--border-color);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);flex-direction:column;justify-content:space-between;padding:1.5rem;display:flex}.bot-card-header{align-items:flex-start;gap:.875rem;margin-bottom:1.25rem;display:flex}.bot-badge-icon{font-size:1.75rem;line-height:1}.bot-card-title-group{flex-direction:column;display:flex}.bot-name{color:var(--text-primary);font-size:1.15rem;font-weight:700}.bot-username{color:var(--primary);font-size:.875rem;font-weight:500}.bot-card-details{border-top:1px solid var(--border-color);border-bottom:1px solid var(--border-color);flex-direction:column;gap:.5rem;margin-bottom:1.25rem;padding:.875rem 0;display:flex}.bot-detail-item{justify-content:space-between;font-size:.875rem;display:flex}.detail-label{color:var(--text-muted)}.detail-value{color:var(--text-primary);font-weight:600}.bot-card-actions{flex-wrap:wrap;gap:.5rem;display:flex}.copybox-container{flex-direction:column;gap:.375rem;display:flex}.copybox-group{gap:.5rem;display:flex}.copybox-input{font-family:var(--font-mono);background-color:var(--bg-surface-hover);color:var(--text-primary);cursor:text;font-size:.875rem}.copybox-btn{flex-shrink:0;min-width:80px}.dialog-backdrop{-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);z-index:100;background-color:#00000080;justify-content:center;align-items:center;padding:1rem;display:flex;position:fixed;inset:0}.dialog-box{background-color:var(--bg-surface);border:1px solid var(--border-color);border-radius:var(--radius-lg);box-shadow:var(--shadow-lg);flex-direction:column;gap:1.25rem;width:100%;max-width:480px;padding:1.5rem;animation:.15s ease-out dialog-appear;display:flex}@keyframes dialog-appear{0%{opacity:0;transform:scale(.96)}to{opacity:1;transform:scale(1)}}.dialog-title{color:var(--text-primary);font-size:1.25rem;font-weight:700}.dialog-message{color:var(--text-secondary);font-size:.95rem;line-height:1.5}.dialog-warning-text{color:var(--danger);margin-top:.5rem;font-size:.875rem;font-weight:500}.dialog-help-text{color:var(--text-muted);font-size:.8125rem}.dialog-actions{justify-content:flex-end;gap:.75rem;display:flex}.menu-editor-grid{grid-template-columns:1fr 1fr;gap:1.5rem;display:grid}.editor-header{justify-content:space-between;align-items:center;margin-bottom:.5rem;display:flex}.items-counter{color:var(--text-muted);font-size:.8125rem;font-weight:600}.editor-instructions{color:var(--text-muted);margin-bottom:.75rem;font-size:.85rem}.menu-textarea{font-family:var(--font-mono);resize:vertical;font-size:.9rem;line-height:1.6}.menu-errors-box{background-color:var(--danger-subtle);border:1px solid var(--danger-border);border-radius:var(--radius-md);margin-top:1rem;padding:.875rem}.errors-title{color:var(--danger);margin-bottom:.375rem;font-size:.875rem;font-weight:600}.errors-list{color:var(--danger);padding-left:1.25rem;font-size:.8125rem}.error-item{margin-bottom:.25rem}.preview-header{justify-content:space-between;align-items:center;margin-bottom:1rem;display:flex}.preview-title{color:var(--text-primary);font-size:1.125rem;font-weight:700}.badge{border-radius:var(--radius-full);align-items:center;padding:.25rem .625rem;font-size:.75rem;font-weight:600;display:inline-flex}.badge--neutral{background-color:var(--bg-surface-hover);color:var(--text-secondary);border:1px solid var(--border-color)}.empty-preview{text-align:center;padding:2.5rem 1rem}.empty-preview-text{color:var(--text-muted);font-size:.9rem}.menu-table{border-collapse:collapse;width:100%}.menu-table th,.menu-table td{border-bottom:1px solid var(--border-color);padding:.625rem .75rem}.status-tabs-container{border-bottom:1px solid var(--border-color);gap:.375rem;padding-bottom:.5rem;display:flex;overflow-x:auto}.status-tab{border-radius:var(--radius-md);color:var(--text-muted);white-space:nowrap;padding:.5rem 1rem;font-size:.875rem;font-weight:500;transition:all .15s}.status-tab:hover{color:var(--text-primary);background-color:var(--bg-surface-hover)}.status-tab--active{background-color:var(--primary-subtle);color:var(--primary);font-weight:600}.table-responsive{-webkit-overflow-scrolling:touch;background-color:var(--bg-surface);border:1px solid var(--border-color);border-radius:var(--radius-lg);width:100%;box-shadow:var(--shadow-sm);overflow-x:auto}.orders-table{border-collapse:collapse;width:100%;min-width:680px}.orders-table th{color:var(--text-muted);text-transform:uppercase;letter-spacing:.04em;background-color:var(--bg-surface-hover);border-bottom:1px solid var(--border-color);padding:.875rem 1rem;font-size:.8125rem;font-weight:600}.orders-table td{color:var(--text-primary);border-bottom:1px solid var(--border-color);vertical-align:middle;padding:.875rem 1rem;font-size:.9rem}.order-row{transition:background-color .15s}.order-row:hover{background-color:var(--bg-surface-hover)}.order-row--new{font-weight:500;background-color:var(--status-new-bg)!important}.order-row--new:hover{background-color:var(--primary-subtle)!important}.order-id-cell{flex-direction:column;display:flex}.order-code{font-family:var(--font-mono);color:var(--text-primary);font-weight:600}.order-bot-name{color:var(--text-muted);font-size:.8rem}.items-summary{white-space:nowrap;text-overflow:ellipsis;max-width:240px;display:inline-block;overflow:hidden}.order-total{color:var(--text-primary);font-size:.95rem}.status-control-cell{flex-direction:column;gap:.375rem;min-width:120px;display:flex}.order-status-select{border-radius:var(--radius-sm);background-color:var(--bg-surface);padding:.25rem .5rem;font-size:.8125rem}.placed-time{white-space:nowrap}.status-badge{border-radius:var(--radius-full);text-transform:capitalize;align-items:center;gap:.375rem;padding:.2rem .5rem;font-size:.75rem;font-weight:600;line-height:1.2;display:inline-flex}.status-badge-dot{border-radius:var(--radius-full);background-color:currentColor;width:6px;height:6px}.status-badge--new{background-color:var(--status-new-bg);color:var(--status-new-text);border:1px solid var(--status-new-border)}.status-badge--preparing{background-color:var(--status-prep-bg);color:var(--status-prep-text);border:1px solid var(--status-prep-border)}.status-badge--delivered{background-color:var(--status-deliv-bg);color:var(--status-deliv-text);border:1px solid var(--status-deliv-border)}.status-badge--cancelled{background-color:var(--status-canc-bg);color:var(--status-canc-text);border:1px solid var(--status-canc-border)}.feedback-list{flex-direction:column;gap:1rem;display:flex}.feedback-card{flex-direction:column;gap:.75rem;display:flex}.feedback-card-header{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.5rem;display:flex}.feedback-rating-group{align-items:center;gap:.75rem;display:flex}.feedback-bot-tag{color:var(--text-muted);background-color:var(--bg-surface-hover);border-radius:var(--radius-sm);border:1px solid var(--border-color);padding:.2rem .5rem;font-size:.8125rem}.star-rating{gap:2px;display:inline-flex}.star{font-size:1.15rem;line-height:1}.star--filled{color:#f59e0b}.star--empty{color:var(--border-color)}.feedback-comment{color:var(--text-secondary);font-size:.95rem;font-style:italic;line-height:1.5}.empty-state{text-align:center;background-color:var(--bg-surface);border:1px dashed var(--border-color);border-radius:var(--radius-lg);flex-direction:column;justify-content:center;align-items:center;padding:3.5rem 1.5rem;display:flex}.empty-state-icon{color:var(--text-muted);margin-bottom:1rem}.empty-state-title{color:var(--text-primary);margin-bottom:.375rem;font-size:1.15rem;font-weight:700}.empty-state-description{color:var(--text-muted);max-width:420px;margin-bottom:1.25rem;font-size:.9rem}.loader-container{flex-direction:column;justify-content:center;align-items:center;gap:.75rem;padding:2.5rem 1rem;display:flex}.loader-container--full{min-height:70vh}.loader-spinner{border:3px solid var(--border-color);border-top-color:var(--primary);border-radius:var(--radius-full);width:32px;height:32px;animation:.8s linear infinite spin}.loader-spinner--sm{border-width:2px;width:16px;height:16px}.loader-text{color:var(--text-muted);font-size:.9rem;font-weight:500}@keyframes spin{to{transform:rotate(360deg)}}.auth-container{background-color:var(--bg-primary);justify-content:center;align-items:center;min-height:100vh;padding:1.5rem;display:flex}.auth-card{background-color:var(--bg-surface);border:1px solid var(--border-color);border-radius:var(--radius-lg);width:100%;max-width:420px;box-shadow:var(--shadow-lg);padding:2rem}.auth-header{text-align:center;margin-bottom:1.75rem}.auth-logo{margin-bottom:.5rem;font-size:2.5rem;line-height:1}.auth-title{color:var(--text-primary);font-size:1.5rem;font-weight:700}.auth-subtitle{color:var(--text-muted);margin-top:.25rem;font-size:.875rem}.auth-submit-btn{margin-top:.5rem}.auth-footer{text-align:center;color:var(--text-muted);margin-top:1.5rem;font-size:.875rem}.auth-link{color:var(--primary);font-weight:600}.not-found-container{text-align:center;justify-content:center;align-items:center;min-height:80vh;padding:2rem;display:flex}.not-found-content{flex-direction:column;align-items:center;max-width:460px;display:flex}.not-found-icon{margin-bottom:.5rem;font-size:3rem}.not-found-code{color:var(--primary);font-size:4rem;font-weight:800;line-height:1}.not-found-title{margin-top:.5rem;margin-bottom:.5rem;font-size:1.5rem;font-weight:700}.not-found-desc{color:var(--text-muted);margin-bottom:1.5rem;font-size:.95rem}@media (width<=900px){.menu-editor-grid{grid-template-columns:1fr}}@media (width<=768px){.mobile-menu-btn{display:flex}.app-sidebar{top:var(--header-height);z-index:50;box-shadow:var(--shadow-lg);transition:transform .25s ease-in-out;position:fixed;bottom:0;left:0;transform:translate(-100%)}.app-sidebar--open{transform:translate(0)}.sidebar-backdrop{inset:0;top:var(--header-height);z-index:45;background-color:#0006;position:fixed}.app-main{padding:1.25rem 1rem}.stats-bar{grid-template-columns:1fr;gap:.75rem}.header-right .user-name{display:none}}
