.consent-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#0009;z-index:9999;display:flex;align-items:center;justify-content:center;padding:var(--space-4)}.consent-card{max-width:480px;width:90%;background:var(--bg-primary);border:1px solid var(--border);border-radius:var(--radius-md);box-shadow:var(--shadow-xl);padding:var(--space-8);display:flex;flex-direction:column;gap:var(--space-4)}.consent-icon{display:flex;justify-content:center}.consent-heading{font-size:var(--text-xl);font-weight:var(--font-semibold);color:var(--text-primary);text-align:center;margin:0}.consent-body{font-size:var(--text-sm);color:var(--text-secondary);text-align:center;margin:0;line-height:var(--leading-relaxed)}.consent-bullets{display:flex;flex-direction:column;gap:var(--space-2);list-style:none;padding:0;margin:0}.consent-bullet{display:flex;align-items:flex-start;gap:var(--space-2);font-size:var(--text-sm);color:var(--text-primary)}.consent-bullet-check{color:var(--success);flex-shrink:0;font-style:normal;line-height:1.5}.consent-links{display:flex;justify-content:center;align-items:center;gap:var(--space-2);font-size:var(--text-sm)}.consent-links a{color:var(--brand-primary);text-decoration:none}.consent-links a:hover{text-decoration:underline}.consent-links-sep{color:var(--text-tertiary)}.consent-checkbox-row{display:flex;align-items:center;gap:var(--space-2)}.consent-checkbox-row input[type=checkbox]{width:16px;height:16px;min-height:unset;flex-shrink:0;cursor:pointer;accent-color:var(--brand-primary);padding:0;border-radius:var(--radius-sm)}.consent-checkbox-row label{font-size:var(--text-sm);color:var(--text-primary);cursor:pointer;line-height:var(--leading-relaxed)}.consent-accept-btn{width:100%;padding:var(--space-3);font-weight:var(--font-semibold);font-size:var(--text-sm);border-radius:var(--radius-sm);border:none;color:#fff;transition:background var(--transition-fast)}.consent-accept-btn:not(:disabled){background:var(--brand-primary);cursor:pointer}.consent-accept-btn:not(:disabled):hover{background:var(--brand-primary-hover)}.consent-accept-btn:disabled{background:var(--neutral-300);cursor:not-allowed;opacity:1;transform:none}.consent-error{color:var(--error);font-size:var(--text-sm);text-align:center;margin:0}.auth-gate-loader{position:fixed;top:0;left:0;right:0;bottom:0;display:flex;flex-direction:column;align-items:center;justify-content:center;background:var(--neutral-900);z-index:9999}.auth-gate-spinner{width:60px;height:60px;border:4px solid rgba(255,255,255,.1);border-top-color:var(--brand-primary);border-radius:50%;animation:auth-gate-spin 1s linear infinite}.auth-gate-text{margin-top:24px;color:var(--neutral-0, #fff);font-size:var(--text-lg);font-weight:var(--font-medium);letter-spacing:.5px}@keyframes auth-gate-spin{to{transform:rotate(360deg)}}.shell-sidebar-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#0006;z-index:199;animation:fadeIn .2s ease}.shell-sidebar{display:flex;flex-direction:column;width:248px;height:100vh;position:sticky;top:0;flex-shrink:0;background:var(--bg-primary);border-right:1px solid var(--border-default);transition:width .25s cubic-bezier(.4,0,.2,1);overflow:hidden;z-index:200}.shell-sidebar--collapsed{width:64px}.shell-sidebar-brand{display:flex;align-items:center;gap:12px;padding:16px;border-bottom:1px solid var(--border-default);min-height:57px}.shell-sidebar-logo{width:32px;height:32px;border-radius:8px;background:var(--wl-primary, var(--brand-primary));color:#fff;display:flex;align-items:center;justify-content:center;font-weight:700;font-size:16px;flex-shrink:0}.shell-sidebar-logo-img{height:32px;max-width:140px;object-fit:contain;flex-shrink:0;border-radius:4px}.shell-sidebar-brand--logo-only{padding:12px 16px;min-height:72px;display:flex;align-items:center}.shell-sidebar-brand--logo-only .shell-sidebar-logo-img{display:block;flex:1 1 auto;min-width:0!important;width:100%!important;height:auto!important;max-height:48px!important;max-width:100%!important;object-fit:contain;object-position:left center;border-radius:0}.shell-sidebar-brand-text{font-size:14px;font-weight:600;color:var(--text-primary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.shell-sidebar-nav{flex:1;overflow-y:auto;overflow-x:hidden;padding:8px;scrollbar-width:thin;scrollbar-color:var(--neutral-300) transparent}.shell-sidebar-nav::-webkit-scrollbar{width:4px}.shell-sidebar-nav::-webkit-scrollbar-track{background:transparent}.shell-sidebar-nav::-webkit-scrollbar-thumb{background:var(--neutral-300);border-radius:2px}.shell-sidebar-section{margin-bottom:4px}.shell-sidebar-section-label{padding:8px 12px 4px;font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:.06em;color:var(--text-tertiary);white-space:nowrap}.shell-sidebar-item{display:flex;align-items:center;gap:10px;width:100%;padding:8px 12px;border:none;background:transparent;border-radius:6px;cursor:pointer;transition:background .15s ease,color .15s ease;color:var(--text-secondary);font-size:13.5px;font-weight:500;white-space:nowrap;text-align:left}.shell-sidebar-item:hover{background:var(--neutral-100);color:var(--text-primary);transform:none}.shell-sidebar-item--active{background:color-mix(in srgb,var(--wl-primary, var(--brand-primary)) 12%,transparent);color:var(--wl-primary, var(--brand-primary));font-weight:600}.shell-sidebar-item--active:hover{background:color-mix(in srgb,var(--wl-primary, var(--brand-primary)) 12%,transparent);color:var(--wl-primary, var(--brand-primary))}.shell-sidebar-item-icon{width:20px;height:20px;display:flex;align-items:center;justify-content:center;flex-shrink:0}.shell-sidebar-icon-placeholder{width:18px;height:18px}.shell-sidebar-item-label{overflow:hidden;text-overflow:ellipsis}.shell-sidebar--collapsed .shell-sidebar-item{justify-content:center;padding:10px}.shell-sidebar--collapsed .shell-sidebar-brand{justify-content:center;padding:16px 8px}.shell-sidebar-footer{padding:8px;border-top:1px solid var(--border-default)}.shell-sidebar-collapse-btn{display:flex;align-items:center;gap:10px;width:100%;padding:8px 12px;border:none;background:transparent;border-radius:6px;cursor:pointer;color:var(--text-tertiary);font-size:13px;font-weight:500;transition:background .15s ease,color .15s ease}.shell-sidebar-collapse-btn:hover{background:var(--neutral-100);color:var(--text-secondary);transform:none}.shell-sidebar--collapsed .shell-sidebar-collapse-btn{justify-content:center;padding:10px}@media (max-width: 768px){.shell-sidebar{position:fixed;left:0;top:0;width:264px;transform:translate(-100%);transition:transform .25s cubic-bezier(.4,0,.2,1);box-shadow:none}.shell-sidebar--mobile-open{transform:translate(0);box-shadow:var(--shadow-xl)}.shell-sidebar--collapsed{width:264px}.shell-sidebar-footer{display:none}}.shell-header{display:flex;align-items:center;justify-content:space-between;height:56px;padding:0 20px;background:var(--bg-primary);border-bottom:1px solid var(--border-default);flex-shrink:0;z-index:100}.shell-header-left{display:flex;align-items:center;gap:12px;min-width:0}.shell-header-menu-btn{display:none;align-items:center;justify-content:center;width:36px;height:36px;border:none;background:transparent;border-radius:6px;color:var(--text-secondary);cursor:pointer;flex-shrink:0}.shell-header-menu-btn:hover{background:var(--neutral-100);color:var(--text-primary);transform:none}.shell-header-title{font-size:15px;font-weight:600;color:var(--text-primary);margin:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;letter-spacing:-.01em}.shell-header-right{display:flex;align-items:center;gap:8px}.shell-header-user{position:relative}.shell-header-avatar-btn{display:flex;align-items:center;gap:8px;padding:4px 8px 4px 4px;border:none;background:transparent;border-radius:6px;cursor:pointer;transition:background .15s ease}.shell-header-avatar-btn:hover{background:var(--neutral-100);transform:none}.shell-header-avatar{width:30px;height:30px;border-radius:50%;background:var(--wl-primary, var(--neutral-200));color:#fff;display:flex;align-items:center;justify-content:center;font-size:12px;font-weight:600;flex-shrink:0}.shell-header-user-name{font-size:13px;font-weight:500;color:var(--text-primary);max-width:140px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.shell-header-chevron{color:var(--text-tertiary);transition:transform .15s ease;flex-shrink:0}.shell-header-chevron--open{transform:rotate(180deg)}.shell-header-dropdown{position:absolute;top:calc(100% + 6px);right:0;min-width:200px;background:var(--bg-primary);border:1px solid var(--border-default);border-radius:8px;box-shadow:var(--shadow-lg);overflow:hidden;animation:slideUp .15s ease;z-index:300}.shell-header-dropdown-info{padding:12px 14px;display:flex;flex-direction:column;gap:2px}.shell-header-dropdown-name{font-size:13px;font-weight:600;color:var(--text-primary)}.shell-header-dropdown-role{font-size:12px;color:var(--text-tertiary)}.shell-header-dropdown-divider{height:1px;background:var(--border-default)}.shell-header-dropdown-item{display:flex;align-items:center;gap:8px;width:100%;padding:10px 14px;border:none;background:transparent;cursor:pointer;font-size:13px;font-weight:500;color:var(--text-secondary);transition:background .15s ease;text-align:left}.shell-header-dropdown-item:hover{background:var(--neutral-100);transform:none}.shell-header-dropdown-item--danger{color:var(--error)}.shell-header-dropdown-item--danger:hover{background:var(--error-bg)}@media (max-width: 768px){.shell-header-menu-btn{display:flex}.shell-header-user-name,.shell-header-chevron{display:none}.shell-header{padding:0 12px}}.shell-root{display:flex;height:100vh;width:100%;overflow:hidden;background:var(--bg-secondary)}.shell-main{flex:1;min-width:0;display:flex;flex-direction:column;height:100vh;overflow:hidden}.shell-workspace{flex:1;overflow-y:auto;overflow-x:hidden;-webkit-overflow-scrolling:touch}.shell-fullscreen{height:100vh;width:100%;overflow:hidden;display:flex;flex-direction:column}.shell-workspace::-webkit-scrollbar{width:6px}.shell-workspace::-webkit-scrollbar-track{background:transparent}.shell-workspace::-webkit-scrollbar-thumb{background:var(--neutral-300);border-radius:3px}.shell-workspace::-webkit-scrollbar-thumb:hover{background:var(--neutral-400)}@media (max-width: 768px){.shell-root{flex-direction:column}}
