*,*:before,*:after{margin:0;padding:0;box-sizing:border-box}:root{--primary: #6366f1;--primary-hover: #4f46e5;--primary-light: #e0e7ff;--primary-glow: rgba(99, 102, 241, .25);--secondary: #0f172a;--accent: #06b6d4;--white: #ffffff;--gray-50: #f8fafc;--gray-100: #f1f5f9;--gray-200: #e2e8f0;--gray-300: #cbd5e1;--gray-400: #94a3b8;--gray-500: #64748b;--gray-600: #475569;--gray-700: #334155;--gray-800: #1e293b;--gray-900: #0f172a;--error: #ef4444;--error-light: #fef2f2;--success: #10b981;--success-light: #ecfdf5;--shadow-sm: 0 1px 3px rgba(0, 0, 0, .04);--shadow-md: 0 4px 12px rgba(0, 0, 0, .06), 0 2px 4px rgba(0, 0, 0, .04);--shadow-lg: 0 12px 24px rgba(0, 0, 0, .08), 0 4px 8px rgba(0, 0, 0, .04);--shadow-xl: 0 24px 48px rgba(0, 0, 0, .1), 0 8px 16px rgba(0, 0, 0, .05);--shadow-card: 0 1px 3px rgba(0, 0, 0, .04);--shadow-card-hover: 0 8px 24px rgba(0, 0, 0, .08), 0 2px 8px rgba(99, 102, 241, .08);--radius-sm: 8px;--radius-md: 10px;--radius-lg: 14px;--radius-xl: 18px;--transition: all .2s cubic-bezier(.4, 0, .2, 1);--transition-smooth: all .2s cubic-bezier(.34, 1.56, .64, 1)}html{font-size:16px;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}body{font-family:Plus Jakarta Sans,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;color:var(--gray-800);background-color:var(--gray-50);line-height:1.6;min-height:100vh}a{color:var(--primary);text-decoration:none;transition:var(--transition)}a:hover{color:var(--primary-hover)}button{cursor:pointer;font-family:inherit}input{font-family:inherit}.dashboard-layout{display:flex;min-height:100vh;background:linear-gradient(160deg,#0c1222,#1a1f35,#0f172a)}.dashboard-sidebar{width:272px;min-width:272px;background:linear-gradient(180deg,#1e293bf2,#0f172afa);-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);border-right:1px solid rgba(255,255,255,.06);display:flex;flex-direction:column;position:fixed;top:0;left:0;bottom:0;z-index:50;box-shadow:4px 0 24px #00000026}.sidebar-header{padding:1.5rem 1.25rem;display:flex;align-items:center;gap:14px;cursor:pointer;transition:var(--transition)}.sidebar-header:hover{opacity:.95}.sidebar-header:active{transform:scale(.99)}.sidebar-logo{width:40px;height:40px;color:#818cf8;flex-shrink:0;filter:drop-shadow(0 0 8px rgba(129,140,248,.3))}.sidebar-logo svg{width:100%;height:100%}.sidebar-brand{font-size:1.125rem;font-weight:700;color:#f8fafc;letter-spacing:-.02em;text-shadow:0 1px 2px rgba(0,0,0,.2)}.sidebar-nav{flex:1;padding:1.25rem .75rem;display:flex;flex-direction:column;gap:6px}.sidebar-nav-hierarchy{gap:4px}.sidebar-category{border-radius:10px;overflow:hidden}.sidebar-category-btn{display:flex;align-items:center;gap:12px;padding:10px 14px;font-size:.875rem;font-weight:600;color:#cbd5e1;background:transparent;border:none;border-radius:10px;cursor:pointer;transition:var(--transition-smooth);text-align:left;width:100%}.sidebar-category-btn svg:first-of-type{width:18px;height:18px;flex-shrink:0;opacity:.9}.sidebar-category-btn span{flex:1}.sidebar-category-chevron{width:16px;height:16px;opacity:.6;transition:transform .2s ease}.sidebar-category[data-expanded=true] .sidebar-category-chevron{transform:rotate(180deg)}.sidebar-category-btn:hover{color:#f1f5f9;background:#ffffff0d}.sidebar-subcategories{padding-left:0;margin-top:2px}.sidebar-subcategory{margin-bottom:8px}.sidebar-subcategory:last-child{margin-bottom:0}.sidebar-subcategory-label{display:block;font-size:.6875rem;font-weight:600;color:#64748b;text-transform:uppercase;letter-spacing:.06em;padding:6px 14px 4px 34px;margin-bottom:2px}.sidebar-actions{display:flex;flex-direction:column;gap:2px}.sidebar-action{display:flex;align-items:center;gap:12px;padding:8px 14px 8px 34px;font-size:.8125rem;font-weight:500;color:#94a3b8;background:transparent;border:none;border-radius:8px;cursor:pointer;transition:var(--transition-smooth);text-align:left;width:100%}.sidebar-action svg{width:16px;height:16px;flex-shrink:0;opacity:.8}.sidebar-action:hover{color:#f1f5f9;background:#ffffff0f}.sidebar-action.active{color:#f8fafc;background:linear-gradient(135deg,#6366f133,#818cf81f);border-left:2px solid rgba(129,140,248,.6)}.sidebar-action.active svg{color:#a5b4fc}.sidebar-link{display:flex;align-items:center;gap:14px;padding:12px 16px;font-size:.9375rem;font-weight:500;color:#94a3b8;background:transparent;border:none;border-radius:12px;cursor:pointer;transition:var(--transition-smooth);text-align:left;width:100%}.sidebar-link svg{width:20px;height:20px;flex-shrink:0;opacity:.85}.sidebar-link:hover{color:#f1f5f9;background:#ffffff0f;transform:translate(2px)}.sidebar-link.active{color:#f8fafc;background:linear-gradient(135deg,#6366f140,#818cf826);border:1px solid rgba(129,140,248,.35);box-shadow:0 0 20px #6366f126}.sidebar-link.active svg{color:#a5b4fc}.dashboard-right{flex:1;margin-left:272px;display:flex;flex-direction:column;min-height:100vh}.dashboard-navbar{position:sticky;top:0;z-index:40;display:flex;align-items:center;justify-content:space-between;height:64px;padding:0 1.5rem;background:var(--white);border-bottom:1px solid var(--gray-200);box-shadow:0 1px 3px #0000000a}.navbar-clock{display:flex;flex-direction:column;align-items:flex-start;gap:2px;padding:4px 0}.navbar-clock-time{font-size:1rem;font-weight:600;color:var(--gray-800);font-variant-numeric:tabular-nums}.navbar-clock-date{font-size:.75rem;color:var(--gray-500)}.navbar-spacer{flex:1}.navbar-dropdown-wrapper{position:relative}.navbar-dropdown-trigger{display:flex;align-items:center;gap:8px;padding:6px 10px;background:var(--gray-50);border:1px solid var(--gray-200);border-radius:10px;cursor:pointer;transition:var(--transition)}.navbar-dropdown-trigger:hover{background:var(--gray-100);border-color:var(--gray-300)}.navbar-dropdown-chevron{width:18px;height:18px;color:var(--gray-500);transition:transform .2s ease}.navbar-dropdown-open .navbar-dropdown-chevron{transform:rotate(180deg)}.navbar-dropdown{position:absolute;top:calc(100% + 8px);right:0;min-width:260px;padding:12px;background:var(--white);border:1px solid var(--gray-200);border-radius:12px;box-shadow:var(--shadow-lg);z-index:100;animation:dropdownFade .15s ease}@keyframes dropdownFade{0%{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:translateY(0)}}.dropdown-user{display:flex;align-items:center;gap:12px;padding:8px 4px}.dropdown-user-info{display:flex;flex-direction:column;min-width:0}.dropdown-divider{height:1px;background:var(--gray-200);margin:8px 0}.dropdown-section{padding:8px 4px}.dropdown-label{display:block;font-size:.75rem;font-weight:600;color:var(--gray-500);text-transform:uppercase;letter-spacing:.05em;margin-bottom:8px}.navbar-font-btns{display:flex;align-items:center;gap:6px}.navbar-font-btn{display:flex;align-items:center;justify-content:center;width:36px;height:36px;font-weight:700;color:var(--gray-500);background:var(--gray-100);border:1px solid transparent;border-radius:8px;cursor:pointer;transition:var(--transition)}.navbar-font-btn:hover{color:var(--gray-800);background:var(--gray-200)}.navbar-font-btn.active{color:var(--primary);background:var(--primary-light);border-color:#6366f14d}.navbar-font-small{font-size:.75rem}.navbar-font-medium{font-size:.875rem}.navbar-font-large{font-size:1rem}.navbar-avatar{width:36px;height:36px;border-radius:10px;background:linear-gradient(135deg,#6366f1,#8b5cf6);color:#fff;font-size:.9375rem;font-weight:700;display:flex;align-items:center;justify-content:center;flex-shrink:0}.navbar-user-name{font-size:.875rem;font-weight:600;color:var(--gray-800);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.navbar-user-email{font-size:.75rem;color:var(--gray-500);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.dropdown-item{display:flex;align-items:center;gap:10px;width:100%;padding:10px 12px;font-size:.875rem;font-weight:500;color:var(--gray-600);background:transparent;border:none;border-radius:8px;cursor:pointer;transition:var(--transition);text-align:left}.dropdown-item svg{width:18px;height:18px;flex-shrink:0}.dropdown-security:hover{color:var(--primary);background:var(--primary-light)}.dropdown-logout{display:flex;align-items:center;gap:10px;width:100%;padding:10px 12px;font-size:.875rem;font-weight:500;color:var(--gray-600);background:transparent;border:none;border-radius:8px;cursor:pointer;transition:var(--transition);text-align:left}.dropdown-logout svg{width:18px;height:18px;flex-shrink:0}.dropdown-logout:hover{color:var(--error);background:var(--error-light)}.dashboard-main{flex:1;position:relative;background:linear-gradient(180deg,#f1f5f9,#e2e8f0,#f8fafc)}.dashboard-main:before{content:"";position:fixed;inset:64px 0 0 272px;background-image:radial-gradient(ellipse 80% 50% at 50% -20%,rgba(99,102,241,.08),transparent),radial-gradient(ellipse 60% 40% at 100% 0%,rgba(139,92,246,.05),transparent);pointer-events:none;z-index:0}@media(max-width:1024px){.dashboard-sidebar{width:72px;min-width:72px;padding:0}.sidebar-brand,.sidebar-link span,.sidebar-category-btn span,.sidebar-subcategory-label,.sidebar-action span{display:none}.sidebar-header{justify-content:center;padding:1rem}.sidebar-nav{align-items:center;padding:1rem .5rem}.sidebar-category-btn{justify-content:center;padding:10px 12px}.sidebar-subcategory-label{display:none}.sidebar-action{justify-content:center;padding:8px 12px}.sidebar-link{justify-content:center;padding:12px}.sidebar-link:hover,.sidebar-action:hover{transform:none}.dashboard-right{margin-left:72px}.dashboard-main:before{left:72px}.navbar-dropdown{min-width:240px}.navbar-clock-date{display:none}.navbar-clock-time{font-size:.9375rem}}@media(max-width:640px){.dashboard-sidebar{width:100%;height:auto;position:relative;flex-direction:row;flex-wrap:wrap;padding:.75rem 1rem;gap:.5rem}.sidebar-header{flex:1;padding:0}.sidebar-nav{flex:1 1 100%;flex-direction:row;padding:0;gap:4px}.sidebar-link span{display:inline}.dashboard-right{margin-left:0}.dashboard-navbar{padding:0 1rem;height:56px}.navbar-dropdown{min-width:220px;right:0}.navbar-clock-time{font-size:.875rem}.dashboard-main:before{left:0;top:56px}}.login-page{display:flex;min-height:100vh}.login-branding{position:relative;flex:1;display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,#4f46e5,#7c3aed,#2563eb);padding:3rem;overflow:hidden}.branding-content{position:relative;z-index:2;max-width:480px;color:#fff}.brand-logo{display:flex;align-items:center;gap:12px;margin-bottom:3rem}.logo-icon{width:44px;height:44px;flex-shrink:0}.brand-name{font-size:1.25rem;font-weight:700;letter-spacing:-.025em}.branding-title{font-size:2.75rem;font-weight:800;line-height:1.15;letter-spacing:-.035em;margin-bottom:1.25rem}.branding-subtitle{font-size:1.1rem;line-height:1.7;opacity:.85;margin-bottom:2.5rem}.branding-features{display:flex;flex-direction:column;gap:1rem}.feature-item{display:flex;align-items:center;gap:12px;font-size:.95rem;font-weight:500;opacity:.9}.feature-icon{width:22px;height:22px;display:flex;align-items:center;justify-content:center;background:#fff3;border-radius:50%;padding:4px;flex-shrink:0}.feature-icon svg{width:14px;height:14px}.branding-decoration{position:absolute;inset:0;overflow:hidden;pointer-events:none}.decoration-circle{position:absolute;border-radius:50%;background:#ffffff14}.decoration-circle-1{width:400px;height:400px;top:-100px;right:-100px}.decoration-circle-2{width:300px;height:300px;bottom:-80px;left:-80px}.decoration-circle-3{width:200px;height:200px;bottom:20%;right:10%;background:#ffffff0d}.login-form-section{flex:1;display:flex;align-items:center;justify-content:center;padding:3rem;background:var(--white)}.login-form-container{width:100%;max-width:420px}.back-btn{display:inline-flex;align-items:center;gap:6px;font-size:.875rem;font-weight:500;color:var(--gray-500);background:none;border:none;padding:0;margin-bottom:1.25rem;transition:var(--transition)}.back-btn:hover{color:var(--gray-800)}.back-btn svg{width:16px;height:16px}.form-header{margin-bottom:2rem}.form-title{font-size:1.75rem;font-weight:700;color:var(--gray-900);letter-spacing:-.025em;margin-bottom:.5rem}.form-subtitle{font-size:.95rem;color:var(--gray-500);line-height:1.5}.form-subtitle strong{color:var(--gray-800);font-weight:600}.api-error-banner{display:flex;align-items:flex-start;gap:10px;padding:12px 14px;background:var(--error-light);border:1px solid #fecaca;border-radius:var(--radius-md);color:#b91c1c;font-size:.875rem;line-height:1.5}.api-error-banner svg{width:18px;height:18px;flex-shrink:0;margin-top:1px}.login-form{display:flex;flex-direction:column;gap:1.25rem}.form-group{display:flex;flex-direction:column;gap:6px}.label-row{display:flex;justify-content:space-between;align-items:center}.form-label{font-size:.875rem;font-weight:600;color:var(--gray-700)}.forgot-link{font-size:.8125rem;font-weight:500;color:var(--primary)}.forgot-link:hover{color:var(--primary-hover);text-decoration:underline}.input-wrapper{position:relative;display:flex;align-items:center}.input-icon{position:absolute;left:14px;width:18px;height:18px;color:var(--gray-400);display:flex;align-items:center;justify-content:center;pointer-events:none;transition:var(--transition)}.input-icon svg{width:18px;height:18px}.form-input{width:100%;height:48px;padding:0 14px 0 44px;font-size:.9375rem;color:var(--gray-800);background:var(--white);border:1.5px solid var(--gray-200);border-radius:var(--radius-md);outline:none;transition:var(--transition)}.form-input::placeholder{color:var(--gray-400)}.form-input:hover{border-color:var(--gray-300)}.form-input:focus{border-color:var(--primary);box-shadow:0 0 0 3px var(--primary-light)}.form-group:focus-within .input-icon{color:var(--primary)}.form-group.has-error .form-input,.form-group.has-error .otp-input{border-color:var(--error)}.form-group.has-error .form-input:focus,.form-group.has-error .otp-input:focus{box-shadow:0 0 0 3px var(--error-light)}.form-group.has-error .input-icon{color:var(--error)}.error-message{font-size:.8125rem;color:var(--error);display:flex;align-items:center;gap:4px}.otp-inputs{display:flex;gap:10px;justify-content:center}.otp-input{width:50px;height:56px;text-align:center;font-size:1.375rem;font-weight:700;color:var(--gray-800);background:var(--white);border:1.5px solid var(--gray-200);border-radius:var(--radius-md);outline:none;transition:var(--transition);caret-color:var(--primary)}.otp-input:hover{border-color:var(--gray-300)}.otp-input:focus{border-color:var(--primary);box-shadow:0 0 0 3px var(--primary-light)}.otp-input.filled{border-color:var(--primary);background:var(--primary-light)}.resend-row{display:flex;align-items:center;justify-content:center;gap:6px;flex-wrap:wrap}.resend-text,.resend-timer{font-size:.875rem;color:var(--gray-500)}.resend-timer strong{color:var(--primary);font-weight:700;font-variant-numeric:tabular-nums}.resend-btn{font-size:.875rem;font-weight:600;color:var(--primary);background:none;border:none;padding:0;transition:var(--transition)}.resend-btn:hover:not(:disabled){color:var(--primary-hover);text-decoration:underline}.resend-btn:disabled{opacity:.5;cursor:not-allowed}.submit-btn{height:50px;display:flex;align-items:center;justify-content:center;gap:8px;font-size:.9375rem;font-weight:600;color:var(--white);background:linear-gradient(135deg,var(--primary) 0%,#4f46e5 100%);border:none;border-radius:var(--radius-md);transition:var(--transition-smooth);margin-top:.25rem;box-shadow:0 4px 14px #6366f166}.submit-btn:hover:not(:disabled){background:linear-gradient(135deg,var(--primary-hover) 0%,#4338ca 100%);transform:translateY(-2px);box-shadow:0 6px 20px #6366f173}.submit-btn:active:not(:disabled){transform:translateY(0)}.submit-btn:disabled{opacity:.7;cursor:not-allowed}.spinner{width:20px;height:20px;border:2.5px solid rgba(255,255,255,.3);border-top-color:#fff;border-radius:50%;animation:spin .7s linear infinite}.divider{position:relative;text-align:center;margin:.5rem 0}.divider:before{content:"";position:absolute;top:50%;left:0;right:0;height:1px;background:var(--gray-200)}.divider-text{position:relative;background:var(--white);padding:0 1rem;font-size:.8125rem;color:var(--gray-400);font-weight:500}.social-buttons{display:grid;grid-template-columns:1fr 1fr;gap:12px}.social-btn{height:44px;display:flex;align-items:center;justify-content:center;gap:8px;font-size:.875rem;font-weight:500;color:var(--gray-700);background:var(--white);border:1.5px solid var(--gray-200);border-radius:var(--radius-md);transition:var(--transition)}.social-btn:hover{background:var(--gray-50);border-color:var(--gray-300);box-shadow:var(--shadow-sm)}.signup-prompt{text-align:center;margin-top:2rem;font-size:.875rem;color:var(--gray-500)}.signup-link{font-weight:600;color:var(--primary)}.signup-link:hover{color:var(--primary-hover);text-decoration:underline}.coming-soon-overlay{position:fixed;inset:0;z-index:1000;display:flex;align-items:center;justify-content:center;background:#0f172a80;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);animation:fadeIn .2s ease}.coming-soon-popup{background:var(--white);border-radius:var(--radius-xl);padding:2.5rem 2rem 2rem;max-width:360px;width:90%;text-align:center;box-shadow:var(--shadow-xl);animation:popUp .3s ease}.coming-soon-icon{width:56px;height:56px;margin:0 auto 1.25rem;display:flex;align-items:center;justify-content:center;background:var(--primary-light);border-radius:50%;color:var(--primary)}.coming-soon-icon svg{width:28px;height:28px}.coming-soon-title{font-size:1.25rem;font-weight:700;color:var(--gray-900);margin-bottom:.5rem}.coming-soon-text{font-size:.9rem;color:var(--gray-500);line-height:1.6;margin-bottom:1.5rem}.coming-soon-btn{height:40px;padding:0 2rem;font-size:.875rem;font-weight:600;color:var(--white);background:var(--primary);border:none;border-radius:var(--radius-md);transition:var(--transition)}.coming-soon-btn:hover{background:var(--primary-hover)}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes popUp{0%{opacity:0;transform:scale(.9) translateY(10px)}to{opacity:1;transform:scale(1) translateY(0)}}@media(max-width:1024px){.login-branding{display:none}.login-form-section{padding:2rem 1.5rem}}@media(max-width:480px){.login-form-section{padding:1.5rem 1rem}.form-title{font-size:1.5rem}.social-buttons{grid-template-columns:1fr}.otp-inputs{gap:6px}.otp-input{width:42px;height:48px;font-size:1.125rem}}.home-page{min-height:100%;position:relative;z-index:1}.home-main{padding:2.5rem 0 4rem}.home-container{max-width:1400px;margin:0 auto;padding:0 1.25rem}.dashboard-header{animation:homeFadeIn .5s cubic-bezier(.34,1.56,.64,1) forwards}.stats-grid .stat-card{animation:homeSlideUp .5s cubic-bezier(.34,1.56,.64,1) forwards;opacity:0}.stats-grid .stat-card:nth-child(1){animation-delay:.05s}.stats-grid .stat-card:nth-child(2){animation-delay:.1s}.stats-grid .stat-card:nth-child(3){animation-delay:.15s}.stats-grid .stat-card:nth-child(4){animation-delay:.2s}.home-grid .card{animation:homeSlideUp .5s cubic-bezier(.34,1.56,.64,1) forwards;opacity:0;animation-delay:.25s}@keyframes homeFadeIn{0%{opacity:0;transform:translateY(-8px)}to{opacity:1;transform:translateY(0)}}@keyframes homeSlideUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.dashboard-header{margin-bottom:2.25rem}.dashboard-header-content{padding:1.5rem 0}.dashboard-title{font-size:2rem;font-weight:800;color:var(--gray-900);letter-spacing:-.035em;margin-bottom:.5rem;line-height:1.2}.dashboard-subtitle{font-size:1.0625rem;color:var(--gray-500);max-width:560px;line-height:1.6}.stats-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:1.5rem;margin-bottom:2rem}.stat-card{background:var(--white);border:1px solid rgba(226,232,240,.9);border-radius:var(--radius-xl);padding:1.75rem;display:flex;align-items:center;gap:1.25rem;transition:var(--transition-smooth);box-shadow:var(--shadow-card);position:relative;overflow:hidden}.stat-card:before{content:"";position:absolute;top:0;left:0;right:0;height:3px;background:linear-gradient(90deg,transparent,rgba(99,102,241,.1),transparent);opacity:0;transition:opacity .3s}.stat-card:hover{box-shadow:var(--shadow-card-hover);border-color:#6366f133;transform:translateY(-2px)}.stat-card:hover:before{opacity:1}.stat-card-clickable{cursor:pointer}.stat-card-clickable:hover{border-color:#6366f166;box-shadow:0 8px 24px #6366f126}.stat-icon{width:56px;height:56px;border-radius:var(--radius-lg);display:flex;align-items:center;justify-content:center;flex-shrink:0;transition:var(--transition-smooth)}.stat-card:hover .stat-icon{transform:scale(1.05)}.stat-icon svg{width:26px;height:26px}.stat-icon-indigo{background:linear-gradient(135deg,#eef2ff,#e0e7ff);color:#6366f1;box-shadow:0 4px 12px #6366f133}.stat-icon-emerald{background:linear-gradient(135deg,#ecfdf5,#d1fae5);color:#059669;box-shadow:0 4px 12px #10b98133}.stat-icon-amber{background:linear-gradient(135deg,#fffbeb,#fef3c7);color:#d97706;box-shadow:0 4px 12px #d9770626}.stat-icon-violet{background:linear-gradient(135deg,#f5f3ff,#ede9fe);color:#7c3aed;box-shadow:0 4px 12px #7c3aed33}.stat-info{display:flex;flex-direction:column}.stat-value{font-size:1.875rem;font-weight:800;color:var(--gray-900);line-height:1;letter-spacing:-.04em}.stat-label{font-size:.8125rem;color:var(--gray-500);font-weight:500;margin-top:8px}.home-grid{display:grid;grid-template-columns:1fr 1fr;gap:1.5rem}.card{background:var(--white);border:1px solid rgba(226,232,240,.9);border-radius:var(--radius-xl);padding:1.75rem;box-shadow:var(--shadow-card);transition:var(--transition-smooth)}.card:hover{box-shadow:var(--shadow-card-hover);border-color:#6366f11a}.card-title{font-size:1.0625rem;font-weight:700;color:var(--gray-900);margin-bottom:1.25rem;letter-spacing:-.02em}.quick-actions{display:flex;flex-direction:column;gap:10px}.action-btn{display:flex;align-items:center;gap:16px;padding:16px;background:var(--white);border:1px solid var(--gray-100);border-radius:var(--radius-md);text-align:left;transition:var(--transition-smooth);width:100%}.action-btn:hover{background:linear-gradient(135deg,#fafafa,#f8fafc);border-color:#6366f133;box-shadow:0 4px 12px #6366f10f;transform:translate(4px)}.action-icon{width:48px;height:48px;border-radius:var(--radius-md);display:flex;align-items:center;justify-content:center;flex-shrink:0;transition:var(--transition-smooth)}.action-btn:hover .action-icon{transform:scale(1.08)}.action-icon svg{width:22px;height:22px}.action-icon-blue{background:linear-gradient(135deg,#eff6ff,#dbeafe);color:#3b82f6}.action-icon-green{background:linear-gradient(135deg,#f0fdf4,#dcfce7);color:#22c55e}.action-icon-purple{background:linear-gradient(135deg,#f5f3ff,#ede9fe);color:#8b5cf6}.action-text{display:flex;flex-direction:column}.action-title{font-size:.9375rem;font-weight:600;color:var(--gray-800)}.action-desc{font-size:.75rem;color:var(--gray-400);margin-top:2px}.activity-empty{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:3.5rem 1.5rem;text-align:center}.empty-icon{width:72px;height:72px;display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,var(--gray-100) 0%,#e2e8f0 100%);border-radius:var(--radius-xl);color:var(--gray-400);margin-bottom:1.5rem;transition:var(--transition-smooth)}.card:hover .empty-icon{color:var(--gray-500)}.empty-icon svg{width:32px;height:32px}.empty-title{font-size:1.0625rem;font-weight:600;color:var(--gray-700);margin-bottom:.5rem}.empty-text{font-size:.8125rem;color:var(--gray-400);max-width:260px;line-height:1.6}@media(max-width:1024px){.stats-grid{grid-template-columns:repeat(2,1fr)}.home-grid{grid-template-columns:1fr}}@media(max-width:768px){.home-container{padding:0 1rem}.dashboard-title{font-size:1.625rem}}@media(max-width:480px){.stats-grid{grid-template-columns:1fr}.dashboard-title{font-size:1.5rem}.stat-card{padding:1.25rem}}.cq-page{min-height:100vh;position:relative;z-index:1}.cq-main{padding:2rem 0 4rem}.cq-container{max-width:900px;margin:0 auto;padding:0 1.25rem}.cq-fade-in{animation:cqFade .35s ease}@keyframes cqFade{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.cq-slide-in{animation:cqSlideIn .35s cubic-bezier(.34,1.56,.64,1)}@keyframes cqSlideIn{0%{opacity:0;transform:translateY(14px) scale(.97)}to{opacity:1;transform:translateY(0) scale(1)}}.cq-slide-out{animation:cqSlideOut .25s ease forwards}@keyframes cqSlideOut{0%{opacity:1;transform:translate(0)}to{opacity:0;transform:translate(24px) scale(.96)}}.cq-slide-right{animation:cqEnterRight .4s cubic-bezier(.16,1,.3,1)}@keyframes cqEnterRight{0%{opacity:0;transform:translate(60px)}to{opacity:1;transform:translate(0)}}.cq-slide-left{animation:cqEnterLeft .4s cubic-bezier(.16,1,.3,1)}@keyframes cqEnterLeft{0%{opacity:0;transform:translate(-60px)}to{opacity:1;transform:translate(0)}}.cq-header{margin-bottom:1.25rem}.cq-back-link{display:inline-flex;align-items:center;gap:5px;font-size:.8125rem;font-weight:500;color:var(--gray-400);background:none;border:none;padding:0;transition:var(--transition)}.cq-back-link:hover{color:var(--gray-700)}.cq-back-link svg{width:15px;height:15px}.cq-stepper{display:flex;align-items:center;justify-content:center;gap:0;margin-bottom:2rem;padding:0 1rem}.cq-step{display:flex;align-items:center;gap:0;cursor:default;-webkit-user-select:none;user-select:none}.cq-step.done{cursor:pointer}.cq-step-dot{width:40px;height:40px;border-radius:50%;display:flex;align-items:center;justify-content:center;background:var(--gray-100);color:var(--gray-400);border:2px solid var(--gray-200);transition:all .35s cubic-bezier(.34,1.56,.64,1);flex-shrink:0}.cq-step-dot svg{width:18px;height:18px}.cq-step.active .cq-step-dot{background:var(--primary);color:#fff;border-color:var(--primary);box-shadow:0 0 0 4px var(--primary-light);transform:scale(1.1)}.cq-step.done .cq-step-dot{background:var(--success);color:#fff;border-color:var(--success)}.cq-step-label{font-size:.75rem;font-weight:600;color:var(--gray-400);position:absolute;margin-top:56px;width:72px;text-align:center;margin-left:-16px}.cq-step.active .cq-step-label{color:var(--primary)}.cq-step.done .cq-step-label{color:var(--success)}.cq-step-line{width:80px;height:3px;background:var(--gray-200);border-radius:99px;margin:0 12px;overflow:hidden}.cq-step-line-fill{width:0;height:100%;background:var(--success);border-radius:99px;transition:width .5s ease}.cq-step-line-fill.filled{width:100%}.cq-step-content{min-height:400px;position:relative;padding-top:1rem}.cq-slide{will-change:transform,opacity}.cq-panel{background:var(--white);border:1px solid rgba(226,232,240,.9);border-radius:var(--radius-xl);padding:2.25rem;box-shadow:var(--shadow-card);transition:var(--transition-smooth)}.cq-panel-header{margin-bottom:1.75rem}.cq-panel-header h2{font-size:1.25rem;font-weight:800;color:var(--gray-900);letter-spacing:-.02em;margin-bottom:.25rem}.cq-panel-header p{font-size:.875rem;color:var(--gray-500)}.cq-fields{display:flex;flex-direction:column;gap:1.25rem}.cq-field{display:flex;flex-direction:column;gap:5px}.cq-field-short{max-width:200px}.cq-label{font-size:.8125rem;font-weight:600;color:var(--gray-600)}.cq-input{width:100%;height:44px;padding:0 14px;font-size:.9375rem;color:var(--gray-800);background:var(--gray-50);border:1.5px solid var(--gray-200);border-radius:var(--radius-md);outline:none;transition:var(--transition)}.cq-input::placeholder{color:var(--gray-400)}.cq-input:hover{border-color:var(--gray-300);background:var(--white)}.cq-input:focus{border-color:var(--primary);background:var(--white);box-shadow:0 0 0 3px var(--primary-light)}.cq-textarea{width:100%;padding:10px 14px;font-size:.9375rem;color:var(--gray-800);background:var(--gray-50);border:1.5px solid var(--gray-200);border-radius:var(--radius-md);outline:none;transition:var(--transition);resize:vertical;min-height:80px;line-height:1.5}.cq-textarea-lg{min-height:110px}.cq-textarea::placeholder{color:var(--gray-400)}.cq-textarea:hover{border-color:var(--gray-300);background:var(--white)}.cq-textarea:focus{border-color:var(--primary);background:var(--white);box-shadow:0 0 0 3px var(--primary-light)}.cq-field.has-error .cq-input,.cq-field.has-error .cq-textarea{border-color:var(--error)}.cq-field.has-error .cq-input:focus,.cq-field.has-error .cq-textarea:focus{box-shadow:0 0 0 3px var(--error-light)}.cq-field-footer{display:flex;justify-content:space-between;align-items:center}.cq-char-count{font-size:.7rem;color:var(--gray-400);margin-left:auto}.cq-char-count.warn{color:#f59e0b;font-weight:600}.cq-error{font-size:.8rem;color:var(--error)}.cq-toast{display:flex;align-items:center;gap:10px;padding:10px 14px;border-radius:var(--radius-md);font-size:.8125rem;margin-bottom:1rem}.cq-toast-error{background:var(--error-light);border:1px solid #fecaca;color:#b91c1c}.cq-toast-warn{background:#fffbeb;border:1px solid #fde68a;color:#92400e}.cq-toast button{margin-left:auto;background:none;border:none;color:inherit;opacity:.5;padding:2px;cursor:pointer}.cq-toast button:hover{opacity:1}.cq-toast button svg{width:14px;height:14px}.cq-link-loading{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:3rem 2rem;color:var(--gray-500)}.cq-link-loading .cq-spinner{margin-bottom:1rem}.cq-link-grid{display:grid;grid-template-columns:1fr 1fr;gap:2rem}.cq-link-section{display:flex;flex-direction:column;gap:.75rem}.cq-link-section .cq-label{font-size:.875rem;font-weight:600;color:var(--gray-700)}.cq-link-search-wrap{position:relative;display:flex;align-items:center}.cq-link-search-wrap svg{position:absolute;left:12px;width:18px;height:18px;color:var(--gray-400);pointer-events:none}.cq-link-search{width:100%;height:40px;padding:0 14px 0 40px;font-size:.875rem;color:var(--gray-800);background:var(--white);border:1.5px solid var(--gray-200);border-radius:var(--radius-md);outline:none;transition:var(--transition)}.cq-link-search::placeholder{color:var(--gray-400)}.cq-link-search:hover{border-color:var(--gray-300)}.cq-link-search:focus{border-color:var(--primary);box-shadow:0 0 0 3px var(--primary-light)}.cq-link-list{display:flex;flex-direction:column;gap:6px;max-height:220px;overflow-y:auto;padding:8px;background:var(--gray-50);border-radius:var(--radius-md);border:1px solid var(--gray-200)}.cq-link-empty{font-size:.875rem;color:var(--gray-500);font-style:italic;padding:.5rem 0}.cq-link-item{display:flex;align-items:center;gap:10px;padding:8px 12px;border-radius:var(--radius-md);cursor:pointer;font-size:.875rem;color:var(--gray-700);transition:var(--transition)}.cq-link-item:hover{background:var(--white)}.cq-link-item.selected{background:var(--primary-light);color:var(--primary);font-weight:500}.cq-link-item input{accent-color:var(--primary)}.cq-pv-links{margin-top:.5rem;display:flex;gap:.5rem;flex-wrap:wrap}.cq-pv-tag{font-size:.75rem;font-weight:600;color:var(--primary);background:var(--primary-light);padding:.2rem .5rem;border-radius:var(--radius-sm)}@media(max-width:640px){.cq-link-grid{grid-template-columns:1fr}}.cq-options-list{display:flex;flex-direction:column;gap:8px}.cq-opt{border:1.5px solid var(--gray-200);border-radius:var(--radius-md);padding:10px 12px;transition:all .2s ease;background:var(--white)}.cq-opt:hover{border-color:var(--gray-300);box-shadow:var(--shadow-sm)}.cq-opt.correct{border-color:var(--success);background:#f0fdf4;box-shadow:0 0 0 2px #22c55e1a}.cq-opt-row{display:flex;align-items:center;gap:8px}.cq-opt-label{width:40px;height:40px;text-align:center;font-size:.875rem;font-weight:700;color:var(--gray-600);background:var(--gray-50);border:1.5px solid var(--gray-200);border-radius:var(--radius-md);outline:none;transition:var(--transition);flex-shrink:0}.cq-opt-label:focus{border-color:var(--primary);box-shadow:0 0 0 3px var(--primary-light)}.cq-opt-label.err{border-color:var(--error)}.correct .cq-opt-label{background:#dcfce7;border-color:var(--success);color:#166534}.cq-opt-title{flex:1;height:40px;padding:0 12px;font-size:.875rem;color:var(--gray-800);background:var(--gray-50);border:1.5px solid var(--gray-200);border-radius:var(--radius-md);outline:none;transition:var(--transition)}.cq-opt-title:hover{background:var(--white);border-color:var(--gray-300)}.cq-opt-title:focus{background:var(--white);border-color:var(--primary);box-shadow:0 0 0 3px var(--primary-light)}.cq-opt-title.err{border-color:var(--error)}.cq-opt-check{width:36px;height:36px;display:flex;align-items:center;justify-content:center;border:1.5px solid var(--gray-200);border-radius:var(--radius-md);background:var(--white);color:var(--gray-400);cursor:pointer;transition:all .2s ease;flex-shrink:0}.cq-opt-check:hover{border-color:var(--success);color:var(--success);background:#f0fdf4;transform:scale(1.08)}.cq-opt-check.on{background:var(--success);color:#fff;border-color:var(--success);box-shadow:0 2px 8px #22c55e59;transform:scale(1.08)}.cq-opt-check svg{width:16px;height:16px}.cq-opt-del{width:32px;height:32px;display:flex;align-items:center;justify-content:center;background:none;border:none;color:var(--gray-300);cursor:pointer;border-radius:var(--radius-sm);transition:var(--transition);flex-shrink:0}.cq-opt-del:hover{color:var(--error);background:var(--error-light)}.cq-opt-del svg{width:15px;height:15px}.cq-opt-errs{display:flex;gap:10px;padding:3px 0 0 50px}.cq-add-row{display:flex;align-items:center;justify-content:center;gap:8px;width:100%;padding:12px;background:none;border:2px dashed var(--gray-200);border-radius:var(--radius-md);color:var(--gray-400);font-size:.8125rem;font-weight:500;cursor:pointer;transition:all .2s ease}.cq-add-row:hover{border-color:var(--primary);color:var(--primary);background:var(--primary-light)}.cq-add-row:hover svg{transform:rotate(90deg)}.cq-add-row svg{width:16px;height:16px;transition:transform .3s cubic-bezier(.34,1.56,.64,1)}.cq-empty{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:3rem 1.5rem;text-align:center;border:2px dashed var(--gray-200);border-radius:var(--radius-lg);cursor:pointer;transition:all .25s ease}.cq-empty:hover{border-color:var(--primary);background:var(--primary-light)}.cq-empty:hover .cq-empty-plus{background:var(--primary);color:#fff;transform:rotate(90deg) scale(1.1)}.cq-empty.has-error{border-color:var(--error);background:var(--error-light)}.cq-empty-plus{width:48px;height:48px;display:flex;align-items:center;justify-content:center;background:var(--gray-100);border-radius:50%;color:var(--gray-400);margin-bottom:.75rem;transition:all .3s cubic-bezier(.34,1.56,.64,1)}.cq-empty-plus svg{width:22px;height:22px}.cq-empty-label{font-size:.875rem;color:var(--gray-500);font-weight:500}.cq-preview{display:flex;flex-direction:column;gap:1rem}.cq-pv-card{background:var(--gray-50);border:1px solid var(--gray-200);border-radius:var(--radius-lg);padding:1.25rem}.cq-pv-badge{display:inline-block;font-size:.6875rem;font-weight:700;color:var(--primary);background:var(--primary-light);padding:2px 8px;border-radius:999px;margin-bottom:.75rem;text-transform:uppercase;letter-spacing:.04em}.cq-pv-title{font-size:1.0625rem;font-weight:700;color:var(--gray-900);margin-bottom:.375rem;line-height:1.4}.cq-pv-desc{font-size:.875rem;color:var(--gray-600);margin-bottom:.5rem;line-height:1.5}.cq-pv-content{font-size:.8125rem;color:var(--gray-500);line-height:1.6;white-space:pre-wrap;border-top:1px solid var(--gray-200);padding-top:.5rem;margin-top:.25rem}.cq-pv-meta{font-size:.75rem;color:var(--gray-400);margin-top:.5rem}.cq-pv-meta strong{color:var(--gray-600)}.cq-pv-options{display:flex;flex-direction:column;gap:6px}.cq-pv-opt{display:flex;align-items:center;gap:10px;padding:10px 14px;background:var(--white);border:1.5px solid var(--gray-200);border-radius:var(--radius-md);transition:var(--transition)}.cq-pv-opt.correct{border-color:var(--success);background:#f0fdf4}.cq-pv-opt-label{width:30px;height:30px;display:flex;align-items:center;justify-content:center;font-size:.75rem;font-weight:700;color:var(--gray-500);background:var(--gray-100);border-radius:var(--radius-sm);flex-shrink:0}.cq-pv-opt.correct .cq-pv-opt-label{background:#dcfce7;color:#166534}.cq-pv-opt-text{flex:1;font-size:.875rem;color:var(--gray-800)}.cq-pv-opt-badge{display:inline-flex;align-items:center;gap:4px;font-size:.6875rem;font-weight:700;color:var(--success);background:#dcfce7;padding:2px 8px;border-radius:999px;flex-shrink:0}.cq-pv-opt-badge svg{width:12px;height:12px}.cq-actions{display:flex;align-items:center;justify-content:space-between;margin-top:2rem;padding-top:1.5rem;border-top:1px solid var(--gray-100)}.cq-btn{height:44px;padding:0 1.25rem;display:inline-flex;align-items:center;justify-content:center;gap:6px;font-size:.875rem;font-weight:600;border:none;border-radius:var(--radius-md);cursor:pointer;transition:var(--transition)}.cq-btn svg{width:16px;height:16px}.cq-btn-primary{color:#fff;background:linear-gradient(135deg,var(--primary) 0%,#4f46e5 100%);box-shadow:0 4px 12px #6366f159}.cq-btn-primary:hover:not(:disabled){background:linear-gradient(135deg,var(--primary-hover) 0%,#4338ca 100%);transform:translateY(-2px);box-shadow:0 6px 20px #6366f166}.cq-btn-primary:disabled{opacity:.65;cursor:not-allowed}.cq-btn-submit{padding:0 2rem}.cq-btn-ghost{color:var(--gray-500);background:none}.cq-btn-ghost:hover{color:var(--gray-800);background:var(--gray-100)}.cq-btn-outline{color:var(--gray-600);background:#fff;border:1.5px solid var(--gray-200)}.cq-btn-outline:hover{background:var(--gray-50);border-color:var(--gray-300)}.cq-spinner{width:18px;height:18px;border:2.5px solid rgba(255,255,255,.3);border-top-color:#fff;border-radius:50%;animation:spin .6s linear infinite}.cq-loading .cq-spinner{width:40px;height:40px;border-color:var(--gray-200);border-top-color:var(--primary)}@keyframes spin{to{transform:rotate(360deg)}}.cq-loading{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:4rem 2rem;color:var(--gray-500)}.cq-loading .cq-spinner{margin-bottom:1rem}.cq-loading p{font-size:.9375rem}.cq-success-card{background:var(--white);border:1px solid var(--gray-200);border-radius:var(--radius-xl);padding:3rem 2rem;text-align:center;max-width:460px;margin:4rem auto 0}.cq-success-icon{width:64px;height:64px;margin:0 auto 1.25rem;display:flex;align-items:center;justify-content:center;background:var(--success-light);border-radius:50%;color:var(--success);animation:bounceIn .5s cubic-bezier(.34,1.56,.64,1)}@keyframes bounceIn{0%{transform:scale(0)}60%{transform:scale(1.2)}to{transform:scale(1)}}.cq-success-icon svg{width:30px;height:30px}.cq-success-title{font-size:1.25rem;font-weight:700;color:var(--gray-900);margin-bottom:.4rem}.cq-success-text{font-size:.9rem;color:var(--gray-500);margin-bottom:1.5rem}.cq-success-text strong{color:var(--gray-800)}.cq-success-actions{display:flex;align-items:center;justify-content:center;gap:10px}@media(max-width:640px){.cq-container{padding:0 1rem}.cq-panel{padding:1.25rem}.cq-step-line{width:40px;margin:0 6px}.cq-step-label{display:none}.cq-opt-row{flex-wrap:wrap}.cq-opt-title{flex:1 1 100%;order:1}.cq-actions{flex-direction:column-reverse;gap:8px}.cq-actions .cq-btn{width:100%}.cq-success-actions{flex-direction:column}}.ql-page{min-height:100vh;position:relative;z-index:1}.ql-main{padding:2.5rem 0 4rem}.ql-container{max-width:1200px;margin:0 auto;padding:0 1.25rem}.ql-header{margin-bottom:1.5rem}.ql-header-row{display:flex;align-items:flex-start;justify-content:space-between;gap:1.5rem;flex-wrap:wrap}.ql-back-link{display:inline-flex;align-items:center;gap:.5rem;font-size:.875rem;font-weight:500;color:var(--gray-500);background:none;border:none;padding:.5rem 0;margin-bottom:1rem;transition:var(--transition)}.ql-back-link:hover{color:var(--primary)}.ql-back-link svg{width:18px;height:18px}.ql-title{font-size:1.875rem;font-weight:800;color:var(--gray-900);letter-spacing:-.03em;margin-bottom:.25rem;line-height:1.2}.ql-subtitle{font-size:1rem;color:var(--gray-500)}.ql-btn-create{display:inline-flex;align-items:center;gap:.5rem;padding:.625rem 1.25rem;font-size:.9375rem;font-weight:600;white-space:nowrap}.ql-btn-create svg{width:18px;height:18px}.ql-toolbar{display:flex;align-items:center;gap:1rem;margin-bottom:1rem;flex-wrap:wrap}.ql-search-wrap{display:flex;align-items:center;gap:10px;flex:1;min-width:220px;max-width:400px;padding:0 14px;height:42px;background:var(--white);border:1px solid var(--gray-200);border-radius:var(--radius-md);transition:var(--transition)}.ql-search-wrap:focus-within{border-color:var(--primary);box-shadow:0 0 0 3px var(--primary-light)}.ql-search-wrap svg{width:18px;height:18px;color:var(--gray-400);flex-shrink:0}.ql-search-input{flex:1;border:none;outline:none;font-size:.9375rem;color:var(--gray-800);background:transparent}.ql-search-input::placeholder{color:var(--gray-400)}.ql-filters{display:flex;align-items:center;gap:.5rem}.ql-limit-label{display:flex;align-items:center;gap:.5rem;font-size:.875rem;color:var(--gray-600);font-weight:500}.ql-limit-select{padding:.35rem .6rem;font-size:.875rem;font-weight:500;color:var(--gray-800);background:var(--white);border:1px solid var(--gray-200);border-radius:var(--radius-md);cursor:pointer;transition:var(--transition)}.ql-limit-select:hover{border-color:var(--gray-300)}.ql-limit-select:focus{outline:none;border-color:var(--primary);box-shadow:0 0 0 2px var(--primary-light)}.ql-count{font-size:.8125rem;color:var(--gray-500);font-weight:500}.ql-pagination{display:flex;align-items:center;justify-content:space-between;gap:1rem;margin-top:1rem;padding:1rem 0;flex-wrap:wrap}.ql-pagination-btn{display:inline-flex;align-items:center;gap:.5rem;padding:.5rem 1rem;font-size:.875rem;font-weight:600;color:var(--gray-700);background:var(--white);border:1px solid var(--gray-200);border-radius:var(--radius-md);cursor:pointer;transition:var(--transition)}.ql-pagination-btn:hover:not(:disabled){background:var(--gray-50);border-color:var(--gray-300)}.ql-pagination-btn:disabled{opacity:.5;cursor:not-allowed}.ql-pagination-btn svg{width:16px;height:16px}.ql-pagination-info{font-size:.875rem;color:var(--gray-600)}.ql-table-wrap{background:var(--white);border:1px solid rgba(226,232,240,.9);border-radius:var(--radius-xl);overflow:hidden;box-shadow:var(--shadow-card)}.ql-table{width:100%;border-collapse:collapse;font-size:.9375rem}.ql-th{padding:14px 16px;text-align:left;font-weight:600;color:var(--gray-600);background:var(--gray-50);border-bottom:1px solid var(--gray-200);cursor:pointer;-webkit-user-select:none;user-select:none;transition:var(--transition);white-space:nowrap}.ql-th:hover{color:var(--gray-800);background:var(--gray-100)}.ql-th-id{width:80px}.ql-th-topic,.ql-th-options{width:90px}.ql-th-actions{width:140px;cursor:default}.ql-th-actions:hover{background:var(--gray-50)}.ql-sort-icon{display:inline-flex;align-items:center;margin-left:4px;vertical-align:middle;opacity:.5}.ql-sort-icon svg{width:14px;height:14px}.ql-sort-none{opacity:.3}.ql-sort-asc svg{transform:rotate(180deg)}.ql-sort-desc svg{transform:rotate(0)}.ql-tr{transition:var(--transition)}.ql-tr:hover{background:var(--gray-50)}.ql-td{padding:14px 16px;border-bottom:1px solid var(--gray-100);vertical-align:middle}.ql-tr:last-child .ql-td{border-bottom:none}.ql-id-badge{font-size:.8125rem;font-weight:700;color:var(--primary);background:var(--primary-light);padding:.25rem .5rem;border-radius:var(--radius-sm)}.ql-title-cell{font-weight:600;color:var(--gray-900);max-width:280px;display:inline-block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.ql-desc-cell{color:var(--gray-600);max-width:240px;display:inline-block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.ql-td-topic{color:var(--gray-800);font-variant-numeric:tabular-nums}.ql-options-badge{display:inline-flex;align-items:center;justify-content:center;min-width:28px;padding:.2rem .5rem;font-size:.8125rem;font-weight:600;color:var(--gray-600);background:var(--gray-100);border-radius:var(--radius-sm)}.ql-row-actions{display:flex;align-items:center;gap:6px}.ql-action-btn{display:inline-flex;align-items:center;gap:.375rem;padding:.4rem .75rem;font-size:.8125rem;font-weight:500;border-radius:var(--radius-md);border:none;cursor:pointer;transition:var(--transition);background:var(--gray-100);color:var(--gray-600)}.ql-action-btn:hover:not(:disabled){background:var(--gray-200);color:var(--gray-800)}.ql-action-btn.ql-edit:hover:not(:disabled){background:var(--primary-light);color:var(--primary)}.ql-action-btn.ql-delete:hover:not(:disabled){background:var(--error-light);color:var(--error)}.ql-action-btn:disabled{opacity:.7;cursor:not-allowed}.ql-action-btn svg{width:16px;height:16px}.ql-no-results{padding:3rem 2rem;text-align:center;color:var(--gray-500);font-size:.9375rem}.ql-toast{display:flex;align-items:center;justify-content:space-between;padding:1rem 1.25rem;border-radius:var(--radius-md);margin-bottom:1.5rem}.ql-toast-error{background:var(--error-light);border:1px solid var(--error);color:var(--error)}.ql-toast button{background:none;border:none;padding:.25rem;cursor:pointer;color:inherit;display:flex;align-items:center;justify-content:center}.ql-toast button svg{width:18px;height:18px}.ql-loading{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:4rem 2rem;color:var(--gray-500)}.ql-spinner{width:44px;height:44px;border:3px solid var(--gray-200);border-top-color:var(--primary);border-radius:50%;animation:ql-spin .8s linear infinite;margin-bottom:1rem}.ql-mini-spinner{width:14px;height:14px;border:2px solid var(--gray-200);border-top-color:currentColor;border-radius:50%;animation:ql-spin .6s linear infinite;display:inline-block;vertical-align:middle}@keyframes ql-spin{to{transform:rotate(360deg)}}.ql-empty{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:4rem 2rem;text-align:center;background:var(--white);border-radius:var(--radius-xl);border:1px dashed var(--gray-200)}.ql-empty-icon{width:72px;height:72px;display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,var(--primary-light) 0%,#e0e7ff 100%);border-radius:var(--radius-xl);color:var(--primary);margin-bottom:1.5rem}.ql-empty-icon svg{width:36px;height:36px}.ql-empty-title{font-size:1.25rem;font-weight:600;color:var(--gray-800);margin-bottom:.5rem}.ql-empty-text{font-size:.9375rem;color:var(--gray-500);margin-bottom:1.5rem;max-width:300px;line-height:1.5}.ql-btn{padding:.625rem 1.25rem;border-radius:var(--radius-md);font-size:.9375rem;font-weight:600;border:none;cursor:pointer;transition:var(--transition)}.ql-btn-primary{background:linear-gradient(135deg,var(--primary) 0%,#4f46e5 100%);color:#fff;box-shadow:0 4px 12px #6366f159}.ql-btn-primary:hover{background:linear-gradient(135deg,var(--primary-hover) 0%,#4338ca 100%);transform:translateY(-2px);box-shadow:0 6px 20px #6366f166}.ql-btn-ghost{background:transparent;color:var(--gray-600)}.ql-btn-ghost:hover{background:var(--gray-100)}.ql-btn-danger{background:var(--error);color:#fff}.ql-btn-danger:hover{background:#dc2626}.ql-modal-overlay{position:fixed;inset:0;background:#0006;display:flex;align-items:center;justify-content:center;z-index:1000;padding:1rem;animation:ql-fadeIn .2s ease}@keyframes ql-fadeIn{0%{opacity:0}to{opacity:1}}.ql-modal{background:var(--white);border-radius:var(--radius-xl);padding:1.75rem;max-width:400px;width:100%;box-shadow:var(--shadow-xl);animation:ql-slideUp .25s ease}@keyframes ql-slideUp{0%{opacity:0;transform:translateY(16px)}to{opacity:1;transform:translateY(0)}}.ql-modal-title{font-size:1.125rem;font-weight:700;color:var(--gray-900);margin-bottom:.5rem}.ql-modal-text{font-size:.9375rem;color:var(--gray-600);line-height:1.5;margin-bottom:1.5rem}.ql-modal-actions{display:flex;gap:.75rem;justify-content:flex-end}@media(max-width:1024px){.ql-table-wrap{overflow-x:auto}.ql-table{min-width:700px}}@media(max-width:768px){.ql-container{padding:0 1rem}.ql-header-row{flex-direction:column;align-items:stretch}.ql-btn-create{width:100%;justify-content:center}.ql-toolbar{flex-direction:column;align-items:stretch}.ql-search-wrap{max-width:none}.ql-th,.ql-td{padding:12px}.ql-action-label{display:none}.ql-action-btn{padding:.5rem}}.security-page{min-height:100%;position:relative;z-index:1}.security-main{padding:2.5rem 0 4rem}.security-container{max-width:720px;margin:0 auto;padding:0 1.25rem}.security-header{margin-bottom:2rem}.security-title{font-size:1.875rem;font-weight:800;color:var(--gray-900);letter-spacing:-.035em;margin-bottom:.5rem}.security-subtitle{font-size:1rem;color:var(--gray-500);line-height:1.6}.security-sections{display:flex;flex-direction:column;gap:1.5rem}.security-card{background:var(--white);border:1px solid var(--gray-200);border-radius:var(--radius-xl);padding:1.75rem;box-shadow:var(--shadow-card);transition:var(--transition-smooth)}.security-card:hover{box-shadow:var(--shadow-card-hover);border-color:#6366f126}.security-card-header{display:flex;align-items:flex-start;gap:1rem;margin-bottom:1.5rem}.security-card-icon{width:48px;height:48px;border-radius:var(--radius-md);display:flex;align-items:center;justify-content:center;flex-shrink:0}.security-card-icon svg{width:24px;height:24px}.security-icon-reset{background:linear-gradient(135deg,#eff6ff,#dbeafe);color:#3b82f6}.security-icon-change{background:linear-gradient(135deg,#fef3c7,#fde68a);color:#d97706}.security-icon-2fa{background:linear-gradient(135deg,#ecfdf5,#d1fae5);color:#059669}.security-card-title{font-size:1.125rem;font-weight:700;color:var(--gray-900);margin-bottom:4px}.security-card-desc{font-size:.875rem;color:var(--gray-500);line-height:1.5}.security-form{display:flex;flex-direction:column;gap:1rem}.security-label{font-size:.8125rem;font-weight:600;color:var(--gray-700)}.security-input{padding:10px 14px;font-size:.9375rem;border:1px solid var(--gray-200);border-radius:var(--radius-md);background:var(--white);transition:var(--transition)}.security-input:focus{outline:none;border-color:var(--primary);box-shadow:0 0 0 3px #6366f126}.security-input::placeholder{color:var(--gray-400)}.security-btn{align-self:flex-start;padding:10px 20px;font-size:.9375rem;font-weight:600;color:var(--white);background:var(--primary);border:none;border-radius:var(--radius-md);cursor:pointer;transition:var(--transition)}.security-btn:hover:not(:disabled){background:var(--primary-hover);transform:translateY(-1px)}.security-btn:disabled{opacity:.7;cursor:not-allowed}.security-message{font-size:.875rem;margin-top:4px}.security-message-success{color:var(--success)}.security-message-error{color:var(--error)}.security-2fa-row{display:flex;align-items:center;justify-content:space-between;gap:1.5rem}.security-2fa-status{font-size:.9375rem;font-weight:600;color:var(--gray-800);display:block;margin-bottom:4px}.security-2fa-hint{font-size:.8125rem;color:var(--gray-500);line-height:1.5}.security-toggle{width:48px;height:28px;border-radius:14px;background:var(--gray-200);border:none;cursor:pointer;position:relative;flex-shrink:0;transition:var(--transition)}.security-toggle:hover:not(:disabled){background:var(--gray-300)}.security-toggle:disabled{opacity:.7;cursor:not-allowed}.security-toggle-on{background:var(--primary)}.security-toggle-on:hover:not(:disabled){background:var(--primary-hover)}.security-toggle-thumb{position:absolute;top:4px;left:4px;width:20px;height:20px;border-radius:50%;background:var(--white);box-shadow:0 2px 4px #0003;transition:transform .2s ease}.security-toggle-on .security-toggle-thumb{transform:translate(20px)}.security-btn-outline{background:transparent;color:var(--primary);border:1px solid var(--primary)}.security-btn-outline:hover:not(:disabled){background:var(--primary-light)}.security-btn-ghost{background:transparent;color:var(--gray-600)}.security-btn-ghost:hover:not(:disabled){background:var(--gray-100)}.security-btn-danger:hover:not(:disabled){background:var(--error);color:var(--white)}.security-qr-wrap{margin-bottom:1rem}.security-qr{display:block;width:200px;height:200px;border-radius:var(--radius-md);border:1px solid var(--gray-200)}.security-recovery{padding:.5rem 0}.security-recovery-codes{display:grid;grid-template-columns:repeat(2,1fr);gap:8px;margin-bottom:1rem;font-family:ui-monospace,monospace}.security-recovery-code{padding:8px 12px;background:var(--gray-100);border-radius:var(--radius-sm);font-size:.875rem}.security-2fa-actions{display:flex;gap:.75rem;margin-top:1rem}@media(max-width:640px){.security-container{padding:0 1rem}.security-title{font-size:1.5rem}.security-card{padding:1.25rem}.security-2fa-row{flex-direction:column;align-items:flex-start}}
