@import "https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap";:root{--bg-primary:#0a0f1e;--bg-secondary:#111827;--bg-tertiary:#1f2937;--bg-elevated:#243047;--text-primary:#f1f5f9;--text-secondary:#94a3b8;--text-muted:#64748b;--accent-primary:#6366f1;--accent-secondary:#818cf8;--accent-hover:#4f46e5;--accent-glow:#6366f140;--success:#10b981;--success-bg:#10b9811f;--warning:#f59e0b;--warning-bg:#f59e0b1f;--danger:#ef4444;--danger-bg:#ef44441f;--info:#3b82f6;--info-bg:#3b82f61f;--border-color:#ffffff0f;--border-hover:#ffffff1f;--glass-bg:#111827bf;--glass-border:#ffffff14;--font-family:"Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;--sidebar-width:240px;--header-height:60px;--radius-sm:6px;--radius-md:10px;--radius-lg:14px;--radius-xl:20px;--shadow-sm:0 1px 3px #0000004d;--shadow-md:0 4px 14px #0006;--shadow-lg:0 10px 40px #00000080;--shadow-glow:0 0 30px var(--accent-glow);--transition-fast:.15s ease;--transition-normal:.25s ease;--transition-smooth:.4s cubic-bezier(.4, 0, .2, 1)}[data-theme=light]{--bg-primary:#f0f2f5;--bg-secondary:#fff;--bg-tertiary:#e8eaed;--bg-elevated:#dfe1e5;--text-primary:#1a1a2e;--text-secondary:#4a5568;--text-muted:#718096;--accent-primary:#4f46e5;--accent-secondary:#6366f1;--accent-hover:#4338ca;--accent-glow:#4f46e533;--success:#059669;--success-bg:#0596691a;--warning:#d97706;--warning-bg:#d977061a;--danger:#dc2626;--danger-bg:#dc262614;--info:#2563eb;--info-bg:#2563eb14;--border-color:#00000014;--border-hover:#00000026;--glass-bg:#ffffffd9;--glass-border:#0000000f;--shadow-sm:0 1px 3px #00000014;--shadow-md:0 4px 14px #0000001a;--shadow-lg:0 10px 40px #0000001f;--shadow-glow:0 0 30px var(--accent-glow)}[data-theme=light] .login-page{background:radial-gradient(ellipse at 20% 50%, #4f46e50f 0%, transparent 60%), radial-gradient(ellipse at 80% 20%, #6d28d90a 0%, transparent 50%), var(--bg-primary)}[data-theme=light] .login-bg-orb{opacity:.15}[data-theme=light] .data-table th{background:#0000000a}[data-theme=light] .data-table tbody tr:hover td{background:#00000005}[data-theme=light] .app-tile-bottom{border-top-color:#0000000f}[data-theme=light] .loading-spinner-sm{border-color:#fff #0003 #0003}[data-theme=light] .drag-handle:hover{background:#0000000f}[data-theme=light] .app-tile-action-btn{background:#00000005}[data-theme=light] .sidebar-item.active{background:linear-gradient(135deg,#4f46e51f,#4f46e50a)}[data-theme=light] .app-tile:hover{box-shadow:0 8px 24px #4f46e51a}[data-theme=light] .app-tile:before{background:linear-gradient(135deg,#4f46e50a,#0000)}.theme-toggle-btn{border:1px solid var(--border-color);background:var(--bg-tertiary);cursor:pointer;width:52px;height:28px;transition:all var(--transition-normal);border-radius:999px;outline:none;flex-shrink:0;align-items:center;padding:0;display:inline-flex;position:relative}.theme-toggle-btn:hover{border-color:var(--accent-secondary);box-shadow:0 0 14px var(--accent-glow)}.theme-toggle-track{border-radius:999px;justify-content:space-between;align-items:center;width:100%;height:100%;padding:0 6px;display:flex;position:relative}.theme-toggle-icon{transition:opacity var(--transition-normal);z-index:1;justify-content:center;align-items:center;display:flex}.theme-toggle-icon.sun{color:#f59e0b;opacity:.4}.theme-toggle-icon.moon{color:#818cf8;opacity:.4}[data-theme=light] .theme-toggle-icon.moon{opacity:.5;color:var(--text-muted)}[data-theme=dark] .theme-toggle-icon.sun,:root .theme-toggle-icon.sun{opacity:.35}.theme-toggle-knob{width:22px;height:22px;transition:transform var(--transition-smooth), background var(--transition-normal), box-shadow var(--transition-normal);color:#fff;z-index:2;background:linear-gradient(135deg,#6366f1,#4f46e5);border-radius:50%;justify-content:center;align-items:center;display:flex;position:absolute;top:50%;left:3px;transform:translateY(-50%)translate(24px);box-shadow:0 2px 6px #00000059,0 0 10px #6366f166}[data-theme=light] .theme-toggle-knob{color:#fff;background:linear-gradient(135deg,#fbbf24,#f59e0b);transform:translateY(-50%)translate(0);box-shadow:0 2px 6px #f59e0b4d,0 0 10px #f59e0b66}.theme-toggle-knob-icon{justify-content:center;align-items:center;display:flex}*{box-sizing:border-box;margin:0;padding:0}html,body{-webkit-text-size-adjust:100%;-moz-text-size-adjust:100%;text-size-adjust:100%;touch-action:manipulation;width:100%;max-width:100vw;overflow-x:hidden}body{font-family:var(--font-family);background-color:var(--bg-primary);color:var(--text-primary);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;min-height:100vh;line-height:1.6}a{color:var(--accent-primary);transition:color var(--transition-fast);text-decoration:none}a:hover{color:var(--accent-secondary)}button{cursor:pointer;font-family:inherit}.text-muted{color:var(--text-muted)}.app-container{flex-direction:column;min-height:100vh;display:flex}.main-content{flex-direction:column;flex:1;align-items:center;padding:2.5rem;display:flex}.app-header{height:var(--header-height);background:var(--bg-secondary);border-bottom:1px solid var(--border-color);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);z-index:50;justify-content:space-between;align-items:center;padding:0 2rem;display:flex;position:sticky;top:0}.logo-section{letter-spacing:.3px;align-items:center;gap:.6rem;font-size:1.1rem;font-weight:700;display:flex}.header-icon{color:var(--accent-primary)}.header-right{align-items:center;gap:1.5rem;display:flex}.user-info{align-items:center;gap:.6rem;font-size:.875rem;display:flex}.user-name{font-weight:600}.plant-tag{background:var(--bg-tertiary);border-radius:var(--radius-sm);color:var(--text-secondary);padding:.2rem .6rem;font-size:.75rem}.glass-panel{background:var(--glass-bg);-webkit-backdrop-filter:blur(16px);border:1px solid var(--glass-border);border-radius:var(--radius-lg);box-shadow:var(--shadow-lg);padding:2rem}.btn-primary{background:linear-gradient(135deg, var(--accent-primary), var(--accent-hover));color:#fff;border-radius:var(--radius-sm);transition:all var(--transition-normal);border:none;justify-content:center;align-items:center;gap:.5rem;width:100%;padding:.7rem 1.5rem;font-size:.9rem;font-weight:600;display:inline-flex}.btn-primary:hover{background:linear-gradient(135deg, var(--accent-hover), #3730a3);box-shadow:var(--shadow-glow);transform:translateY(-1px)}.btn-primary:active{transform:translateY(0)}.btn-primary:disabled{opacity:.5;cursor:not-allowed;box-shadow:none;transform:none}.btn-primary.btn-sm{width:auto;padding:.5rem 1rem;font-size:.85rem}.btn-secondary{background:var(--bg-tertiary);color:var(--text-primary);border:1px solid var(--border-color);border-radius:var(--radius-sm);transition:all var(--transition-fast);cursor:pointer;justify-content:center;align-items:center;gap:.5rem;padding:.7rem 1.5rem;font-size:.9rem;font-weight:600;text-decoration:none;display:inline-flex}.btn-secondary:hover{background:var(--bg-elevated);border-color:var(--accent-primary);color:#fff;box-shadow:0 0 15px #6366f133}.btn-secondary:active{transform:translateY(1px)}.btn-secondary:disabled{opacity:.5;cursor:not-allowed;box-shadow:none;transform:none}.btn-secondary.btn-sm{width:auto;padding:.5rem 1rem;font-size:.85rem}.btn-glow:hover{box-shadow:var(--shadow-glow)}.btn-ghost{border:1px solid var(--border-color);color:var(--text-secondary);border-radius:var(--radius-sm);transition:all var(--transition-fast);background:0 0;align-items:center;gap:.4rem;padding:.5rem 1rem;font-size:.85rem;font-weight:500;display:inline-flex}.btn-ghost:hover{background:var(--bg-tertiary);border-color:var(--border-hover);color:var(--text-primary)}.btn-danger-ghost{color:var(--danger);border-color:#ef44444d}.btn-danger-ghost:hover{background:var(--danger-bg);border-color:var(--danger)}.btn-icon{background:var(--bg-tertiary);border:1px solid var(--border-color);color:var(--text-secondary);border-radius:var(--radius-sm);transition:all var(--transition-fast);align-items:center;padding:.4rem;display:inline-flex}.btn-icon:hover{background:var(--bg-elevated);color:var(--accent-primary);border-color:var(--accent-primary)}.btn-icon-danger{color:var(--text-muted);border-radius:var(--radius-sm);transition:all var(--transition-fast);background:0 0;border:1px solid #0000;align-items:center;padding:.35rem;display:inline-flex}.btn-icon-danger:hover{background:var(--danger-bg);color:var(--danger);border-color:#ef44444d}.login-btn{border:1px solid var(--accent-primary);color:var(--accent-primary);border-radius:var(--radius-sm);transition:all var(--transition-normal);background-color:#0000;align-items:center;gap:.5rem;padding:.5rem 1rem;font-weight:600;display:flex}.login-btn:hover{background-color:var(--accent-primary);color:#fff}.form-group{text-align:left;flex:1;margin-bottom:1.25rem}.form-label{color:var(--text-secondary);text-transform:uppercase;letter-spacing:.5px;margin-bottom:.4rem;font-size:.8rem;font-weight:500;display:block}.form-input{background:var(--bg-tertiary);border:1px solid var(--border-color);border-radius:var(--radius-sm);width:100%;color:var(--text-primary);transition:all var(--transition-fast);padding:.65rem .85rem;font-family:inherit;font-size:.9rem}.form-input:focus{border-color:var(--accent-primary);box-shadow:0 0 0 3px var(--accent-glow);outline:none}.form-input::placeholder{color:var(--text-muted)}.form-row{align-items:flex-start;gap:1rem;display:flex}.form-row .form-group{flex:1;min-width:0}.input-with-icon{position:relative}.input-with-icon .form-input{padding-right:2.5rem}.input-icon-btn{color:var(--text-muted);transition:color var(--transition-fast);background:0 0;border:none;padding:.25rem;position:absolute;top:50%;right:.6rem;transform:translateY(-50%)}.input-icon-btn:hover{color:var(--text-primary)}.inline-form{margin-bottom:1.5rem}.login-page{background:radial-gradient(ellipse at 20% 50%, #6366f114 0%, transparent 60%), radial-gradient(ellipse at 80% 20%, #8b5cf60f 0%, transparent 50%), var(--bg-primary);justify-content:center;align-items:center;min-height:100vh;padding:2rem;display:flex;position:relative;overflow:hidden}.login-bg-orb{filter:blur(80px);opacity:.4;border-radius:50%;animation:8s ease-in-out infinite float;position:absolute}.login-bg-orb-1{background:var(--accent-primary);width:300px;height:300px;animation-delay:0s;top:-100px;left:-50px}.login-bg-orb-2{background:#8b5cf6;width:200px;height:200px;animation-delay:3s;bottom:-50px;right:-30px}.login-bg-orb-3{background:#06b6d4;width:150px;height:150px;animation-delay:5s;top:50%;right:20%}@keyframes float{0%,to{transform:translateY(0)scale(1)}50%{transform:translateY(-30px)scale(1.05)}}.login-card{background:var(--glass-bg);-webkit-backdrop-filter:blur(24px);border:1px solid var(--glass-border);border-radius:var(--radius-xl);width:100%;max-width:450px;box-shadow:var(--shadow-lg);z-index:1;padding:2.5rem;position:relative}.login-card-header{text-align:center;margin-bottom:2rem}.login-card-header h1{margin-top:.25rem;margin-bottom:.4rem;font-size:1.6rem;font-weight:700}.login-card-header p{color:var(--text-secondary);font-size:.875rem}.login-logo-ring{justify-content:center;align-items:center;margin:0 auto .25rem;display:flex}.login-logo-ring img{object-fit:contain;filter:drop-shadow(0 2px 14px #38bdf859);transition:transform .3s,filter .3s}[data-theme=light] .login-logo-ring img{filter:invert()hue-rotate(180deg)drop-shadow(0 2px 12px #6366f133)}.login-logo-ring img:hover{transform:scale(1.06)}.login-logo-rect{justify-content:center;align-items:center;margin:10px auto 1rem;display:flex}.login-logo-rect img{filter:drop-shadow(0 2px 12px #6366f159)}.login-logo-ring-small{justify-content:center;align-items:center;display:flex}.login-logo-ring-small img{object-fit:contain;filter:drop-shadow(0 1px 8px #38bdf84d);transition:transform .3s,filter .3s}[data-theme=light] .login-logo-ring-small img{filter:invert()hue-rotate(180deg)drop-shadow(0 1px 8px #6366f133)}.login-form{flex-direction:column;gap:0;display:flex}.login-form .form-group{margin-bottom:1.25rem}.login-footer{text-align:center;border-top:1px solid var(--border-color);margin-top:2rem;padding-top:1.25rem}.login-footer p{color:var(--text-muted);font-size:.75rem}.btn-loading{align-items:center;gap:.5rem;display:inline-flex}.alert{border-radius:var(--radius-sm);margin-bottom:1rem;padding:.75rem 1rem;font-size:.85rem}.alert-error{background:var(--danger-bg);color:var(--danger);border:1px solid #ef44444d}.launchpad-hero{text-align:center;margin-bottom:2rem}.launchpad-hero h1{background:linear-gradient(135deg, var(--text-primary), var(--accent-secondary));-webkit-text-fill-color:transparent;-webkit-background-clip:text;background-clip:text;margin-bottom:.5rem;font-size:2rem;font-weight:800}.launchpad-hero p{color:var(--text-secondary)}.plant-workspace-banner{background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:var(--radius-lg);width:100%;max-width:1050px;box-shadow:var(--shadow-sm);transition:all var(--transition-normal);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:1.25rem;margin-bottom:1.75rem;padding:1rem 1.4rem;display:flex}.plant-workspace-banner:hover{border-color:var(--border-hover)}.plant-workspace-info{align-items:center;gap:1rem;display:flex}.plant-workspace-icon{border-radius:var(--radius-md);background:var(--accent-glow);width:44px;height:44px;color:var(--accent-primary);border:1px solid #6366f140;flex-shrink:0;justify-content:center;align-items:center;display:flex}.plant-workspace-label{text-transform:uppercase;letter-spacing:.05em;color:var(--text-muted);font-size:.75rem;font-weight:600}.plant-workspace-name{color:var(--text-primary);align-items:center;gap:.5rem;font-size:1.05rem;font-weight:700;display:flex}.plant-active-status-dot{background:var(--success);width:8px;height:8px;box-shadow:0 0 8px var(--success);border-radius:50%;display:inline-block}.ceo-badge{color:var(--accent-secondary);border-radius:var(--radius-sm);letter-spacing:.02em;background:linear-gradient(135deg,#6366f133,#a855f733);border:1px solid #6366f159;padding:.15rem .5rem;font-size:.7rem;font-weight:700}.plant-switcher-controls{background:var(--bg-primary);border-radius:var(--radius-md);border:1px solid var(--border-color);align-items:center;gap:.5rem;padding:.3rem;display:flex}.plant-tab-btn{color:var(--text-secondary);border-radius:var(--radius-sm);cursor:pointer;transition:all var(--transition-fast);background:0 0;border:none;align-items:center;gap:.45rem;padding:.45rem .9rem;font-size:.825rem;font-weight:600;display:inline-flex}.plant-tab-btn:hover:not(:disabled){color:var(--text-primary);background:var(--bg-tertiary)}.plant-tab-btn.active{background:var(--accent-primary);color:#fff;cursor:default;box-shadow:0 2px 8px #6366f159}.plant-tab-pill{background:#fff3;border-radius:4px;padding:.1rem .35rem;font-size:.75rem;font-weight:800}.plant-tab-btn:not(.active) .plant-tab-pill{background:var(--bg-tertiary);color:var(--text-muted)}.tab-check-icon{margin-left:.1rem}.switching-indicator{color:var(--accent-secondary);align-items:center;gap:.4rem;padding:0 .5rem;font-size:.75rem;display:flex}.spin-icon{animation:1s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}.plant-switch-toast{background:var(--success-bg);color:var(--success);border-radius:var(--radius-md);border:1px solid #10b9814d;align-items:center;gap:.5rem;width:100%;max-width:1050px;margin-bottom:1.25rem;padding:.6rem 1rem;font-size:.85rem;font-weight:600;display:flex}.header-plant-picker{background:var(--bg-tertiary);border:1px solid var(--border-color);border-radius:var(--radius-sm);transition:border-color var(--transition-fast);align-items:center;gap:.35rem;padding:.25rem .6rem;display:flex}.header-plant-picker:hover{border-color:var(--border-hover)}.header-plant-icon{color:var(--accent-primary);flex-shrink:0}.header-plant-select{color:var(--text-primary);cursor:pointer;background:0 0;border:none;outline:none;font-family:inherit;font-size:.8rem;font-weight:600}.header-plant-select option{background:var(--bg-secondary);color:var(--text-primary)}.app-plant-context-pill{color:var(--accent-secondary);border-radius:var(--radius-sm);background:#6366f11f;border:1px solid #6366f14d;align-items:center;gap:.3rem;margin-top:.25rem;padding:.15rem .45rem;font-size:.7rem;font-weight:700;display:inline-flex}.badge-primary{color:var(--accent-secondary);background:#6366f126;border:1px solid #6366f14d}.launchpad-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:1rem;width:100%;max-width:1050px;display:grid}@media (width<=900px){.launchpad-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (width<=600px){.launchpad-grid{grid-template-columns:1fr}}.app-tile{background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:var(--radius-md);transition:all var(--transition-smooth);flex-direction:column;justify-content:space-between;gap:.7rem;padding:1rem 1.15rem;display:flex;position:relative;overflow:hidden}.app-tile:before{content:"";opacity:0;transition:opacity var(--transition-normal);background:linear-gradient(135deg,#6366f10d,#0000);position:absolute;inset:0}.app-tile:hover{border-color:var(--accent-primary);transform:translateY(-3px);box-shadow:0 8px 24px #6366f11f}.app-tile:hover:before{opacity:1}.app-tile-top{justify-content:space-between;align-items:center;gap:.6rem;width:100%;display:flex}.app-tile-header-left{flex:1;align-items:center;gap:.7rem;min-width:0;display:flex}.app-tile-icon-wrapper{border-radius:var(--radius-sm);background:linear-gradient(135deg, var(--accent-primary), #8b5cf6);color:#fff;flex-shrink:0;justify-content:center;align-items:center;width:38px;height:38px;display:flex;box-shadow:0 2px 10px #6366f133}.app-tile-title{color:var(--text-primary);white-space:nowrap;text-overflow:ellipsis;font-size:.95rem;font-weight:600;overflow:hidden}.app-tile-actions{z-index:1;flex-direction:row;flex-shrink:0;align-items:center;gap:.35rem;display:flex;position:relative}.app-tile-action-btn{border-radius:var(--radius-sm);border:1px solid var(--border-color);width:28px;height:28px;color:var(--text-muted);cursor:pointer;transition:all var(--transition-fast);background:#ffffff05;justify-content:center;align-items:center;display:flex}.app-tile-action-btn:hover{border-color:var(--accent-primary);color:var(--accent-primary);background:#6366f126;transform:scale(1.08)}.app-tile-bottom{border-top:1px solid #ffffff0f;width:100%;padding-top:.65rem}.app-tile-desc{color:var(--text-secondary);word-break:break-word;margin:0;font-size:.8rem;line-height:1.45}.app-tile-tenant-bar{border-top:1px dashed #ffffff14;flex-direction:column;gap:.35rem;margin-top:.65rem;padding-top:.5rem;display:flex}[data-theme=light] .app-tile-tenant-bar{border-top:1px dashed #00000014}.tenant-bar-header{text-transform:uppercase;letter-spacing:.05em;color:var(--text-muted);align-items:center;gap:.35rem;font-size:.68rem;font-weight:700;display:flex}.tenant-chips-row{flex-wrap:wrap;gap:.4rem;display:flex}.tenant-pill-btn{border-radius:var(--radius-sm);border:1px solid var(--border-color);color:var(--text-secondary);cursor:pointer;transition:all var(--transition-fast);background:#ffffff0a;align-items:center;gap:.3rem;padding:.22rem .55rem;font-size:.73rem;font-weight:600;display:inline-flex}.tenant-pill-btn:hover{border-color:var(--accent-primary);color:var(--text-primary);background:#6366f114}.tenant-pill-btn.active{background:var(--accent-primary);border-color:var(--accent-primary);color:#fff;box-shadow:0 2px 6px #6366f14d}[data-theme=light] .tenant-pill-btn{color:#475569;background:#f8fafc;border-color:#e2e8f0}[data-theme=light] .tenant-pill-btn:hover{border-color:var(--accent-primary);color:var(--accent-primary);background:#eef2ff}[data-theme=light] .tenant-pill-btn.active{background:var(--accent-primary);border-color:var(--accent-primary);color:#fff}.empty-state{color:var(--text-muted);text-align:center;flex-direction:column;justify-content:center;align-items:center;gap:.75rem;padding:4rem 2rem;display:flex}.empty-state h3{color:var(--text-secondary);font-weight:600}.empty-state p{max-width:360px;font-size:.875rem}.admin-layout{min-height:100vh;display:flex}.admin-sidebar{width:var(--sidebar-width);background:var(--bg-secondary);border-right:1px solid var(--border-color);z-index:40;flex-direction:column;display:flex;position:fixed;top:0;bottom:0;left:0}.sidebar-header{border-bottom:1px solid var(--border-color);align-items:center;gap:.6rem;padding:1.25rem;font-size:1rem;font-weight:700;display:flex}.sidebar-icon-danger{color:var(--danger)}.sidebar-nav{flex-direction:column;flex:1;gap:.2rem;padding:.75rem;display:flex;overflow-y:auto}.sidebar-item{border-radius:var(--radius-sm);color:var(--text-secondary);text-align:left;width:100%;transition:all var(--transition-fast);background:0 0;border:none;align-items:center;gap:.6rem;padding:.6rem .85rem;font-size:.875rem;font-weight:500;display:flex}.sidebar-item:hover{background:var(--bg-tertiary);color:var(--text-primary)}.sidebar-item.active{color:var(--accent-secondary);background:linear-gradient(135deg,#6366f126,#6366f10d);font-weight:600}.sidebar-item.danger{color:var(--danger)}.sidebar-item.danger:hover{background:var(--danger-bg)}.sidebar-footer{border-top:1px solid var(--border-color);flex-direction:column;gap:.2rem;padding:.75rem;display:flex}.admin-main{margin-left:var(--sidebar-width);background:var(--bg-primary);flex:1;min-height:100vh}.admin-content{padding:2rem 2.5rem}.admin-content-header{flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:1rem;margin-bottom:2rem;display:flex}.admin-content-header h2{font-size:1.4rem;font-weight:700}.admin-loading{justify-content:center;align-items:center;min-height:300px;display:flex}.badge{letter-spacing:.3px;text-transform:uppercase;white-space:nowrap;border-radius:999px;align-items:center;padding:.28rem .65rem;font-size:.72rem;font-weight:600;line-height:1.25;display:inline-flex}.badge-group{flex-wrap:wrap;align-items:center;gap:.45rem;display:flex}.badge-success{background:var(--success-bg);color:var(--success)}.badge-warning{background:var(--warning-bg);color:var(--warning)}.badge-danger{background:var(--danger-bg);color:var(--danger)}.badge-info{background:var(--info-bg);color:var(--info)}.code-tag{background:var(--bg-tertiary);border-radius:var(--radius-sm);color:var(--accent-secondary);padding:.15rem .45rem;font-family:Fira Code,Courier New,monospace;font-size:.8rem}.card-grid{grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:1rem;display:grid}.stat-card{background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:var(--radius-lg);transition:all var(--transition-normal);padding:1.25rem}.stat-card:hover{border-color:var(--border-hover);box-shadow:var(--shadow-sm)}.stat-card-header{color:var(--accent-primary);justify-content:space-between;align-items:center;margin-bottom:.75rem;display:flex}.stat-card h3{margin-bottom:.35rem;font-size:1.05rem;font-weight:600}.stat-card-meta{color:var(--text-muted);align-items:center;gap:.4rem;margin-bottom:.75rem;font-size:.8rem;display:flex}.dot-sep{background:var(--text-muted);border-radius:50%;width:3px;height:3px}.stat-card-footer{flex-wrap:wrap;gap:.35rem;display:flex}.data-table-wrapper{background:var(--bg-secondary);border-radius:var(--radius-md);border:1px solid var(--border-color);width:100%;overflow-x:auto}.data-table{border-collapse:collapse;width:100%}.data-table th,.data-table td{text-align:left;border-bottom:1px solid var(--border-color);vertical-align:middle;padding:1rem 1.15rem;font-size:.875rem}.data-table th{color:var(--text-muted);text-transform:uppercase;letter-spacing:.5px;background:#00000040;font-size:.75rem;font-weight:600;position:sticky;top:0}.data-table tbody tr{transition:background var(--transition-fast)}.data-table tbody tr:hover td{background:#ffffff05}.data-table tbody tr:last-child td{border-bottom:none}.app-table-row{cursor:grab;transition:background var(--transition-fast), opacity var(--transition-fast)}.app-table-row:active{cursor:grabbing}.app-table-row.row-dragging{opacity:.35;background:#6366f11f!important}.app-table-row.row-drag-over td{background:#6366f114!important;border-top:2px solid #6366f1!important}.drag-handle{color:var(--text-muted);cursor:grab;border-radius:var(--radius-sm);transition:color var(--transition-fast), background var(--transition-fast);justify-content:center;align-items:center;padding:.25rem;display:inline-flex}.drag-handle:hover{color:var(--text-primary);background:#ffffff14}.drag-handle:active{cursor:grabbing}.text-center{text-align:center}.action-btns{gap:.35rem;display:flex}.entitlement-toggle{transition:all var(--transition-fast);border-radius:var(--radius-sm);background:0 0;border:none;padding:.25rem;display:inline-flex}.entitlement-toggle.enabled{color:var(--success)}.entitlement-toggle.disabled{color:var(--text-muted)}.entitlement-toggle:hover{transform:scale(1.1)}.entitlement-toggle:disabled{opacity:.5}.entitlement-table th:not(:first-child),.entitlement-table td:not(:first-child){text-align:center}.toggle-switch{width:42px;height:22px;display:inline-block;position:relative}.toggle-switch input{opacity:0;width:0;height:0}.toggle-slider{cursor:pointer;background:var(--bg-tertiary);transition:all var(--transition-normal);border:1px solid var(--border-color);border-radius:22px;position:absolute;inset:0}.toggle-slider:before{content:"";background:var(--text-secondary);width:16px;height:16px;transition:all var(--transition-normal);border-radius:50%;position:absolute;bottom:2px;left:2px}input:checked+.toggle-slider{background:var(--success);border-color:var(--success)}input:checked+.toggle-slider:before{background:#fff;transform:translate(20px)}.app-access-capsule{border:1px solid var(--border-color);background:var(--bg-tertiary);transition:all var(--transition-normal);border-radius:9999px;align-items:center;gap:7px;max-width:220px;padding:3px 8px 3px 6px;display:inline-flex;position:relative}.app-access-capsule:hover{border-color:var(--border-hover)}.app-access-capsule.is-enabled{background:#10b98114;border-color:#10b98159;box-shadow:0 0 10px #10b98114}.app-access-capsule.is-enabled:hover{border-color:#10b9818c;box-shadow:0 0 14px #10b98129}.app-access-capsule.is-enabled.needs-role{background:#f59e0b14;border-style:dashed;border-color:#f59e0b73}.app-access-capsule.is-disabled{border-color:var(--border-color);opacity:.72;background:#ffffff05}.app-access-capsule.is-disabled:hover{opacity:1;border-color:var(--text-muted)}.capsule-toggle{background:var(--bg-elevated);border:1px solid var(--border-color);cursor:pointer;width:28px;height:16px;transition:all var(--transition-normal);border-radius:9999px;outline:none;flex-shrink:0;align-items:center;padding:0;display:inline-flex;position:relative}.capsule-toggle.active{background:var(--success);border-color:var(--success);box-shadow:0 0 8px #10b98166}.capsule-knob{background:var(--text-secondary);width:10px;height:10px;transition:transform var(--transition-fast), background var(--transition-fast);border-radius:50%;position:absolute;top:50%;left:2px;transform:translateY(-50%)}.capsule-toggle.active .capsule-knob{background:#fff;transform:translateY(-50%)translate(12px)}.capsule-select-wrapper{align-items:center;min-width:0;display:inline-flex;position:relative}.capsule-select{appearance:none;color:var(--text-primary);cursor:pointer;text-overflow:ellipsis;white-space:nowrap;background:0 0;border:none;outline:none;max-width:150px;padding:2px 16px 2px 2px;font-size:.76rem;font-weight:500;overflow:hidden}.capsule-select.needs-role-text{color:#f59e0b;font-style:italic}.capsule-select option{background:var(--bg-secondary);color:var(--text-primary);padding:6px 10px;font-size:.8rem}.capsule-chevron{pointer-events:none;color:var(--text-muted);transition:transform var(--transition-fast);position:absolute;right:1px}.capsule-select:hover+.capsule-chevron{color:var(--text-primary)}.capsule-status-text{cursor:pointer;-webkit-user-select:none;user-select:none;color:var(--text-muted);font-size:.76rem;font-weight:500}.capsule-status-text.enabled{color:var(--success)}[data-theme=light] .app-access-capsule{background:var(--bg-secondary);border-color:var(--border-color)}[data-theme=light] .app-access-capsule.is-enabled{background:#05966914;border-color:#05966959}[data-theme=light] .capsule-toggle{background:#cbd5e1}[data-theme=light] .capsule-toggle.active{background:var(--success)}[data-theme=light] .capsule-select option{color:#1e293b;background:#fff}.status-indicator{background:var(--success-bg);border-radius:var(--radius-sm);color:var(--success);align-items:center;gap:.4rem;padding:.35rem .75rem;font-size:.8rem;font-weight:500;display:flex}.status-icon-success{color:var(--success)}.wizard-steps{border-bottom:1px solid var(--border-color);justify-content:center;align-items:center;gap:0;margin-bottom:2rem;padding-bottom:1.5rem;display:flex}.wizard-step{color:var(--text-muted);align-items:center;gap:.4rem;font-size:.85rem;font-weight:500;display:flex}.wizard-step.active{color:var(--accent-secondary)}.wizard-step.completed{color:var(--success)}.wizard-step-num{background:var(--bg-tertiary);border-radius:50%;justify-content:center;align-items:center;width:24px;height:24px;font-size:.75rem;font-weight:700;display:inline-flex}.wizard-step.active .wizard-step-num{background:var(--accent-primary);color:#fff}.wizard-step.completed .wizard-step-num{background:var(--success);color:#fff}.wizard-step-line{background:var(--border-color);width:40px;height:2px;margin:0 .5rem}.wizard-body-step{flex-direction:column;gap:1.5rem;width:100%;display:flex}.file-upload-zone{border:2px dashed var(--border-color);border-radius:var(--radius-md);text-align:center;cursor:pointer;transition:all var(--transition-normal);color:var(--text-muted);flex-direction:column;align-items:center;gap:.75rem;padding:2.5rem 1rem;display:flex}.file-upload-zone:hover{border-color:var(--accent-primary);color:var(--accent-secondary);background:#6366f10a}.file-upload-zone p{font-size:.875rem}.success-icon-ring{background:var(--success-bg);border:2px solid var(--success);width:72px;height:72px;color:var(--success);border-radius:50%;justify-content:center;align-items:center;margin:0 auto 1rem;display:flex}.import-stats{justify-content:center;gap:2.5rem;margin-top:1.5rem;display:flex}.import-stat{flex-direction:column;align-items:center;display:flex}.import-stat-value{color:var(--accent-secondary);font-size:2rem;font-weight:800}.import-stat-label{color:var(--text-muted);text-transform:uppercase;letter-spacing:.5px;font-size:.8rem}.search-box .form-input{min-width:240px}.loading-spinner{border:3px solid var(--border-color);border-top-color:var(--accent-primary);border-radius:50%;width:36px;height:36px;animation:.8s linear infinite spin}.loading-spinner-sm{border:2px solid #ffffff4d;border-top-color:#fff;border-radius:50%;width:16px;height:16px;animation:.8s linear infinite spin}.animate-fade-in{animation:.4s ease-out forwards fadeIn}@keyframes fadeIn{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}.animate-slide-up{animation:.35s ease-out forwards slideUp}@keyframes slideUp{0%{opacity:0;transform:translateY(16px)}to{opacity:1;transform:translateY(0)}}.animate-shake{animation:.4s ease-in-out shake}@keyframes shake{0%,to{transform:translate(0)}25%{transform:translate(-6px)}50%{transform:translate(6px)}75%{transform:translate(-4px)}}.mobile-menu-btn{background:var(--bg-tertiary);border:1px solid var(--border-color);color:var(--text-secondary);border-radius:var(--radius-sm);cursor:pointer;width:36px;height:36px;transition:all var(--transition-fast);z-index:60;flex-shrink:0;justify-content:center;align-items:center;display:none}.mobile-menu-btn:hover{background:var(--bg-elevated);color:var(--accent-primary);border-color:var(--accent-primary)}.sidebar-overlay{z-index:39;-webkit-backdrop-filter:blur(2px);background:#00000080;display:none;position:fixed;inset:0}@media (width<=900px){.main-content{padding:1.75rem 1.25rem}.launchpad-hero h1{font-size:1.5rem}.admin-content{padding:1.5rem 1.25rem}.admin-content-header{flex-direction:column;align-items:flex-start}}@media (width<=768px){.hide-mobile{display:none!important}.mobile-menu-btn{display:flex}.admin-sidebar{width:var(--sidebar-width);transition:transform var(--transition-smooth);z-index:45;box-shadow:none;transform:translate(-100%)}.admin-sidebar.sidebar-open{transform:translate(0);box-shadow:8px 0 30px #0006}.sidebar-overlay.visible{display:block}.admin-sidebar .sidebar-header span,.admin-sidebar .sidebar-item span{display:inline}.admin-main{margin-left:0}.admin-content{padding:1rem .75rem}.app-header{gap:.5rem;padding:0 .75rem}.logo-section{gap:.4rem;font-size:.95rem}.logo-section span{display:none}.header-right{flex-wrap:nowrap;gap:.5rem}.user-info{display:none}.btn-ghost{padding:.4rem .6rem;font-size:.8rem}.main-content{padding:1.25rem .75rem}.launchpad-hero{margin-bottom:1.25rem}.launchpad-hero h1{font-size:1.25rem}.launchpad-hero p{font-size:.8rem}.launchpad-grid{grid-template-columns:1fr;gap:.75rem}.card-grid{grid-template-columns:1fr}.form-row{flex-direction:column}.glass-panel{padding:1.25rem}.search-box .form-input{width:100%;min-width:0}.data-table th,.data-table td{white-space:nowrap;padding:.7rem .75rem;font-size:.8rem}.login-page{padding:1rem}.login-card{border-radius:var(--radius-lg);padding:1.75rem 1.25rem}.login-card-header h1 span{font-size:22px!important}.login-card-header h5 span{font-size:12px!important}.login-bg-orb-1{width:200px;height:200px}.login-bg-orb-2{width:130px;height:130px}.login-bg-orb-3{width:100px;height:100px}.admin-content-header{flex-direction:column;align-items:stretch;gap:.75rem}.admin-content-header h2{font-size:1.15rem}.wizard-steps{flex-wrap:wrap;justify-content:center;gap:0;margin-bottom:1.25rem;padding-bottom:1rem}.wizard-step span:not(.wizard-step-num){display:none}.wizard-step-line{width:24px}.file-upload-zone{padding:1.5rem .75rem}.import-stats{flex-wrap:wrap;gap:1.5rem}.import-stat-value{font-size:1.5rem}.stat-card{padding:1rem}.empty-state{padding:2.5rem 1rem}}@media (width<=480px){.login-card{padding:1.5rem 1rem}.login-logo-ring img{width:68px}.login-card-header{margin-bottom:1.5rem}.app-header{height:50px}.btn-primary{padding:.6rem 1rem;font-size:.85rem}.btn-primary.btn-sm,.btn-secondary.btn-sm{padding:.4rem .75rem;font-size:.8rem}.app-tile{padding:.85rem}.app-tile-icon-wrapper{width:32px;height:32px}.admin-content{padding:.75rem .5rem}.data-table th,.data-table td{padding:.6rem;font-size:.75rem}}@media (hover:none) and (pointer:coarse){.btn-icon,.btn-icon-danger,.app-tile-action-btn{min-width:36px;min-height:36px}.entitlement-toggle{padding:.4rem}.toggle-switch{width:48px;height:26px}.toggle-slider:before{width:20px;height:20px}input:checked+.toggle-slider:before{transform:translate(22px)}.sidebar-item{padding:.75rem .85rem}}.splash-screen-container{z-index:9999;background:#0c101a;flex-direction:column;justify-content:center;align-items:center;display:flex;position:fixed;inset:0;overflow:hidden}.splash-ambient-glow{pointer-events:none;background:radial-gradient(circle,#00b4ff1f 0%,#0000 70%);border-radius:50%;width:380px;height:380px;animation:2.2s ease-in-out infinite splashPulseGlow;position:absolute}@keyframes splashPulseGlow{0%,to{opacity:.6;transform:scale(.9)}50%{opacity:1;transform:scale(1.15)}}.splash-brand-lockup{z-index:2;justify-content:center;align-items:center;display:flex;position:relative}.splash-logo-wrapper{justify-content:center;align-items:center;animation:.7s cubic-bezier(.16,1,.3,1) forwards splashIconEntrance;display:flex}@keyframes splashIconEntrance{0%{opacity:0;transform:scale(.5)}60%{opacity:1;transform:scale(1.05)}to{opacity:1;transform:scale(1)}}.splash-logo-icon{filter:drop-shadow(0 2px 14px #00b4ff59);width:64px;height:auto}.splash-text-wrapper{white-space:nowrap;opacity:0;align-items:baseline;max-width:0;animation:1.1s cubic-bezier(.16,1,.3,1) .35s forwards splashTextExpand;display:flex;overflow:hidden}@keyframes splashTextExpand{0%{opacity:0;max-width:0;margin-left:0;transform:translate(-12px)}40%{opacity:1}to{opacity:1;max-width:260px;margin-left:14px;transform:translate(0)}}.splash-text-saral{color:#fff;letter-spacing:-.02em;font-size:2rem;font-weight:800}.splash-text-ai{color:#00b4ff;letter-spacing:.02em;margin-left:.25rem;font-size:2rem;font-weight:800}.splash-tagline{color:#fff9;letter-spacing:.1em;z-index:2;opacity:0;margin-top:1rem;font-size:.75rem;font-weight:600;animation:.8s ease-out .65s forwards splashFadeUp;transform:translateY(8px)}@keyframes splashFadeUp{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}.splash-progress-bar{z-index:2;opacity:0;background:#ffffff14;border-radius:2px;width:120px;height:2.5px;margin-top:2rem;animation:.8s ease-out .75s forwards splashFadeUp;overflow:hidden}.splash-progress-fill{background:linear-gradient(90deg,#00b4ff,#38bdf8);border-radius:2px;width:40%;height:100%;animation:1.4s ease-in-out infinite splashProgress}@keyframes splashProgress{0%{transform:translate(-100%)}to{transform:translate(300%)}}
