@import"https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700&display=swap";@import"https://fonts.googleapis.com/css2?family=JetBrains+Mono:wght@400;500;600&display=swap";:root{--bg-primary: #1a1a1a;--bg-secondary: #242424;--bg-tertiary: #2d2d2d;--bg-elevated: #323232;--border-subtle: #2d2d2d;--border-default: #3d3d3d;--border-strong: #4d4d4d;--text-primary: #e6e6e6;--text-secondary: #a3a3a3;--text-tertiary: #6b6b6b;--text-inverse: #1a1a1a;--color-red: #d13438;--color-red-dim: #8a2226;--color-red-bright: #ff4d4f;--color-yellow: #d4a72c;--color-yellow-dim: #8a6e1c;--color-yellow-bright: #fadb14;--color-green: #2d8653;--color-green-dim: #1d5737;--color-green-bright: #52c41a;--color-blue: #3b82f6;--color-purple: #8b5cf6;--color-focus: #d4a72c;--color-selection: rgba(212, 167, 44, .2);--font-primary: "Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;--font-mono: "JetBrains Mono", "Fira Code", "Consolas", monospace;--font-weight-regular: 400;--font-weight-medium: 500;--font-weight-semibold: 600;--font-weight-bold: 700;--text-xs: .75rem;--text-sm: .875rem;--text-base: 1rem;--text-lg: 1.125rem;--text-xl: 1.25rem;--text-2xl: 1.5rem;--text-3xl: 1.875rem;--text-4xl: 2.25rem;--leading-tight: 1.25;--leading-normal: 1.5;--leading-relaxed: 1.75;--tracking-tight: -.02em;--tracking-normal: 0;--tracking-wide: .02em;--space-1: .25rem;--space-2: .5rem;--space-3: .75rem;--space-4: 1rem;--space-5: 1.25rem;--space-6: 1.5rem;--space-8: 2rem;--space-10: 2.5rem;--space-12: 3rem;--space-16: 4rem;--space-20: 5rem;--spacing-component-xs: var(--space-2);--spacing-component-sm: var(--space-3);--spacing-component-md: var(--space-4);--spacing-component-lg: var(--space-6);--spacing-component-xl: var(--space-8);--radius-none: 0;--radius-sm: 2px;--radius-md: 4px;--radius-lg: 6px;--radius-full: 9999px;--shadow-sm: 0 1px 2px 0 rgba(0, 0, 0, .3);--shadow-md: 0 4px 6px -1px rgba(0, 0, 0, .3), 0 2px 4px -1px rgba(0, 0, 0, .2);--shadow-lg: 0 10px 15px -3px rgba(0, 0, 0, .3), 0 4px 6px -2px rgba(0, 0, 0, .2);--shadow-xl: 0 20px 25px -5px rgba(0, 0, 0, .3), 0 10px 10px -5px rgba(0, 0, 0, .2);--shadow-red: 0 0 0 3px rgba(209, 52, 56, .1);--shadow-yellow: 0 0 0 3px rgba(212, 167, 44, .1);--shadow-green: 0 0 0 3px rgba(45, 134, 83, .1);--transition-fast: .1s;--transition-base: .15s;--transition-slow: .2s;--transition-slower: .3s;--ease-in-out: cubic-bezier(.4, 0, .2, 1);--ease-out: cubic-bezier(0, 0, .2, 1)}*{box-sizing:border-box;margin:0;padding:0}body{font-family:var(--font-primary);background:var(--bg-primary);color:var(--text-primary);line-height:var(--leading-normal);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;min-width:320px;min-height:100vh}::selection{background:var(--color-selection);color:var(--text-primary)}::-webkit-scrollbar{width:8px;height:8px}::-webkit-scrollbar-track{background:var(--bg-primary)}::-webkit-scrollbar-thumb{background:var(--border-default);border-radius:var(--radius-md)}::-webkit-scrollbar-thumb:hover{background:var(--border-strong)}*:focus{outline:none}*:focus-visible{outline:2px solid var(--color-focus);outline-offset:2px}.heading-1{font-family:var(--font-primary);font-size:var(--text-4xl);font-weight:var(--font-weight-bold);line-height:var(--leading-tight);letter-spacing:var(--tracking-tight);color:var(--text-primary)}.heading-2{font-family:var(--font-primary);font-size:var(--text-3xl);font-weight:var(--font-weight-semibold);line-height:var(--leading-tight);letter-spacing:var(--tracking-tight);color:var(--text-primary)}.heading-3{font-family:var(--font-primary);font-size:var(--text-2xl);font-weight:var(--font-weight-semibold);line-height:var(--leading-tight);color:var(--text-primary)}.body-primary{font-family:var(--font-primary);font-size:var(--text-base);font-weight:var(--font-weight-regular);line-height:var(--leading-normal);color:var(--text-primary)}.body-secondary{font-family:var(--font-primary);font-size:var(--text-sm);font-weight:var(--font-weight-regular);line-height:var(--leading-normal);color:var(--text-secondary)}.text-mono{font-family:var(--font-mono);font-weight:var(--font-weight-medium);letter-spacing:var(--tracking-normal)}.data-value,.price,.quantity,.percentage{font-family:var(--font-mono);font-weight:var(--font-weight-semibold);font-variant-numeric:tabular-nums}.label{font-family:var(--font-primary);font-size:var(--text-xs);font-weight:var(--font-weight-medium);text-transform:uppercase;letter-spacing:var(--tracking-wide);color:var(--text-tertiary)}.btn{font-family:var(--font-primary);font-size:var(--text-sm);font-weight:var(--font-weight-medium);padding:var(--space-2) var(--space-4);border-radius:var(--radius-md);border:1px solid transparent;cursor:pointer;transition:all var(--transition-base) var(--ease-in-out);display:inline-flex;align-items:center;gap:var(--space-2);text-decoration:none;-webkit-user-select:none;user-select:none}.btn:hover{transform:translateY(-1px);box-shadow:var(--shadow-sm)}.btn:active{transform:translateY(0)}.btn:disabled{opacity:.5;cursor:not-allowed;pointer-events:none}.btn-primary{background:var(--color-green);color:var(--text-inverse);border-color:var(--color-green)}.btn-primary:hover{background:var(--color-green-bright);border-color:var(--color-green-bright)}.btn-secondary{background:var(--bg-tertiary);color:var(--text-primary);border-color:var(--border-default)}.btn-secondary:hover{background:var(--bg-elevated);border-color:var(--border-strong)}.btn-danger{background:var(--color-red-dim);color:var(--text-primary);border-color:var(--color-red)}.btn-danger:hover{background:var(--color-red);color:var(--text-inverse)}.btn-ghost{background:transparent;color:var(--text-secondary);border-color:transparent}.btn-ghost:hover{background:var(--bg-tertiary);color:var(--text-primary);transform:none;box-shadow:none}.btn-icon{padding:var(--space-2);aspect-ratio:1;display:flex;align-items:center;justify-content:center}.btn-sm{font-size:var(--text-xs);padding:var(--space-1) var(--space-3)}.btn-lg{font-size:var(--text-base);padding:var(--space-3) var(--space-6)}.input{font-family:var(--font-primary);font-size:var(--text-sm);padding:var(--space-2) var(--space-3);background:var(--bg-secondary);color:var(--text-primary);border:1px solid var(--border-default);border-radius:var(--radius-md);outline:none;transition:all var(--transition-base) var(--ease-in-out);width:100%}.input:hover{border-color:var(--border-strong)}.input:focus{border-color:var(--color-focus);box-shadow:var(--shadow-yellow)}.input::placeholder{color:var(--text-tertiary)}.input-data{font-family:var(--font-mono);font-weight:var(--font-weight-medium)}.input-error{border-color:var(--color-red)}.input-error:focus{border-color:var(--color-red);box-shadow:var(--shadow-red)}.card{background:var(--bg-secondary);border:1px solid var(--border-subtle);border-radius:var(--radius-lg);padding:var(--space-6);transition:all var(--transition-slow) var(--ease-in-out)}.card:hover{border-color:var(--border-default)}.card-sharp{border-left:2px solid var(--border-strong)}.card-sharp.accent-red{border-left-color:var(--color-red)}.card-sharp.accent-yellow{border-left-color:var(--color-yellow)}.card-sharp.accent-green{border-left-color:var(--color-green)}.card-interactive{cursor:pointer}.card-interactive:hover{border-color:var(--border-strong);box-shadow:var(--shadow-md);transform:translateY(-1px)}.table{width:100%;border-collapse:collapse;font-size:var(--text-sm)}.table thead{border-bottom:1px solid var(--border-default)}.table th{font-family:var(--font-primary);font-size:var(--text-xs);font-weight:var(--font-weight-semibold);text-transform:uppercase;letter-spacing:var(--tracking-wide);color:var(--text-tertiary);text-align:left;padding:var(--space-3) var(--space-4)}.table td{padding:var(--space-3) var(--space-4);border-bottom:1px solid var(--border-subtle);color:var(--text-primary)}.table tbody tr:hover{background:var(--bg-tertiary)}.table td.data-cell{font-family:var(--font-mono);font-weight:var(--font-weight-medium);font-variant-numeric:tabular-nums}.table-striped tbody tr:nth-child(2n){background:var(--bg-tertiary)}.badge{font-family:var(--font-primary);font-size:var(--text-xs);font-weight:var(--font-weight-semibold);padding:var(--space-1) var(--space-3);border-radius:var(--radius-full);display:inline-flex;align-items:center;gap:var(--space-1)}.badge-red{background:var(--color-red-dim);color:var(--color-red-bright)}.badge-yellow{background:var(--color-yellow-dim);color:var(--color-yellow-bright)}.badge-green{background:var(--color-green-dim);color:var(--color-green-bright)}.badge-neutral{background:var(--bg-tertiary);color:var(--text-secondary)}.divider{height:1px;background:var(--border-subtle);border:none;margin:var(--space-4) 0}.divider-strong{background:var(--border-default)}.divider-vertical{width:1px;height:auto;background:var(--border-subtle)}.container{max-width:1440px;margin:0 auto;padding:0 var(--space-6)}.container-narrow{max-width:1024px}.container-wide{max-width:1920px}.grid{display:grid;gap:var(--space-6)}.grid-2{grid-template-columns:repeat(2,1fr)}.grid-3{grid-template-columns:repeat(3,1fr)}.grid-4{grid-template-columns:repeat(4,1fr)}.grid-auto{grid-template-columns:repeat(auto-fill,minmax(300px,1fr))}.flex{display:flex}.flex-col{flex-direction:column}.items-center{align-items:center}.items-start{align-items:flex-start}.items-end{align-items:flex-end}.justify-between{justify-content:space-between}.justify-center{justify-content:center}.justify-start{justify-content:flex-start}.justify-end{justify-content:flex-end}.gap-1{gap:var(--space-1)}.gap-2{gap:var(--space-2)}.gap-3{gap:var(--space-3)}.gap-4{gap:var(--space-4)}.gap-6{gap:var(--space-6)}.gap-8{gap:var(--space-8)}.transition-base{transition:all var(--transition-base) var(--ease-in-out)}.skeleton{background:var(--bg-tertiary);animation:pulse 2s var(--ease-in-out) infinite;border-radius:var(--radius-md)}.text-primary{color:var(--text-primary)}.text-secondary{color:var(--text-secondary)}.text-tertiary{color:var(--text-tertiary)}.text-red{color:var(--color-red)}.text-yellow{color:var(--color-yellow)}.text-green{color:var(--color-green)}.bg-primary{background:var(--bg-primary)}.bg-secondary{background:var(--bg-secondary)}.bg-tertiary{background:var(--bg-tertiary)}.bg-elevated{background:var(--bg-elevated)}.p-0{padding:0}.p-2{padding:var(--space-2)}.p-4{padding:var(--space-4)}.p-6{padding:var(--space-6)}.m-0{margin:0}.m-2{margin:var(--space-2)}.m-4{margin:var(--space-4)}.m-6{margin:var(--space-6)}.mt-2{margin-top:var(--space-2)}.mt-4{margin-top:var(--space-4)}.mt-6{margin-top:var(--space-6)}.mb-2{margin-bottom:var(--space-2)}.mb-4{margin-bottom:var(--space-4)}.mb-6{margin-bottom:var(--space-6)}.loading-spinner-enhanced{position:relative;width:48px;height:48px}.loading-spinner-enhanced:before,.loading-spinner-enhanced:after{content:"";position:absolute;border-radius:50%}.loading-spinner-enhanced:before{width:48px;height:48px;border:3px solid var(--border-subtle);border-top-color:var(--color-yellow);animation:spin .8s linear infinite}.loading-spinner-enhanced:after{width:48px;height:48px;border:3px solid transparent;border-top-color:var(--color-yellow);opacity:.3;animation:spin .8s linear infinite reverse}.skeleton{background:linear-gradient(90deg,var(--bg-tertiary) 0%,var(--bg-elevated) 50%,var(--bg-tertiary) 100%);background-size:200% 100%;animation:skeleton-loading 1.5s ease-in-out infinite;border-radius:var(--radius-md)}@keyframes skeleton-loading{0%{background-position:200% 0}to{background-position:-200% 0}}.skeleton-text{height:1rem;margin-bottom:var(--space-2)}.skeleton-text-lg{height:1.5rem;margin-bottom:var(--space-3)}.skeleton-button{height:40px;width:120px;border-radius:var(--radius-md)}.skeleton-avatar{width:40px;height:40px;border-radius:50%}.skeleton-card{height:200px;border-radius:var(--radius-lg)}.skeleton-table{width:100%;border-collapse:collapse}.skeleton-table tr{border-bottom:1px solid var(--border-subtle)}.skeleton-table td{padding:var(--space-4)}.skeleton-table .skeleton{height:1rem}.loading-overlay{position:absolute;inset:0;background:#1a1a1ab3;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);display:flex;align-items:center;justify-content:center;z-index:100;border-radius:inherit}@keyframes pulse{0%,to{opacity:1}50%{opacity:.5}}.pulse{animation:pulse 2s cubic-bezier(.4,0,.6,1) infinite}.shimmer{position:relative;overflow:hidden}.shimmer:after{content:"";position:absolute;inset:0;transform:translate(-100%);background:linear-gradient(90deg,transparent 0%,rgba(255,255,255,.05) 50%,transparent 100%);animation:shimmer 2s infinite}@keyframes shimmer{to{transform:translate(100%)}}.loading-dots{display:inline-flex;gap:var(--space-2)}.loading-dots span{width:8px;height:8px;background:var(--color-yellow);border-radius:50%;animation:dot-bounce 1.4s infinite ease-in-out both}.loading-dots span:nth-child(1){animation-delay:-.32s}.loading-dots span:nth-child(2){animation-delay:-.16s}@keyframes dot-bounce{0%,80%,to{transform:scale(0);opacity:.5}40%{transform:scale(1);opacity:1}}.page-transition{animation:fadeIn .3s ease-in-out}@keyframes fadeIn{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.slide-in-right{animation:slideInRight .3s ease-out}@keyframes slideInRight{0%{transform:translate(100%);opacity:0}to{transform:translate(0);opacity:1}}.slide-in-left{animation:slideInLeft .3s ease-out}@keyframes slideInLeft{0%{transform:translate(-100%);opacity:0}to{transform:translate(0);opacity:1}}.scale-in{animation:scaleIn .2s ease-out}@keyframes scaleIn{0%{transform:scale(.95);opacity:0}to{transform:scale(1);opacity:1}}.fade-out{animation:fadeOut .2s ease-in-out}@keyframes fadeOut{0%{opacity:1}to{opacity:0}}.stagger-children>*{animation:fadeIn .3s ease-out backwards}.stagger-children>*:nth-child(1){animation-delay:.05s}.stagger-children>*:nth-child(2){animation-delay:.1s}.stagger-children>*:nth-child(3){animation-delay:.15s}.stagger-children>*:nth-child(4){animation-delay:.2s}.stagger-children>*:nth-child(5){animation-delay:.25s}.stagger-children>*:nth-child(6){animation-delay:.3s}.stagger-children>*:nth-child(7){animation-delay:.35s}.stagger-children>*:nth-child(8){animation-delay:.4s}.outlet-selector{position:relative;display:inline-block}.outlet-selector.loading,.outlet-selector.empty{padding:.375rem .75rem;font-size:.875rem;color:var(--text-secondary, #a3a3a3)}.outlet-selector-button{display:flex;align-items:center;gap:.5rem;padding:.375rem .75rem;background:var(--bg-tertiary, #2d2d2d);border:1px solid var(--border-default, #3d3d3d);border-radius:4px;cursor:pointer;font-family:var(--font-primary, "Inter", sans-serif);font-size:.875rem;color:var(--text-primary, #e6e6e6);transition:all .15s ease;min-width:200px}.outlet-selector-button:hover{background:var(--bg-elevated, #323232);border-color:var(--border-strong, #4d4d4d)}.outlet-selector-button:focus{outline:none;border-color:var(--color-yellow, #d4a72c);box-shadow:0 0 0 3px #d4a72c1a}.outlet-icon{font-size:1rem;flex-shrink:0}.outlet-name{flex:1;text-align:left;font-weight:500;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.outlet-dropdown-arrow{font-size:.625rem;color:var(--text-tertiary, #6b6b6b);transition:transform .15s ease}.outlet-selector-button[aria-expanded=true] .outlet-dropdown-arrow{transform:rotate(180deg)}.outlet-dropdown{position:absolute;top:calc(100% + .5rem);left:0;min-width:100%;max-width:300px;background:var(--bg-elevated, #323232);border:1px solid var(--border-default, #3d3d3d);border-radius:6px;box-shadow:0 10px 15px -3px #0000004d,0 4px 6px -2px #0003;z-index:1000;max-height:400px;overflow-y:auto;animation:dropdownFadeIn .15s ease}.outlet-dropdown-item{display:flex;align-items:center;gap:.75rem;width:100%;padding:.75rem 1rem;background:transparent;border:none;text-align:left;cursor:pointer;transition:all .15s ease}.outlet-dropdown-item:hover{background:var(--bg-tertiary, #2d2d2d)}.outlet-dropdown-item.active{background:var(--bg-tertiary, #2d2d2d);border-left:2px solid var(--color-yellow, #d4a72c)}.outlet-dropdown-item:first-child{border-radius:6px 6px 0 0}.outlet-dropdown-item:last-child{border-radius:0 0 6px 6px}.outlet-info{display:flex;flex-direction:column;gap:.25rem;flex:1;min-width:0}.outlet-name-text{font-family:var(--font-primary, "Inter", sans-serif);font-size:.875rem;font-weight:500;color:var(--text-primary, #e6e6e6);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.outlet-location{font-family:var(--font-mono, "JetBrains Mono", monospace);font-size:.75rem;color:var(--text-tertiary, #6b6b6b);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.checkmark{color:var(--color-yellow, #d4a72c);font-weight:700;margin-left:auto}.outlet-dropdown-divider{height:1px;background:var(--border-subtle, #2d2d2d);margin:.25rem 0}@media(max-width:768px){.outlet-selector-button{min-width:150px;padding:6px 12px;font-size:13px}.outlet-dropdown{max-width:250px}.outlet-dropdown-item{padding:10px 12px}}.impersonation-banner{background:linear-gradient(90deg,#dc2626,#ef4444);border-bottom:2px solid #b91c1c;padding:.75rem 0;position:sticky;top:0;z-index:101}.impersonation-content{max-width:1920px;margin:0 auto;padding:0 1.5rem;display:flex;align-items:center;justify-content:space-between}.impersonation-info{display:flex;align-items:center;gap:.75rem;color:#fff}.impersonation-text{font-size:.875rem;font-weight:500}.impersonation-text strong{font-weight:700}.impersonation-subtext{font-size:.75rem;opacity:.9;font-style:italic}.btn-exit-impersonation{padding:.5rem 1rem;background:#fff;color:#dc2626;border:none;border-radius:4px;font-size:.875rem;font-weight:600;cursor:pointer;transition:all .15s ease}.btn-exit-impersonation:hover{background:#fee2e2;transform:translateY(-1px);box-shadow:0 2px 4px #0003}.navigation{background:var(--bg-secondary, #242424);border-bottom:1px solid var(--border-default, #3d3d3d);position:sticky;top:0;z-index:100;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}.nav-container{max-width:1920px;margin:0 auto;padding:0 1.5rem;display:flex;align-items:center;justify-content:space-between;height:60px}.nav-left{display:flex;align-items:center;gap:2rem}.nav-brand{display:flex;align-items:center}.brand-link{text-decoration:none;display:flex;flex-direction:column;gap:0}.brand-name{font-family:var(--font-primary, "Inter", sans-serif);font-size:1.125rem;font-weight:700;color:var(--text-primary, #e6e6e6);letter-spacing:-.02em;line-height:1}.brand-module{font-family:var(--font-primary, "Inter", sans-serif);font-size:.75rem;font-weight:500;color:var(--text-tertiary, #6b6b6b);letter-spacing:.02em;text-transform:uppercase;line-height:1;margin-top:2px}.nav-links{display:flex;align-items:center;gap:.5rem}.nav-link{font-family:var(--font-primary, "Inter", sans-serif);font-size:.875rem;font-weight:500;color:var(--text-secondary, #a3a3a3);text-decoration:none;padding:.5rem .75rem;border-radius:4px;transition:all .15s ease}.nav-link:hover{color:var(--text-primary, #e6e6e6);background:var(--bg-tertiary, #2d2d2d)}.nav-link.active{color:var(--text-primary, #e6e6e6);background:var(--bg-tertiary, #2d2d2d);border-bottom:2px solid var(--color-yellow, #d4a72c)}.nav-link.super-admin-link{color:var(--color-red-bright, #ff4d4f);background:#d434381a;border-bottom:2px solid transparent;font-weight:600}.nav-link.super-admin-link:hover{color:#ff7875;background:#d4343826}.nav-link.super-admin-link.active{color:var(--color-red-bright, #ff4d4f);background:#d4343826;border-bottom:2px solid var(--color-red-bright, #ff4d4f)}.nav-right{display:flex;align-items:center;gap:1rem}.org-badge{display:flex;align-items:center;gap:.5rem;padding:.375rem .75rem;background:var(--bg-tertiary, #2d2d2d);border:1px solid var(--border-default, #3d3d3d);border-radius:4px}.org-name{font-family:var(--font-primary, "Inter", sans-serif);font-size:.875rem;font-weight:500;color:var(--text-primary, #e6e6e6)}.tier-badge{font-family:var(--font-primary, "Inter", sans-serif);font-size:.75rem;font-weight:600;padding:.125rem .5rem;border-radius:9999px;text-transform:uppercase;letter-spacing:.02em}.tier-badge.tier-free{background:var(--bg-elevated, #323232);color:var(--text-secondary, #a3a3a3)}.tier-badge.tier-basic{background:#3b82f626;color:#60a5fa}.tier-badge.tier-pro{background:#d4a72c26;color:var(--color-yellow-bright, #fadb14)}.tier-badge.tier-enterprise{background:#8b5cf626;color:#a78bfa}.user-menu{position:relative}.user-menu-trigger{display:flex;align-items:center;gap:.5rem;padding:.375rem .75rem;background:var(--bg-tertiary, #2d2d2d);border:1px solid var(--border-default, #3d3d3d);border-radius:4px;color:var(--text-primary, #e6e6e6);cursor:pointer;font-family:var(--font-primary, "Inter", sans-serif);font-size:.875rem;transition:all .15s ease}.user-menu-trigger:hover{background:var(--bg-elevated, #323232);border-color:var(--border-strong, #4d4d4d)}.user-name{font-weight:500}.user-role{font-size:.75rem;font-weight:600;padding:.125rem .5rem;border-radius:9999px;text-transform:uppercase;letter-spacing:.02em}.user-role.role-admin{background:#d4343826;color:var(--color-red-bright, #ff4d4f)}.user-role.role-chef{background:#d4a72c26;color:var(--color-yellow-bright, #fadb14)}.user-role.role-viewer{background:#2d865326;color:var(--color-green-bright, #52c41a)}.user-menu-arrow{font-size:.625rem;color:var(--text-tertiary, #6b6b6b);transition:transform .15s ease}.user-menu-dropdown{position:absolute;top:calc(100% + .5rem);right:0;min-width:220px;background:var(--bg-elevated, #323232);border:1px solid var(--border-default, #3d3d3d);border-radius:6px;box-shadow:0 10px 15px -3px #0000004d,0 4px 6px -2px #0003;overflow:hidden;animation:dropdownFadeIn .15s ease}@keyframes dropdownFadeIn{0%{opacity:0;transform:translateY(-8px)}to{opacity:1;transform:translateY(0)}}.user-menu-header{padding:.75rem 1rem;background:var(--bg-tertiary, #2d2d2d)}.user-menu-name{font-family:var(--font-primary, "Inter", sans-serif);font-size:.875rem;font-weight:600;color:var(--text-primary, #e6e6e6)}.user-menu-email{font-family:var(--font-mono, "JetBrains Mono", monospace);font-size:.75rem;color:var(--text-tertiary, #6b6b6b);margin-top:.25rem}.user-menu-divider{height:1px;background:var(--border-subtle, #2d2d2d)}.user-menu-item{width:100%;display:flex;align-items:center;gap:.75rem;padding:.75rem 1rem;background:transparent;border:none;color:var(--text-primary, #e6e6e6);font-family:var(--font-primary, "Inter", sans-serif);font-size:.875rem;font-weight:500;text-align:left;cursor:pointer;transition:all .15s ease}.user-menu-item:hover{background:var(--bg-tertiary, #2d2d2d);color:var(--color-red-bright, #ff4d4f)}.user-menu-icon{font-size:1rem}@media(max-width:768px){.nav-container{height:auto;flex-direction:column;padding:1rem;gap:1rem}.nav-left{width:100%;flex-direction:column;gap:1rem}.nav-links{width:100%;flex-wrap:wrap;justify-content:center}.nav-right{width:100%;justify-content:space-between}}.home{min-height:100vh;background:var(--bg-primary)}.home-container{max-width:1200px;width:100%;margin:0 auto;padding:var(--space-8);display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:calc(100vh - 60px)}.home-header{text-align:center;margin-bottom:var(--space-12)}.header-top{display:flex;justify-content:space-between;align-items:center;margin-bottom:var(--space-8);padding:var(--space-4) 0}.user-name{font-family:var(--font-primary);font-weight:var(--font-weight-medium);font-size:var(--text-base);color:var(--text-primary)}.user-role{padding:var(--space-1) var(--space-3);border-radius:var(--radius-full);font-size:var(--text-xs);font-weight:var(--font-weight-semibold);text-transform:uppercase;letter-spacing:var(--tracking-wide)}.btn-logout{padding:var(--space-2) var(--space-4);background:var(--bg-secondary);color:var(--text-primary);border:1px solid var(--border-default);border-radius:var(--radius-md);font-family:var(--font-primary);font-size:var(--text-sm);font-weight:var(--font-weight-medium);cursor:pointer;transition:all var(--transition-base) var(--ease-in-out)}.btn-logout:hover{background:var(--bg-tertiary);border-color:var(--border-strong)}.home-header h1{font-family:var(--font-primary);font-size:4rem;font-weight:var(--font-weight-bold);line-height:var(--leading-tight);letter-spacing:var(--tracking-tight);color:var(--text-primary);margin-bottom:var(--space-4)}.home-header p{font-size:var(--text-xl);color:var(--text-secondary);font-weight:var(--font-weight-regular)}.nav-cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:var(--space-6);margin-bottom:var(--space-8);width:100%}.nav-card{background:var(--bg-secondary);border:1px solid var(--border-subtle);border-radius:var(--radius-lg);padding:var(--space-8);text-decoration:none;transition:all var(--transition-slow) var(--ease-in-out);position:relative;overflow:hidden}.nav-card:before{content:"";position:absolute;top:0;left:0;width:100%;height:2px;background:var(--border-default);transform:scaleX(0);transform-origin:left;transition:transform var(--transition-base) var(--ease-in-out)}.nav-card:hover:before{transform:scaleX(1)}.nav-card:hover{transform:translateY(-4px);border-color:var(--border-default);box-shadow:var(--shadow-lg)}.card-icon{font-size:3rem;margin-bottom:var(--space-4);color:var(--text-secondary);transition:color var(--transition-base) var(--ease-in-out)}.nav-card:hover .card-icon{color:var(--color-yellow)}.nav-card h2{font-family:var(--font-primary);font-size:var(--text-2xl);font-weight:var(--font-weight-semibold);color:var(--text-primary);margin-bottom:var(--space-2);line-height:var(--leading-tight)}.nav-card p{font-size:var(--text-sm);color:var(--text-secondary);line-height:var(--leading-relaxed);margin-bottom:var(--space-6)}.card-arrow{position:absolute;bottom:var(--space-6);right:var(--space-6);font-size:1.5rem;color:var(--text-tertiary);transition:all var(--transition-base) var(--ease-in-out)}.nav-card:hover .card-arrow{transform:translate(8px);color:var(--color-yellow)}.nav-card.admin-card:before{background:var(--color-red)}.nav-card.admin-card:hover .card-icon,.nav-card.admin-card:hover .card-arrow{color:var(--color-red)}.home-footer{text-align:center;color:var(--text-tertiary);font-size:var(--text-sm);font-family:var(--font-mono);letter-spacing:var(--tracking-wide)}@media(max-width:768px){.home{padding:var(--space-4)}.home-header h1{font-size:2.5rem}.home-header p{font-size:var(--text-base)}.nav-cards{grid-template-columns:1fr;gap:var(--space-4)}.nav-card{padding:var(--space-6)}.header-top{flex-direction:column;gap:var(--space-4);align-items:flex-start}}.outlet-badge{display:inline-flex;align-items:center;gap:.375rem;padding:.25rem .625rem;background:#d4a72c26;border:1px solid rgba(212,167,44,.3);border-radius:4px;font-family:var(--font-primary, "Inter", sans-serif);font-size:.75rem;font-weight:600;color:var(--color-yellow-bright, #fadb14);white-space:nowrap}.outlet-badge-icon{font-size:.875rem;line-height:1}.outlet-badge-text{line-height:1}.outlet-badge.compact{padding:.125rem .5rem;font-size:.6875rem}.outlet-badge.compact .outlet-badge-icon{font-size:.75rem}.filters{display:flex;gap:var(--space-4);margin-bottom:var(--space-6);align-items:center;flex-wrap:wrap}.search-input{flex:1;min-width:250px;padding:var(--space-3) var(--space-4);font-size:var(--text-base);font-family:var(--font-primary);border:1px solid var(--border-default);border-radius:var(--radius-md);background:var(--bg-tertiary);color:var(--text-primary);transition:all var(--transition-base) var(--ease-in-out)}.search-input:focus{outline:none;border-color:var(--color-yellow);box-shadow:0 0 0 3px #d4a72c1a}.checkbox-label{display:flex;align-items:center;gap:var(--space-2);padding:var(--space-3) var(--space-4);background:var(--bg-secondary);border:1px solid var(--border-default);border-radius:var(--radius-md);cursor:pointer;-webkit-user-select:none;user-select:none;white-space:nowrap;transition:all var(--transition-base) var(--ease-in-out)}.checkbox-label:hover{border-color:var(--border-strong)}.checkbox-label input[type=checkbox]{width:18px;height:18px;cursor:pointer}.results-count{padding:var(--space-3) var(--space-4);background:var(--bg-secondary);border:1px solid var(--border-default);border-radius:var(--radius-md);color:var(--text-secondary);font-weight:var(--font-weight-medium);font-family:var(--font-mono)}.loading{text-align:center;padding:var(--space-12);font-size:var(--text-lg);color:var(--text-secondary);background:var(--bg-secondary);border:1px solid var(--border-subtle);border-radius:var(--radius-lg);display:flex;flex-direction:column;align-items:center;gap:var(--space-4)}.loading .loading-spinner-enhanced{margin-bottom:var(--space-2)}.empty-state{text-align:center;padding:var(--space-12);font-size:var(--text-lg);color:var(--text-tertiary);background:var(--bg-secondary);border:1px solid var(--border-subtle);border-radius:var(--radius-lg)}.table-container{background:var(--bg-secondary);border:1px solid var(--border-subtle);border-radius:var(--radius-lg);overflow-x:auto;box-shadow:var(--shadow-sm);max-width:100%;-webkit-overflow-scrolling:touch}.table-container::-webkit-scrollbar{height:8px}.table-container::-webkit-scrollbar-track{background:var(--bg-tertiary);border-radius:var(--radius-sm)}.table-container::-webkit-scrollbar-thumb{background:var(--border-strong);border-radius:var(--radius-sm)}.table-container::-webkit-scrollbar-thumb:hover{background:var(--text-tertiary)}.products-table{width:100%;min-width:1100px;border-collapse:collapse}.products-table thead{background:var(--bg-tertiary);border-bottom:2px solid var(--border-default)}.products-table th{padding:var(--space-4);text-align:left;font-weight:var(--font-weight-semibold);color:var(--text-secondary);font-size:var(--text-xs);font-family:var(--font-primary);text-transform:uppercase;letter-spacing:var(--tracking-wide)}.products-table tbody tr{border-bottom:1px solid var(--border-subtle);transition:background-color var(--transition-fast) var(--ease-in-out)}.products-table tbody tr:hover{background:var(--bg-tertiary)}.products-table tbody tr:last-child{border-bottom:none}.products-table td{padding:var(--space-4);color:var(--text-secondary);font-size:var(--text-sm);font-family:var(--font-primary)}.product-name{font-weight:var(--font-weight-medium);color:var(--text-primary);max-width:300px}.brand-cell{color:var(--color-yellow);font-weight:var(--font-weight-medium)}.distributor-cell{color:var(--text-secondary)}.price-cell{font-weight:var(--font-weight-semibold);color:var(--text-primary);font-variant-numeric:tabular-nums;font-family:var(--font-mono)}.text-right{text-align:right}.text-center{text-align:center}.status-badge{display:inline-block;padding:var(--space-1) var(--space-3);border-radius:var(--radius-full);font-size:var(--text-xs);font-weight:var(--font-weight-semibold);font-family:var(--font-primary);text-transform:uppercase;letter-spacing:var(--tracking-wide)}.status-badge.mapped{background:var(--color-green-dim);color:var(--color-green-bright);border:1px solid var(--color-green)}.status-badge.unmapped{background:var(--color-yellow-dim);color:var(--color-yellow-bright);border:1px solid var(--color-yellow)}.mapping-cell{position:relative;min-width:200px}.mapping-display{display:flex;align-items:center;gap:.5rem}.common-product-badge{display:inline-block;padding:var(--space-1) var(--space-3);background:var(--color-yellow);color:var(--bg-primary);border:1px solid var(--color-yellow);border-radius:var(--radius-full);font-size:var(--text-xs);font-weight:var(--font-weight-medium);font-family:var(--font-primary);transition:all var(--transition-base) var(--ease-in-out)}.common-product-badge.clickable{cursor:pointer}.common-product-badge.clickable:hover{background:var(--color-yellow-dim);color:var(--color-yellow-bright);transform:scale(1.05)}.common-product-edit{display:inline-block}.common-product-edit-input{padding:var(--space-1) var(--space-3);border:2px solid var(--color-yellow);border-radius:var(--radius-full);font-size:var(--text-xs);font-weight:var(--font-weight-medium);font-family:var(--font-primary);color:var(--color-yellow-bright);background:var(--color-yellow-dim);outline:none;min-width:150px}.btn-map{padding:var(--space-1) var(--space-3);background:var(--color-yellow);color:var(--bg-primary);border:none;border-radius:var(--radius-md);font-size:var(--text-xs);font-weight:var(--font-weight-semibold);font-family:var(--font-primary);cursor:pointer;transition:all var(--transition-base) var(--ease-in-out)}.btn-map:hover{background:var(--color-yellow-bright)}.btn-unmap{padding:var(--space-1) var(--space-2);background:var(--color-red);color:#fff;border:none;border-radius:var(--radius-sm);font-size:var(--text-base);line-height:1;cursor:pointer;transition:all var(--transition-base) var(--ease-in-out)}.btn-unmap:hover{background:var(--color-red-bright)}.mapping-editor{position:relative}.mapping-input{width:100%;padding:var(--space-2);border:2px solid var(--color-yellow);border-radius:var(--radius-md);font-size:var(--text-sm);font-family:var(--font-primary);background:var(--bg-tertiary);color:var(--text-primary);outline:none}.mapping-actions{display:flex;gap:var(--space-2);margin-top:var(--space-2)}.btn-cancel{padding:var(--space-1) var(--space-3);background:var(--bg-tertiary);color:var(--text-secondary);border:1px solid var(--border-default);border-radius:var(--radius-md);font-size:var(--text-xs);font-family:var(--font-primary);cursor:pointer;transition:all var(--transition-base) var(--ease-in-out)}.autocomplete-dropdown{position:absolute;top:100%;left:0;right:0;background:var(--bg-elevated);border:1px solid var(--border-default);border-radius:var(--radius-md);box-shadow:var(--shadow-lg);max-height:200px;overflow-y:auto;z-index:1000;margin-top:var(--space-1)}.autocomplete-item{padding:var(--space-3);cursor:pointer;transition:background var(--transition-fast) var(--ease-in-out);display:flex;align-items:center;justify-content:space-between;color:var(--text-primary);font-family:var(--font-primary)}.autocomplete-item.create-new{color:var(--color-yellow);font-weight:var(--font-weight-medium);border-top:1px solid var(--border-default)}.category-tag{font-size:var(--text-xs);padding:var(--space-1) var(--space-2);background:var(--bg-tertiary);border-radius:var(--radius-md);color:var(--text-tertiary);font-family:var(--font-mono)}@media(max-width:1200px){.products-table{min-width:1000px}}@media(max-width:768px){.filters{flex-direction:column;align-items:stretch}.search-input{width:100%}}.common-product-display{display:flex;align-items:center;gap:.5rem;flex-wrap:wrap}.allergen-icons{display:flex;align-items:center;gap:.15rem}.allergen-icon{font-size:.9rem;cursor:default}.allergen-more{font-size:.7rem;color:#666;padding:.1rem .3rem;background:#f0f0f0;border-radius:8px}.btn-allergen{padding:.25rem .4rem;background:transparent;border:1px solid #ddd;border-radius:4px;font-size:.9rem;cursor:pointer;transition:all .2s}.btn-allergen:hover{background:#f5f5f5;border-color:#999}.modal-overlay{position:fixed;inset:0;background:#000000b3;display:flex;align-items:center;justify-content:center;z-index:2000;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.modal-content{background:var(--bg-secondary);border:1px solid var(--border-default);border-radius:var(--radius-lg);max-width:600px;width:90%;max-height:90vh;overflow-y:auto;box-shadow:var(--shadow-xl)}.allergen-modal{max-width:750px;width:90%}.modal-header{display:flex;justify-content:space-between;align-items:center;padding:var(--space-5) var(--space-6);border-bottom:1px solid var(--border-default)}.modal-body{padding:var(--space-6)}.allergen-product-name{font-size:var(--text-lg);font-weight:var(--font-weight-semibold);font-family:var(--font-primary);color:var(--text-primary);margin-bottom:var(--space-6);padding-bottom:var(--space-4);border-bottom:1px solid var(--border-default)}.allergen-section{margin-bottom:1.5rem}.allergen-section h3{font-size:1rem;color:var(--text-primary);margin:0 0 .25rem}.allergen-section-note{font-size:.85rem;color:var(--text-secondary);margin:0 0 1rem}.allergen-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(130px,1fr));gap:.5rem}.dietary-grid{grid-template-columns:repeat(2,1fr)}.allergen-checkbox{display:flex;align-items:center;gap:var(--space-2);padding:var(--space-2) var(--space-3);background:var(--bg-tertiary);border:2px solid transparent;border-radius:var(--radius-md);cursor:pointer;transition:all var(--transition-base) var(--ease-in-out)}.allergen-checkbox:hover{background:var(--bg-elevated)}.allergen-checkbox.active{background:var(--color-yellow-dim);border-color:var(--color-yellow)}.allergen-checkbox.dietary.active{background:var(--color-green-dim);border-color:var(--color-green)}.allergen-checkbox input[type=checkbox]{display:none}.allergen-checkbox-icon{font-size:1.25rem}.allergen-checkbox-label{font-size:.85rem;color:var(--text-primary);font-weight:500}.dietary-section{margin-top:1.5rem;padding-top:1.5rem;border-top:1px solid #e0e0e0}.modal-footer{padding:1rem 1.5rem;border-top:1px solid #e0e0e0;display:flex;justify-content:flex-end}.btn-done{padding:.6rem 1.5rem;background:#667eea;color:#fff;border:none;border-radius:6px;font-size:.95rem;font-weight:600;cursor:pointer;transition:background .2s}.btn-done:hover{background:#5568d3}.page-header{display:flex;justify-content:space-between;align-items:flex-start;margin-top:var(--space-6);margin-bottom:1.5rem}.header-content h1{margin-bottom:.25rem}.header-content p{margin:0;color:#666}.btn-upload-toggle{padding:var(--space-2) var(--space-5);background:var(--color-yellow);color:var(--bg-primary);border:none;border-radius:var(--radius-md);font-size:var(--text-sm);font-weight:var(--font-weight-medium);font-family:var(--font-primary);cursor:pointer;transition:all var(--transition-base) var(--ease-in-out);white-space:nowrap}.btn-upload-toggle:hover{background:var(--color-yellow-bright);transform:translateY(-1px);box-shadow:var(--shadow-sm)}.btn-upload-toggle.active{background:var(--bg-tertiary);color:var(--text-secondary)}.upload-section{background:var(--bg-secondary);border:2px dashed var(--border-default);border-radius:var(--radius-lg);padding:var(--space-6);margin-bottom:var(--space-6);box-shadow:var(--shadow-sm)}.upload-section h3{margin:0 0 1rem;font-size:1.1rem;color:#333}.upload-form{display:flex;flex-direction:column;gap:1rem}.upload-row{display:flex;gap:1.5rem;flex-wrap:wrap}.upload-field{display:flex;flex-direction:column;gap:.4rem}.upload-field label{font-size:.85rem;font-weight:500;color:#555}.upload-select,.upload-date{padding:var(--space-2) var(--space-3);border:1px solid var(--border-default);border-radius:var(--radius-md);font-size:var(--text-sm);font-family:var(--font-primary);min-width:180px;background:var(--bg-tertiary);color:var(--text-primary)}.upload-select:focus,.upload-date:focus{outline:none;border-color:var(--color-yellow);box-shadow:0 0 0 3px #d4a72c1a}.upload-file-area{margin-top:.5rem}.file-input{display:none}.file-label{display:flex;align-items:center;justify-content:center;padding:var(--space-8);border:2px dashed var(--border-default);border-radius:var(--radius-md);background:var(--bg-tertiary);cursor:pointer;transition:all var(--transition-base) var(--ease-in-out);font-size:var(--text-sm);font-family:var(--font-primary);color:var(--text-secondary)}.file-label:hover{border-color:var(--color-yellow);background:var(--bg-elevated)}.file-selected{color:var(--text-primary);font-weight:var(--font-weight-medium)}.upload-actions{display:flex;gap:var(--space-3);margin-top:var(--space-2)}.btn-upload{padding:var(--space-3) var(--space-6);background:var(--color-green);color:#fff;border:none;border-radius:var(--radius-md);font-size:var(--text-sm);font-weight:var(--font-weight-semibold);font-family:var(--font-primary);cursor:pointer;transition:all var(--transition-base) var(--ease-in-out)}.btn-upload:hover:not(:disabled){background:var(--color-green-bright);transform:translateY(-1px);box-shadow:var(--shadow-sm)}.btn-upload:disabled{background:var(--bg-tertiary);color:var(--text-tertiary);cursor:not-allowed}.btn-clear{padding:var(--space-3) var(--space-5);background:var(--bg-tertiary);color:var(--text-secondary);border:1px solid var(--border-default);border-radius:var(--radius-md);font-size:var(--text-sm);font-family:var(--font-primary);cursor:pointer;transition:all var(--transition-base) var(--ease-in-out)}.btn-clear:hover{background:var(--bg-elevated);border-color:var(--border-strong)}.upload-result{padding:var(--space-6);border-radius:var(--radius-lg)}.upload-result.success{background:var(--color-green-dim);border:1px solid var(--color-green)}.upload-result.error{background:var(--color-red-dim);border:1px solid var(--color-red)}.result-header{display:flex;align-items:center;gap:var(--space-3);margin-bottom:var(--space-4)}.result-icon{font-size:var(--text-2xl);width:2rem;height:2rem;display:flex;align-items:center;justify-content:center;border-radius:var(--radius-full)}.upload-result.success .result-icon{background:var(--color-green);color:#fff}.upload-result.error .result-icon{background:var(--color-red);color:#fff}.result-message{font-size:var(--text-base);font-weight:var(--font-weight-medium);font-family:var(--font-primary)}.upload-result.success .result-message{color:var(--color-green-bright)}.upload-result.error .result-message{color:var(--color-red-bright)}.result-stats{display:flex;gap:2rem;margin-bottom:1rem;flex-wrap:wrap}.result-stats .stat{display:flex;flex-direction:column;align-items:center;padding:.75rem 1.5rem;background:#ffffffb3;border-radius:6px}.result-stats .stat.warning{background:#fff3cd}.stat-value{font-size:1.5rem;font-weight:700;color:#333}.stat-label{font-size:.8rem;color:#666;text-transform:uppercase;letter-spacing:.5px}.result-errors{margin-top:1rem;padding:1rem;background:#ffffff80;border-radius:6px}.result-errors h4{margin:0 0 .5rem;font-size:.9rem;color:#721c24}.result-errors ul{margin:0;padding-left:1.25rem;font-size:.85rem;color:#721c24}.btn-new-upload{margin-top:1rem;padding:.6rem 1.25rem;background:#667eea;color:#fff;border:none;border-radius:6px;font-size:.9rem;cursor:pointer;transition:background .2s}.btn-new-upload:hover{background:#5568d3}.editable-cell{cursor:pointer;padding:var(--space-1) var(--space-2);border-radius:var(--radius-sm);transition:background var(--transition-fast) var(--ease-in-out);display:inline-block;min-width:30px}.editable-cell:hover{background:var(--bg-tertiary)}.inline-edit-input{width:100%;max-width:120px;padding:var(--space-1) var(--space-2);border:2px solid var(--color-yellow);border-radius:var(--radius-sm);font-size:var(--text-sm);font-family:var(--font-primary);background:var(--bg-tertiary);color:var(--text-primary);outline:none}.inline-edit-input:focus{box-shadow:0 0 0 3px #d4a72c1a}.inline-edit-input[type=number]{max-width:80px;text-align:center}.inline-edit-select{padding:.35rem .5rem;border:2px solid #667eea;border-radius:4px;font-size:.9rem;outline:none;background:#fff;cursor:pointer;min-width:70px}.inline-edit-select:focus{box-shadow:0 0 0 3px #667eea33}.product-name .inline-edit-input{max-width:280px}.brand-cell .inline-edit-input{max-width:150px}.catch-weight-toggle{background:none;border:1px solid var(--border-default);border-radius:var(--radius-sm);width:28px;height:28px;cursor:pointer;font-size:var(--text-sm);color:var(--text-tertiary);transition:all var(--transition-base) var(--ease-in-out);display:inline-flex;align-items:center;justify-content:center}.catch-weight-toggle:hover{background:var(--bg-tertiary);border-color:var(--border-strong)}.catch-weight-toggle.active{background:var(--color-yellow-dim);border-color:var(--color-yellow);color:var(--color-yellow-bright)}.btn-add-product{padding:var(--space-2) var(--space-4);background:var(--color-green);color:#fff;border:none;border-radius:var(--radius-md);font-size:var(--text-sm);font-weight:var(--font-weight-medium);font-family:var(--font-primary);cursor:pointer;transition:all var(--transition-base) var(--ease-in-out);white-space:nowrap}.btn-add-product:hover{background:var(--color-green-bright);transform:translateY(-1px);box-shadow:var(--shadow-sm)}.btn-add-product.active{background:var(--bg-tertiary);color:var(--text-secondary)}.add-product-row{background:var(--color-green-dim)!important;border-bottom:2px solid var(--color-green)!important}.add-product-row td{padding:var(--space-3) var(--space-2)!important}.add-product-row .inline-edit-input,.add-product-row .inline-edit-select{width:100%;border-color:var(--color-green)}.btn-save-product{padding:var(--space-2) var(--space-4);background:var(--color-green);color:#fff;border:none;border-radius:var(--radius-md);font-size:var(--text-xs);font-weight:var(--font-weight-semibold);font-family:var(--font-primary);cursor:pointer;transition:all var(--transition-base) var(--ease-in-out);white-space:nowrap}.btn-save-product:hover{background:var(--color-green-bright);transform:translateY(-1px);box-shadow:var(--shadow-sm)}.text-muted{color:var(--text-tertiary)}.sortable-header{cursor:pointer;-webkit-user-select:none;user-select:none;transition:background var(--transition-fast) var(--ease-in-out);white-space:nowrap}.sortable-header:hover{background:var(--bg-elevated)}.sortable-header.active{background:var(--bg-elevated);color:var(--color-yellow)}.common-product-link{cursor:pointer;color:var(--color-yellow);text-decoration:underline;text-decoration-style:dotted;text-decoration-color:var(--color-yellow-dim);transition:all var(--transition-fast);display:inline-flex;align-items:center;gap:var(--space-2)}.common-product-link:hover{color:var(--color-yellow-bright);text-decoration-color:var(--color-yellow)}.modal-tabs{display:flex;gap:var(--space-1);padding:var(--space-2) var(--space-4);border-bottom:1px solid var(--border-default);background:var(--bg-secondary)}.modal-tab{padding:var(--space-2) var(--space-4);background:transparent;border:none;border-bottom:2px solid transparent;color:var(--text-secondary);font-size:var(--text-sm);font-weight:500;cursor:pointer;transition:all var(--transition-fast)}.modal-tab:hover{color:var(--text-primary)}.modal-tab.active{color:var(--color-yellow);border-bottom-color:var(--color-yellow)}.conversions-content{padding:var(--space-2) 0}.conversions-content h3{margin:var(--space-4) 0 var(--space-3) 0;font-size:var(--text-base);font-weight:600;color:var(--text-primary)}.conversions-list{margin-bottom:var(--space-4)}.empty-message{color:var(--text-tertiary);font-style:italic;padding:var(--space-4);text-align:center}.conversion-item{display:flex;align-items:center;justify-content:space-between;padding:var(--space-3);background:var(--bg-secondary);border:1px solid var(--border-default);border-radius:var(--radius-md);margin-bottom:var(--space-2);transition:all var(--transition-fast)}.conversion-item:hover{border-color:var(--border-strong)}.conversion-display{flex:1}.conversion-formula{font-weight:500;color:var(--text-primary);font-size:var(--text-base)}.conversion-notes{display:block;color:var(--text-tertiary);font-size:var(--text-xs);margin-top:var(--space-1)}.btn-delete-conversion{width:32px;height:32px;display:flex;align-items:center;justify-content:center;background:transparent;border:1px solid var(--border-default);border-radius:var(--radius-sm);color:var(--text-secondary);font-size:24px;line-height:1;cursor:pointer;transition:all var(--transition-fast)}.btn-delete-conversion:hover{background:#ef44441a;border-color:var(--color-red);color:var(--color-red)}.conversion-form{padding:var(--space-4);background:var(--bg-secondary);border:1px solid var(--border-default);border-radius:var(--radius-md)}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:var(--space-3);margin-bottom:var(--space-3)}.form-field{margin-bottom:var(--space-3)}.form-field label{display:block;margin-bottom:var(--space-2);font-size:var(--text-sm);font-weight:500;color:var(--text-secondary)}.conversion-select,.conversion-input{width:100%;padding:var(--space-2) var(--space-3);font-size:var(--text-base);font-family:var(--font-primary);border:1px solid var(--border-default);border-radius:var(--radius-md);background:var(--bg-tertiary);color:var(--text-primary);transition:all var(--transition-base)}.conversion-select:focus,.conversion-input:focus{outline:none;border-color:var(--color-yellow);box-shadow:0 0 0 3px #d4a72c1a}.field-hint{display:block;color:var(--text-tertiary);font-size:var(--text-xs);margin-top:var(--space-1);font-style:italic}.checkbox-label-inline{display:flex;align-items:center;gap:var(--space-2);padding:var(--space-2) 0;font-size:var(--text-sm);color:var(--text-secondary);cursor:pointer;-webkit-user-select:none;user-select:none}.checkbox-label-inline input[type=checkbox]{width:18px;height:18px;cursor:pointer}.btn-add-conversion{width:100%;padding:var(--space-3) var(--space-4);background:var(--color-yellow);color:var(--bg-primary);border:none;border-radius:var(--radius-md);font-size:var(--text-base);font-weight:600;cursor:pointer;transition:all var(--transition-base);margin-top:var(--space-3)}.btn-add-conversion:hover{background:var(--color-yellow-bright);transform:translateY(-1px);box-shadow:var(--shadow-sm)}.btn-add-conversion:active{transform:translateY(0)}.mapped-products-content{padding:var(--space-2) 0}.loading-message{text-align:center;padding:var(--space-8);color:var(--text-secondary);font-style:italic}.empty-hint{color:var(--text-tertiary);font-size:var(--text-sm);margin-top:var(--space-1)}.outlet-filter-tabs{display:flex;gap:var(--space-2);padding:var(--space-3) 0;border-bottom:1px solid var(--border-default);overflow-x:auto;margin-bottom:var(--space-4)}.outlet-filter-btn{padding:var(--space-2) var(--space-3);background:var(--bg-tertiary);border:1px solid var(--border-default);border-radius:var(--radius-md);color:var(--text-secondary);font-size:var(--text-sm);font-weight:500;cursor:pointer;transition:all var(--transition-fast);white-space:nowrap}.outlet-filter-btn:hover{border-color:var(--border-strong);color:var(--text-primary)}.outlet-filter-btn.active{background:var(--color-yellow);color:var(--bg-primary);border-color:var(--color-yellow)}.mapped-products-list{max-height:400px;overflow-y:auto}.outlet-group{margin-bottom:var(--space-6)}.outlet-group-title{margin:0 0 var(--space-3) 0;font-size:var(--text-base);font-weight:600;color:var(--text-secondary);padding-bottom:var(--space-2);border-bottom:1px solid var(--border-subtle)}.mapped-product-card{display:flex;align-items:center;gap:var(--space-3);padding:var(--space-3);background:var(--bg-secondary);border:1px solid var(--border-default);border-radius:var(--radius-md);margin-bottom:var(--space-2);transition:all var(--transition-fast)}.mapped-product-card:hover{border-color:var(--border-strong);background:var(--bg-tertiary)}.mapped-product-info{flex:1;min-width:0}.mapped-product-name{font-weight:500;color:var(--text-primary);margin-bottom:var(--space-1);font-size:var(--text-sm)}.mapped-product-brand{color:var(--color-yellow);font-size:var(--text-xs);margin-bottom:var(--space-1)}.mapped-product-meta{color:var(--text-tertiary);font-size:var(--text-xs);margin-top:var(--space-1)}.mapped-product-meta span{margin-right:var(--space-1)}.mapped-product-pricing{text-align:right;min-width:80px}.mapped-price-case{font-weight:600;color:var(--text-primary);font-size:var(--text-sm);font-family:var(--font-mono)}.mapped-price-unit{color:var(--text-secondary);font-size:var(--text-xs);margin-top:var(--space-1);font-family:var(--font-mono)}.mapped-price-none{color:var(--text-tertiary);font-size:var(--text-xs);font-style:italic}.btn-unmap-product{padding:var(--space-2) var(--space-3);background:transparent;border:1px solid var(--border-default);border-radius:var(--radius-sm);color:var(--text-secondary);font-size:var(--text-xs);font-weight:500;cursor:pointer;transition:all var(--transition-fast);white-space:nowrap}.btn-unmap-product:hover{background:#ef44441a;border-color:var(--color-red);color:var(--color-red)}.btn-delete-product{background:none;border:1px solid var(--border-default);border-radius:var(--radius-sm);width:32px;height:32px;cursor:pointer;font-size:var(--text-base);transition:all var(--transition-base) var(--ease-in-out);display:inline-flex;align-items:center;justify-content:center}.btn-delete-product:hover{background:#ef44441a;border-color:var(--color-red);transform:scale(1.1)}.modal-content.upload-recipe-modal{width:700px;max-width:90vw}.dropzone{border:2px dashed var(--border-default);border-radius:8px;padding:3rem 2rem;text-align:center;cursor:pointer;transition:all .2s;background:var(--bg-tertiary);margin-bottom:1.5rem}.dropzone:hover{border-color:var(--color-yellow);background:var(--bg-elevated)}.dropzone.dragging{border-color:var(--color-yellow);background:var(--color-yellow-dim);transform:scale(1.02)}.dropzone.has-file{border-color:var(--color-green, #10b981);background:var(--bg-elevated)}.dropzone-icon{font-size:3rem;margin-bottom:1rem}.dropzone-text{font-size:1.1rem;font-weight:600;color:var(--text-primary);margin-bottom:.5rem}.dropzone-subtext{color:var(--text-secondary);margin-bottom:1rem}.dropzone-formats{font-size:.875rem;color:var(--text-tertiary)}.dropzone-filename{font-size:1.1rem;font-weight:600;color:var(--color-green, #059669);margin-bottom:.25rem}.dropzone-filesize{font-size:.875rem;color:var(--text-secondary);margin-bottom:1rem}.change-file-btn{background:transparent;border:1px solid var(--border-default);padding:.5rem 1rem;border-radius:4px;color:var(--text-secondary);cursor:pointer;font-size:.875rem;transition:all .2s}.change-file-btn:hover{border-color:var(--border-subtle);color:var(--text-primary)}.usage-stats{background:var(--bg-tertiary);border-radius:6px;padding:1rem;margin-bottom:1.5rem}.usage-label{font-size:.875rem;color:var(--text-secondary);margin-bottom:.5rem}.usage-bar{height:8px;background:var(--bg-elevated);border-radius:4px;overflow:hidden}.usage-bar-fill{height:100%;background:linear-gradient(90deg,var(--color-yellow),var(--color-yellow-bright));transition:width .3s}.usage-warning{margin-top:.5rem;font-size:.875rem;color:var(--color-orange, #f59e0b);font-weight:500}.processing-state{text-align:center;padding:2rem 0}.spinner{width:48px;height:48px;margin:0 auto 1.5rem;border:4px solid var(--border-default);border-top-color:var(--color-yellow);border-radius:50%;animation:spin 1s linear infinite}.processing-state h3{margin-bottom:1.5rem;color:var(--text-primary)}.progress-steps{max-width:300px;margin:0 auto 1rem}.progress-step{padding:.5rem;text-align:left;font-size:.875rem;color:var(--text-tertiary);transition:all .2s}.progress-step.active{color:var(--color-yellow);font-weight:600}.progress-step.completed{color:var(--color-green, #10b981)}.processing-note{font-size:.875rem;color:var(--text-secondary);margin-top:1rem}.modal-content.review-parsed-recipe{width:95vw;max-width:1600px;max-height:90vh;display:flex;flex-direction:column}.review-header{border-bottom:1px solid var(--border-default);padding-bottom:1rem;margin-bottom:1.5rem}.review-header h2{margin-bottom:.25rem}.review-header-subtitle{font-size:.875rem;color:var(--text-secondary);margin-top:.25rem}.review-info-notice{background:var(--bg-elevated);border:1px solid var(--border-subtle);border-radius:6px;padding:1rem;margin-bottom:1.5rem}.review-info-content{display:flex;align-items:flex-start;gap:.75rem}.review-info-icon{font-size:1.25rem}.review-info-title{font-size:.875rem;color:var(--text-primary);font-weight:500;margin-bottom:.25rem}.review-info-text{font-size:.875rem;color:var(--text-secondary);line-height:1.4}.review-recipe-form{display:grid;grid-template-columns:2fr 1fr;gap:1rem;margin-bottom:1.5rem}.review-form-label{display:block;font-size:.875rem;font-weight:500;margin-bottom:.25rem;color:var(--text-primary)}.review-form-input,.review-form-textarea{width:100%;padding:.5rem;border:1px solid var(--border-default);border-radius:4px;font-size:.875rem;background:var(--bg-primary);color:var(--text-primary);transition:border-color .2s}.review-form-input:focus,.review-form-textarea:focus{outline:none;border-color:var(--color-yellow);box-shadow:0 0 0 3px rgba(var(--color-yellow-rgb, 255, 204, 0),.1)}.review-form-textarea{resize:vertical;font-family:inherit}.yield-inputs{display:grid;grid-template-columns:1fr 1fr;gap:.5rem}.ingredients-section{flex:1;overflow-y:auto;margin-bottom:1.5rem}.ingredients-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:1rem;padding-bottom:.5rem;border-bottom:1px solid var(--border-default)}.ingredients-mapping-note{font-size:.75rem;color:var(--text-secondary)}.ingredients-list-container{background:var(--bg-tertiary);border-radius:6px;border:1px solid var(--border-default);padding:1rem}.ingredient-display-row{padding:.75rem 0;display:flex;justify-content:space-between;align-items:flex-start}.ingredient-display-row:not(:last-child){border-bottom:1px solid var(--border-subtle)}.ingredient-display-info{flex:1}.ingredient-display-name{font-weight:500;color:var(--text-primary);margin-bottom:.125rem}.ingredient-display-prep{font-size:.75rem;color:var(--text-secondary);margin-top:.125rem}.ingredient-display-quantity{font-size:.875rem;color:var(--text-secondary);text-align:right;margin-left:1rem;white-space:nowrap}.ingredients-count{font-size:1.25rem;font-weight:600;color:var(--text-primary)}.review-status{font-size:.875rem;color:var(--color-orange, #f59e0b);display:flex;align-items:center;gap:.5rem}.ingredient-row{background:var(--bg-secondary);border:1px solid var(--border-default);border-radius:6px;padding:1rem;margin-bottom:.75rem;transition:all .2s}.ingredient-row:hover{box-shadow:0 2px 4px #0000000d}.ingredient-row.needs-review{border-color:var(--color-orange, #fbbf24);background:var(--bg-elevated)}.ingredient-row.has-match{border-color:var(--color-green, #10b981);background:var(--bg-elevated)}.ingredient-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:.75rem}.ingredient-name{font-weight:600;color:var(--text-primary);margin-bottom:.25rem}.ingredient-quantity{font-size:.875rem;color:var(--text-secondary)}.ingredient-status-badge{padding:.25rem .75rem;border-radius:12px;font-size:.75rem;font-weight:600}.ingredient-status-badge.matched{background:var(--color-green-dim, #d1fae5);color:var(--color-green-dark, #065f46)}.ingredient-status-badge.needs-review{background:var(--color-orange-dim, #fef3c7);color:var(--color-orange-dark, #92400e)}.product-selector{position:relative}.product-dropdown{width:100%;padding:.5rem;border:1px solid var(--border-default);border-radius:4px;font-size:.875rem;cursor:pointer;background:var(--bg-primary);color:var(--text-primary);transition:all .2s}.product-dropdown:hover{border-color:var(--border-subtle)}.product-dropdown:focus{outline:none;border-color:var(--color-yellow);box-shadow:0 0 0 3px rgba(var(--color-yellow-rgb, 255, 204, 0),.1)}.product-dropdown.has-selection{border-color:var(--color-green, #10b981);background:var(--bg-elevated)}.product-options{position:absolute;top:100%;left:0;right:0;background:var(--bg-secondary);border:1px solid var(--border-default);border-radius:4px;margin-top:.25rem;box-shadow:0 4px 6px #0000001a;max-height:300px;overflow-y:auto;z-index:10}.product-option{padding:.75rem;cursor:pointer;transition:background .15s;border-bottom:1px solid var(--border-subtle)}.product-option:hover{background:var(--bg-tertiary)}.product-option.exact-match{background:var(--bg-elevated)}.product-option-name{font-weight:500;color:var(--text-primary);margin-bottom:.25rem}.product-option-meta{font-size:.75rem;color:var(--text-secondary);display:flex;justify-content:space-between}.confidence-score{font-weight:600}.confidence-score.high{color:var(--color-green, #059669)}.confidence-score.medium{color:var(--color-orange, #f59e0b)}.create-product-btn{display:flex;align-items:center;gap:.5rem;width:100%;padding:.75rem;background:var(--color-yellow);color:var(--bg-primary);border:none;border-radius:4px;cursor:pointer;font-size:.875rem;font-weight:500;transition:all .2s;margin-top:.5rem}.create-product-btn:hover{background:var(--color-yellow-bright)}.quick-create-form{background:var(--bg-tertiary);border:1px solid var(--border-default);border-radius:6px;padding:1rem;margin-top:.75rem}.quick-create-form h4{font-size:.875rem;font-weight:600;color:var(--text-primary);margin-bottom:.75rem}.quick-create-form .form-group{margin-bottom:.75rem}.quick-create-form label{display:block;font-size:.75rem;font-weight:500;color:var(--text-secondary);margin-bottom:.25rem}.quick-create-form input,.quick-create-form select{width:100%;padding:.5rem;border:1px solid var(--border-default);border-radius:4px;font-size:.875rem;background:var(--bg-primary);color:var(--text-primary)}.quick-create-actions{display:flex;gap:.5rem;margin-top:.75rem}.quick-create-actions button{flex:1;padding:.5rem;border:none;border-radius:4px;font-size:.875rem;cursor:pointer;transition:all .2s}.quick-create-actions .cancel-btn{background:var(--bg-secondary);color:var(--text-secondary);border:1px solid var(--border-default)}.quick-create-actions .cancel-btn:hover{background:var(--bg-tertiary)}.quick-create-actions .create-btn{background:var(--color-green, #10b981);color:#fff;font-weight:500}.quick-create-actions .create-btn:hover{background:var(--color-green-bright, #059669)}.review-summary{padding:1rem;background:var(--color-orange-dim, #fef3c7);border-radius:6px;margin-bottom:1rem}.review-summary-text{font-size:.875rem;color:var(--color-orange-dark, #92400e);display:flex;align-items:center;gap:.5rem}.modal-actions .btn-primary:disabled{opacity:.5;cursor:not-allowed}.skipped-badge{display:inline-block;margin-left:8px;padding:3px 8px;background:var(--bg-tertiary);color:var(--text-secondary);border-radius:4px;font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:.5px}.mapped-badge{display:inline-block;margin-left:8px;padding:3px 8px;background:var(--color-green-dim, #d1fae5);color:var(--color-green-dark, #065f46);border-radius:4px;font-size:11px;font-weight:600}.skip-mapping-btn{width:100%;margin-top:12px;padding:8px 16px;background:var(--bg-tertiary);border:1px solid var(--border-default);border-radius:6px;color:var(--text-secondary);font-size:14px;cursor:pointer;transition:all .2s;text-align:left}.skip-mapping-btn:hover{background:var(--bg-elevated);border-color:var(--border-subtle)}.recipes-container{padding:var(--space-6);max-width:none;height:calc(100vh - 3rem)}.recipes-layout{display:flex;gap:var(--space-6);height:calc(100% - 3rem)}.recipes-explorer{width:300px;background:var(--bg-secondary);border:1px solid var(--border-subtle);border-radius:var(--radius-lg);display:flex;flex-direction:column;box-shadow:var(--shadow-sm);overflow:hidden}.explorer-header{display:flex;justify-content:space-between;align-items:center;padding:var(--space-4) var(--space-6);border-bottom:1px solid var(--border-default);background:var(--bg-tertiary)}.explorer-header h2{margin:0;font-size:var(--text-xl);font-family:var(--font-primary);font-weight:var(--font-weight-semibold);color:var(--text-primary)}.btn-new-recipe{padding:var(--space-2) var(--space-4);background:var(--color-yellow);color:var(--bg-primary);border:none;border-radius:var(--radius-md);font-size:var(--text-xs);font-family:var(--font-primary);font-weight:var(--font-weight-medium);cursor:pointer;transition:all var(--transition-base) var(--ease-in-out)}.explorer-loading,.explorer-empty{padding:var(--space-8);text-align:center;color:var(--text-secondary)}.explorer-empty p{margin-bottom:var(--space-4)}.btn-create-first{padding:var(--space-3) var(--space-6);background:var(--color-yellow);color:var(--bg-primary);border:none;border-radius:var(--radius-md);font-family:var(--font-primary);font-weight:var(--font-weight-medium);cursor:pointer;transition:all var(--transition-base) var(--ease-in-out)}.btn-create-first:hover{background:var(--color-yellow-bright);transform:translateY(-1px);box-shadow:var(--shadow-sm)}.recipe-tree{flex:1;overflow-y:auto;padding:var(--space-2) 0}.tree-folder{display:flex;align-items:center;gap:var(--space-2);padding:var(--space-3) var(--space-6);cursor:pointer;transition:background var(--transition-fast) var(--ease-in-out);-webkit-user-select:none;user-select:none}.tree-folder:hover{background:var(--bg-tertiary)}.folder-icon{font-size:var(--text-base);color:var(--text-secondary);transition:transform var(--transition-base) var(--ease-in-out)}.folder-name{flex:1;font-size:var(--text-sm);font-family:var(--font-primary);color:var(--text-primary);font-weight:var(--font-weight-semibold)}.folder-count{font-size:var(--text-xs);font-family:var(--font-mono);color:var(--text-tertiary)}.recipe-item{display:flex;align-items:center;gap:var(--space-2);padding:var(--space-3) var(--space-6);cursor:pointer;transition:background var(--transition-fast) var(--ease-in-out);-webkit-user-select:none;user-select:none}.recipe-item:hover{background:var(--bg-tertiary)}.recipe-item.selected{background:var(--color-yellow-dim);border-left:3px solid var(--color-yellow)}.recipe-icon{font-size:var(--text-base);color:var(--text-secondary)}.recipe-name{flex:1;font-size:var(--text-sm);font-family:var(--font-primary);color:var(--text-primary)}.recipe-detail{flex:1;background:var(--bg-secondary);border:1px solid var(--border-subtle);border-radius:var(--radius-lg);overflow-y:auto;box-shadow:var(--shadow-sm)}.detail-empty-state{display:flex;align-items:center;justify-content:center;height:100%;padding:2rem}.empty-state-content{text-align:center;max-width:400px}.empty-state-content h3{font-size:var(--text-2xl);font-family:var(--font-primary);color:var(--text-primary);margin-bottom:var(--space-2)}.empty-state-content p{color:var(--text-secondary);margin-bottom:var(--space-2)}.empty-state-stats{color:var(--text-tertiary)!important;font-size:var(--text-sm)!important}.recipe-editor{padding:var(--space-8)}.recipe-header{margin-bottom:var(--space-8);border-bottom:2px solid var(--border-default);padding-bottom:var(--space-4)}.recipe-title-section{display:flex;justify-content:space-between;align-items:center;margin-bottom:var(--space-2)}.recipe-title{margin:0;font-size:var(--text-4xl);font-family:var(--font-primary);font-weight:var(--font-weight-bold);color:var(--text-primary)}.recipe-header-actions{display:flex;gap:var(--space-2)}.btn-icon{padding:var(--space-2);background:transparent;border:1px solid var(--border-default);border-radius:var(--radius-md);cursor:pointer;font-size:var(--text-xl);color:var(--text-secondary);transition:all var(--transition-base) var(--ease-in-out)}.btn-icon:hover{background:var(--bg-tertiary);border-color:var(--border-strong);color:var(--text-primary)}.recipe-path{color:var(--text-secondary);font-size:var(--text-sm);font-family:var(--font-primary)}.recipe-metadata{display:flex;gap:var(--space-8);padding:var(--space-4);background:var(--bg-tertiary);border:1px solid var(--border-default);border-radius:var(--radius-md);margin-bottom:var(--space-8)}.metadata-field{display:flex;gap:var(--space-2);align-items:center}.metadata-field label{font-weight:var(--font-weight-semibold);font-family:var(--font-primary);color:var(--text-secondary)}.metadata-field span{color:var(--text-primary);font-family:var(--font-primary)}.recipe-section{margin-bottom:var(--space-8)}.recipe-section h2{font-size:var(--text-xl);font-family:var(--font-primary);font-weight:var(--font-weight-semibold);color:var(--text-primary);margin-bottom:var(--space-4);padding-bottom:var(--space-2);border-bottom:1px solid var(--border-default)}.ingredients-table-container{background:var(--bg-tertiary);border:1px solid var(--border-default);border-radius:var(--radius-md);padding:var(--space-4)}.ingredients-table{width:100%;border-collapse:collapse;margin-bottom:var(--space-4)}.ingredients-table thead{background:var(--bg-elevated)}.ingredients-table th{padding:var(--space-3);text-align:left;font-weight:var(--font-weight-semibold);font-family:var(--font-primary);color:var(--text-secondary);font-size:var(--text-xs);text-transform:uppercase;letter-spacing:var(--tracking-wide)}.ingredients-table td{padding:var(--space-3);border-bottom:1px solid var(--border-subtle);color:var(--text-primary);font-family:var(--font-primary)}.ingredients-table tbody tr:last-child td{border-bottom:none}.ingredients-table tbody tr:hover{background:var(--bg-secondary)}.empty-cell{text-align:center;color:#999;font-style:italic}.btn-add-ingredient{padding:var(--space-2) var(--space-4);background:var(--color-yellow);color:var(--bg-primary);border:none;border-radius:var(--radius-md);cursor:pointer;font-size:var(--text-sm);font-family:var(--font-primary);font-weight:var(--font-weight-medium);transition:all var(--transition-base) var(--ease-in-out)}.btn-add-ingredient:hover{background:var(--color-yellow-bright);transform:translateY(-1px);box-shadow:var(--shadow-sm)}.btn-icon-small{background:transparent;border:none;color:var(--color-red);font-size:var(--text-2xl);cursor:pointer;padding:0;line-height:1;transition:color var(--transition-base) var(--ease-in-out)}.btn-icon-small:hover{color:var(--color-red-bright)}.method-steps{background:var(--bg-tertiary);border:1px solid var(--border-default);border-radius:var(--radius-md);padding:var(--space-4)}.method-step{display:flex;gap:var(--space-4);margin-bottom:var(--space-4);padding:var(--space-4);background:var(--bg-secondary);border:1px solid var(--border-subtle);border-radius:var(--radius-md);box-shadow:var(--shadow-sm)}.step-number{flex-shrink:0;width:32px;height:32px;background:var(--color-yellow);color:var(--bg-primary);border-radius:var(--radius-full);display:flex;align-items:center;justify-content:center;font-weight:var(--font-weight-semibold);font-family:var(--font-mono)}.step-instruction{flex:1;color:var(--text-primary);font-family:var(--font-primary);line-height:var(--leading-relaxed)}.empty-method{text-align:center;color:var(--text-tertiary);padding:var(--space-8);font-style:italic}.btn-add-step{padding:var(--space-2) var(--space-4);background:var(--color-yellow);color:var(--bg-primary);border:none;border-radius:var(--radius-md);cursor:pointer;font-size:var(--text-sm);font-family:var(--font-primary);font-weight:var(--font-weight-medium);transition:all var(--transition-base) var(--ease-in-out)}.btn-add-step:hover{background:var(--color-yellow-bright);transform:translateY(-1px);box-shadow:var(--shadow-sm)}.recipe-cost-section{background:var(--bg-tertiary);border:1px solid var(--border-default);padding:var(--space-6);border-radius:var(--radius-md)}.recipe-cost-section h2{border-bottom:none;margin-bottom:0;padding-bottom:0}.section-header-collapsible{display:flex;justify-content:space-between;align-items:center;cursor:pointer;padding:.5rem;margin:-.5rem -.5rem 0;border-radius:6px;transition:background .2s}.section-header-collapsible:hover{background:#00000008}.collapse-icon{font-size:.8rem;margin-right:.5rem;color:#999}.cost-header-summary{font-size:var(--text-lg);font-weight:var(--font-weight-bold);font-family:var(--font-mono);color:var(--color-yellow)}.cost-panel{background:var(--bg-secondary);border:1px solid var(--border-subtle);border-radius:var(--radius-md);padding:var(--space-4);margin-top:var(--space-4)}.cost-loading,.cost-error,.cost-empty{text-align:center;padding:var(--space-8);color:var(--text-secondary)}.cost-error{color:var(--color-red-bright)}.cost-summary{display:flex;gap:var(--space-8);flex-wrap:wrap;margin-bottom:var(--space-6);padding-bottom:var(--space-4);border-bottom:1px solid var(--border-default)}.cost-item{display:flex;flex-direction:column;gap:var(--space-1)}.cost-item.cost-total .cost-value{font-size:var(--text-3xl)}.cost-item label{font-size:var(--text-xs);font-family:var(--font-primary);color:var(--text-secondary);font-weight:var(--font-weight-semibold);text-transform:uppercase;letter-spacing:var(--tracking-wide)}.cost-value{font-size:var(--text-2xl);font-family:var(--font-mono);color:var(--color-yellow);font-weight:var(--font-weight-bold)}.no-yield{font-size:var(--text-sm);color:var(--text-tertiary);font-style:italic}.cost-yield .cost-value{font-size:var(--text-lg);color:var(--text-primary)}.cost-value-small{font-size:var(--text-base);font-family:var(--font-mono);color:var(--color-yellow);font-weight:var(--font-weight-semibold)}.cost-warning{display:flex;align-items:center;gap:var(--space-2);padding:var(--space-3) var(--space-4);background:var(--color-yellow-dim);border:1px solid var(--color-yellow);border-radius:var(--radius-md);margin-bottom:var(--space-4);color:var(--color-yellow-bright);font-size:var(--text-sm);font-family:var(--font-primary)}.warning-icon{font-size:var(--text-lg)}.cost-breakdown{margin-top:1rem}.cost-breakdown h3{font-size:1rem;color:#555;margin-bottom:.75rem;font-weight:600}.cost-breakdown-table{width:100%;border-collapse:collapse;font-size:var(--text-sm)}.cost-breakdown-table thead{background:var(--bg-elevated)}.cost-breakdown-table th{padding:var(--space-2) var(--space-3);text-align:left;font-weight:var(--font-weight-semibold);font-family:var(--font-primary);color:var(--text-secondary);font-size:var(--text-xs);text-transform:uppercase;letter-spacing:var(--tracking-wide)}.cost-breakdown-table td{padding:var(--space-2) var(--space-3);border-bottom:1px solid var(--border-subtle);color:var(--text-primary);font-family:var(--font-primary)}.cost-breakdown-table tbody tr:hover{background:var(--bg-tertiary)}.cost-breakdown-table .ingredient-cell{max-width:200px}.cost-breakdown-table .qty-cell,.cost-breakdown-table .price-cell{white-space:nowrap;color:var(--text-secondary);font-family:var(--font-mono)}.cost-breakdown-table .cost-cell{white-space:nowrap;font-weight:var(--font-weight-semibold);font-family:var(--font-mono);color:var(--color-yellow)}.cost-breakdown-table .percent-cell{white-space:nowrap;color:var(--text-tertiary);font-family:var(--font-mono);text-align:right}.cost-breakdown-table tfoot{background:var(--bg-tertiary)}.cost-breakdown-table .total-row td{font-weight:var(--font-weight-bold);border-top:2px solid var(--color-yellow);border-bottom:none}.cost-breakdown-table .total-row .cost-cell{font-size:var(--text-base)}.cost-breakdown-table tr.missing-price{background:var(--color-yellow-dim)}.cost-breakdown-table tr.missing-price:hover{background:#d4a72c26}.no-price{color:var(--color-yellow-bright);font-style:italic;font-size:var(--text-xs)}.sub-recipe-badge{display:inline-block;padding:var(--space-1) var(--space-2);background:var(--color-yellow-dim);color:var(--color-yellow-bright);border:1px solid var(--color-yellow);border-radius:var(--radius-sm);font-size:var(--text-xs);font-family:var(--font-mono);margin-left:var(--space-2);text-transform:uppercase;font-weight:var(--font-weight-semibold);letter-spacing:var(--tracking-wide)}.btn-refresh-cost{display:inline-flex;align-items:center;gap:var(--space-2);margin-top:var(--space-4);padding:var(--space-2) var(--space-4);background:transparent;border:1px solid var(--border-default);border-radius:var(--radius-md);color:var(--text-secondary);font-size:var(--text-xs);font-family:var(--font-primary);cursor:pointer;transition:all var(--transition-base) var(--ease-in-out)}.btn-refresh-cost:hover{background:var(--bg-tertiary);border-color:var(--border-strong);color:var(--text-primary)}.allergen-summary{margin-top:1.5rem;padding-top:1.5rem;border-top:1px solid #e0e0e0}.allergen-summary h3{font-size:1rem;color:#555;margin:0 0 1rem;font-weight:600}.dietary-flags{display:flex;gap:var(--space-3);margin-bottom:var(--space-4);flex-wrap:wrap}.dietary-badge{display:inline-flex;align-items:center;gap:var(--space-1);padding:var(--space-2) var(--space-3);border-radius:var(--radius-full);font-size:var(--text-xs);font-family:var(--font-primary);font-weight:var(--font-weight-medium)}.dietary-badge.active{background:var(--color-green-dim);color:var(--color-green-bright);border:1px solid var(--color-green)}.dietary-badge.inactive{background:var(--bg-tertiary);color:var(--text-tertiary);border:1px solid var(--border-default)}.allergen-contains{margin-top:var(--space-3)}.allergen-label{font-size:var(--text-xs);font-family:var(--font-primary);color:var(--text-secondary);margin-bottom:var(--space-2);font-weight:var(--font-weight-semibold);text-transform:uppercase;letter-spacing:var(--tracking-wide)}.allergen-badges{display:flex;flex-wrap:wrap;gap:var(--space-2)}.allergen-badge{display:inline-flex;align-items:center;gap:var(--space-1);padding:var(--space-1) var(--space-3);background:var(--color-yellow-dim);color:var(--color-yellow-bright);border:1px solid var(--color-yellow);border-radius:var(--radius-full);font-size:var(--text-xs);font-family:var(--font-primary);font-weight:var(--font-weight-medium)}.allergen-none{font-size:var(--text-sm);color:var(--text-tertiary);font-style:italic;padding:var(--space-2) 0}.placeholder-text{font-style:italic;color:var(--text-tertiary);text-align:center;padding:var(--space-8)}.recipe-notes-textarea{width:100%;min-height:120px;padding:var(--space-4);border:1px solid var(--border-default);border-radius:var(--radius-lg);font-family:var(--font-primary);font-size:var(--text-sm);background:var(--bg-tertiary);color:var(--text-primary);resize:vertical;transition:all var(--transition-base) var(--ease-in-out)}.recipe-notes-textarea:focus{outline:none;border-color:var(--color-yellow);box-shadow:0 0 0 3px #d4a72c1a}.recipe-actions{display:flex;gap:var(--space-4);justify-content:flex-end;padding-top:var(--space-8);border-top:1px solid var(--border-default);margin-top:var(--space-8)}.btn-save,.btn-cancel{padding:var(--space-3) var(--space-8);border:none;border-radius:var(--radius-md);font-size:var(--text-base);font-family:var(--font-primary);cursor:pointer;transition:all var(--transition-base) var(--ease-in-out);font-weight:var(--font-weight-semibold)}.btn-save{background:var(--color-yellow);color:var(--bg-primary)}.btn-save:hover{background:var(--color-yellow-bright);transform:translateY(-1px);box-shadow:var(--shadow-sm)}.btn-cancel{background:var(--bg-tertiary);color:var(--text-secondary);border:1px solid var(--border-default)}@media(max-width:1024px){.recipes-layout{flex-direction:column}.recipes-explorer{width:100%;max-height:300px}}.recipe-title-input{font-size:var(--text-4xl);font-weight:var(--font-weight-bold);font-family:var(--font-primary);background:transparent;color:var(--text-primary);border:none;border-bottom:2px solid transparent;padding:var(--space-1) 0;width:100%;transition:border-color var(--transition-base) var(--ease-in-out)}.recipe-title-input:focus{outline:none;border-bottom-color:var(--color-yellow)}.recipe-path-input{font-size:var(--text-sm);font-family:var(--font-primary);background:transparent;color:var(--text-secondary);border:none;border-bottom:1px solid transparent;padding:var(--space-1) 0;width:100%;transition:border-color var(--transition-base) var(--ease-in-out)}.recipe-path-input:focus{outline:none;border-bottom-color:var(--color-yellow)}.metadata-input{width:80px;padding:var(--space-1) var(--space-2);border:1px solid var(--border-default);border-radius:var(--radius-md);background:var(--bg-tertiary);color:var(--text-primary);font-family:var(--font-mono);transition:all var(--transition-base) var(--ease-in-out)}.metadata-input:focus{outline:none;border-color:var(--color-yellow);box-shadow:0 0 0 3px #d4a72c1a}.metadata-unit{color:var(--text-secondary);font-size:var(--text-sm);font-family:var(--font-primary)}.metadata-row{display:flex;gap:2rem;margin-bottom:1rem;flex-wrap:wrap}.yield-field,.servings-field{display:flex;align-items:center;gap:.5rem}.metadata-select{padding:var(--space-2) var(--space-3);border:1px solid var(--border-default);border-radius:var(--radius-md);font-size:var(--text-sm);font-family:var(--font-primary);background:var(--bg-tertiary);color:var(--text-primary);cursor:pointer;transition:all var(--transition-base) var(--ease-in-out);min-width:120px}.metadata-select:focus{outline:none;border-color:var(--color-yellow);box-shadow:0 0 0 3px #d4a72c1a}.metadata-select optgroup{font-weight:var(--font-weight-semibold);color:var(--text-primary)}.metadata-field.full-width{flex:1;display:flex;align-items:center}.metadata-input-full{flex:1;padding:var(--space-1) var(--space-2);border:1px solid var(--border-default);border-radius:var(--radius-md);background:var(--bg-tertiary);color:var(--text-primary);font-family:var(--font-primary);transition:all var(--transition-base) var(--ease-in-out)}.metadata-input-full:focus{outline:none;border-color:var(--color-yellow);box-shadow:0 0 0 3px #d4a72c1a}.modal-content{background:var(--bg-secondary);border:1px solid var(--border-default);border-radius:var(--radius-lg);max-width:500px;width:90%;max-height:90vh;overflow-y:auto;box-shadow:var(--shadow-xl)}.modal-header h2{margin:0;font-size:var(--text-2xl);font-family:var(--font-primary);font-weight:var(--font-weight-semibold);color:var(--text-primary)}.modal-close{background:none;border:none;font-size:var(--text-3xl);color:var(--text-tertiary);cursor:pointer;padding:0;width:32px;height:32px;display:flex;align-items:center;justify-content:center;border-radius:var(--radius-sm);transition:all var(--transition-base) var(--ease-in-out)}.form-group{margin-bottom:var(--space-6)}.form-group label{display:block;margin-bottom:var(--space-2);font-weight:var(--font-weight-semibold);font-family:var(--font-primary);color:var(--text-secondary);font-size:var(--text-sm)}.form-group input,.form-group textarea{width:100%;padding:var(--space-3);border:1px solid var(--border-default);border-radius:var(--radius-md);font-size:var(--text-base);font-family:var(--font-primary);background:var(--bg-tertiary);color:var(--text-primary);transition:all var(--transition-base) var(--ease-in-out)}.form-group input:focus,.form-group textarea:focus{outline:none;border-color:var(--color-yellow);box-shadow:0 0 0 3px #d4a72c1a}.form-group small{display:block;margin-top:var(--space-1);color:var(--text-tertiary);font-size:var(--text-xs);font-family:var(--font-primary)}.modal-actions{display:flex;gap:var(--space-4);justify-content:flex-end;margin-top:var(--space-8);padding-top:var(--space-6);border-top:1px solid var(--border-default)}.btn-save:disabled{background:var(--bg-tertiary);color:var(--text-tertiary);cursor:not-allowed;opacity:.5;border:1px solid var(--border-default)}.btn-save:disabled:hover{background:var(--bg-tertiary);transform:none;box-shadow:none}.explorer-actions{display:flex;gap:var(--space-2)}.btn-new-folder{padding:var(--space-2) var(--space-3);background:var(--bg-tertiary);color:var(--text-primary);border:1px solid var(--border-default);border-radius:var(--radius-md);font-size:var(--text-xs);font-family:var(--font-primary);font-weight:var(--font-weight-medium);cursor:pointer;transition:all var(--transition-base) var(--ease-in-out)}.btn-new-folder:hover{background:var(--bg-elevated);border-color:var(--border-strong)}.btn-new-recipe{padding:var(--space-2) var(--space-3);background:var(--color-yellow);color:var(--bg-primary);border:none;border-radius:var(--radius-md);font-size:var(--text-xs);font-family:var(--font-primary);font-weight:var(--font-weight-semibold);cursor:pointer;transition:all var(--transition-base) var(--ease-in-out)}.btn-new-recipe:hover{background:var(--color-yellow-bright);transform:translateY(-1px);box-shadow:var(--shadow-sm)}.btn-upload-recipe{padding:var(--space-2) var(--space-3);background:linear-gradient(135deg,#3b82f6,#2563eb);color:#fff;border:none;border-radius:var(--radius-md);font-size:var(--text-xs);font-family:var(--font-primary);font-weight:var(--font-weight-semibold);cursor:pointer;transition:all var(--transition-base) var(--ease-in-out)}.btn-upload-recipe:hover:not(:disabled){background:linear-gradient(135deg,#2563eb,#1d4ed8);transform:translateY(-1px);box-shadow:var(--shadow-sm)}.btn-upload-recipe:disabled{opacity:.5;cursor:not-allowed}.autocomplete-container{position:relative;width:100%}.autocomplete-dropdown{position:absolute;top:100%;left:0;right:0;background:var(--bg-elevated);border:1px solid var(--color-yellow);border-top:none;border-radius:0 0 var(--radius-md) var(--radius-md);max-height:200px;overflow-y:auto;z-index:1000;box-shadow:var(--shadow-lg)}.autocomplete-item{padding:var(--space-3);cursor:pointer;color:var(--text-primary);font-family:var(--font-primary);font-size:var(--text-sm);transition:background var(--transition-fast) var(--ease-in-out);border-bottom:1px solid var(--border-subtle)}.autocomplete-item:last-child{border-bottom:none}.autocomplete-item:hover{background:var(--bg-tertiary)}.ingredient-input{width:100%;padding:var(--space-2);border:1px solid var(--border-default);border-radius:var(--radius-md);font-size:var(--text-sm);font-family:var(--font-primary);background:var(--bg-tertiary);color:var(--text-primary);transition:all var(--transition-base) var(--ease-in-out)}.ingredient-input:focus{outline:none;border-color:var(--color-yellow);box-shadow:0 0 0 3px #d4a72c1a}.ingredient-add-row{background:var(--bg-tertiary)}.btn-save-ingredient{color:var(--color-green-bright)!important}.btn-save-ingredient:hover{color:var(--color-green)!important}.btn-add-ingredient:disabled{opacity:.5;cursor:not-allowed}.method-step{display:flex;flex-direction:column;gap:var(--space-2);margin-bottom:var(--space-4);padding:var(--space-4);background:var(--bg-secondary);border:1px solid var(--border-subtle);border-radius:var(--radius-md);box-shadow:var(--shadow-sm)}.step-header{display:flex;justify-content:space-between;align-items:center}.step-controls{display:flex;gap:var(--space-1)}.btn-step-control{padding:var(--space-1) var(--space-2);background:transparent;border:1px solid var(--border-default);border-radius:var(--radius-sm);color:var(--text-secondary);cursor:pointer;font-size:var(--text-sm);transition:all var(--transition-base) var(--ease-in-out)}.btn-step-control:hover:not(:disabled){background:var(--bg-tertiary);border-color:var(--border-strong);color:var(--text-primary)}.btn-step-control:disabled{opacity:.3;cursor:not-allowed}.btn-step-control.btn-remove{color:var(--color-red-bright);font-size:var(--text-lg)}.btn-step-control.btn-remove:hover{background:var(--color-red-dim);border-color:var(--color-red)}.step-instruction{flex:1;color:var(--text-primary);line-height:var(--leading-relaxed);cursor:pointer;padding:var(--space-2);border-radius:var(--radius-sm);transition:background var(--transition-base) var(--ease-in-out)}.step-instruction:hover{background:var(--bg-tertiary)}.step-edit-container{display:flex;flex-direction:column;gap:var(--space-2)}.step-instruction-input{width:100%;padding:var(--space-3);border:2px solid var(--color-yellow);border-radius:var(--radius-md);font-family:var(--font-primary);font-size:var(--text-sm);background:var(--bg-tertiary);color:var(--text-primary);resize:vertical;min-height:80px;transition:all var(--transition-base) var(--ease-in-out)}.step-instruction-input:focus{outline:none;border-color:var(--color-yellow-bright);box-shadow:0 0 0 3px #d4a72c1a}.step-edit-actions{display:flex;gap:var(--space-2);justify-content:flex-end}.btn-step-save,.btn-step-cancel{padding:var(--space-2) var(--space-4);border:none;border-radius:var(--radius-md);font-size:var(--text-sm);font-family:var(--font-primary);font-weight:var(--font-weight-medium);cursor:pointer;transition:all var(--transition-base) var(--ease-in-out)}.btn-step-save{background:var(--color-yellow);color:var(--bg-primary)}.btn-step-save:hover{background:var(--color-yellow-bright);transform:translateY(-1px);box-shadow:var(--shadow-sm)}.btn-step-cancel{background:var(--bg-tertiary);color:var(--text-secondary);border:1px solid var(--border-default)}.btn-step-cancel:hover{background:var(--bg-elevated);border-color:var(--border-strong)}.context-menu{position:fixed;background:var(--bg-elevated);border:1px solid var(--border-default);border-radius:var(--radius-md);box-shadow:var(--shadow-xl);z-index:2000;min-width:180px;padding:var(--space-2) 0}.context-menu-item{padding:var(--space-3) var(--space-4);cursor:pointer;transition:background var(--transition-fast) var(--ease-in-out);font-size:var(--text-sm);font-family:var(--font-primary);color:var(--text-primary);display:flex;align-items:center;gap:var(--space-2)}.context-menu-item:hover:not(.context-menu-disabled){background:var(--bg-tertiary)}.context-menu-item.context-menu-disabled{opacity:.4;cursor:not-allowed;color:var(--text-tertiary)}.recipe-item[draggable=true]{cursor:move}.recipe-item:active{opacity:.5}.tree-folder.drop-target{background:var(--color-yellow-dim);border-left:3px solid var(--color-yellow)}.recipe-tree:empty{min-height:100px}.mapped-cell{width:60px;text-align:center;padding:var(--space-3)}.mapped-yes{color:var(--color-green-bright);font-size:var(--text-lg);font-weight:700}.mapped-no{color:var(--text-tertiary);font-size:var(--text-lg);opacity:.5}.ingredients-table tbody tr:not(.editing):not(.ingredient-add-row):hover{background:var(--bg-secondary);cursor:pointer}.ingredients-table tbody tr.editing{background:var(--color-yellow-dim);border:2px solid var(--color-yellow)}.inline-edit-input,.inline-edit-select{width:100%;padding:var(--space-2);border:1px solid var(--color-yellow);border-radius:var(--radius-md);background:var(--bg-elevated);color:var(--text-primary);font-family:var(--font-mono);font-size:var(--text-sm)}.inline-edit-input:focus,.inline-edit-select:focus{outline:none;border-color:var(--color-yellow-bright);box-shadow:0 0 0 2px #eab30833}.ingredient-mapping-wrapper{display:flex;align-items:center;gap:var(--space-2)}.mapped-product-name{flex:1;font-weight:500;color:var(--text-primary)}.mapping-btn{padding:var(--space-1) var(--space-2);background:var(--bg-elevated);border:1px solid var(--border-default);border-radius:var(--radius-sm);color:var(--text-secondary);cursor:pointer;font-size:var(--text-xs);transition:all var(--transition-fast)}.mapping-btn:hover{background:var(--bg-secondary);border-color:var(--color-yellow);color:var(--color-yellow)}.ingredient-mapping-search{position:relative;width:100%}.product-search-dropdown{position:absolute;top:100%;left:0;right:0;background:var(--bg-elevated);border:1px solid var(--color-yellow);border-radius:var(--radius-md);max-height:250px;overflow-y:auto;z-index:1000;box-shadow:var(--shadow-lg);margin-top:var(--space-1)}.product-search-item{padding:var(--space-3);cursor:pointer;transition:background var(--transition-fast);border-bottom:1px solid var(--border-subtle)}.product-search-item:last-child{border-bottom:none}.product-search-item:hover,.product-search-item.selected{background:var(--bg-tertiary);color:var(--color-yellow)}.mapped-indicator{position:absolute;right:var(--space-2);top:50%;transform:translateY(-50%);color:var(--color-green-bright);font-size:var(--text-lg);font-weight:700;pointer-events:none}.ingredient-mapping-wrapper{position:relative}.users-page{min-height:100vh;background:var(--bg-primary)}.loading-container{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:100vh;gap:var(--space-4)}.loading-spinner{width:40px;height:40px;border:3px solid var(--border-default);border-top-color:var(--color-yellow);border-radius:50%;animation:spin .8s linear infinite}.users-header{background:var(--bg-secondary);border-bottom:1px solid var(--border-default);color:var(--text-primary);padding:var(--space-4) var(--space-8);display:flex;justify-content:space-between;align-items:center}.header-left{display:flex;align-items:center;gap:2rem}.back-link{color:var(--text-secondary);text-decoration:none;font-size:var(--text-sm);font-family:var(--font-primary);transition:color var(--transition-base) var(--ease-in-out)}.back-link:hover{color:var(--color-yellow)}.users-header h1{margin:0;font-size:var(--text-2xl);font-weight:var(--font-weight-semibold);font-family:var(--font-primary)}.header-right{display:flex;align-items:center;gap:var(--space-6)}.user-info{display:flex;align-items:center;gap:var(--space-3)}.user-name{font-weight:var(--font-weight-medium);font-size:var(--text-sm);font-family:var(--font-primary)}.user-role{padding:var(--space-1) var(--space-3);border-radius:var(--radius-full);font-size:var(--text-xs);font-weight:var(--font-weight-semibold);font-family:var(--font-primary);text-transform:uppercase;letter-spacing:var(--tracking-wide)}.role-admin{background:var(--color-red-dim);color:var(--color-red-bright)}.role-chef{background:var(--color-green-dim);color:var(--color-green-bright)}.role-viewer{background:var(--color-yellow-dim);color:var(--color-yellow-bright)}.btn-logout{padding:var(--space-2) var(--space-4);background:var(--bg-tertiary);color:var(--text-primary);border:1px solid var(--border-default);border-radius:var(--radius-md);font-size:var(--text-xs);font-family:var(--font-primary);cursor:pointer;transition:all var(--transition-base) var(--ease-in-out)}.btn-logout:hover{background:var(--bg-elevated);border-color:var(--border-strong)}.users-content{max-width:1200px;margin:0 auto;padding:2rem}.users-toolbar{display:flex;justify-content:space-between;align-items:center;margin-bottom:1.5rem}.users-count{font-size:.95rem;color:#666}.btn-add-user{padding:var(--space-3) var(--space-6);background:var(--color-yellow);color:var(--bg-primary);border:none;border-radius:var(--radius-md);font-size:var(--text-sm);font-weight:var(--font-weight-medium);font-family:var(--font-primary);cursor:pointer;transition:all var(--transition-base) var(--ease-in-out)}.btn-add-user:hover{background:var(--color-yellow-bright);transform:translateY(-1px);box-shadow:var(--shadow-sm)}.error-banner{background:var(--color-red-dim);color:var(--color-red-bright);border:1px solid var(--color-red);padding:var(--space-4) var(--space-6);border-radius:var(--radius-lg);margin-bottom:var(--space-6);display:flex;justify-content:space-between;align-items:center}.error-banner button{background:none;border:none;color:var(--color-red-bright);font-size:var(--text-xl);cursor:pointer}.users-table-container{background:var(--bg-secondary);border:1px solid var(--border-subtle);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);overflow:hidden}.users-table{width:100%;border-collapse:collapse}.users-table th{background:var(--bg-tertiary);padding:var(--space-4) var(--space-6);text-align:left;font-weight:var(--font-weight-semibold);font-size:var(--text-xs);font-family:var(--font-primary);color:var(--text-secondary);text-transform:uppercase;letter-spacing:var(--tracking-wide);border-bottom:2px solid var(--border-default)}.users-table td{padding:var(--space-4) var(--space-6);border-bottom:1px solid var(--border-subtle);font-size:var(--text-sm);font-family:var(--font-primary);color:var(--text-primary)}.users-table tr:last-child td{border-bottom:none}.users-table tr:hover{background:var(--bg-tertiary)}.inactive-user{opacity:.6}.user-cell{display:flex;flex-direction:column;gap:.25rem}.username{font-weight:600;color:#333}.fullname{font-size:.85rem;color:#888}.role-badge{display:inline-block;padding:var(--space-1) var(--space-3);border-radius:var(--radius-md);font-size:var(--text-xs);font-weight:var(--font-weight-semibold);font-family:var(--font-primary);text-transform:capitalize;cursor:pointer;transition:all var(--transition-base) var(--ease-in-out)}.role-badge:hover{transform:scale(1.05)}.role-badge.role-admin{background:var(--color-red-dim);color:var(--color-red-bright);border:1px solid var(--color-red)}.role-badge.role-chef{background:var(--color-green-dim);color:var(--color-green-bright);border:1px solid var(--color-green)}.role-badge.role-viewer{background:var(--color-yellow-dim);color:var(--color-yellow-bright);border:1px solid var(--color-yellow)}.role-select{padding:var(--space-1) var(--space-2);border:2px solid var(--color-yellow);border-radius:var(--radius-md);font-size:var(--text-xs);font-family:var(--font-primary);background:var(--bg-tertiary);color:var(--text-primary);cursor:pointer}.status-badge{display:inline-block;padding:var(--space-1) var(--space-3);border-radius:var(--radius-md);font-size:var(--text-xs);font-weight:var(--font-weight-medium);font-family:var(--font-primary)}.status-badge.active{background:var(--color-green-dim);color:var(--color-green-bright);border:1px solid var(--color-green)}.status-badge.inactive{background:var(--color-red-dim);color:var(--color-red-bright);border:1px solid var(--color-red)}.btn-toggle{padding:var(--space-2) var(--space-4);border:none;border-radius:var(--radius-md);font-size:var(--text-xs);font-weight:var(--font-weight-medium);font-family:var(--font-primary);cursor:pointer;transition:all var(--transition-base) var(--ease-in-out)}.btn-toggle.deactivate{background:var(--color-red-dim);color:var(--color-red-bright);border:1px solid var(--color-red)}.btn-toggle.deactivate:hover{background:var(--color-red);color:#fff}.btn-toggle.activate{background:var(--color-green-dim);color:var(--color-green-bright);border:1px solid var(--color-green)}.btn-toggle.activate:hover{background:var(--color-green);color:#fff}.modal-overlay{position:fixed;inset:0;background:#000000b3;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);display:flex;align-items:center;justify-content:center;z-index:1000}.modal{background:var(--bg-secondary);border:1px solid var(--border-default);border-radius:var(--radius-lg);box-shadow:var(--shadow-xl);width:100%;max-width:450px;max-height:90vh;overflow-y:auto}.modal-header{display:flex;justify-content:space-between;align-items:center;padding:var(--space-6);border-bottom:1px solid var(--border-default)}.modal-header h2{margin:0;font-size:var(--text-xl);font-family:var(--font-primary);font-weight:var(--font-weight-semibold);color:var(--text-primary)}.modal-close{background:none;border:none;font-size:var(--text-2xl);color:var(--text-tertiary);cursor:pointer;line-height:1;transition:color var(--transition-base) var(--ease-in-out)}.modal-close:hover{color:var(--text-primary)}.modal form{padding:var(--space-6)}.form-group{margin-bottom:var(--space-5)}.form-group label{display:block;margin-bottom:var(--space-2);font-weight:var(--font-weight-medium);font-size:var(--text-sm);font-family:var(--font-primary);color:var(--text-secondary)}.form-group input,.form-group select{width:100%;padding:var(--space-3) var(--space-4);border:1px solid var(--border-default);border-radius:var(--radius-md);font-size:var(--text-sm);font-family:var(--font-primary);background:var(--bg-tertiary);color:var(--text-primary);transition:all var(--transition-base) var(--ease-in-out)}.form-group input:focus,.form-group select:focus{outline:none;border-color:var(--color-yellow);box-shadow:0 0 0 3px #d4a72c1a}.modal-actions{display:flex;gap:var(--space-4);justify-content:flex-end;padding-top:var(--space-4);border-top:1px solid var(--border-default);margin-top:var(--space-4)}.btn-cancel{padding:var(--space-3) var(--space-6);background:var(--bg-tertiary);color:var(--text-secondary);border:1px solid var(--border-default);border-radius:var(--radius-md);font-size:var(--text-sm);font-family:var(--font-primary);cursor:pointer;transition:all var(--transition-base) var(--ease-in-out)}.btn-cancel:hover{background:var(--bg-elevated);border-color:var(--border-strong)}.btn-submit{padding:var(--space-3) var(--space-6);background:var(--color-yellow);color:var(--bg-primary);border:none;border-radius:var(--radius-md);font-size:var(--text-sm);font-weight:var(--font-weight-medium);font-family:var(--font-primary);cursor:pointer;transition:all var(--transition-base) var(--ease-in-out)}.btn-submit:hover{background:var(--color-yellow-bright);transform:translateY(-1px);box-shadow:var(--shadow-sm)}.btn-manage-outlets{padding:.375rem .75rem;background:var(--bg-tertiary, #2d2d2d);border:1px solid var(--border-default, #3d3d3d);color:var(--text-primary, #e6e6e6);border-radius:4px;font-size:.75rem;cursor:pointer;transition:all .15s ease;font-family:var(--font-primary)}.btn-manage-outlets:hover{background:var(--bg-primary, #1a1a1a);border-color:var(--color-red-bright, #ff4d4f);color:var(--color-red-bright, #ff4d4f)}.modal-description{margin:0 var(--space-6) var(--space-4) var(--space-6);color:var(--text-secondary);font-size:var(--text-sm);line-height:1.5}.outlet-assignment-list{display:flex;flex-direction:column;gap:var(--space-3)}.outlet-assignment-item{display:flex;align-items:center;gap:var(--space-3);padding:var(--space-4);border:1px solid var(--border-default);border-radius:var(--radius-md);cursor:pointer;transition:all var(--transition-base) var(--ease-in-out);background:var(--bg-secondary)}.outlet-assignment-item:hover{border-color:var(--border-strong);background:var(--bg-tertiary)}.outlet-assignment-item.selected{background:#3b82f61a;border-color:var(--color-yellow)}.outlet-assignment-item input[type=checkbox]{cursor:pointer;width:18px;height:18px}.outlet-info{flex:1}.outlet-name{font-weight:var(--font-weight-medium);color:var(--text-primary);margin-bottom:var(--space-1)}.outlet-location{font-size:var(--text-sm);color:var(--text-secondary)}@media(max-width:768px){.users-header{flex-direction:column;gap:1rem;padding:1rem}.header-left,.header-right{width:100%;justify-content:space-between}.users-content{padding:1rem}.users-table-container{overflow-x:auto}.users-table th,.users-table td{padding:.75rem 1rem}}.admin{min-height:100vh;background:var(--bg-primary);color:var(--text-primary);font-family:var(--font-primary)}.admin-container{max-width:1400px;margin:0 auto;padding:var(--space-6);animation:fadeIn var(--transition-base)}.admin-header{margin-bottom:var(--space-8)}.header-top{display:flex;justify-content:space-between;align-items:center;margin-bottom:var(--space-6);padding-bottom:var(--space-4);border-bottom:1px solid var(--border-subtle)}.header-left,.header-right{display:flex;align-items:center;gap:var(--space-4)}.btn-back{display:flex;align-items:center;gap:var(--space-2);padding:var(--space-2) var(--space-4);background:var(--bg-secondary);color:var(--text-primary);border:1px solid var(--border-subtle);border-radius:var(--radius-md);text-decoration:none;font-size:var(--text-sm);font-weight:var(--font-weight-medium);transition:all var(--transition-base)}.btn-back:hover{background:var(--bg-tertiary);border-color:var(--border-default);transform:translate(-2px)}.header-title{display:flex;align-items:flex-start;gap:var(--space-4)}.header-icon{color:var(--color-yellow);margin-top:var(--space-1)}.header-title h1{font-size:var(--text-3xl);font-weight:var(--font-weight-bold);margin:0 0 var(--space-1) 0;color:var(--text-primary)}.header-title p{font-size:var(--text-base);color:var(--text-secondary);margin:0}.admin-nav-cards{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:var(--space-4);margin-bottom:var(--space-8)}.admin-nav-cards .nav-card{position:relative;padding:var(--space-6);background:var(--bg-secondary);border:1px solid var(--border-subtle);border-radius:var(--radius-lg);transition:all var(--transition-base);cursor:pointer}.admin-nav-cards .nav-card.active{background:var(--color-yellow-dim);border-color:var(--color-yellow)}.admin-nav-cards .nav-card.disabled{opacity:.5;cursor:not-allowed}.admin-nav-cards .nav-card .card-icon{color:var(--color-yellow);margin-bottom:var(--space-3)}.admin-nav-cards .nav-card h2{font-size:var(--text-lg);font-weight:var(--font-weight-semibold);margin:0 0 var(--space-2) 0;color:var(--text-primary)}.admin-nav-cards .nav-card p{font-size:var(--text-sm);color:var(--text-secondary);margin:0}.coming-soon{position:absolute;top:var(--space-3);right:var(--space-3);padding:var(--space-1) var(--space-2);background:var(--bg-tertiary);color:var(--text-tertiary);font-size:var(--text-xs);font-weight:var(--font-weight-medium);border-radius:var(--radius-sm);border:1px solid var(--border-subtle)}.admin-section{background:var(--bg-secondary);border:1px solid var(--border-subtle);border-radius:var(--radius-lg);padding:var(--space-6)}.section-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:var(--space-6);padding-bottom:var(--space-4);border-bottom:1px solid var(--border-subtle)}.section-header h2{font-size:var(--text-xl);font-weight:var(--font-weight-semibold);margin:0;color:var(--text-primary)}.organizations-table-container{overflow-x:auto;border-radius:var(--radius-md);border:1px solid var(--border-subtle)}.organizations-table{width:100%;border-collapse:collapse;font-size:var(--text-sm)}.organizations-table thead{background:var(--bg-tertiary);border-bottom:1px solid var(--border-default)}.organizations-table th{padding:var(--space-3) var(--space-4);text-align:left;font-weight:var(--font-weight-semibold);color:var(--text-secondary);font-size:var(--text-xs);text-transform:uppercase;letter-spacing:.05em;white-space:nowrap}.organizations-table tbody tr{border-bottom:1px solid var(--border-subtle);transition:background var(--transition-fast)}.organizations-table tbody tr:last-child{border-bottom:none}.organizations-table tbody tr:hover{background:var(--bg-tertiary)}.organizations-table td{padding:var(--space-4);color:var(--text-primary)}.org-name{font-weight:var(--font-weight-medium);color:var(--text-primary)}.org-slug code{font-family:var(--font-mono);font-size:var(--text-xs);padding:var(--space-1) var(--space-2);background:var(--bg-primary);color:var(--color-yellow);border-radius:var(--radius-sm);border:1px solid var(--border-subtle)}.tier-badge{display:inline-block;padding:var(--space-1) var(--space-3);border-radius:var(--radius-full);font-size:var(--text-xs);font-weight:var(--font-weight-semibold);text-transform:uppercase;letter-spacing:.05em}.tier-free{background:var(--bg-tertiary);color:var(--text-secondary);border:1px solid var(--border-default)}.tier-basic{background:#3b82f61a;color:#60a5fa;border:1px solid rgba(59,130,246,.3)}.tier-pro{background:var(--color-yellow-dim);color:var(--color-yellow-bright);border:1px solid var(--color-yellow)}.tier-enterprise{background:#a855f71a;color:#c084fc;border:1px solid rgba(168,85,247,.3)}.status-badge{display:inline-block;padding:var(--space-1) var(--space-3);border-radius:var(--radius-full);font-size:var(--text-xs);font-weight:var(--font-weight-semibold);text-transform:uppercase;letter-spacing:.05em}.status-active{background:var(--color-green-dim);color:var(--color-green-bright);border:1px solid var(--color-green)}.status-cancelled{background:var(--color-red-dim);color:var(--color-red-bright);border:1px solid var(--color-red)}.status-past_due{background:#fb923c1a;color:#fb923c;border:1px solid rgba(251,146,60,.3)}.status-trialing{background:#3b82f61a;color:#60a5fa;border:1px solid rgba(59,130,246,.3)}.limit-cell{text-align:center;font-family:var(--font-mono);font-size:var(--text-sm);color:var(--text-secondary)}.limit-value{color:var(--text-primary)}.actions-cell{white-space:nowrap}.btn-icon{padding:var(--space-1) var(--space-3);background:transparent;color:var(--color-yellow);border:1px solid var(--color-yellow);border-radius:var(--radius-sm);font-size:var(--text-xs);font-weight:var(--font-weight-medium);cursor:pointer;transition:all var(--transition-fast);margin-right:var(--space-2)}.btn-icon:last-child{margin-right:0}.btn-icon:hover{background:var(--color-yellow);color:var(--bg-primary);transform:translateY(-1px)}.loading-state{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:var(--space-12);color:var(--text-secondary)}.loading-state p{margin-top:var(--space-4);font-size:var(--text-sm)}.error-state{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:var(--space-12);color:var(--color-red);text-align:center}.error-state p{margin-bottom:var(--space-4);font-size:var(--text-sm)}.empty-state{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:var(--space-12);text-align:center}.empty-icon{color:var(--text-tertiary);margin-bottom:var(--space-4)}.empty-state h3{font-size:var(--text-lg);font-weight:var(--font-weight-semibold);margin:0 0 var(--space-2) 0;color:var(--text-secondary)}.empty-state p{font-size:var(--text-sm);color:var(--text-tertiary);margin:0}.btn-icon-edit{border-color:var(--color-yellow);color:var(--color-yellow)}.btn-icon-edit:hover{background:var(--color-yellow);color:var(--bg-primary)}.btn-icon-stats{border-color:#3b82f680;color:#60a5fa}.btn-icon-stats:hover{background:#60a5fa;color:var(--bg-primary)}.btn-icon-delete{border-color:var(--color-red);color:var(--color-red)}.btn-icon-delete:hover{background:var(--color-red);color:#fff}.modal-overlay{position:fixed;inset:0;background:#000000b3;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);display:flex;align-items:center;justify-content:center;z-index:1000;padding:var(--space-4);animation:fadeIn var(--transition-fast)}.modal-content{background:var(--bg-secondary);border:1px solid var(--border-default);border-radius:var(--radius-lg);max-width:600px;width:100%;max-height:90vh;overflow-y:auto;animation:slideUp var(--transition-base)}.modal-content.modal-stats{max-width:800px}.modal-header{display:flex;justify-content:space-between;align-items:center;padding:var(--space-6);border-bottom:1px solid var(--border-subtle)}.modal-header h2{font-size:var(--text-xl);font-weight:var(--font-weight-semibold);margin:0;color:var(--text-primary)}.modal-close{background:transparent;border:none;color:var(--text-secondary);cursor:pointer;padding:var(--space-2);display:flex;align-items:center;justify-content:center;border-radius:var(--radius-md);transition:all var(--transition-fast)}.modal-close:hover{background:var(--bg-tertiary);color:var(--text-primary)}.modal-form{padding:var(--space-6)}.form-group{margin-bottom:var(--space-4)}.form-group label{display:block;font-size:var(--text-sm);font-weight:var(--font-weight-medium);color:var(--text-secondary);margin-bottom:var(--space-2)}.form-group input,.form-group select{width:100%;padding:var(--space-3);background:var(--bg-primary);border:1px solid var(--border-subtle);border-radius:var(--radius-md);color:var(--text-primary);font-size:var(--text-sm);font-family:var(--font-primary);transition:all var(--transition-fast)}.form-group input:focus,.form-group select:focus{outline:none;border-color:var(--color-yellow);background:var(--bg-secondary)}.form-group input.error{border-color:var(--color-red)}.form-group input.disabled{background:var(--bg-tertiary);color:var(--text-tertiary);cursor:not-allowed}.form-group small{display:block;font-size:var(--text-xs);color:var(--text-tertiary);margin-top:var(--space-1)}.error-message{display:block;font-size:var(--text-xs);color:var(--color-red);margin-top:var(--space-1)}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:var(--space-4)}.tier-limits-info{background:var(--bg-primary);border:1px solid var(--border-subtle);border-radius:var(--radius-md);padding:var(--space-4);margin-bottom:var(--space-4)}.tier-limits-info h3{font-size:var(--text-sm);font-weight:var(--font-weight-semibold);color:var(--text-secondary);margin:0 0 var(--space-3) 0}.limits-grid{display:grid;grid-template-columns:1fr 1fr;gap:var(--space-3)}.limit-item{display:flex;justify-content:space-between;align-items:center;padding:var(--space-2);background:var(--bg-secondary);border-radius:var(--radius-sm)}.limit-label{font-size:var(--text-xs);color:var(--text-tertiary)}.limit-amount{font-size:var(--text-sm);font-weight:var(--font-weight-semibold);color:var(--color-yellow);font-family:var(--font-mono)}.modal-actions{display:flex;justify-content:flex-end;gap:var(--space-3);padding:var(--space-6);border-top:1px solid var(--border-subtle)}.stats-content{padding:var(--space-6)}.stats-header{margin-bottom:var(--space-6)}.stats-meta{display:flex;align-items:center;gap:var(--space-3)}.org-slug-display{font-family:var(--font-mono);font-size:var(--text-sm);padding:var(--space-2) var(--space-3);background:var(--bg-primary);color:var(--text-secondary);border-radius:var(--radius-sm);border:1px solid var(--border-subtle)}.stats-grid{display:grid;grid-template-columns:1fr 1fr;gap:var(--space-4)}.stat-card{background:var(--bg-primary);border:1px solid var(--border-subtle);border-radius:var(--radius-lg);padding:var(--space-4);display:flex;gap:var(--space-4)}.stat-icon{flex-shrink:0;width:48px;height:48px;display:flex;align-items:center;justify-content:center;background:var(--color-yellow-dim);color:var(--color-yellow);border-radius:var(--radius-md)}.stat-details{flex:1}.stat-details h3{font-size:var(--text-sm);font-weight:var(--font-weight-medium);color:var(--text-secondary);margin:0 0 var(--space-2) 0}.stat-value{font-size:var(--text-2xl);font-weight:var(--font-weight-bold);color:var(--text-primary);font-family:var(--font-mono);margin-bottom:var(--space-3)}.stat-progress{width:100%;height:6px;background:var(--bg-tertiary);border-radius:var(--radius-full);overflow:hidden;margin-bottom:var(--space-2)}.stat-progress-bar{height:100%;background:linear-gradient(90deg,var(--color-yellow),var(--color-yellow-bright));border-radius:var(--radius-full);transition:width var(--transition-base)}.stat-footer{display:flex;align-items:center;justify-content:space-between}.stat-footer .available{font-size:var(--text-xs);color:var(--text-tertiary)}.stat-footer .available.unlimited{color:var(--color-green)}@media(max-width:1024px){.admin-nav-cards{grid-template-columns:1fr}.organizations-table-container{overflow-x:scroll}.organizations-table{min-width:1000px}.stats-grid{grid-template-columns:1fr}}@media(max-width:640px){.form-row,.limits-grid{grid-template-columns:1fr}}.admin-header-content{display:flex;align-items:center;gap:var(--space-4)}.admin-header-content h1{font-size:var(--text-3xl);font-weight:var(--font-weight-bold);margin:0;color:var(--text-primary)}.admin-loading{display:flex;align-items:center;justify-content:center;min-height:400px;color:var(--text-secondary);font-size:var(--text-lg)}.admin-alert{display:flex;align-items:center;gap:var(--space-3);padding:var(--space-4);border-radius:var(--radius-md);margin-bottom:var(--space-6);font-size:var(--text-sm)}.admin-alert-error{background:var(--color-red-dim);color:var(--color-red-bright);border:1px solid var(--color-red)}.admin-alert-success{background:var(--color-green-dim);color:var(--color-green-bright);border:1px solid var(--color-green)}.admin-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:var(--space-6)}.admin-card{background:var(--bg-secondary);border:1px solid var(--border-subtle);border-radius:var(--radius-lg);overflow:hidden}.admin-users-card{grid-column:1 / -1}.admin-card-header{display:flex;align-items:center;gap:var(--space-3);padding:var(--space-6);border-bottom:1px solid var(--border-subtle)}.admin-card-header h2{font-size:var(--text-xl);font-weight:var(--font-weight-semibold);margin:0;color:var(--text-primary)}.admin-form{padding:var(--space-6)}.admin-form-group{margin-bottom:var(--space-4)}.admin-form-group label{display:block;font-size:var(--text-sm);font-weight:var(--font-weight-medium);color:var(--text-secondary);margin-bottom:var(--space-2)}.admin-input{width:100%;padding:var(--space-3);background:var(--bg-primary);border:1px solid var(--border-subtle);border-radius:var(--radius-md);color:var(--text-primary);font-size:var(--text-sm);font-family:var(--font-primary);transition:all var(--transition-fast)}.admin-input:focus{outline:none;border-color:var(--color-yellow);background:var(--bg-secondary)}.admin-tier-badge{display:inline-block;padding:var(--space-2) var(--space-4);border-radius:var(--radius-full);font-size:var(--text-sm);font-weight:var(--font-weight-semibold);color:#fff;margin-bottom:var(--space-4)}.admin-btn{display:flex;align-items:center;justify-content:center;gap:var(--space-2);padding:var(--space-3) var(--space-6);border-radius:var(--radius-md);font-size:var(--text-sm);font-weight:var(--font-weight-medium);cursor:pointer;transition:all var(--transition-fast);border:1px solid}.admin-btn-primary{background:var(--color-yellow);color:var(--bg-primary);border-color:var(--color-yellow)}.admin-btn-primary:hover:not(:disabled){background:var(--color-yellow-bright);transform:translateY(-1px)}.admin-btn-primary:disabled{opacity:.5;cursor:not-allowed}.admin-btn-secondary{background:transparent;color:var(--color-yellow);border-color:var(--color-yellow)}.admin-btn-secondary:hover{background:var(--color-yellow-dim)}.admin-stats-grid{padding:var(--space-6);display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:var(--space-6)}.admin-stat-item{display:flex;flex-direction:column;gap:var(--space-2)}.admin-stat-label{display:flex;align-items:center;gap:var(--space-2);font-size:var(--text-sm);color:var(--text-secondary);font-weight:var(--font-weight-medium)}.admin-stat-value{font-size:var(--text-2xl);font-weight:var(--font-weight-bold);font-family:var(--font-mono);display:flex;align-items:baseline;gap:var(--space-2)}.admin-stat-max{font-size:var(--text-lg);color:var(--text-tertiary);font-weight:var(--font-weight-normal)}.admin-progress-bar{width:100%;height:8px;background:var(--bg-tertiary);border-radius:var(--radius-full);overflow:hidden;margin-top:var(--space-2)}.admin-progress-fill{height:100%;border-radius:var(--radius-full);transition:width var(--transition-base)}.admin-warning{display:flex;align-items:center;gap:var(--space-2);padding:var(--space-3) var(--space-6);background:#fb923c1a;color:#fb923c;border:1px solid rgba(251,146,60,.3);border-radius:var(--radius-md);font-size:var(--text-sm);margin-top:var(--space-4)}.admin-users-list{padding:var(--space-6);display:flex;flex-direction:column;gap:var(--space-3)}.admin-user-item{display:flex;justify-content:space-between;align-items:center;padding:var(--space-4);background:var(--bg-primary);border:1px solid var(--border-subtle);border-radius:var(--radius-md);transition:all var(--transition-fast)}.admin-user-item:hover{border-color:var(--border-default);transform:translate(2px)}.admin-user-info{display:flex;flex-direction:column;gap:var(--space-1)}.admin-user-name{font-weight:var(--font-weight-medium);color:var(--text-primary)}.admin-user-email{font-size:var(--text-sm);color:var(--text-secondary)}.admin-user-role-badge{padding:var(--space-1) var(--space-3);border-radius:var(--radius-full);font-size:var(--text-xs);font-weight:var(--font-weight-semibold);text-transform:uppercase;letter-spacing:.05em}.admin-user-role-badge[data-role=admin]{background:var(--color-yellow-dim);color:var(--color-yellow-bright);border:1px solid var(--color-yellow)}.admin-user-role-badge[data-role=chef]{background:#3b82f61a;color:#60a5fa;border:1px solid rgba(59,130,246,.3)}.admin-user-role-badge[data-role=viewer]{background:var(--bg-tertiary);color:var(--text-secondary);border:1px solid var(--border-default)}.admin-card-footer{padding:var(--space-6);border-top:1px solid var(--border-subtle);display:flex;justify-content:flex-end}@media(max-width:1024px){.admin-grid,.admin-stats-grid{grid-template-columns:1fr}}.org-card{background:linear-gradient(135deg,#10b9810d,#3b82f60d);border:1px solid var(--border-strong, #4d4d4d);border-radius:12px;padding:2rem;margin-bottom:2rem;box-shadow:0 4px 20px #0003}.org-card-header{display:flex;align-items:flex-start;gap:1rem;margin-bottom:1.5rem}.org-card-icon{font-size:2.5rem;flex-shrink:0}.org-card-info{flex:1;min-width:0}.org-card-name{font-family:var(--font-primary, "Inter", sans-serif);font-size:1.5rem;font-weight:700;color:var(--text-primary, #e6e6e6);margin:0 0 .25rem}.org-card-subtitle{font-family:var(--font-primary, "Inter", sans-serif);font-size:.875rem;color:var(--text-secondary, #a3a3a3);margin:0;text-transform:uppercase;letter-spacing:.05em}.org-card-stats{display:grid;grid-template-columns:repeat(5,1fr);gap:1.5rem;padding-top:1.5rem;border-top:1px solid var(--border-default, #3d3d3d)}.org-card-stats .stats-loading{grid-column:1 / -1;text-align:center;font-size:.875rem;color:var(--text-tertiary, #6b6b6b);padding:1rem 0}.org-card-stats .stat-item{display:flex;align-items:center;gap:.75rem;padding:.75rem;background:var(--bg-secondary, #242424);border-radius:8px;border:1px solid var(--border-subtle, #2d2d2d);transition:all .15s ease}.org-card-stats .stat-item:hover{border-color:var(--border-default, #3d3d3d);background:var(--bg-tertiary, #2d2d2d)}.org-card-stats .stat-icon{font-size:1.75rem}.org-card-stats .stat-info{display:flex;flex-direction:column;gap:.125rem}.org-card-stats .stat-value{font-family:var(--font-primary, "Inter", sans-serif);font-size:1.75rem;font-weight:700;color:var(--text-primary, #e6e6e6);line-height:1}.org-card-stats .stat-label{font-family:var(--font-primary, "Inter", sans-serif);font-size:.75rem;color:var(--text-tertiary, #6b6b6b);text-transform:uppercase;letter-spacing:.05em}@media(max-width:1200px){.org-card-stats{grid-template-columns:repeat(3,1fr)}}@media(max-width:768px){.org-card{padding:1.5rem}.org-card-stats{grid-template-columns:repeat(2,1fr);gap:1rem}.org-card-icon{font-size:2rem}.org-card-name{font-size:1.25rem}.org-card-stats .stat-value{font-size:1.5rem}}@media(max-width:480px){.org-card-stats{grid-template-columns:1fr}}.modal-overlay{position:fixed;inset:0;background:#000000b3;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);display:flex;align-items:center;justify-content:center;z-index:1000;animation:fadeIn .15s ease}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.modal-content{background:var(--bg-secondary, #242424);border:1px solid var(--border-default, #3d3d3d);border-radius:8px;width:90%;max-width:500px;max-height:90vh;overflow-y:auto;animation:slideUp .2s ease}@keyframes slideUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.modal-header{display:flex;justify-content:space-between;align-items:center;padding:1.5rem;border-bottom:1px solid var(--border-subtle, #2d2d2d)}.modal-title{font-family:var(--font-primary, "Inter", sans-serif);font-size:1.5rem;font-weight:700;color:var(--text-primary, #e6e6e6);margin:0}.modal-close{background:transparent;border:none;color:var(--text-secondary, #a3a3a3);font-size:1.5rem;cursor:pointer;padding:.25rem;line-height:1;transition:color .15s ease}.modal-close:hover{color:var(--text-primary, #e6e6e6)}.modal-form{padding:1.5rem}.form-group{margin-bottom:1.25rem}.form-group:last-of-type{margin-bottom:1.5rem}.form-label{display:block;font-family:var(--font-primary, "Inter", sans-serif);font-size:.875rem;font-weight:600;color:var(--text-primary, #e6e6e6);margin-bottom:.5rem}.required{color:var(--color-red-bright, #ff4d4f)}.form-input,.form-textarea{width:100%;padding:.75rem 1rem;background:var(--bg-tertiary, #2d2d2d);border:1px solid var(--border-default, #3d3d3d);border-radius:6px;color:var(--text-primary, #e6e6e6);font-family:var(--font-primary, "Inter", sans-serif);font-size:.875rem;transition:all .15s ease}.form-input:focus,.form-textarea:focus{outline:none;border-color:var(--color-yellow, #d4a72c);box-shadow:0 0 0 3px #d4a72c1a}.form-input::placeholder,.form-textarea::placeholder{color:var(--text-tertiary, #6b6b6b)}.form-input.error,.form-textarea.error{border-color:var(--color-red-bright, #ff4d4f)}.form-input.error:focus,.form-textarea.error:focus{box-shadow:0 0 0 3px #ff4d4f1a}.form-textarea{resize:vertical;min-height:80px}.form-error{display:block;font-family:var(--font-primary, "Inter", sans-serif);font-size:.75rem;color:var(--color-red-bright, #ff4d4f);margin-top:.375rem}.form-error-box{padding:.75rem 1rem;background:#d434381a;border:1px solid rgba(212,52,56,.3);border-radius:6px;color:var(--color-red-bright, #ff4d4f);font-family:var(--font-primary, "Inter", sans-serif);font-size:.875rem;margin-bottom:1.25rem}.modal-actions{display:flex;gap:.75rem;justify-content:flex-end;padding-top:1.5rem;border-top:1px solid var(--border-subtle, #2d2d2d)}.modal-actions .btn{min-width:120px}@media(max-width:768px){.modal-content{width:95%;max-height:95vh}.modal-header,.modal-form{padding:1.25rem}.modal-actions{flex-direction:column-reverse}.modal-actions .btn{width:100%}}.outlet-card{background:var(--bg-secondary, #242424);border:1px solid var(--border-default, #3d3d3d);border-radius:8px;padding:1.5rem;transition:all .15s ease}.outlet-card:hover{border-color:var(--border-strong, #4d4d4d);box-shadow:0 4px 12px #0000004d}.outlet-card-header{display:flex;align-items:flex-start;gap:1rem;margin-bottom:1rem}.outlet-card-icon{font-size:2rem;flex-shrink:0}.outlet-card-info{flex:1;min-width:0}.outlet-card-name{font-family:var(--font-primary, "Inter", sans-serif);font-size:1.25rem;font-weight:600;color:var(--text-primary, #e6e6e6);margin:0 0 .25rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.outlet-card-location{font-family:var(--font-mono, "JetBrains Mono", monospace);font-size:.875rem;color:var(--text-secondary, #a3a3a3);margin:0}.outlet-card-description{font-family:var(--font-primary, "Inter", sans-serif);font-size:.875rem;color:var(--text-secondary, #a3a3a3);margin:0 0 1.25rem;line-height:1.5}.outlet-card-stats{display:grid;grid-template-columns:repeat(3,1fr);gap:1rem;padding:1rem 0;border-top:1px solid var(--border-subtle, #2d2d2d);border-bottom:1px solid var(--border-subtle, #2d2d2d);margin-bottom:1.25rem}.stats-loading{grid-column:1 / -1;text-align:center;font-size:.875rem;color:var(--text-tertiary, #6b6b6b);padding:.5rem 0}.stat-item{display:flex;align-items:center;gap:.75rem}.stat-icon{font-size:1.5rem}.stat-info{display:flex;flex-direction:column;gap:.125rem}.stat-value{font-family:var(--font-primary, "Inter", sans-serif);font-size:1.5rem;font-weight:700;color:var(--text-primary, #e6e6e6);line-height:1}.stat-label{font-family:var(--font-primary, "Inter", sans-serif);font-size:.75rem;color:var(--text-tertiary, #6b6b6b);text-transform:uppercase;letter-spacing:.05em}.outlet-card-actions{display:flex;gap:.75rem;flex-wrap:wrap}.btn-card{flex:1;padding:.625rem 1rem;font-family:var(--font-primary, "Inter", sans-serif);font-size:.875rem;font-weight:600;border-radius:6px;border:none;cursor:pointer;transition:all .15s ease}.btn-card-secondary{background:var(--bg-tertiary, #2d2d2d);color:var(--text-primary, #e6e6e6);border:1px solid var(--border-default, #3d3d3d)}.btn-card-secondary:hover{background:var(--bg-elevated, #323232);border-color:var(--border-strong, #4d4d4d)}.btn-card-danger{background:#d4343826;color:var(--color-red-bright, #ff4d4f);border:1px solid rgba(212,52,56,.3)}.btn-card-danger:hover:not(:disabled){background:#d4343840;border-color:#d4343880}.btn-card-danger.confirm{background:var(--color-red, #d43438);color:#fff;border-color:var(--color-red, #d43438);animation:pulse .5s ease-in-out}.btn-card-danger:disabled{opacity:.5;cursor:not-allowed}@keyframes pulse{0%,to{transform:scale(1)}50%{transform:scale(1.05)}}.outlet-card-list{display:flex;align-items:center;gap:2rem;padding:1.25rem 1.5rem}.outlet-card-list .outlet-card-header{flex:0 0 300px;margin-bottom:0}.outlet-card-list .outlet-card-description{flex:1;margin:0}.outlet-card-list .outlet-card-stats{flex:0 0 auto;border:none;margin:0;padding:0;gap:2rem}.outlet-card-list .outlet-card-actions{flex:0 0 auto;gap:.5rem}.outlet-card-list .btn-card{flex:0 0 auto;min-width:80px}@media(max-width:768px){.outlet-card-stats{grid-template-columns:1fr;gap:.75rem}.outlet-card-list{flex-direction:column;align-items:stretch;gap:1rem}.outlet-card-list .outlet-card-header,.outlet-card-list .outlet-card-stats{flex:1}.outlet-card-list .outlet-card-stats{grid-template-columns:repeat(3,1fr)}}.page-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:2rem;gap:1rem}.page-title-section{flex:1}.page-title{font-family:var(--font-primary, "Inter", sans-serif);font-size:2rem;font-weight:700;color:var(--text-primary, #e6e6e6);margin:0 0 .5rem}.page-subtitle{font-family:var(--font-primary, "Inter", sans-serif);font-size:1rem;color:var(--text-secondary, #a3a3a3);margin:0}.outlets-controls{display:flex;gap:1rem;margin-bottom:1.5rem;align-items:center}.search-box{flex:1;position:relative;display:flex;align-items:center;max-width:400px}.search-icon{position:absolute;left:1rem;font-size:1rem;pointer-events:none}.search-input{width:100%;padding:.75rem 1rem .75rem 2.75rem;background:var(--bg-tertiary, #2d2d2d);border:1px solid var(--border-default, #3d3d3d);border-radius:6px;color:var(--text-primary, #e6e6e6);font-family:var(--font-primary, "Inter", sans-serif);font-size:.875rem;transition:all .15s ease}.search-input:focus{outline:none;border-color:var(--color-yellow, #d4a72c);box-shadow:0 0 0 3px #d4a72c1a}.search-input::placeholder{color:var(--text-tertiary, #6b6b6b)}.search-clear{position:absolute;right:.75rem;background:transparent;border:none;color:var(--text-secondary, #a3a3a3);cursor:pointer;font-size:1rem;padding:.25rem;transition:color .15s ease}.search-clear:hover{color:var(--text-primary, #e6e6e6)}.view-toggle{display:flex;gap:.25rem;background:var(--bg-tertiary, #2d2d2d);border:1px solid var(--border-default, #3d3d3d);border-radius:6px;padding:.25rem}.view-toggle-btn{background:transparent;border:none;color:var(--text-secondary, #a3a3a3);cursor:pointer;font-size:1.25rem;padding:.5rem .75rem;border-radius:4px;transition:all .15s ease}.view-toggle-btn:hover{background:var(--bg-elevated, #323232);color:var(--text-primary, #e6e6e6)}.view-toggle-btn.active{background:var(--bg-elevated, #323232);color:var(--color-yellow, #d4a72c)}.outlets-stats{margin-bottom:1rem}.stats-text{font-family:var(--font-primary, "Inter", sans-serif);font-size:.875rem;color:var(--text-secondary, #a3a3a3)}.outlets-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(350px,1fr));gap:1.5rem}.outlets-list{display:flex;flex-direction:column;gap:1rem}.loading-state{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:4rem 2rem;color:var(--text-secondary, #a3a3a3)}.loading-spinner{width:40px;height:40px;border:3px solid var(--border-default, #3d3d3d);border-top-color:var(--color-yellow, #d4a72c);border-radius:50%;animation:spin .8s linear infinite;margin-bottom:1rem}.empty-state{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:4rem 2rem;text-align:center}.empty-icon{font-size:4rem;margin-bottom:1rem;opacity:.5}.empty-state h3{font-family:var(--font-primary, "Inter", sans-serif);font-size:1.5rem;font-weight:600;color:var(--text-primary, #e6e6e6);margin:0 0 .5rem}.empty-state p{font-family:var(--font-primary, "Inter", sans-serif);font-size:1rem;color:var(--text-secondary, #a3a3a3);margin:0 0 1.5rem}.btn{display:inline-flex;align-items:center;gap:.5rem;padding:.75rem 1.25rem;font-family:var(--font-primary, "Inter", sans-serif);font-size:.875rem;font-weight:600;border-radius:6px;cursor:pointer;transition:all .15s ease;border:none}.btn-primary:hover{background:var(--color-yellow-bright, #fadb14);transform:translateY(-1px);box-shadow:0 4px 12px #d4a72c4d}.btn-secondary{background:var(--bg-tertiary, #2d2d2d);color:var(--text-primary, #e6e6e6);border:1px solid var(--border-default, #3d3d3d)}.btn-icon{font-size:1.25rem;line-height:1}@media(max-width:768px){.page-header{flex-direction:column}.outlets-controls{flex-direction:column;align-items:stretch}.search-box{max-width:100%}.outlets-grid{grid-template-columns:1fr}}.login-container{min-height:100vh;display:flex;align-items:center;justify-content:center;background:var(--bg-primary);padding:var(--space-4)}.login-card{background:var(--bg-secondary);border:1px solid var(--border-subtle);border-radius:var(--radius-lg);box-shadow:var(--shadow-lg);padding:var(--space-10);width:100%;max-width:400px;position:relative;overflow:hidden}.login-card:before{content:"";position:absolute;top:0;left:0;width:100%;height:2px;background:linear-gradient(90deg,var(--color-yellow),var(--color-red))}.login-header{text-align:center;margin-bottom:var(--space-8)}.login-header h1{font-family:var(--font-primary);font-size:var(--text-3xl);font-weight:var(--font-weight-bold);color:var(--text-primary);margin-bottom:var(--space-1);letter-spacing:var(--tracking-tight)}.login-subtitle{font-size:var(--text-xs);font-weight:var(--font-weight-medium);color:var(--text-tertiary);text-transform:uppercase;letter-spacing:var(--tracking-wide);margin-bottom:var(--space-4)}.login-header p{color:var(--text-secondary);font-size:var(--text-base)}.setup-notice{background:var(--color-yellow-dim);color:var(--color-yellow-bright);padding:var(--space-4);border-radius:var(--radius-md);border:1px solid var(--color-yellow);margin-bottom:var(--space-6);font-size:var(--text-sm);text-align:center}.login-error{background:var(--color-red-dim);color:var(--color-red-bright);padding:var(--space-3) var(--space-4);border-radius:var(--radius-md);border:1px solid var(--color-red);margin-bottom:var(--space-6);font-size:var(--text-sm)}.login-form{display:flex;flex-direction:column;gap:var(--space-5)}.form-group{display:flex;flex-direction:column;gap:var(--space-2)}.form-group label{font-size:var(--text-sm);font-weight:var(--font-weight-medium);color:var(--text-primary);letter-spacing:var(--tracking-wide)}.form-group input{padding:var(--space-3) var(--space-4);border:1px solid var(--border-default);border-radius:var(--radius-md);font-size:var(--text-base);background:var(--bg-tertiary);color:var(--text-primary);font-family:var(--font-primary);transition:all var(--transition-base) var(--ease-in-out)}.form-group input:focus{outline:none;border-color:var(--color-yellow);box-shadow:0 0 0 3px #d4a72c1a}.form-group input::placeholder{color:var(--text-tertiary)}.btn-login{padding:var(--space-3) var(--space-6);background:var(--color-yellow);color:var(--bg-primary);border:none;border-radius:var(--radius-md);font-size:var(--text-base);font-weight:var(--font-weight-semibold);font-family:var(--font-primary);cursor:pointer;transition:all var(--transition-base) var(--ease-in-out);margin-top:var(--space-2)}.btn-login:hover:not(:disabled){transform:translateY(-2px);box-shadow:var(--shadow-md);background:var(--color-yellow-bright)}.btn-login:disabled{opacity:.5;cursor:not-allowed}.login-footer{margin-top:var(--space-6);text-align:center}.btn-toggle-mode{background:none;border:none;color:var(--color-yellow);font-size:var(--text-sm);font-family:var(--font-primary);cursor:pointer;padding:var(--space-2);transition:color var(--transition-base) var(--ease-in-out)}.btn-toggle-mode:hover{color:var(--color-yellow-bright);text-decoration:underline}.super-admin-dashboard,.super-admin-organizations{padding:2rem;max-width:1400px;margin:0 auto;background:var(--bg-primary, #1a1a1a);min-height:calc(100vh - 60px)}.super-admin-nav{display:flex;gap:.5rem;margin-bottom:2rem;border-bottom:2px solid var(--border-default, #3d3d3d);align-items:center;justify-content:space-between}.super-admin-tabs{display:flex;gap:.5rem}.super-admin-tab{padding:.75rem 1.5rem;color:var(--text-secondary, #a3a3a3);text-decoration:none;font-weight:500;font-size:.875rem;border-bottom:2px solid transparent;margin-bottom:-2px;transition:all .15s ease}.super-admin-tab:hover{color:var(--text-primary, #e6e6e6);background:var(--bg-tertiary, #2d2d2d)}.super-admin-tab.active{color:var(--color-red-bright, #ff4d4f);border-bottom-color:var(--color-red-bright, #ff4d4f)}.return-to-main-btn{padding:.5rem 1rem;background:var(--bg-tertiary, #2d2d2d);border:1px solid var(--border-default, #3d3d3d);color:var(--text-primary, #e6e6e6);text-decoration:none;border-radius:4px;font-size:.875rem;font-weight:500;transition:all .15s ease;display:flex;align-items:center;gap:.5rem}.return-to-main-btn:hover{background:var(--bg-elevated, #323232);border-color:var(--color-yellow, #d4a72c);color:var(--color-yellow-bright, #fadb14);transform:translateY(-1px)}.super-admin-dashboard h1,.super-admin-organizations h1{font-size:2rem;color:var(--text-primary, #e6e6e6);margin-bottom:.5rem;font-weight:700}.subtitle{color:var(--text-secondary, #a3a3a3);font-size:1rem;margin-bottom:2rem}.stats-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:1rem;margin-bottom:2rem}.stat-card{background:var(--bg-secondary, #242424);border:1px solid var(--border-default, #3d3d3d);border-radius:6px;padding:1.5rem;display:flex;align-items:center;gap:1rem;transition:all .15s ease}.stat-card:hover{background:var(--bg-tertiary, #2d2d2d);border-color:var(--border-strong, #4d4d4d);transform:translateY(-2px)}.stat-icon{font-size:2rem;opacity:.8}.stat-content{flex:1}.stat-value{font-size:2rem;font-weight:700;line-height:1;margin-bottom:.25rem;color:var(--color-yellow-bright, #fadb14)}.stat-label{font-size:.875rem;color:var(--text-secondary, #a3a3a3);text-transform:uppercase;letter-spacing:.5px;font-weight:500}.tier-breakdown{background:var(--bg-secondary, #242424);border:1px solid var(--border-default, #3d3d3d);border-radius:6px;padding:1.5rem;margin-bottom:2rem}.tier-breakdown h2{color:var(--text-primary, #e6e6e6);margin-bottom:1.5rem;font-size:1.25rem;font-weight:600}.tier-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:1rem}.tier-card{background:var(--bg-tertiary, #2d2d2d);border:1px solid var(--border-default, #3d3d3d);border-radius:6px;padding:1.5rem;text-align:center;transition:all .15s ease}.tier-card:hover{border-color:var(--border-strong, #4d4d4d)}.tier-breakdown .tier-badge{display:inline-block;padding:.375rem .75rem;border-radius:4px;font-weight:600;font-size:.75rem;letter-spacing:.5px;margin-bottom:1rem}.tier-count{font-size:1.75rem;font-weight:700;color:var(--text-primary, #e6e6e6);margin-bottom:.25rem}.tier-label{font-size:.75rem;color:var(--text-secondary, #a3a3a3);text-transform:uppercase}.organizations-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:2rem;gap:1rem}.create-org-btn{background:var(--color-yellow, #d4a72c);color:var(--bg-primary, #1a1a1a);padding:.625rem 1.25rem;border:none;border-radius:4px;font-weight:600;font-size:.875rem;cursor:pointer;transition:all .15s ease;white-space:nowrap}.create-org-btn:hover{background:var(--color-yellow-bright, #fadb14);transform:translateY(-1px)}.filters{margin-bottom:2rem;display:flex;gap:1rem}.filters input,.filters select{background:var(--bg-secondary, #242424);border:1px solid var(--border-default, #3d3d3d);color:var(--text-primary, #e6e6e6);padding:.625rem;border-radius:4px;font-size:.875rem;font-family:var(--font-primary, "Inter", sans-serif)}.filters input:focus,.filters select:focus{outline:none;border-color:var(--color-yellow, #d4a72c);box-shadow:0 0 0 3px #d4a72c1a}.filters input{flex:1}.filters select{min-width:150px}.organizations-grid{display:grid;gap:1rem}.org-card{background:var(--bg-secondary, #242424);border:1px solid var(--border-default, #3d3d3d);border-radius:6px;padding:1.5rem;transition:all .15s ease}.org-card:hover{background:var(--bg-tertiary, #2d2d2d);border-color:var(--border-strong, #4d4d4d);transform:translateY(-2px)}.org-header{display:flex;justify-content:space-between;align-items:start;margin-bottom:1rem;gap:1rem}.org-info h3{font-size:1.25rem;color:var(--text-primary, #e6e6e6);margin-bottom:.25rem;font-weight:600}.org-slug{color:var(--text-tertiary, #6b6b6b);font-size:.875rem;font-family:var(--font-mono, "JetBrains Mono", monospace)}.org-tier{padding:.375rem .75rem;border-radius:4px;font-weight:600;font-size:.75rem;text-transform:uppercase;letter-spacing:.5px;white-space:nowrap}.org-tier[style*="background-color: rgb(107, 114, 128)"],.tier-badge[style*="background-color: rgb(107, 114, 128)"]{background:#6b728026!important;color:#9ca3af!important}.org-tier[style*="background-color: rgb(59, 130, 246)"],.tier-badge[style*="background-color: rgb(59, 130, 246)"]{background:#3b82f626!important;color:#60a5fa!important}.org-tier[style*="background-color: rgb(139, 92, 246)"],.tier-badge[style*="background-color: rgb(139, 92, 246)"]{background:#d4a72c26!important;color:var(--color-yellow-bright, #fadb14)!important}.org-tier[style*="background-color: rgb(245, 158, 11)"],.tier-badge[style*="background-color: rgb(245, 158, 11)"]{background:#8b5cf626!important;color:#a78bfa!important}.org-stats{display:grid;grid-template-columns:repeat(4,1fr);gap:1rem;margin-top:1rem;padding-top:1rem;border-top:1px solid var(--border-default, #3d3d3d)}.org-stat{text-align:center}.org-stat-value{font-size:1.5rem;font-weight:700;color:var(--color-yellow-bright, #fadb14)}.org-stat-label{font-size:.75rem;color:var(--text-secondary, #a3a3a3);text-transform:uppercase;letter-spacing:.5px;margin-top:.25rem}.org-actions{display:flex;gap:.5rem;margin-top:1rem}.org-actions button{flex:1;padding:.5rem;border:1px solid var(--border-default, #3d3d3d);background:var(--bg-tertiary, #2d2d2d);color:var(--text-primary, #e6e6e6);border-radius:4px;cursor:pointer;transition:all .15s ease;font-size:.875rem;font-weight:500}.org-actions button:hover{background:var(--bg-elevated, #323232);border-color:var(--color-yellow, #d4a72c);color:var(--color-yellow-bright, #fadb14)}.org-actions button[style*="color: rgb(220, 38, 38)"]{color:var(--color-red-bright, #ff4d4f)!important}.org-actions button[style*="color: rgb(220, 38, 38)"]:hover{border-color:var(--color-red, #d43438);color:#ff7875!important}.loading{display:flex;justify-content:center;align-items:center;min-height:400px;font-size:1.125rem;color:var(--text-secondary, #a3a3a3)}.error{display:flex;justify-content:center;align-items:center;min-height:400px;font-size:1.125rem;color:var(--color-red-bright, #ff4d4f)}div[style*="text-align: center"][style*="padding: 3rem"]{background:var(--bg-secondary, #242424);border:1px dashed var(--border-default, #3d3d3d);border-radius:6px;padding:3rem!important;color:var(--text-secondary, #a3a3a3)!important}@media(max-width:1024px){.stats-grid{grid-template-columns:repeat(2,1fr)}}@media(max-width:768px){.super-admin-dashboard,.super-admin-organizations{padding:1rem}.stats-grid{grid-template-columns:1fr}.tier-grid,.org-stats{grid-template-columns:repeat(2,1fr)}.organizations-header{flex-direction:column;align-items:stretch}.create-org-btn{width:100%}.filters{flex-direction:column}.filters select{width:100%}}.modal-overlay{position:fixed;inset:0;background:#000000b3;display:flex;align-items:center;justify-content:center;z-index:1000;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.modal-content{background:var(--bg-secondary, #242424);border:1px solid var(--border-default, #3d3d3d);border-radius:8px;padding:2rem;max-width:500px;width:90%;max-height:90vh;overflow-y:auto;box-shadow:0 20px 25px -5px #00000080,0 10px 10px -5px #0000004d}.modal-content h2{color:var(--text-primary, #e6e6e6);margin-bottom:1.5rem;font-size:1.5rem;font-weight:600}.modal-content p{color:var(--text-secondary, #a3a3a3);margin-bottom:1rem;line-height:1.6}.form-group{margin-bottom:1.5rem}.form-group label{display:block;color:var(--text-primary, #e6e6e6);font-weight:500;margin-bottom:.5rem;font-size:.875rem}.form-group input,.form-group select{width:100%;padding:.75rem;background:var(--bg-tertiary, #2d2d2d);border:1px solid var(--border-default, #3d3d3d);border-radius:4px;color:var(--text-primary, #e6e6e6);font-size:.875rem;font-family:var(--font-primary, "Inter", sans-serif);transition:all .15s ease}.form-group input:focus,.form-group select:focus{outline:none;border-color:var(--color-yellow, #d4a72c);box-shadow:0 0 0 3px #d4a72c1a}.form-group input::placeholder{color:var(--text-tertiary, #6b6b6b)}.modal-actions{display:flex;gap:1rem;margin-top:2rem}.modal-actions button{flex:1;padding:.75rem 1.5rem;border:none;border-radius:4px;font-weight:600;font-size:.875rem;cursor:pointer;transition:all .15s ease}.btn-primary{background:var(--color-yellow, #d4a72c);color:var(--bg-primary, #1a1a1a)}.btn-primary:hover{background:var(--color-yellow-bright, #fadb14);transform:translateY(-1px)}.btn-secondary{background:var(--bg-tertiary, #2d2d2d);border:1px solid var(--border-default, #3d3d3d);color:var(--text-primary, #e6e6e6)}.btn-secondary:hover{background:var(--bg-elevated, #323232);border-color:var(--border-strong, #4d4d4d)}.btn-danger{background:var(--color-red, #d43438);color:#fff;border:none}.btn-danger:hover{background:var(--color-red-bright, #ff4d4f);transform:translateY(-1px)}.super-admin-organization-detail{padding:2rem;max-width:1400px;margin:0 auto;background:var(--bg-primary, #1a1a1a);min-height:calc(100vh - 60px)}.detail-header{margin-bottom:2rem}.back-link{color:var(--text-secondary, #a3a3a3);text-decoration:none;font-size:.875rem;display:inline-flex;align-items:center;gap:.5rem;margin-bottom:1rem;transition:color .15s ease}.back-link:hover{color:var(--color-red-bright, #ff4d4f)}.detail-header h1{font-size:2rem;color:var(--text-primary, #e6e6e6);margin:.5rem 0}.org-meta{display:flex;gap:1rem;align-items:center;margin-top:.5rem}.org-tier-badge{padding:.25rem .75rem;border-radius:4px;color:#fff;font-size:.75rem;font-weight:600;text-transform:uppercase}.status-badge{padding:.25rem .75rem;border-radius:4px;font-size:.75rem;font-weight:600;text-transform:uppercase}.status-badge.active{background:#52c41a1a;color:#52c41a;border:1px solid #52c41a}.status-badge.inactive{background:#dc26261a;color:#dc2626;border:1px solid #dc2626}.status-badge.suspended{background:#dc26261a;color:#ff4d4f;border:1px solid #dc2626}.detail-stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:1.5rem;margin-bottom:3rem}.stat-card{background:var(--bg-secondary, #242424);border:1px solid var(--border-default, #3d3d3d);border-radius:8px;padding:1.5rem;text-align:center}.stat-value{font-size:2.5rem;font-weight:700;color:var(--color-red-bright, #ff4d4f);margin-bottom:.5rem}.stat-label{font-size:.875rem;color:var(--text-secondary, #a3a3a3);text-transform:uppercase;letter-spacing:.05em}.detail-section{margin-bottom:3rem}.detail-section h2{font-size:1.5rem;color:var(--text-primary, #e6e6e6);margin-bottom:1rem;border-bottom:2px solid var(--border-default, #3d3d3d);padding-bottom:.5rem}.data-table{width:100%;background:var(--bg-secondary, #242424);border:1px solid var(--border-default, #3d3d3d);border-radius:8px;overflow:hidden}.data-table thead{background:var(--bg-tertiary, #2d2d2d)}.data-table th{padding:1rem;text-align:left;color:var(--text-secondary, #a3a3a3);font-weight:600;font-size:.875rem;text-transform:uppercase;letter-spacing:.05em;border-bottom:1px solid var(--border-default, #3d3d3d)}.data-table td{padding:1rem;color:var(--text-primary, #e6e6e6);border-bottom:1px solid var(--border-default, #3d3d3d)}.data-table tbody tr:last-child td{border-bottom:none}.data-table tbody tr:hover{background:var(--bg-tertiary, #2d2d2d)}.data-table tbody tr.inactive-row{opacity:.6}.role-badge{padding:.25rem .75rem;border-radius:4px;color:#fff;font-size:.75rem;font-weight:600;text-transform:uppercase;display:inline-block}.outlet-badge{padding:.25rem .5rem;border-radius:4px;font-size:.75rem;font-weight:500;display:inline-block;background:var(--bg-tertiary, #2d2d2d);border:1px solid var(--border-default, #3d3d3d);color:var(--text-primary, #e6e6e6)}.outlet-badge.all-outlets{background:#1e40af;border-color:#1e40af;color:#fff;font-weight:600}.outlet-badge.no-outlets{background:transparent;border-color:#dc2626;color:#dc2626;font-style:italic}.outlet-assignment-item{display:flex;align-items:center;gap:.5rem;padding:.75rem;border:1px solid var(--border-default, #3d3d3d);border-radius:4px;cursor:pointer;transition:all .15s ease}.outlet-assignment-item:hover{border-color:var(--color-red-bright, #ff4d4f);background:#3b82f60d}.action-btn{padding:.375rem .75rem;background:var(--bg-tertiary, #2d2d2d);border:1px solid var(--border-default, #3d3d3d);color:var(--text-primary, #e6e6e6);border-radius:4px;font-size:.75rem;cursor:pointer;transition:all .15s ease;margin-right:.5rem}.action-btn:hover:not(:disabled){background:var(--bg-primary, #1a1a1a);border-color:var(--color-red-bright, #ff4d4f);color:var(--color-red-bright, #ff4d4f)}.action-btn:disabled{opacity:.5;cursor:not-allowed}.empty-state{text-align:center;padding:3rem;color:var(--text-secondary, #a3a3a3);font-size:1rem}.org-name-link{text-decoration:none;color:inherit;transition:color .15s ease}.org-name-link:hover h3{color:var(--color-red-bright, #ff4d4f)}.subscription-actions{display:flex;justify-content:space-between;align-items:center;padding:1.5rem;background:var(--bg-secondary, #242424);border:1px solid var(--border-default, #3d3d3d);border-radius:6px;gap:2rem}.subscription-info{display:flex;gap:2rem;align-items:center}.info-item{display:flex;align-items:center;gap:.75rem}.info-label{color:var(--text-secondary, #a3a3a3);font-size:.875rem;font-weight:500}.action-buttons{display:flex;gap:.75rem}.action-btn.primary{background:var(--color-yellow, #d4a72c);border-color:var(--color-yellow, #d4a72c);color:var(--bg-primary, #1a1a1a);font-weight:600}.action-btn.primary:hover{background:var(--color-yellow-bright, #fadb14);border-color:var(--color-yellow-bright, #fadb14);color:var(--bg-primary, #1a1a1a);transform:translateY(-1px)}.action-btn.impersonate{background:var(--color-red-dim, rgba(255, 77, 79, .1));border-color:var(--color-red, #ff4d4f);color:var(--color-red-bright, #ff4d4f);font-weight:600}.action-btn.impersonate:hover{background:var(--color-red, #ff4d4f);border-color:var(--color-red, #ff4d4f);color:#fff}.super-admin-audit-logs{padding:2rem;max-width:1600px;margin:0 auto;background:var(--bg-primary, #1a1a1a);min-height:calc(100vh - 60px)}.filters-section{display:flex;gap:1rem;margin-bottom:2rem;align-items:flex-end}.filter-group{display:flex;flex-direction:column;gap:.5rem}.filter-group label{font-size:.875rem;color:var(--text-secondary, #a3a3a3);font-weight:500}.filter-input,.filter-select{padding:.5rem .75rem;background:var(--bg-secondary, #242424);border:1px solid var(--border-default, #3d3d3d);color:var(--text-primary, #e6e6e6);border-radius:4px;font-size:.875rem;min-width:200px}.filter-input:focus,.filter-select:focus{outline:none;border-color:var(--color-yellow, #d4a72c)}.btn-clear-filters{padding:.5rem 1rem;background:var(--bg-tertiary, #2d2d2d);border:1px solid var(--border-default, #3d3d3d);color:var(--text-primary, #e6e6e6);border-radius:4px;font-size:.875rem;cursor:pointer;transition:all .15s ease}.btn-clear-filters:hover{background:var(--bg-elevated, #323232);border-color:var(--color-yellow, #d4a72c)}.audit-logs-container{background:var(--bg-secondary, #242424);border:1px solid var(--border-default, #3d3d3d);border-radius:6px;overflow-x:auto}.audit-logs-table{width:100%;border-collapse:collapse}.audit-logs-table thead{background:var(--bg-tertiary, #2d2d2d);border-bottom:2px solid var(--border-default, #3d3d3d)}.audit-logs-table th{padding:.75rem 1rem;text-align:left;font-size:.75rem;font-weight:600;color:var(--text-secondary, #a3a3a3);text-transform:uppercase;letter-spacing:.05em}.audit-logs-table td{padding:.75rem 1rem;border-bottom:1px solid var(--border-subtle, #333);font-size:.875rem;color:var(--text-primary, #e6e6e6)}.audit-logs-table tr:hover{background:var(--bg-tertiary, #2d2d2d)}.audit-logs-table tr:last-child td{border-bottom:none}.impersonation-row{background:#f59e0b0d;border-left:3px solid #f59e0b}.timestamp-cell{white-space:nowrap;color:var(--text-secondary, #a3a3a3);font-size:.8125rem}.action-badge{display:inline-block;padding:.25rem .75rem;border-radius:12px;font-size:.75rem;font-weight:600;color:#fff;white-space:nowrap}.impersonation-indicator{margin-left:.5rem;font-size:.875rem}.user-cell{white-space:nowrap}.impersonation-note{font-size:.75rem;color:#f59e0b;font-style:italic;margin-top:.25rem}.entity-info{font-family:monospace;font-size:.8125rem;color:var(--text-secondary, #a3a3a3)}.changes-cell{max-width:300px}.change-item{font-size:.8125rem;margin-bottom:.25rem;color:var(--text-secondary, #a3a3a3)}.change-item strong{color:var(--text-primary, #e6e6e6);font-weight:600}.ip-cell{font-family:monospace;font-size:.8125rem;color:var(--text-tertiary, #666)}.impersonation-banner{background:linear-gradient(90deg,#d4a72c33,#fadb1426);border-bottom:2px solid var(--color-yellow, #d4a72c);padding:.75rem 1.5rem;display:flex;align-items:center;justify-content:space-between;position:sticky;top:0;z-index:999;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}.impersonation-content{display:flex;align-items:center;gap:.75rem}.impersonation-icon{font-size:1.25rem}.impersonation-text{color:var(--text-primary, #e6e6e6);font-size:.875rem;font-weight:500}.impersonation-text strong{color:var(--color-yellow-bright, #fadb14);font-weight:700}.original-user{color:var(--text-secondary, #a3a3a3);font-size:.8125rem;margin-left:.5rem}.exit-impersonation-btn{background:var(--color-red, #d43438);color:#fff;border:none;padding:.5rem 1rem;border-radius:4px;font-weight:600;font-size:.875rem;cursor:pointer;transition:all .15s ease;white-space:nowrap}.exit-impersonation-btn:hover{background:var(--color-red-bright, #ff4d4f);transform:translateY(-1px);box-shadow:0 4px 8px #d434384d}@media(max-width:768px){.impersonation-banner{flex-direction:column;gap:.75rem;padding:1rem}.exit-impersonation-btn{width:100%}}.app{min-height:100vh;background:var(--bg-primary)}.page-header{margin-bottom:var(--space-8)}.page-header h1{font-family:var(--font-primary);font-size:var(--text-4xl);font-weight:var(--font-weight-bold);line-height:var(--leading-tight);letter-spacing:var(--tracking-tight);color:var(--text-primary);margin-bottom:var(--space-2)}.page-header p{font-size:var(--text-lg);color:var(--text-secondary)}.back-link{display:inline-flex;align-items:center;gap:var(--space-2);margin-bottom:var(--space-6);padding:var(--space-2) var(--space-4);color:var(--text-secondary);text-decoration:none;background:var(--bg-secondary);border:1px solid var(--border-default);border-radius:var(--radius-md);font-size:var(--text-sm);font-weight:var(--font-weight-medium);transition:all var(--transition-base) var(--ease-in-out)}.back-link:hover{background:var(--bg-tertiary);border-color:var(--border-strong);color:var(--text-primary);transform:translate(-4px)}.loading-screen{min-height:100vh;display:flex;flex-direction:column;align-items:center;justify-content:center;background:var(--bg-primary);gap:var(--space-4)}.loading-spinner{width:40px;height:40px;border:4px solid var(--border-default);border-top-color:var(--color-yellow);border-radius:50%;animation:spin 1s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.loading-screen p{color:var(--text-secondary);font-size:var(--text-base);font-family:var(--font-primary)}
