@import "https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700&family=Outfit:wght@500;600;700;800&family=JetBrains+Mono:wght@400;500&display=swap";:root{--font-sans:"Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;--font-display:"Outfit", -apple-system, BlinkMacSystemFont, sans-serif;--font-mono:"JetBrains Mono", monospace;--base-font-size:16px;--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;--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;--radius-xs:4px;--radius-sm:6px;--radius-md:10px;--radius-lg:14px;--radius-xl:20px;--radius-full:9999px;--shadow-xs:0 1px 2px 0 #0000000d;--shadow-sm:0 1px 3px 0 #00000014, 0 1px 2px -1px #0000000d;--shadow-md:0 4px 6px -1px #00000012, 0 2px 4px -2px #0000000d;--shadow-lg:0 10px 15px -3px #00000014, 0 4px 6px -4px #0000000a;--shadow-xl:0 20px 25px -5px #00000014, 0 8px 10px -6px #0000000a;--shadow-accent:0 10px 25px -5px #635bff40;--transition-fast:.15s cubic-bezier(.4, 0, .2, 1);--transition-normal:.25s cubic-bezier(.4, 0, .2, 1);--transition-smooth:.35s cubic-bezier(.16, 1, .3, 1);--sidebar-width:260px;--sidebar-collapsed-width:76px;--topbar-height:64px;--bg-app:#f7f8fc;--bg-surface:#fff;--bg-surface-secondary:#f1f4f9;--bg-surface-tertiary:#e8edf5;--border-color:#e2e8f0;--border-focus:#635bff;--text-primary:#1e293b;--text-secondary:#475569;--text-muted:#64748b;--text-inverted:#fff;--color-success:#16a34a;--color-success-bg:#dcfce7;--color-success-border:#86efac;--color-warning:#f59e0b;--color-warning-bg:#fef3c7;--color-warning-border:#fcd34d;--color-danger:#ef4444;--color-danger-bg:#fee2e2;--color-danger-border:#fca5a5;--color-info:#0284c7;--color-info-bg:#e0f2fe;--color-info-border:#7dd3fc;--primary:#635bff;--primary-hover:#5046e5;--primary-active:#4338ca;--primary-light:#eef2ff;--primary-border:#c7d2fe;--primary-glow:#635bff33;--secondary:#8b5cf6;--secondary-hover:#7c3aed;--secondary-light:#f5f3ff;--gradient-primary:linear-gradient(135deg, #635bff 0%, #8b5cf6 100%);--gradient-clan:linear-gradient(135deg, #3b82f6 0%, #8b5cf6 50%, #ec4899 100%)}[data-accent=blue]{--primary:#2563eb;--primary-hover:#1d4ed8;--primary-active:#1e40af;--primary-light:#eff6ff;--primary-border:#bfdbfe;--primary-glow:#2563eb40;--shadow-accent:0 10px 25px -5px #2563eb40;--gradient-primary:linear-gradient(135deg, #2563eb 0%, #3b82f6 100%)}[data-accent=green]{--primary:#059669;--primary-hover:#047857;--primary-active:#065f46;--primary-light:#ecfdf5;--primary-border:#a7f3d0;--primary-glow:#05966940;--shadow-accent:0 10px 25px -5px #05966940;--gradient-primary:linear-gradient(135deg, #059669 0%, #10b981 100%)}[data-accent=pink]{--primary:#db2777;--primary-hover:#be185d;--primary-active:#9d174d;--primary-light:#fdf2f8;--primary-border:#fbcfe8;--primary-glow:#db277740;--shadow-accent:0 10px 25px -5px #db277740;--gradient-primary:linear-gradient(135deg, #db2777 0%, #f43f5e 100%)}[data-accent=orange]{--primary:#ea580c;--primary-hover:#c2410c;--primary-active:#9a3412;--primary-light:#fff7ed;--primary-border:#fed7aa;--primary-glow:#ea580c40;--shadow-accent:0 10px 25px -5px #ea580c40;--gradient-primary:linear-gradient(135deg, #ea580c 0%, #f97316 100%)}[data-accent=cyan]{--primary:#0891b2;--primary-hover:#0e7490;--primary-active:#155e75;--primary-light:#ecfeff;--primary-border:#a5f3fc;--primary-glow:#0891b240;--shadow-accent:0 10px 25px -5px #0891b240;--gradient-primary:linear-gradient(135deg, #0891b2 0%, #06b6d4 100%)}[data-theme=dark]{--bg-app:#0b0f19;--bg-surface:#111827;--bg-surface-secondary:#1e293b;--bg-surface-tertiary:#334155;--border-color:#1e293b;--border-focus:var(--primary);--text-primary:#f8fafc;--text-secondary:#cbd5e1;--text-muted:#94a3b8;--text-inverted:#0f172a;--color-success-bg:#16a34a26;--color-success-border:#16a34a66;--color-warning-bg:#f59e0b26;--color-warning-border:#f59e0b66;--color-danger-bg:#ef444426;--color-danger-border:#ef444466;--color-info-bg:#0284c726;--color-info-border:#0284c766;--primary-light:#635bff26;--primary-border:#635bff59;--shadow-xs:0 1px 2px 0 #0006;--shadow-sm:0 1px 3px 0 #00000080;--shadow-md:0 4px 6px -1px #0009;--shadow-lg:0 10px 15px -3px #000000b3;--shadow-xl:0 20px 25px -5px #000c}[data-font-size=small]{--base-font-size:14px}[data-font-size=medium]{--base-font-size:16px}[data-font-size=large]{--base-font-size:18px}[data-reduced-motion=true],[data-reduced-motion=true] *{scroll-behavior:auto!important;transition-duration:.001ms!important;animation-duration:.001ms!important;animation-iteration-count:1!important}*,:before,:after{box-sizing:border-box;margin:0;padding:0}html{font-size:var(--base-font-size);font-family:var(--font-sans);color:var(--text-primary);background-color:var(--bg-app);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}body{background-color:var(--bg-app);min-height:100vh;color:var(--text-primary);flex-direction:column;line-height:1.5;display:flex;overflow-x:hidden}h1,h2,h3,h4,h5,h6{font-family:var(--font-display);color:var(--text-primary);font-weight:700;line-height:1.25}a{color:var(--primary);transition:color var(--transition-fast);text-decoration:none}a:hover{color:var(--primary-hover)}.btn{justify-content:center;align-items:center;gap:var(--space-2);font-family:var(--font-sans);font-size:var(--text-sm);border-radius:var(--radius-md);cursor:pointer;transition:all var(--transition-fast);white-space:nowrap;-webkit-user-select:none;user-select:none;border:1px solid #0000;padding:.625rem 1.25rem;font-weight:600;text-decoration:none;display:inline-flex}.btn:disabled{opacity:.55;cursor:not-allowed;pointer-events:none}.btn-primary{background:var(--gradient-primary);color:#fff;box-shadow:var(--shadow-sm)}.btn-primary:hover{opacity:.94;box-shadow:var(--shadow-accent);transform:translateY(-1px)}.btn-primary:active{transform:translateY(0)}.btn-secondary{background-color:var(--bg-surface-secondary);color:var(--text-primary);border-color:var(--border-color)}.btn-secondary:hover{background-color:var(--bg-surface-tertiary);color:var(--primary)}.btn-outline{color:var(--primary);border-color:var(--primary);background-color:#0000}.btn-outline:hover{background-color:var(--primary-light)}.btn-danger{background-color:var(--color-danger);color:#fff}.btn-danger:hover{opacity:.9}.btn-success{background-color:var(--color-success);color:#fff}.btn-success:hover{opacity:.9}.btn-sm{font-size:var(--text-xs);border-radius:var(--radius-sm);padding:.375rem .75rem}.btn-lg{font-size:var(--text-base);border-radius:var(--radius-lg);padding:.875rem 1.75rem}.btn-icon{border-radius:var(--radius-md);justify-content:center;align-items:center;width:38px;height:38px;padding:0;display:inline-flex}.card{background-color:var(--bg-surface);border:1px solid var(--border-color);border-radius:var(--radius-lg);box-shadow:var(--shadow-xs);transition:all var(--transition-normal);overflow:hidden}.card:hover{box-shadow:var(--shadow-md)}.card-interactive{cursor:pointer}.card-interactive:hover{border-color:var(--primary-border);box-shadow:var(--shadow-md);transform:translateY(-2px)}.card-header{padding:var(--space-5) var(--space-6);border-bottom:1px solid var(--border-color);justify-content:space-between;align-items:center;gap:var(--space-4);display:flex}.card-body{padding:var(--space-6)}.card-footer{padding:var(--space-4) var(--space-6);background-color:var(--bg-surface-secondary);border-top:1px solid var(--border-color);justify-content:space-between;align-items:center;display:flex}.badge{align-items:center;gap:var(--space-1);font-size:var(--text-xs);border-radius:var(--radius-full);padding:.25rem .625rem;font-weight:600;line-height:1;display:inline-flex}.badge-primary{background-color:var(--primary-light);color:var(--primary);border:1px solid var(--primary-border)}.badge-success{background-color:var(--color-success-bg);color:var(--color-success);border:1px solid var(--color-success-border)}.badge-warning{background-color:var(--color-warning-bg);color:var(--color-warning);border:1px solid var(--color-warning-border)}.badge-danger{background-color:var(--color-danger-bg);color:var(--color-danger);border:1px solid var(--color-danger-border)}.badge-info{background-color:var(--color-info-bg);color:var(--color-info);border:1px solid var(--color-info-border)}.badge-neutral{background-color:var(--bg-surface-secondary);color:var(--text-muted);border:1px solid var(--border-color)}.form-group{gap:var(--space-2);margin-bottom:var(--space-4);flex-direction:column;display:flex}.form-label{font-size:var(--text-sm);color:var(--text-secondary);align-items:center;gap:var(--space-1);font-weight:600;display:flex}.form-input,.form-select,.form-textarea,.form-control{width:100%;font-family:var(--font-sans);font-size:var(--text-sm);background-color:var(--bg-surface);color:var(--text-primary);border:1px solid var(--border-color);border-radius:var(--radius-md);transition:all var(--transition-fast);outline:none;padding:.65rem .875rem}.form-input:focus,.form-select:focus,.form-textarea:focus,.form-control:focus{border-color:var(--primary);box-shadow:0 0 0 3px var(--primary-glow)}.form-input::placeholder,.form-textarea::placeholder,.form-control::placeholder{color:var(--text-muted)}.form-hint{font-size:var(--text-xs);color:var(--text-muted)}.form-error{font-size:var(--text-xs);color:var(--color-danger);font-weight:500}.progress-track{background-color:var(--bg-surface-tertiary);border-radius:var(--radius-full);width:100%;height:8px;overflow:hidden}.progress-track-lg{height:12px}.progress-fill{background:var(--gradient-primary);border-radius:var(--radius-full);height:100%;transition:width var(--transition-smooth)}.progress-fill-success{background:var(--color-success)}.table-container{border-radius:var(--radius-lg);border:1px solid var(--border-color);width:100%;overflow-x:auto}.table{border-collapse:collapse;text-align:left;width:100%;font-size:var(--text-sm)}.table th{background-color:var(--bg-surface-secondary);padding:var(--space-4) var(--space-5);color:var(--text-muted);border-bottom:1px solid var(--border-color);white-space:nowrap;font-weight:600}.table td{padding:var(--space-4) var(--space-5);border-bottom:1px solid var(--border-color);color:var(--text-primary);background-color:var(--bg-surface)}.table tr:last-child td{border-bottom:none}.table tbody tr:hover td{background-color:var(--bg-surface-secondary)}.alert{padding:var(--space-4) var(--space-5);border-radius:var(--radius-md);font-size:var(--text-sm);align-items:flex-start;gap:var(--space-3);margin-bottom:var(--space-4);line-height:1.4;display:flex}.alert-info{background-color:var(--color-info-bg);color:var(--color-info);border:1px solid var(--color-info-border)}.alert-success{background-color:var(--color-success-bg);color:var(--color-success);border:1px solid var(--color-success-border)}.alert-warning{background-color:var(--color-warning-bg);color:var(--color-warning);border:1px solid var(--color-warning-border)}.alert-danger{background-color:var(--color-danger-bg);color:var(--color-danger);border:1px solid var(--color-danger-border)}.modal-backdrop{-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);z-index:1000;padding:var(--space-4);background-color:#0000008c;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.modal-content{background-color:var(--bg-surface);border-radius:var(--radius-xl);border:1px solid var(--border-color);box-shadow:var(--shadow-xl);flex-direction:column;width:100%;max-width:600px;max-height:90vh;display:flex;overflow-y:auto}.modal-header{padding:var(--space-5) var(--space-6);border-bottom:1px solid var(--border-color);justify-content:space-between;align-items:center;display:flex}.modal-body{padding:var(--space-6);flex:1}.modal-footer{padding:var(--space-4) var(--space-6);border-top:1px solid var(--border-color);background-color:var(--bg-surface-secondary);justify-content:flex-end;align-items:center;gap:var(--space-3);display:flex}.skeleton{background:linear-gradient(90deg, var(--bg-surface-secondary) 25%, var(--bg-surface-tertiary) 50%, var(--bg-surface-secondary) 75%);border-radius:var(--radius-sm);background-size:200% 100%;animation:1.5s infinite shimmer}@keyframes shimmer{0%{background-position:200% 0}to{background-position:-200% 0}}@keyframes fadeIn{0%{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:translateY(0)}}@keyframes slideUp{0%{opacity:0;transform:translateY(16px)}to{opacity:1;transform:translateY(0)}}.grid{gap:var(--space-6);display:grid}.grid-cols-1{grid-template-columns:repeat(1,minmax(0,1fr))}.grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.grid-cols-4{grid-template-columns:repeat(4,minmax(0,1fr))}@media (width<=1024px){.grid-cols-4,.grid-cols-3{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (width<=640px){.grid-cols-4,.grid-cols-3,.grid-cols-2{grid-template-columns:repeat(1,minmax(0,1fr))}}.dashboard-root{background-color:var(--bg-app);min-height:100vh;display:flex}.dashboard-main{min-width:0;transition:margin-left var(--transition-normal);flex-direction:column;flex:1;display:flex}.dashboard-content-area{padding:var(--space-6) var(--space-8);flex:1;width:100%;max-width:1400px;margin:0 auto}@media (width<=768px){.dashboard-content-area{padding:var(--space-4)}}.navbar-root{height:var(--topbar-height);background-color:var(--bg-surface);border-bottom:1px solid var(--border-color);padding:0 var(--space-6);z-index:100;box-shadow:var(--shadow-xs);justify-content:space-between;align-items:center;display:flex;position:sticky;top:0}.navbar-left{align-items:center;gap:var(--space-4);display:flex}.mobile-menu-btn{display:none}@media (width<=1024px){.mobile-menu-btn{display:inline-flex}}.brand-logo{align-items:center;gap:var(--space-3);text-decoration:none;display:flex}.gdg-logo-symbol{align-items:center;gap:3px;display:flex}.gdg-logo-symbol .dot{border-radius:50%;width:8px;height:8px}.dot-blue{background-color:#4285f4}.dot-red{background-color:#ea4335}.dot-yellow{background-color:#fbbc05}.dot-green{background-color:#34a853}.brand-text{flex-direction:column;display:flex}.brand-title{font-family:var(--font-display);font-size:var(--text-base);color:var(--text-primary);font-weight:700;line-height:1.1}.brand-subtitle{color:var(--text-muted);letter-spacing:.5px;font-size:.6875rem;font-weight:500}.role-badge{text-transform:uppercase;letter-spacing:.5px;font-size:.6875rem}.navbar-right{align-items:center;gap:var(--space-3);display:flex}.connectivity-badge{align-items:center;gap:var(--space-2);display:flex}.online-indicator,.offline-indicator{font-size:var(--text-xs);border-radius:var(--radius-sm);background-color:var(--bg-surface-secondary);align-items:center;gap:6px;padding:.25rem .5rem;font-weight:600;display:flex}.text-success{color:var(--color-success)}.text-warning{color:var(--color-warning)}.text-danger{color:var(--color-danger)}.sync-btn{align-items:center;gap:4px;display:flex}.animate-spin{animation:1s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}.demo-role-switcher{align-items:center;gap:var(--space-2);background-color:var(--bg-surface-secondary);border-radius:var(--radius-md);border:1px solid var(--border-color);padding:2px 8px;display:flex}.demo-label{font-size:var(--text-xs);color:var(--text-muted);white-space:nowrap;font-weight:600}.demo-select{font-size:var(--text-xs);cursor:pointer;color:var(--primary);background:0 0;border:none;padding:.25rem .5rem;font-weight:600}@media (width<=860px){.demo-role-switcher,.indicator-text{display:none}}.dropdown-wrapper,.notif-bell{position:relative}.notif-badge{background-color:var(--color-danger);color:#fff;border:2px solid var(--bg-surface);border-radius:50%;justify-content:center;align-items:center;width:18px;height:18px;font-size:.625rem;font-weight:700;display:flex;position:absolute;top:-2px;right:-2px}.dropdown-panel{background-color:var(--bg-surface);border:1px solid var(--border-color);border-radius:var(--radius-lg);box-shadow:var(--shadow-xl);z-index:1000;animation:dropdownFadeIn var(--transition-fast);position:absolute;top:calc(100% + 8px);right:0}@keyframes dropdownFadeIn{0%{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:translateY(0)}}.notif-panel{flex-direction:column;width:360px;max-height:480px;display:flex}.notif-header{padding:var(--space-4) var(--space-5);border-bottom:1px solid var(--border-color);justify-content:space-between;align-items:center;display:flex}.notif-list{max-height:380px;overflow-y:auto}.empty-notifs{padding:var(--space-8);text-align:center;color:var(--text-muted);font-size:var(--text-sm)}.notif-item{padding:var(--space-3) var(--space-5);border-bottom:1px solid var(--border-color);cursor:pointer;transition:background-color var(--transition-fast)}.notif-item:hover{background-color:var(--bg-surface-secondary)}.notif-item.unread{background-color:var(--primary-light)}.notif-title-row{justify-content:space-between;align-items:center;margin-bottom:2px;display:flex}.notif-item-title{font-size:var(--text-sm);color:var(--text-primary);font-weight:600}.notif-time{color:var(--text-muted);font-size:.6875rem}.notif-message{font-size:var(--text-xs);color:var(--text-secondary);line-height:1.35}.user-profile-button{align-items:center;gap:var(--space-2);border-radius:var(--radius-full);cursor:pointer;transition:background-color var(--transition-fast);background:0 0;border:1px solid #0000;padding:4px 8px;display:flex}.user-profile-button:hover{background-color:var(--bg-surface-secondary)}.user-avatar{object-fit:cover;border:1px solid var(--border-color);border-radius:50%;width:32px;height:32px}.user-info-text{text-align:left;flex-direction:column;display:flex}.user-name{font-size:var(--text-xs);color:var(--text-primary);text-overflow:ellipsis;white-space:nowrap;max-width:110px;font-weight:600;overflow:hidden}.user-role-text{text-transform:capitalize;color:var(--text-muted);font-size:.625rem}@media (width<=640px){.user-info-text{display:none}}.user-panel{width:240px;padding:var(--space-2) 0}.user-panel-header{padding:var(--space-3) var(--space-4)}.user-email-text{font-size:var(--text-xs);color:var(--text-primary);word-break:break-all;font-weight:600}.user-bio-text{color:var(--text-muted);margin-top:2px;font-size:.6875rem}.dropdown-divider{background-color:var(--border-color);height:1px;margin:var(--space-1) 0}.dropdown-item{align-items:center;gap:var(--space-3);padding:var(--space-2) var(--space-4);font-size:var(--text-sm);color:var(--text-primary);text-align:left;cursor:pointer;width:100%;transition:background-color var(--transition-fast);background:0 0;border:none;display:flex}.dropdown-item:hover{background-color:var(--bg-surface-secondary)}.sidebar-root{width:var(--sidebar-width);background-color:var(--bg-surface);border-right:1px solid var(--border-color);height:100vh;transition:width var(--transition-normal);z-index:90;flex-direction:column;display:flex;position:sticky;top:0;overflow:hidden}.sidebar-root.collapsed{width:var(--sidebar-collapsed-width)}.sidebar-section-title{padding:var(--space-5) var(--space-6) var(--space-2);color:var(--text-muted);letter-spacing:.5px;align-items:center;height:48px;font-size:.6875rem;font-weight:700;display:flex}.sidebar-nav{padding:0 var(--space-3);flex-direction:column;flex:1;gap:3px;display:flex;overflow-y:auto}.sidebar-link{align-items:center;gap:var(--space-3);padding:.65rem var(--space-3);border-radius:var(--radius-md);color:var(--text-secondary);font-size:var(--text-sm);transition:all var(--transition-fast);white-space:nowrap;font-weight:500;text-decoration:none;display:flex;position:relative}.sidebar-link:hover{background-color:var(--bg-surface-secondary);color:var(--primary)}.sidebar-link.active{background-color:var(--primary-light);color:var(--primary);font-weight:600}.sidebar-link.active:before{content:"";background-color:var(--primary);border-radius:var(--radius-full);width:4px;position:absolute;top:20%;bottom:20%;left:0}.sidebar-link-highlight{color:var(--primary)}.sidebar-badge-pulse{background-color:var(--primary);width:8px;height:8px;box-shadow:0 0 0 3px var(--primary-glow);border-radius:50%;margin-left:auto}.sidebar-footer{padding:var(--space-3);border-top:1px solid var(--border-color)}.sidebar-collapse-btn{align-items:center;gap:var(--space-3);width:100%;padding:.5rem var(--space-3);border-radius:var(--radius-md);color:var(--text-muted);font-size:var(--text-xs);cursor:pointer;transition:all var(--transition-fast);background:0 0;border:1px solid #0000;font-weight:600;display:flex}.sidebar-collapse-btn:hover{background-color:var(--bg-surface-secondary);color:var(--text-primary)}@media (width<=1024px){.sidebar-root{transition:left var(--transition-normal);z-index:1001;position:fixed;top:0;bottom:0;left:-280px;width:260px!important}.sidebar-root.mobile-open{box-shadow:var(--shadow-xl);left:0}.sidebar-mobile-backdrop{-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);z-index:1000;background-color:#00000080;position:fixed;inset:0}}.auth-page-root{min-height:100vh;padding:var(--space-6);background:radial-gradient(circle at 50% 10%, var(--primary-light) 0%, var(--bg-app) 70%);justify-content:center;align-items:center;display:flex}.auth-card{background-color:var(--bg-surface);border-radius:var(--radius-xl);border:1px solid var(--border-color);width:100%;max-width:440px;box-shadow:var(--shadow-xl);overflow:hidden}.auth-header{padding:var(--space-8) var(--space-6) var(--space-4);text-align:center}.auth-header h2{font-size:var(--text-2xl);margin-bottom:var(--space-1)}.auth-form{padding:0 var(--space-6) var(--space-6)}.role-security-note{align-items:flex-start;gap:var(--space-2);padding:var(--space-3);border-radius:var(--radius-md);background-color:var(--bg-surface-secondary);border:1px solid var(--border-color);margin-top:var(--space-2);display:flex}.google-auth-btn{justify-content:center;align-items:center;gap:var(--space-3);background-color:var(--bg-surface);width:100%;color:var(--text-primary);border:1px solid var(--border-color);border-radius:var(--radius-md);font-size:var(--text-sm);cursor:pointer;transition:all var(--transition-fast);box-shadow:var(--shadow-xs);margin-bottom:var(--space-4);padding:.75rem 1rem;font-weight:600;display:flex}.google-auth-btn:hover{background-color:var(--bg-surface-secondary);border-color:var(--text-muted);box-shadow:var(--shadow-sm);transform:translateY(-1px)}.google-auth-btn:disabled{opacity:.6;cursor:not-allowed;transform:none}.google-icon{flex-shrink:0;width:20px;height:20px}.auth-divider{text-align:center;margin:var(--space-4) 0;font-size:var(--text-xs);color:var(--text-muted);align-items:center;display:flex}.auth-divider:before,.auth-divider:after{content:"";border-bottom:1px solid var(--border-color);flex:1}.auth-divider span{padding:0 var(--space-3)}.demo-accounts-grid{gap:var(--space-2);padding:0 var(--space-6) var(--space-6);grid-template-columns:repeat(3,1fr);display:grid}.demo-role-btn{padding:var(--space-3) var(--space-2);font-size:var(--text-xs);text-align:center;flex-direction:column;align-items:center;gap:4px;display:flex}.auth-footer{padding:var(--space-4) var(--space-6);background-color:var(--bg-surface-secondary);border-top:1px solid var(--border-color);text-align:center}.landing-root{background-color:var(--bg-app);flex-direction:column;min-height:100vh;display:flex}.landing-nav{height:70px;padding:0 var(--space-8);background-color:var(--bg-surface);border-bottom:1px solid var(--border-color);z-index:100;justify-content:space-between;align-items:center;display:flex;position:sticky;top:0}.landing-nav-actions{align-items:center;gap:var(--space-3);display:flex}.landing-hero{padding:var(--space-12) var(--space-6);text-align:center;background:radial-gradient(circle at 50% 0%, var(--primary-light) 0%, transparent 60%)}.hero-content{max-width:900px;margin:0 auto}.hero-badge{align-items:center;gap:var(--space-2);background-color:var(--bg-surface);border:1px solid var(--primary-border);border-radius:var(--radius-full);font-size:var(--text-xs);color:var(--primary);margin-bottom:var(--space-5);box-shadow:var(--shadow-sm);padding:.35rem .85rem;font-weight:600;display:inline-flex}.hero-title{letter-spacing:-.02em;margin-bottom:var(--space-5);font-size:clamp(2rem,5vw,3.5rem);font-weight:800;line-height:1.15}.gradient-text{background:var(--gradient-primary);-webkit-text-fill-color:transparent;-webkit-background-clip:text}.hero-description{font-size:var(--text-lg);color:var(--text-secondary);max-width:680px;margin:0 auto var(--space-8);line-height:1.6}.hero-cta-group{justify-content:center;align-items:center;gap:var(--space-4);flex-wrap:wrap;display:flex}.hero-demo-bar{margin-top:var(--space-8);justify-content:center;align-items:center;gap:var(--space-3);flex-wrap:wrap;display:flex}.demo-click-chip{cursor:pointer;transition:transform var(--transition-fast)}.demo-click-chip:hover{transform:translateY(-2px)}.landing-section{padding:var(--space-10) var(--space-8);width:100%;max-width:1280px;margin:0 auto}.section-header{text-align:center;margin-bottom:var(--space-8)}.section-eyebrow{font-size:var(--text-xs);color:var(--primary);letter-spacing:1px;margin-bottom:var(--space-2);font-weight:700;display:block}.section-header h2{font-size:var(--text-3xl)}.feature-card{padding:var(--space-8);gap:var(--space-4);flex-direction:column;display:flex}.feature-icon{border-radius:var(--radius-lg);justify-content:center;align-items:center;width:52px;height:52px;display:flex}.icon-purple{color:#635bff;background-color:#eef2ff}.icon-blue{color:#2563eb;background-color:#eff6ff}.icon-pink{color:#db2777;background-color:#fdf2f8}.feature-list{gap:var(--space-2);font-size:var(--text-xs);color:var(--text-secondary);flex-direction:column;margin-top:auto;list-style:none;display:flex}.feature-list li{align-items:center;gap:var(--space-2);display:flex}.domain-preview-card{transition:transform var(--transition-normal);overflow:hidden}.domain-preview-card:hover{transform:translateY(-4px)}.domain-preview-thumb{height:140px;padding:var(--space-3);background-position:50%;background-size:cover;justify-content:flex-end;align-items:flex-start;display:flex}.clan-banner-card{background:radial-gradient(circle at 100% 0%, var(--primary-light) 0%, var(--bg-surface) 60%);padding:var(--space-8);border-color:var(--primary-border)}.clan-banner-content{gap:var(--space-4);flex-direction:column;max-width:800px;display:flex}.clan-chips-row{gap:var(--space-3);margin-top:var(--space-2);flex-wrap:wrap;display:flex}.clan-chip{align-items:center;gap:var(--space-2);padding:var(--space-2) var(--space-4);background-color:var(--bg-surface);border:1px solid var(--border-color);border-radius:var(--radius-full);box-shadow:var(--shadow-xs);display:flex}.clan-chip-logo{border-radius:50%;width:24px;height:24px}.clan-chip-name{font-size:var(--text-xs);font-weight:600}.clan-chip-pts{font-size:var(--text-xs);color:var(--primary);font-weight:700}.landing-footer{padding:var(--space-8);border-top:1px solid var(--border-color);text-align:center;margin-top:auto}.student-welcome-banner{padding:var(--space-6) var(--space-8);justify-content:space-between;align-items:center;gap:var(--space-6);background:radial-gradient(circle at 10% 50%, var(--primary-light) 0%, var(--bg-surface) 60%);border-color:var(--primary-border);flex-wrap:wrap;display:flex}.welcome-greeting-row{align-items:center;gap:var(--space-3);flex-wrap:wrap;display:flex}.welcome-clan-snippet{align-items:center;gap:var(--space-4);background-color:var(--bg-surface);border:1px solid var(--border-color);padding:var(--space-2) var(--space-4);border-radius:var(--radius-lg);box-shadow:var(--shadow-xs);display:flex}.clan-snippet-badge{align-items:center;gap:var(--space-2);display:flex}.clan-snippet-logo{border:2px solid var(--primary-border);border-radius:50%;width:38px;height:38px}.clan-ranks-pill{border-left:1px solid var(--border-color);padding-left:var(--space-3);flex-direction:column;gap:3px;display:flex}.stat-card{padding:var(--space-5);align-items:center;gap:var(--space-4);display:flex}.stat-icon-wrap{border-radius:var(--radius-md);flex-shrink:0;justify-content:center;align-items:center;width:48px;height:48px;display:flex}.stat-data{flex-direction:column;flex:1;display:flex}.stat-label{font-size:var(--text-xs);color:var(--text-muted);font-weight:600}.stat-value{font-size:var(--text-2xl);color:var(--text-primary);margin:2px 0;font-weight:700;line-height:1.1}.next-task-focus{padding:var(--space-4);background-color:var(--bg-surface-secondary);border-radius:var(--radius-lg);border:1px solid var(--border-color)}.next-task-header-row{justify-content:space-between;align-items:flex-start;display:flex}.requirements-checklist{flex-direction:column;gap:6px;margin-top:6px;list-style:none;display:flex}.next-task-actions{gap:var(--space-3);margin-top:var(--space-5);flex-wrap:wrap;display:flex}.stage-progress-item{align-items:center;gap:var(--space-3);padding:var(--space-2) 0;display:flex}.stage-progress-item.active .stage-num{background-color:var(--primary);color:#fff}.stage-num{background-color:var(--bg-surface-secondary);width:28px;height:28px;color:var(--text-muted);font-size:var(--text-xs);border-radius:50%;justify-content:center;align-items:center;font-weight:700;display:flex}.module-tabs-bar{gap:var(--space-2);padding-bottom:4px;display:flex;overflow-x:auto}.module-tab-btn{padding:.6rem var(--space-4);background-color:var(--bg-surface);border:1px solid var(--border-color);border-radius:var(--radius-md);cursor:pointer;white-space:nowrap;transition:all var(--transition-fast);text-align:left;flex-direction:column;display:flex}.module-tab-btn:hover{background-color:var(--bg-surface-secondary)}.module-tab-btn.active{background-color:var(--primary-light);border-color:var(--primary)}.tab-stage-num{color:var(--primary);text-transform:uppercase;font-size:.6875rem;font-weight:700}.tab-stage-title{font-size:var(--text-xs);color:var(--text-primary);font-weight:600}.resource-item-card{gap:var(--space-4);padding:var(--space-4);background-color:var(--bg-surface);border:1px solid var(--border-color);border-radius:var(--radius-lg);transition:all var(--transition-normal);display:flex}.resource-item-card:hover{border-color:var(--primary-border);box-shadow:var(--shadow-sm)}.resource-item-card.completed{border-left:4px solid var(--color-success)}.resource-item-card.locked{opacity:.65;background-color:var(--bg-surface-secondary)}.resource-icon-wrap{border-radius:var(--radius-md);background-color:var(--primary-light);flex-shrink:0;justify-content:center;align-items:center;width:44px;height:44px;display:flex}.resource-header-row{align-items:center;gap:var(--space-2);display:flex}.locked-notice{background-color:var(--bg-surface-tertiary);border-radius:var(--radius-sm);align-items:center;gap:6px;padding:6px 10px;display:flex}.task-select-item{align-items:center;gap:var(--space-3);width:100%;padding:var(--space-3) var(--space-4);border-radius:var(--radius-md);cursor:pointer;transition:all var(--transition-fast);background-color:#0000;border:1px solid #0000;margin-bottom:4px;display:flex}.task-select-item:hover{background-color:var(--bg-surface-secondary)}.task-select-item.active{background-color:var(--primary-light);border-color:var(--primary-border)}.task-select-item.locked{opacity:.6}.version-row{padding:var(--space-4) var(--space-6);border-bottom:1px solid var(--border-color)}.version-row:last-child{border-bottom:none}.version-meta{justify-content:space-between;align-items:center;display:flex}.version-repo-link{font-family:var(--font-mono);font-size:var(--text-xs);color:var(--primary);background-color:var(--bg-surface-secondary);border-radius:var(--radius-sm);align-items:center;gap:6px;padding:4px 10px;display:inline-flex}.mentor-feedback-box{margin-top:var(--space-3);padding:var(--space-3);background-color:var(--bg-surface-secondary);border-radius:var(--radius-md);border-left:3px solid var(--primary)}.arena-hero-banner{color:#fff;padding:var(--space-8);justify-content:space-between;align-items:center;gap:var(--space-6);background:radial-gradient(circle at 100%,#4338ca 0%,#111827 80%);flex-wrap:wrap;display:flex}.arena-title{letter-spacing:-.01em;margin:var(--space-2) 0;color:#fff;font-size:clamp(1.75rem,4vw,2.5rem);font-weight:800}.arena-top-clan-podium{-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);padding:var(--space-5);border-radius:var(--radius-xl);text-align:center;background-color:#ffffff14;border:1px solid #ffffff26;min-width:220px}.podium-clan-logo{border:2px solid #fcd34d;border-radius:50%;width:56px;height:56px;margin:6px auto}.arena-controls-bar{justify-content:space-between;align-items:center;gap:var(--space-4);flex-wrap:wrap;display:flex}.dual-ranking-toggle{background-color:var(--bg-surface);border:1px solid var(--border-color);border-radius:var(--radius-lg);gap:4px;padding:4px;display:flex}.ranking-toggle-btn{align-items:center;gap:var(--space-2);color:var(--text-secondary);font-size:var(--text-xs);border-radius:var(--radius-md);cursor:pointer;transition:all var(--transition-fast);background-color:#0000;border:none;padding:.5rem 1rem;font-weight:600;display:flex}.ranking-toggle-btn.active{background-color:var(--primary);color:#fff;box-shadow:var(--shadow-sm)}.arena-clan-card{padding:var(--space-4) var(--space-6);align-items:center;gap:var(--space-5);transition:all var(--transition-fast);display:flex}.arena-clan-card:hover{transform:translate(4px)}.arena-rank-badge{align-items:center;gap:4px;min-width:50px;display:flex}.arena-clan-card.rank-gold{background:linear-gradient(90deg, #f59e0b0f 0%, var(--bg-surface) 30%);border-left:5px solid #f59e0b}.arena-clan-card.rank-silver{border-left:5px solid #94a3b8}.arena-clan-card.rank-bronze{border-left:5px solid #b45309}.arena-clan-emblem{border-radius:50%;flex-shrink:0;width:44px;height:44px}.arena-clan-points{align-items:center;gap:var(--space-5);display:flex}.ledger-feed-list{flex-direction:column;display:flex}.feed-item{padding:var(--space-3) var(--space-6);border-bottom:1px solid var(--border-color);justify-content:space-between;align-items:center;display:flex}.feed-item:last-child{border-bottom:none}.feed-bullet{background-color:var(--primary);border-radius:50%;width:8px;height:8px}.theme-card-btn{padding:var(--space-4);background-color:var(--bg-surface);border:1px solid var(--border-color);border-radius:var(--radius-lg);cursor:pointer;transition:all var(--transition-fast);color:var(--text-primary);flex-direction:column;align-items:center;gap:8px;display:flex}.theme-card-btn:hover{background-color:var(--bg-surface-secondary)}.theme-card-btn.active{border-color:var(--primary);background-color:var(--primary-light);color:var(--primary);font-weight:700}.accent-card-btn{background-color:var(--bg-surface);border:1px solid var(--border-color);border-radius:var(--radius-md);cursor:pointer;transition:all var(--transition-fast);color:var(--text-primary);align-items:center;gap:8px;padding:8px 12px;display:flex;position:relative}.accent-card-btn:hover{background-color:var(--bg-surface-secondary)}.accent-card-btn.active{border-color:var(--primary)}.accent-check{color:var(--primary);margin-left:auto}.filter-pill-group{gap:var(--space-2);display:flex}#root{flex-direction:column;min-height:100vh;display:flex}
