:root{--bg-base:#f4f6f9;--bg-primary:#f4f6f9;--bg-surface:#fff;--bg-elevated:#fff;--bg-hover:#f3f4f6;--bg-active:#eef2ff;--bg-sidebar:#fff;--sidebar-width:248px;--sidebar-collapsed-width:68px;--sidebar-border:#e5e7eb;--bg-header:#fff;--header-height:60px;--header-border:#e5e7eb;--text-primary:#111827;--text-secondary:#4b5563;--text-tertiary:#9ca3af;--text-disabled:#d1d5db;--text-inverse:#fff;--accent:#4a7bf7;--accent-hover:#3b66d8;--accent-muted:rgba(74,123,247,.08);--accent-border:rgba(74,123,247,.2);--color-success:#10b981;--color-success-muted:#ecfdf5;--color-success-border:#a7f3d0;--color-warning:#f59e0b;--color-warning-muted:#fffbeb;--color-warning-border:#fde68a;--color-error:#ef4444;--color-error-muted:#fef2f2;--color-error-border:#fecaca;--color-info:#3b82f6;--color-info-muted:#eff6ff;--color-info-border:#bfdbfe;--border-subtle:#f3f4f6;--border-default:#e5e7eb;--border-strong:#d1d5db;--border-primary:#e5e7eb;--shadow-sm:0 1px 3px rgba(0,0,0,.07),0 1px 2px rgba(0,0,0,.04);--shadow-md:0 4px 12px rgba(0,0,0,.08);--shadow-lg:0 8px 24px rgba(0,0,0,.1);--shadow-xl:0 20px 48px rgba(0,0,0,.12);--shadow-glow:0 0 20px rgba(74,123,247,.12);--gap:1.25rem;--radius:10px;--radius-sm:6px;--radius-lg:14px;--radius-xl:18px;--font-size-base:0.875rem;--font-size-sm:0.8125rem;--font-size-xs:0.75rem;--primary-color:var(--accent);--primary-hover:var(--accent-hover);--primary-light:var(--accent-muted);--glass-border:1px solid var(--border-default);--glass-shadow:var(--shadow-sm)}*,:after,:before{box-sizing:border-box}::-webkit-scrollbar{width:5px;height:5px}::-webkit-scrollbar-track{background:transparent}::-webkit-scrollbar-thumb{background:hsla(0,0%,100%,.1);border-radius:99px}::-webkit-scrollbar-thumb:hover{background:hsla(0,0%,100%,.2)}*{scrollbar-width:thin;scrollbar-color:hsla(0,0%,100%,.1) transparent}.dashboard-container{display:flex;background-color:var(--bg-base);min-height:100vh;font-family:Inter,-apple-system,BlinkMacSystemFont,sans-serif;font-size:var(--font-size-base);color:var(--text-primary);-webkit-font-smoothing:antialiased}.sidebar{width:var(--sidebar-width);background:var(--bg-sidebar);border-right:1px solid var(--sidebar-border);display:flex;flex-direction:column;position:fixed;top:0;bottom:0;left:0;z-index:50;transition:width .25s cubic-bezier(.4,0,.2,1);overflow:visible}.sidebar:before{content:"";position:absolute;top:0;left:0;right:0;height:1px;background:linear-gradient(90deg,transparent,var(--accent),transparent);opacity:.6}.main-content{flex:1;margin-left:var(--sidebar-width);display:flex;flex-direction:column;min-height:100vh;transition:margin-left .25s cubic-bezier(.4,0,.2,1);min-width:0;background:var(--bg-base)}.sidebar-header{height:var(--header-height);padding:0 16px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--sidebar-border);flex-shrink:0}.workspace-selector{display:flex;align-items:center;gap:10px;cursor:pointer;transition:opacity .2s}.workspace-selector:hover{opacity:.85}.workspace-logo-container{display:flex;align-items:center;justify-content:center;flex-shrink:0}.workspace-logo-img{width:100%;height:100%;-o-object-fit:contain;object-fit:contain}.workspace-name{font-size:.9375rem;font-weight:700;color:var(--text-primary);letter-spacing:-.02em;white-space:nowrap}.sidebar-toggle{background:transparent;border:none;color:var(--text-tertiary);cursor:pointer;padding:7px;border-radius:8px;display:flex;align-items:center;justify-content:center;transition:all .2s;flex-shrink:0}.sidebar-toggle:hover{background:var(--bg-hover);color:var(--text-primary)}.sidebar-nav{flex:1;overflow-y:auto;overflow-x:hidden;padding:12px 10px;display:flex;flex-direction:column;gap:2px}.nav-section-title{font-size:.6875rem;text-transform:uppercase;color:var(--text-tertiary);font-weight:700;letter-spacing:.08em;padding:12px 10px 6px;margin-bottom:2px}.nav-separator{height:1px;background:var(--sidebar-border);margin:8px 10px}.menu-group{display:flex;flex-direction:column}.menu-category-header{padding:9px 10px;display:flex;align-items:center;justify-content:space-between;font-size:var(--font-size-base);font-weight:500;color:var(--text-secondary);cursor:pointer;border-radius:var(--radius-sm);transition:all .15s ease;-webkit-user-select:none;-moz-user-select:none;user-select:none}.menu-category-header:hover{background:var(--bg-hover);color:var(--text-primary)}.menu-category-header.expanded{color:var(--text-primary)}.menu-category-content{display:flex;align-items:center;gap:10px}.category-chevron{transition:transform .2s cubic-bezier(.4,0,.2,1);color:var(--text-tertiary);flex-shrink:0}.category-chevron.expanded{transform:rotate(90deg)}.menu-group-items{display:flex;flex-direction:column;gap:1px;max-height:0;opacity:0;overflow:hidden;padding-left:0;margin-top:0;transition:max-height .3s cubic-bezier(.4,0,.2,1),opacity .2s ease,margin-top .2s ease}.menu-group-items.expanded{max-height:600px;opacity:1;margin-top:2px}.menu-item{position:relative;display:flex;align-items:center;padding:8px 10px;border-radius:var(--radius-sm);font-size:var(--font-size-base);font-weight:500;color:var(--text-secondary);cursor:pointer;transition:all .15s ease;gap:10px;min-height:38px;text-decoration:none;border:none;background:none;width:100%;text-align:left}.menu-item:hover{background:var(--bg-hover);color:var(--text-primary)}.menu-item.active{background:var(--accent-muted);color:var(--accent);font-weight:600}.menu-item.active:before{content:"";position:absolute;left:0;top:20%;bottom:20%;width:3px;border-radius:0 3px 3px 0;background:var(--accent);box-shadow:0 0 8px var(--accent)}.menu-item.nested{padding-left:38px;font-size:var(--font-size-sm);min-height:34px}.menu-icon{width:18px;height:18px;display:flex;align-items:center;justify-content:center;opacity:.65;flex-shrink:0;transition:opacity .15s,color .15s}.menu-item:hover .menu-icon{opacity:1}.menu-item.active .menu-icon{opacity:1;color:var(--accent)}.menu-text{flex:1;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.header{height:var(--header-height);background:var(--bg-header);backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);border-bottom:1px solid var(--header-border);display:flex;align-items:center;justify-content:space-between;padding:0 1.75rem;position:sticky;top:0;z-index:40;flex-shrink:0}.page-content{flex:1;padding:0;overflow-x:hidden}.surface-card{background:var(--bg-surface);border:1px solid var(--border-subtle);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);color:var(--text-primary);transition:border-color .2s,box-shadow .2s}.surface-card:hover{border-color:var(--border-default);box-shadow:var(--shadow-md)}.table-container{display:flex;flex-direction:column;width:100%}.data-table{width:100%;border-collapse:separate;border-spacing:0;color:var(--text-primary)}.data-table th{text-align:left;padding:11px 14px;font-size:var(--font-size-xs);font-weight:600;color:var(--text-tertiary);text-transform:uppercase;letter-spacing:.07em;background:var(--bg-surface);border-bottom:1px solid var(--border-subtle);white-space:nowrap}.data-table th:first-child{border-radius:var(--radius-sm) 0 0 0}.data-table th:last-child{border-radius:0 var(--radius-sm) 0 0}.data-table td{height:48px;padding:0 16px;border-bottom:1px solid #f3f4f6;background:#fff;font-size:var(--font-size-base);vertical-align:middle;transition:background .1s}.data-table tbody tr:last-child td{border-bottom:none}.data-table tbody tr:hover td{background:#f9fafb}.data-table tbody tr.clickable{cursor:pointer}.data-table tbody tr.clickable:hover td{background:#f3f4f6}.user-profile-container{margin-top:auto;padding:12px 10px;border-top:1px solid var(--sidebar-border);flex-shrink:0;position:relative;overflow:visible}.user-profile{padding:8px 10px;border-radius:var(--radius-sm);display:flex;align-items:center;gap:10px;cursor:pointer;transition:background .15s;width:100%;text-align:left;background:none;border:none}.user-profile:hover{background:var(--bg-hover)}.user-avatar{width:34px;height:34px;border-radius:8px;font-size:.75rem;letter-spacing:.03em}.user-avatar,.user-avatar-large{background:linear-gradient(135deg,var(--accent),#6366f1);color:#fff;display:flex;align-items:center;justify-content:center;font-weight:700;flex-shrink:0}.user-avatar-large{width:40px;height:40px;border-radius:10px;font-size:.875rem}.user-info{flex:1;overflow:hidden;transition:all .25s ease}.user-name{font-size:var(--font-size-sm);font-weight:600;color:var(--text-primary)}.user-name,.user-role{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.user-role{font-size:var(--font-size-xs);color:var(--text-tertiary);text-transform:uppercase;letter-spacing:.05em}.user-settings-icon{color:var(--text-tertiary);flex-shrink:0;transition:all .2s}.user-profile:hover .user-settings-icon{color:var(--accent);transform:rotate(30deg)}.profile-menu-popup{position:absolute;bottom:calc(100% + 8px);left:10px;right:10px;background:var(--bg-elevated);border:1px solid var(--border-default);border-radius:var(--radius-lg);box-shadow:var(--shadow-xl);padding:6px;z-index:200;animation:popup-fade-in .15s ease-out;overflow:hidden}@keyframes popup-fade-in{0%{opacity:0;transform:translateY(6px) scale(.98)}to{opacity:1;transform:translateY(0) scale(1)}}.popup-header{display:flex;align-items:center;gap:10px;padding:10px;border-radius:8px;margin-bottom:4px;background:var(--bg-hover)}.user-name-large{font-weight:700;font-size:var(--font-size-sm);color:var(--text-primary)}.user-email-large{font-size:var(--font-size-xs);color:var(--text-secondary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.popup-divider{height:1px;background:var(--border-subtle);margin:4px 2px}.popup-menu-item{display:flex;align-items:center;gap:10px;padding:9px 10px;border-radius:6px;color:var(--text-secondary);font-size:var(--font-size-sm);cursor:pointer;transition:all .15s}.popup-menu-item:hover{background:var(--bg-hover);color:var(--text-primary)}.popup-menu-item.logout{color:var(--color-error)}.popup-menu-item.logout:hover{background:var(--color-error-muted)}body.sidebar-collapsed .sidebar{width:var(--sidebar-collapsed-width)}body.sidebar-collapsed .main-content{margin-left:var(--sidebar-collapsed-width)}body.sidebar-collapsed .sidebar-header{justify-content:center;padding:14px 0;flex-direction:column;gap:10px}body.sidebar-collapsed .workspace-selector{display:none}body.sidebar-collapsed .workspace-logo-container{justify-content:center}body.sidebar-collapsed .sidebar-toggle{transform:rotate(180deg)}body.sidebar-collapsed .nav-section-title{text-align:center;padding:6px 0;font-size:1rem}body.sidebar-collapsed .category-chevron,body.sidebar-collapsed .menu-text{display:none}body.sidebar-collapsed .menu-item{justify-content:center;padding:10px 0}body.sidebar-collapsed .menu-item.nested{padding-left:0}body.sidebar-collapsed .menu-category-header{justify-content:center;padding:10px 0}body.sidebar-collapsed .menu-category-content{gap:0}body.sidebar-collapsed .user-profile-container{padding:12px 0}body.sidebar-collapsed .user-profile{justify-content:center;padding:10px 0;gap:0}body.sidebar-collapsed .user-info,body.sidebar-collapsed .user-settings-icon{display:none}body.sidebar-collapsed .profile-menu-popup{left:calc(var(--sidebar-collapsed-width) + 8px);right:auto;width:260px;bottom:12px}.popup-menu{background:var(--bg-elevated);border:1px solid var(--border-default);border-radius:var(--radius-lg);box-shadow:var(--shadow-xl);color:var(--text-primary);animation:popup-fade-in .15s ease-out;overflow:hidden}@keyframes skeleton-shimmer{0%{background-position:-600px 0}to{background-position:600px 0}}.skeleton-row{height:44px;display:flex;align-items:center;width:100%}.skeleton-row:after{content:"";display:block;width:100%;height:28px;border-radius:6px;background:linear-gradient(90deg,var(--bg-surface) 25%,var(--bg-elevated) 50%,var(--bg-surface) 75%);background-size:600px 100%;animation:skeleton-shimmer 1.5s infinite}