*{box-sizing:border-box}body{margin:0;padding:0;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;line-height:1.6}.container{width:100%;max-width:1200px;margin:0 auto;padding:0 1rem}@media (min-width: 768px){.container{padding:0 2rem}}.grid{display:grid;gap:1rem;grid-template-columns:1fr}@media (min-width: 768px){.grid-2{grid-template-columns:repeat(2,1fr)}.grid-3{grid-template-columns:repeat(3,1fr)}.grid-4{grid-template-columns:repeat(4,1fr)}}h1{font-size:1.75rem;line-height:1.2;margin:0 0 1rem}h2{font-size:1.5rem;line-height:1.3;margin:0 0 .75rem}h3{font-size:1.25rem;line-height:1.4;margin:0 0 .5rem}@media (min-width: 768px){h1{font-size:2.25rem}h2{font-size:1.875rem}h3{font-size:1.5rem}}.btn{display:inline-flex;align-items:center;justify-content:center;gap:.5rem;padding:.75rem 1rem;border:none;border-radius:6px;font-size:.875rem;font-weight:500;cursor:pointer;transition:all .2s ease;text-decoration:none;min-height:44px}.btn:disabled{opacity:.6;cursor:not-allowed}@media (min-width: 768px){.btn{padding:.5rem 1rem;font-size:.875rem;min-height:auto}}.input{width:100%;padding:.75rem;border:1px solid #d1d5db;border-radius:6px;font-size:1rem;min-height:44px}.input:focus{outline:none;border-color:#3b82f6;box-shadow:0 0 0 3px #3b82f61a}@media (min-width: 768px){.input{padding:.5rem .75rem;font-size:.875rem;min-height:auto}}.card{background:#fff;border:1px solid #e5e7eb;border-radius:8px;padding:1rem;box-shadow:0 1px 3px #0000001a}@media (min-width: 768px){.card{padding:1.5rem}}.modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:#00000080;display:flex;align-items:flex-end;justify-content:center;z-index:1000;padding:0}.modal-content{background:#fff;border-radius:12px 12px 0 0;width:100%;max-height:90vh;overflow-y:auto}@media (min-width: 768px){.modal-overlay{align-items:center;padding:2rem}.modal-content{border-radius:12px;width:auto;min-width:500px;max-width:90vw}}@media (hover: none) and (pointer: coarse){button,.btn,a{min-height:44px;min-width:44px}.tap-target{padding:.75rem}}@media (max-width: 768px){::-webkit-scrollbar{width:0px;background:transparent}}.table-responsive{overflow-x:auto;-webkit-overflow-scrolling:touch}.table-responsive table{min-width:600px;width:100%}.hide-mobile{display:none}.hide-desktop{display:block}@media (min-width: 768px){.hide-mobile{display:block}.hide-desktop{display:none}}.space-y-2>*+*{margin-top:.5rem}.space-y-4>*+*{margin-top:1rem}.space-y-6>*+*{margin-top:1.5rem}@media (min-width: 768px){.space-y-2>*+*{margin-top:.5rem}.space-y-4>*+*{margin-top:1rem}.space-y-6>*+*{margin-top:1.5rem}}.loading-spinner{display:inline-block;width:20px;height:20px;border:2px solid #f3f4f6;border-radius:50%;border-top-color:#3b82f6;animation:spin 1s ease-in-out infinite}.text-center-mobile{text-align:center}@media (min-width: 768px){.text-left-desktop{text-align:left}}@supports (padding: max(0px)){.safe-area-inset{padding-left:max(1rem,env(safe-area-inset-left));padding-right:max(1rem,env(safe-area-inset-right))}}.responsive-image{width:100%;height:auto;max-width:100%;object-fit:cover}.form-group{margin-bottom:1rem}.form-row{display:flex;flex-direction:column;gap:1rem}@media (min-width: 768px){.form-row{flex-direction:row}.form-row>*{flex:1}}.notification-center{position:relative}.notification-bell{position:relative;padding:.625rem;background:#ffffff26;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border:none;border-radius:10px;cursor:pointer;font-size:1.5rem;color:#fff;transition:all .3s ease;display:flex;align-items:center;justify-content:center;width:2.75rem;height:2.75rem}.notification-bell:hover{background:#ffffff40;transform:scale(1.1)}.notification-bell:active{transform:scale(.95)}.notification-bell.disconnected{opacity:.6;cursor:not-allowed}.notification-bell svg{width:1.5rem;height:1.5rem;filter:drop-shadow(0 2px 4px rgba(0,0,0,.2));animation:ring 2s ease-in-out infinite}@keyframes ring{0%,to{transform:rotate(0)}10%,30%,50%,70%,90%{transform:rotate(-10deg)}20%,40%,60%,80%{transform:rotate(10deg)}}.unread-badge{position:absolute;top:.25rem;right:.25rem;background:linear-gradient(135deg,#ef4444,#dc2626);color:#fff;border-radius:50%;width:20px;height:20px;font-size:.75rem;font-weight:700;display:flex;align-items:center;justify-content:center;box-shadow:0 2px 8px #ef444466;animation:pulse 2s ease-in-out infinite;border:2px solid white}@keyframes pulse{0%,to{transform:scale(1);opacity:1}50%{transform:scale(1.1);opacity:.9}}.connection-indicator{position:absolute;top:.375rem;right:.375rem;border-radius:50%;width:10px;height:10px;border:2px solid white;box-shadow:0 2px 4px #0003}.connection-indicator.connected{background:#10b981;animation:pulse-dot 2s ease-in-out infinite}.connection-indicator.disconnected{background:#f59e0b;animation:blink 1s ease-in-out infinite}@keyframes pulse-dot{0%,to{opacity:1;transform:scale(1)}50%{opacity:.7;transform:scale(1.2)}}@keyframes blink{0%,to{opacity:1}50%{opacity:.3}}.notification-panel{position:absolute;top:calc(100% + .75rem);right:0;width:420px;max-width:90vw;background:#fff;border-radius:16px;box-shadow:0 20px 60px #00000040;z-index:1000;max-height:560px;display:flex;flex-direction:column;overflow:hidden;animation:slideDown .3s ease-out;border:2px solid #e5e7eb}.notification-panel:before{content:"";position:absolute;top:0;left:0;right:0;height:4px;background:linear-gradient(90deg,#667eea,#764ba2,#f093fb);background-size:200% 100%;animation:shimmer 3s linear infinite}.panel-header{padding:1.25rem 1.5rem;border-bottom:2px solid #e5e7eb;display:flex;justify-content:space-between;align-items:center;background:linear-gradient(135deg,#f9fafb,#f3f4f6)}.panel-title{margin:0;font-size:1.125rem;font-weight:700;background:linear-gradient(135deg,#667eea,#764ba2);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;display:flex;align-items:center;gap:.5rem}.panel-title svg{width:1.25rem;height:1.25rem;color:#667eea}.unread-count{display:inline-flex;align-items:center;justify-content:center;min-width:1.5rem;height:1.5rem;padding:0 .5rem;background:linear-gradient(135deg,#ef4444,#dc2626);color:#fff;border-radius:12px;font-size:.75rem;font-weight:700;margin-left:.5rem}.header-actions{display:flex;gap:.75rem;align-items:center}.connection-status-dot{width:10px;height:10px;border-radius:50%;border:2px solid white;box-shadow:0 2px 4px #0000001a}.connection-status-dot.connected{background:#10b981;animation:pulse-dot 2s ease-in-out infinite}.connection-status-dot.disconnected{background:#ef4444;animation:blink 1s ease-in-out infinite}.clear-all-btn{padding:.375rem .75rem;font-size:.8125rem;background:linear-gradient(135deg,#f3f4f6,#e5e7eb);color:#6b7280;border:1px solid #d1d5db;border-radius:8px;cursor:pointer;font-weight:600;transition:all .3s ease}.clear-all-btn:hover{background:linear-gradient(135deg,#e5e7eb,#d1d5db);transform:translateY(-2px);box-shadow:0 2px 8px #0000001a}.notifications-list{flex:1;overflow-y:auto;padding:.5rem 0}.notification-item{padding:1rem 1.5rem;border-bottom:1px solid #f3f4f6;cursor:pointer;transition:all .3s ease;position:relative;animation:slideInLeft .4s ease-out backwards}.notification-item:nth-child(1){animation-delay:.05s}.notification-item:nth-child(2){animation-delay:.1s}.notification-item:nth-child(3){animation-delay:.15s}.notification-item:nth-child(4){animation-delay:.2s}.notification-item:nth-child(5){animation-delay:.25s}.notification-item:before{content:"";position:absolute;left:0;top:0;bottom:0;width:4px;background:var(--notification-color);transform:scaleY(0);transition:transform .3s ease}.notification-item.unread{background:linear-gradient(135deg,#eff6ff,#dbeafe);border-left:4px solid var(--notification-color)}.notification-item.unread:before{transform:scaleY(1)}.notification-item:hover{background:linear-gradient(135deg,#f9fafb,#fff);transform:translate(5px);padding-left:1.75rem}.notification-item:hover:before{transform:scaleY(1)}.notification-content{display:flex;align-items:flex-start;gap:1rem}.notification-icon{font-size:1.75rem;width:2.5rem;height:2.5rem;display:flex;align-items:center;justify-content:center;border-radius:12px;background:var(--notification-bg);flex-shrink:0;box-shadow:0 4px 12px #0000001a;animation:bounce 2s ease-in-out infinite}.notification-details{flex:1;min-width:0}.notification-title{font-weight:700;color:#1f2937;margin-bottom:.375rem;font-size:.9375rem;display:flex;align-items:center;gap:.5rem}.notification-title.unread{font-weight:800}.notification-message{color:#6b7280;font-size:.875rem;line-height:1.6;margin-bottom:.5rem}.notification-time{font-size:.75rem;color:#9ca3af;display:flex;align-items:center;gap:.375rem}.notification-time svg{width:.875rem;height:.875rem}.read-indicator{width:10px;height:10px;border-radius:50%;background:#3b82f6;margin-top:.5rem;flex-shrink:0;animation:pulse-dot 2s ease-in-out infinite;box-shadow:0 2px 8px #3b82f666}.empty-notifications{padding:3rem 2rem;text-align:center;color:#6b7280}.empty-icon{font-size:4rem;margin-bottom:1rem;opacity:.5;animation:float 3s ease-in-out infinite}.empty-message{font-size:1rem;font-weight:500}.panel-footer{padding:1rem 1.5rem;background:linear-gradient(135deg,#fef3c7,#fde68a);border-top:2px solid #f59e0b;font-size:.8125rem;color:#92400e;text-align:center;font-weight:600;display:flex;align-items:center;justify-content:center;gap:.5rem;animation:slideInUp .4s ease-out}.panel-footer svg{width:1rem;height:1rem}.notification-backdrop{position:fixed;top:0;left:0;right:0;bottom:0;z-index:999;background:#0000004d;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);animation:fadeIn .2s ease-out}@media (max-width: 640px){.notification-panel{width:calc(100vw - 2rem);right:1rem;max-height:calc(100vh - 120px)}.notification-item{padding:1rem}}.header{background:linear-gradient(125deg,#667eea,#764ba2,#f093fb);background-size:200% 200%;animation:gradientShift 15s ease infinite;color:#fff;padding:1rem 2rem;display:flex;justify-content:space-between;align-items:center;box-shadow:0 4px 20px #00000026;position:relative;z-index:100}.header:after{content:"";position:absolute;bottom:0;left:0;right:0;height:2px;background:#f8f5f54d}.header-content{display:flex;justify-content:space-between;align-items:center;width:100%;gap:2rem}.header-logo{display:flex;align-items:center;gap:.75rem;text-decoration:none;color:#fff;font-size:1.75rem;font-weight:900;transition:all .3s ease;position:relative;z-index:1}.header-logo:hover{transform:scale(1.05);filter:drop-shadow(0 4px 8px rgba(0,0,0,.3))}.logo-icon{width:2.5rem;height:2.5rem;background:#fff3;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-radius:12px;display:flex;align-items:center;justify-content:center;box-shadow:0 4px 12px #0003;animation:float 3s ease-in-out infinite}@keyframes float{0%,to{transform:translateY(0)}50%{transform:translateY(-5px)}}.logo-icon svg{width:1.5rem;height:1.5rem;filter:drop-shadow(0 2px 4px rgba(0,0,0,.2))}.header-nav{display:flex;gap:.5rem;align-items:center;flex:1;justify-content:center}.nav-link{color:#fffffff3;text-decoration:none;padding:.625rem 1rem;border-radius:10px;font-weight:600;font-size:.9375rem;transition:all .3s ease;position:relative;display:flex;align-items:center;gap:.5rem}.nav-link svg{width:1.125rem;height:1.125rem}.nav-link:before{content:"";position:absolute;bottom:.25rem;left:50%;transform:translate(-50%) scaleX(0);width:60%;height:2px;background:#fff;border-radius:2px;transition:transform .3s ease}.nav-link:hover{background:#ffffff75;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);color:#fff;transform:translateY(-2px)}.nav-link:hover:before{transform:translate(-50%) scaleX(1)}.nav-link.active{background:#ffffff40;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);color:#fff;box-shadow:0 4px 12px #0003}.nav-link.active:before{transform:translate(-50%) scaleX(1)}.nav-link.admin{background:linear-gradient(135deg,#fbbf24,#f59e0b);color:#fff;box-shadow:0 4px 12px #fbbf244d}.nav-link.admin:hover{background:linear-gradient(135deg,#fcd34d,#fbbf24);transform:translateY(-2px);box-shadow:0 6px 16px #fbbf2466}.header-user-section{display:flex;gap:1rem;align-items:center}.user-email{font-size:.875rem;color:#ffffffe6;font-weight:500;padding:.5rem .75rem;background:#ffffff1a;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-radius:8px;display:flex;align-items:center;gap:.5rem}.user-email svg{width:1rem;height:1rem}.logout-btn{background:linear-gradient(135deg,#ef4444,#dc2626);color:#fff;border:none;padding:.625rem 1.25rem;border-radius:10px;cursor:pointer;font-weight:600;font-size:.875rem;transition:all .3s ease;box-shadow:0 4px 12px #ef44444d;display:flex;align-items:center;gap:.5rem}.logout-btn svg{width:1rem;height:1rem}.logout-btn:hover{transform:translateY(-2px);box-shadow:0 6px 16px #ef444466;background:linear-gradient(135deg,#f87171,#ef4444)}.logout-btn:active{transform:translateY(0)}@media (max-width: 968px){.header{padding:1rem}.header-nav{gap:.25rem}.nav-link{padding:.5rem .75rem;font-size:.875rem}.nav-link span{display:none}.nav-link svg{width:1.25rem}.user-email{display:none}.logout-btn{padding:.5rem;width:auto}.logout-btn span{display:none}}@media (max-width: 640px){.header{padding:.75rem 1rem}.logo-icon{width:2rem;height:2rem}.header-logo{font-size:1.5rem}}.mobile-header{background:linear-gradient(135deg,#667eea,#764ba2,#f093fb);background-size:200% 200%;animation:gradientShift 15s ease infinite;color:#fff;padding:1rem;display:flex;justify-content:space-between;align-items:center;position:relative;z-index:1000;box-shadow:0 4px 20px #00000026}.mobile-header:after{content:"";position:absolute;bottom:0;left:0;right:0;height:2px;background:#ffffff4d}.mobile-logo{color:#fff;text-decoration:none;font-size:1.5rem;font-weight:900;display:flex;align-items:center;gap:.5rem;transition:all .3s ease}.mobile-logo:hover{transform:scale(1.05);filter:drop-shadow(0 4px 8px rgba(0,0,0,.3))}.logo-icon-small{width:2rem;height:2rem;background:#fff3;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-radius:10px;display:flex;align-items:center;justify-content:center;box-shadow:0 4px 12px #0003}.logo-icon-small svg{width:1.25rem;height:1.25rem}.mobile-controls{display:flex;align-items:center;gap:.75rem}.menu-toggle-btn{background:#ffffff26;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border:none;color:#fff;font-size:1.5rem;cursor:pointer;padding:.5rem;border-radius:8px;display:flex;align-items:center;justify-content:center;transition:all .3s ease;width:2.5rem;height:2.5rem}.menu-toggle-btn:hover{background:#ffffff40;transform:rotate(90deg)}.menu-backdrop{position:fixed;top:0;left:0;right:0;bottom:0;background:#0009;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);z-index:999;animation:fadeIn .3s ease-out}.menu-panel{position:fixed;top:73px;right:0;width:320px;max-width:85vw;height:calc(100vh - 73px);background:#fff;box-shadow:-4px 0 20px #0003;z-index:1000;overflow-y:auto;display:flex;flex-direction:column;animation:slideInRight .4s ease-out}@keyframes slideInRight{0%{opacity:0;transform:translate(100%)}to{opacity:1;transform:translate(0)}}.menu-user-info{padding:2rem 1.5rem;background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;border-bottom:2px solid rgba(255,255,255,.2)}.user-name{font-weight:800;font-size:1.25rem;margin-bottom:.5rem;display:flex;align-items:center;gap:.5rem}.user-name svg{width:1.5rem;height:1.5rem}.user-email-mobile{font-size:.9375rem;color:#ffffffe6;margin-bottom:.75rem;display:flex;align-items:center;gap:.5rem}.user-email-mobile svg{width:1rem;height:1rem}.user-role-badge{display:inline-flex;align-items:center;gap:.375rem;padding:.375rem .75rem;background:#fff3;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-radius:20px;font-size:.8125rem;font-weight:700;text-transform:capitalize;box-shadow:0 2px 8px #0000001a}.user-role-badge svg{width:.875rem;height:.875rem}.menu-nav{flex:1;padding:1rem 0;overflow-y:auto}.nav-link-mobile{display:flex;align-items:center;gap:1rem;padding:1rem 1.5rem;color:#1f2937;text-decoration:none;border-bottom:1px solid #f3f4f6;transition:all .3s ease;position:relative;animation:slideInLeft .5s ease-out backwards}.nav-link-mobile:nth-child(1){animation-delay:.05s}.nav-link-mobile:nth-child(2){animation-delay:.1s}.nav-link-mobile:nth-child(3){animation-delay:.15s}.nav-link-mobile:nth-child(4){animation-delay:.2s}.nav-link-mobile:nth-child(5){animation-delay:.25s}.nav-link-mobile:nth-child(6){animation-delay:.3s}.nav-link-mobile:nth-child(7){animation-delay:.35s}.nav-link-mobile:nth-child(8){animation-delay:.4s}.nav-link-mobile:nth-child(9){animation-delay:.45s}@keyframes slideInLeft{0%{opacity:0;transform:translate(-20px)}to{opacity:1;transform:translate(0)}}.nav-link-mobile:before{content:"";position:absolute;left:0;top:0;bottom:0;width:4px;background:linear-gradient(135deg,#667eea,#764ba2);transform:scaleY(0);transition:transform .3s ease}.nav-link-mobile:hover{background:linear-gradient(135deg,#f9fafb,#fff);padding-left:1.75rem;transform:translate(5px)}.nav-link-mobile:hover:before{transform:scaleY(1)}.nav-link-mobile.active{background:linear-gradient(135deg,#eff6ff,#dbeafe);border-left-color:#3b82f6}.nav-link-mobile.active:before{transform:scaleY(1)}.link-icon{font-size:1.5rem;width:2rem;display:flex;align-items:center;justify-content:center;transition:transform .3s ease}.nav-link-mobile:hover .link-icon{transform:scale(1.2)}.link-label{font-size:1rem;font-weight:600;flex:1}.nav-link-mobile.admin{background:linear-gradient(135deg,#fef3c7,#fde68a);color:#92400e}.nav-link-mobile.admin:hover{background:linear-gradient(135deg,#fde68a,#fcd34d)}.menu-logout{padding:1.5rem;border-top:2px solid #e5e7eb;background:linear-gradient(135deg,#f9fafb,#f3f4f6)}.logout-btn-mobile{width:100%;padding:1rem;background:linear-gradient(135deg,#ef4444,#dc2626);color:#fff;border:none;border-radius:12px;font-size:1rem;font-weight:700;cursor:pointer;display:flex;align-items:center;justify-content:center;gap:.75rem;transition:all .3s ease;box-shadow:0 4px 12px #ef44444d}.logout-btn-mobile svg{width:1.25rem;height:1.25rem}.logout-btn-mobile:hover{transform:translateY(-2px);box-shadow:0 6px 16px #ef444466;background:linear-gradient(135deg,#f87171,#ef4444)}.logout-btn-mobile:active{transform:translateY(0)}.menu-nav::-webkit-scrollbar{width:6px}.menu-nav::-webkit-scrollbar-track{background:#f1f1f1}.menu-nav::-webkit-scrollbar-thumb{background:linear-gradient(135deg,#667eea,#764ba2);border-radius:10px}.menu-nav::-webkit-scrollbar-thumb:hover{background:linear-gradient(135deg,#5568d3,#663a8b)}@media (max-width: 480px){.menu-panel{width:100vw;right:0}.nav-link-mobile{padding:1.25rem 1.5rem}}.landing-page{width:100%;overflow-x:hidden;background:#fff}.landing-container{max-width:1200px;margin:0 auto;padding:0 2rem}.landing-nav{position:fixed;top:0;left:0;right:0;z-index:1000;background:#fffc;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-bottom:1px solid rgba(0,0,0,.05);transition:all .3s ease}.landing-nav.scrolled{background:#fffffff2;box-shadow:0 4px 20px #00000014}.nav-content{display:flex;align-items:center;justify-content:space-between;padding:1rem 0}.nav-logo{display:flex;align-items:center;gap:.75rem;font-size:1.5rem;font-weight:700;background:linear-gradient(135deg,#667eea,#764ba2);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.nav-logo svg{width:32px;height:32px;color:#667eea;-webkit-text-fill-color:#667eea}.nav-links{display:flex;gap:2rem;align-items:center}.nav-link{background:none;border:none;color:#4b5563;font-size:.9375rem;font-weight:500;cursor:pointer;transition:color .2s ease;text-decoration:none}.nav-link:hover{color:#667eea}.nav-actions{display:flex;gap:1rem;align-items:center}.btn-nav{padding:.625rem 1.25rem;border-radius:8px;font-size:.9375rem;font-weight:600;text-decoration:none;transition:all .3s ease;cursor:pointer}.btn-nav.btn-secondary{background:transparent;color:#4b5563;border:2px solid #e5e7eb}.btn-nav.btn-secondary:hover{border-color:#667eea;color:#667eea}.btn-nav.btn-primary{background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;border:none;box-shadow:0 4px 12px #667eea4d}.btn-nav.btn-primary:hover{transform:translateY(-2px);box-shadow:0 6px 20px #667eea66}.hero-section{position:relative;min-height:100vh;display:flex;align-items:center;padding:8rem 0 4rem;overflow:hidden}.hero-background{position:absolute;top:0;left:0;right:0;bottom:0;background:linear-gradient(135deg,#667eea,#764ba2,#f093fb);z-index:0}.gradient-orb{position:absolute;border-radius:50%;filter:blur(100px);opacity:.6;animation:float-orb 20s infinite ease-in-out}.orb-1{width:500px;height:500px;background:radial-gradient(circle,#4facfe 0%,transparent 70%);top:-250px;left:-200px;animation-delay:0s}.orb-2{width:600px;height:600px;background:radial-gradient(circle,#f093fb 0%,transparent 70%);bottom:-300px;right:-250px;animation-delay:5s}.orb-3{width:400px;height:400px;background:radial-gradient(circle,#feca57 0%,transparent 70%);top:50%;left:50%;animation-delay:10s}@keyframes float-orb{0%,to{transform:translate(0) scale(1)}33%{transform:translate(30px,-50px) scale(1.1)}66%{transform:translate(-20px,30px) scale(.9)}}.grid-overlay{position:absolute;top:0;left:0;right:0;bottom:0;background-image:linear-gradient(rgba(255,255,255,.05) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.05) 1px,transparent 1px);background-size:50px 50px;animation:grid-move 20s linear infinite}@keyframes grid-move{0%{transform:translate(0)}to{transform:translate(50px,50px)}}.hero-content{position:relative;z-index:1;max-width:700px;color:#fff}.hero-badge{display:inline-flex;align-items:center;gap:.5rem;padding:.5rem 1rem;background:#ffffff26;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-radius:50px;font-size:.875rem;font-weight:600;margin-bottom:2rem;border:1px solid rgba(255,255,255,.2)}.badge-dot{width:8px;height:8px;background:#4ade80;border-radius:50%;animation:pulse-dot 2s infinite}@keyframes pulse-dot{0%,to{opacity:1;transform:scale(1)}50%{opacity:.5;transform:scale(1.2)}}.hero-title{font-size:3.5rem;font-weight:800;line-height:1.1;margin:0 0 1.5rem;text-shadow:0 4px 20px rgba(0,0,0,.2)}.gradient-text{background:linear-gradient(135deg,#feca57,#ff6348);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.hero-subtitle{font-size:1.25rem;line-height:1.8;margin:0 0 2.5rem;opacity:.95;text-shadow:0 2px 10px rgba(0,0,0,.1)}.hero-actions{display:flex;gap:1rem;flex-wrap:wrap}.btn-hero{display:inline-flex;align-items:center;gap:.5rem;padding:1rem 2rem;border-radius:12px;font-size:1rem;font-weight:600;text-decoration:none;transition:all .3s ease;cursor:pointer;border:none}.btn-hero svg{width:20px;height:20px}.btn-hero.btn-primary{background:#fff;color:#667eea;box-shadow:0 8px 25px #0003}.btn-hero.btn-primary:hover{transform:translateY(-4px);box-shadow:0 12px 35px #0000004d}.btn-hero.btn-outline{background:#ffffff26;color:#fff;border:2px solid rgba(255,255,255,.3);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.btn-hero.btn-outline:hover{background:#ffffff40;border-color:#ffffff80}.hero-stats{display:flex;align-items:center;gap:2rem;margin-top:3rem;padding-top:3rem;border-top:1px solid rgba(255,255,255,.2)}.stat-item{text-align:center}.stat-number{font-size:2rem;font-weight:700;margin-bottom:.25rem}.stat-label{font-size:.875rem;opacity:.9}.stat-divider{width:1px;height:40px;background:#ffffff4d}.hero-image{position:absolute;right:5%;top:50%;transform:translateY(-50%);width:400px;height:400px}.floating-card{position:absolute;background:#fffffff2;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);padding:1.5rem;border-radius:16px;box-shadow:0 20px 60px #0003;display:flex;align-items:center;gap:1rem;animation:float-card 6s ease-in-out infinite}.card-1{top:0;left:0;animation-delay:0s}.card-2{top:50%;right:0;animation-delay:2s}.card-3{bottom:0;left:20%;animation-delay:4s}@keyframes float-card{0%,to{transform:translateY(0)}50%{transform:translateY(-20px)}}.card-icon{font-size:2rem}.card-text{color:#1f2937;font-weight:600}.animate-fade-in{animation:fadeIn .8s ease-out}.animate-slide-up{animation:slideUp .8s ease-out}.delay-1{animation-delay:.2s;animation-fill-mode:both}.delay-2{animation-delay:.4s;animation-fill-mode:both}.delay-3{animation-delay:.6s;animation-fill-mode:both}@keyframes slideUp{0%{opacity:0;transform:translateY(30px)}to{opacity:1;transform:translateY(0)}}.animate-float{animation:float 6s ease-in-out infinite}@keyframes float{0%,to{transform:translateY(-50%)}50%{transform:translateY(calc(-50% - 20px))}}.features-section,.pricing-section,.tech-section,.cta-section{padding:6rem 0}.section-header{text-align:center;margin-bottom:4rem}.section-badge{display:inline-block;padding:.5rem 1rem;background:linear-gradient(135deg,#667eea15,#764ba215);color:#667eea;border-radius:50px;font-size:.875rem;font-weight:600;margin-bottom:1rem}.section-title{font-size:2.5rem;font-weight:800;color:#1f2937;margin:0 0 1rem}.section-subtitle{font-size:1.125rem;color:#6b7280;max-width:600px;margin:0 auto}.features-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:2rem}.feature-card{padding:2rem;background:#fff;border:1px solid #e5e7eb;border-radius:16px;transition:all .3s ease}.feature-card:hover{transform:translateY(-8px);box-shadow:0 20px 40px #0000001a;border-color:transparent}.feature-icon{width:64px;height:64px;border-radius:12px;display:flex;align-items:center;justify-content:center;margin-bottom:1.5rem}.feature-icon svg{width:28px;height:28px;color:#fff}.gradient-purple{background:linear-gradient(135deg,#667eea,#764ba2);box-shadow:0 8px 20px #667eea4d}.gradient-blue{background:linear-gradient(135deg,#4facfe,#00f2fe);box-shadow:0 8px 20px #4facfe4d}.gradient-green{background:linear-gradient(135deg,#43e97b,#38f9d7);box-shadow:0 8px 20px #43e97b4d}.gradient-pink{background:linear-gradient(135deg,#f093fb,#f5576c);box-shadow:0 8px 20px #f093fb4d}.gradient-orange{background:linear-gradient(135deg,#fa709a,#fee140);box-shadow:0 8px 20px #fa709a4d}.gradient-teal{background:linear-gradient(135deg,#30cfd0,#330867);box-shadow:0 8px 20px #30cfd04d}.gradient-indigo{background:linear-gradient(135deg,#a8edea,#fed6e3);box-shadow:0 8px 20px #a8edea4d}.gradient-red{background:linear-gradient(135deg,#ff6a00,#ee0979);box-shadow:0 8px 20px #ff6a004d}.feature-card h3{font-size:1.25rem;font-weight:700;color:#1f2937;margin:0 0 .75rem}.feature-card p{color:#6b7280;line-height:1.6;margin:0}.pricing-section{background:linear-gradient(180deg,#f9fafb,#fff)}.pricing-toggle{display:flex;justify-content:center;gap:.5rem;margin-bottom:3rem;background:#e5e7eb;padding:.5rem;border-radius:12px;width:fit-content;margin-left:auto;margin-right:auto}.pricing-toggle button{padding:.75rem 2rem;border:none;background:transparent;border-radius:8px;font-weight:600;cursor:pointer;transition:all .3s ease;color:#6b7280;display:flex;align-items:center;gap:.5rem}.pricing-toggle button.active{background:#fff;color:#667eea;box-shadow:0 4px 12px #0000001a}.discount-badge{background:#10b981;color:#fff;padding:.25rem .5rem;border-radius:6px;font-size:.75rem}.pricing-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:2rem;max-width:1100px;margin:0 auto}.pricing-card{position:relative;background:#fff;border:2px solid #e5e7eb;border-radius:20px;padding:2.5rem;transition:all .3s ease}.pricing-card:hover{transform:translateY(-8px);box-shadow:0 20px 40px #0000001a}.pricing-card.featured{border-color:#667eea;box-shadow:0 20px 60px #667eea33}.popular-badge{position:absolute;top:-12px;left:50%;transform:translate(-50%);background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;padding:.5rem 1.5rem;border-radius:50px;font-size:.875rem;font-weight:600}.pricing-header{text-align:center;padding-bottom:2rem;border-bottom:1px solid #e5e7eb;margin-bottom:2rem}.pricing-header h3{font-size:1.5rem;font-weight:700;color:#1f2937;margin:0 0 1rem}.price{display:flex;align-items:baseline;justify-content:center;margin:1rem 0}.currency{font-size:1.5rem;font-weight:700;color:#6b7280}.amount{font-size:3.5rem;font-weight:800;color:#1f2937;margin:0 .25rem}.period{font-size:1rem;color:#6b7280}.pricing-header p{color:#6b7280;margin:0}.pricing-features{list-style:none;padding:0;margin:0 0 2rem}.pricing-features li{display:flex;align-items:center;gap:.75rem;padding:.75rem 0;color:#4b5563}.pricing-features svg{width:20px;height:20px;color:#10b981;flex-shrink:0}.pricing-button{width:100%;padding:1rem;border-radius:12px;font-size:1rem;font-weight:600;text-align:center;text-decoration:none;display:block;transition:all .3s ease;cursor:pointer}.pricing-button.btn-primary{background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;border:none;box-shadow:0 4px 12px #667eea4d}.pricing-button.btn-primary:hover{transform:translateY(-2px);box-shadow:0 6px 20px #667eea66}.pricing-button.btn-outline{background:transparent;color:#667eea;border:2px solid #667eea}.pricing-button.btn-outline:hover{background:#667eea;color:#fff}.tech-categories{display:grid;gap:3rem}.tech-category h3{font-size:1.5rem;font-weight:700;color:#1f2937;margin:0 0 1.5rem;text-align:center}.tech-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:1.5rem}.tech-item{display:flex;flex-direction:column;align-items:center;gap:.75rem;padding:1.5rem;background:#fff;border:1px solid #e5e7eb;border-radius:12px;transition:all .3s ease}.tech-item:hover{transform:translateY(-4px);box-shadow:0 12px 24px #0000001a;border-color:#667eea}.tech-icon{font-size:2.5rem}.tech-item span{font-weight:600;color:#4b5563;text-align:center}.cta-section{background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;text-align:center}.cta-content h2{font-size:2.5rem;font-weight:800;margin:0 0 1rem}.cta-content p{font-size:1.25rem;margin:0 0 2.5rem;opacity:.95}.cta-actions{display:flex;gap:1rem;justify-content:center;flex-wrap:wrap}.btn-cta{display:inline-flex;align-items:center;gap:.5rem;padding:1rem 2rem;border-radius:12px;font-size:1rem;font-weight:600;text-decoration:none;transition:all .3s ease;cursor:pointer;border:none}.btn-cta svg{width:20px;height:20px}.btn-cta.btn-primary{background:#fff;color:#667eea;box-shadow:0 8px 25px #0003}.btn-cta.btn-primary:hover{transform:translateY(-4px);box-shadow:0 12px 35px #0000004d}.btn-cta.btn-outline-white{background:#ffffff26;color:#fff;border:2px solid rgba(255,255,255,.3);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.btn-cta.btn-outline-white:hover{background:#ffffff40;border-color:#ffffff80}.footer{background:#1f2937;color:#fff;padding:4rem 0 2rem}.footer-content{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:3rem;margin-bottom:3rem}.footer-section h4{font-size:1rem;font-weight:700;margin:0 0 1rem}.footer-logo{display:flex;align-items:center;gap:.75rem;font-size:1.5rem;font-weight:700;margin-bottom:1rem}.footer-logo svg{width:32px;height:32px}.footer-section p{color:#9ca3af;line-height:1.6}.footer-section ul{list-style:none;padding:0;margin:0}.footer-section li{margin-bottom:.75rem}.footer-section a,.footer-section button{color:#9ca3af;text-decoration:none;transition:color .2s ease;background:none;border:none;padding:0;font-size:.9375rem;cursor:pointer;text-align:left}.footer-section a:hover,.footer-section button:hover{color:#fff}.footer-bottom{display:flex;justify-content:space-between;align-items:center;padding-top:2rem;border-top:1px solid #374151;flex-wrap:wrap;gap:1rem}.footer-bottom p{color:#9ca3af;margin:0}.footer-links{display:flex;gap:2rem}.footer-links a{color:#9ca3af;text-decoration:none;font-size:.875rem;transition:color .2s ease}.footer-links a:hover{color:#fff}@media (max-width: 1024px){.hero-image{display:none}.hero-content{max-width:100%}}@media (max-width: 768px){.landing-container{padding:0 1rem}.nav-links{display:none}.nav-actions{gap:.5rem}.btn-nav{padding:.5rem 1rem;font-size:.875rem}.hero-section{padding:6rem 0 3rem}.hero-title{font-size:2.25rem}.hero-subtitle{font-size:1rem}.hero-stats{flex-direction:column;gap:1.5rem}.stat-divider{display:none}.hero-actions{flex-direction:column}.btn-hero{width:100%;justify-content:center}.section-title{font-size:2rem}.features-grid,.pricing-grid,.tech-grid{grid-template-columns:1fr}.footer-content{grid-template-columns:1fr;gap:2rem}.footer-bottom{flex-direction:column;text-align:center}}html{scroll-behavior:smooth}.auth-container{min-height:100vh;display:flex;align-items:center;justify-content:center;padding:1rem;position:relative;overflow:hidden;background:linear-gradient(135deg,#667eea,#764ba2)}.auth-background{position:absolute;top:0;left:0;right:0;bottom:0;overflow:hidden;z-index:0}.auth-shape{position:absolute;border-radius:50%;background:#ffffff1a;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);animation:float 20s infinite ease-in-out}.shape-1{width:300px;height:300px;top:-100px;left:-100px;animation-delay:0s}.shape-2{width:400px;height:400px;bottom:-150px;right:-150px;animation-delay:5s}.shape-3{width:250px;height:250px;top:50%;right:10%;animation-delay:10s}@keyframes float{0%,to{transform:translateY(0) rotate(0)}33%{transform:translateY(-30px) rotate(5deg)}66%{transform:translateY(30px) rotate(-5deg)}}.auth-card{position:relative;z-index:1;background:#fff;border-radius:16px;box-shadow:0 20px 60px #0000004d;width:100%;max-width:450px;padding:2rem;animation:slideIn .5s ease-out}@keyframes slideIn{0%{opacity:0;transform:translateY(30px)}to{opacity:1;transform:translateY(0)}}@media (min-width: 768px){.auth-card{padding:3rem}}.auth-header{text-align:center;margin-bottom:2rem}.auth-logo{width:64px;height:64px;margin:0 auto 1.5rem;background:linear-gradient(135deg,#667eea,#764ba2);border-radius:16px;display:flex;align-items:center;justify-content:center;box-shadow:0 8px 16px #667eea4d}.auth-logo svg{width:32px;height:32px;color:#fff}.auth-header h1{font-size:1.875rem;font-weight:700;color:#1f2937;margin:0 0 .5rem}.auth-header p{color:#6b7280;font-size:.9375rem;margin:0}.auth-form,.form-group{margin-bottom:1.5rem}.form-group label{display:block;font-size:.875rem;font-weight:600;color:#374151;margin-bottom:.5rem}.input-wrapper{position:relative;display:flex;align-items:center}.input-icon{position:absolute;left:1rem;width:20px;height:20px;color:#9ca3af;pointer-events:none;z-index:1}.input{width:100%;padding:.875rem 1rem .875rem 3rem;border:2px solid #e5e7eb;border-radius:10px;font-size:.9375rem;color:#1f2937;background:#f9fafb;transition:all .2s ease;outline:none}.input:focus{border-color:#667eea;background:#fff;box-shadow:0 0 0 4px #667eea1a}.input::placeholder{color:#9ca3af}.password-toggle{position:absolute;right:1rem;background:none;border:none;cursor:pointer;padding:.25rem;display:flex;align-items:center;justify-content:center;color:#9ca3af;transition:color .2s ease;z-index:1}.password-toggle:hover{color:#667eea}.password-toggle svg{width:20px;height:20px}.password-strength{margin-top:.5rem}.password-strength small{color:#6b7280;font-size:.8125rem}.form-footer{display:flex;align-items:center;justify-content:space-between;margin-bottom:1.5rem;flex-wrap:wrap;gap:.5rem}.checkbox-wrapper{display:flex;align-items:center;gap:.5rem;cursor:pointer;font-size:.875rem;color:#374151}.checkbox-wrapper input[type=checkbox]{width:16px;height:16px;border-radius:4px;border:2px solid #d1d5db;cursor:pointer;accent-color:#667eea}.forgot-password{font-size:.875rem;color:#667eea;text-decoration:none;font-weight:500;transition:color .2s ease}.forgot-password:hover{color:#764ba2;text-decoration:underline}.btn-primary{width:100%;padding:1rem;background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;border:none;border-radius:10px;font-size:1rem;font-weight:600;cursor:pointer;transition:all .3s ease;display:flex;align-items:center;justify-content:center;gap:.5rem;box-shadow:0 4px 12px #667eea66}.btn-primary:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 6px 20px #667eea80}.btn-primary:active:not(:disabled){transform:translateY(0)}.btn-primary:disabled{opacity:.7;cursor:not-allowed}.loading-spinner{width:18px;height:18px;border:2px solid rgba(255,255,255,.3);border-radius:50%;border-top-color:#fff;animation:spin .8s linear infinite}.alert{display:flex;align-items:flex-start;gap:.75rem;padding:1rem;border-radius:10px;margin-bottom:1.5rem;animation:slideDown .3s ease-out}@keyframes slideDown{0%{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:translateY(0)}}.alert svg{width:20px;height:20px;flex-shrink:0;margin-top:2px}.alert-error{background:#fef2f2;border:1px solid #fecaca;color:#991b1b}.alert-error svg{color:#dc2626}.auth-footer{text-align:center;padding-top:1.5rem;border-top:1px solid #e5e7eb}.auth-footer p{color:#6b7280;font-size:.9375rem;margin:0}.auth-link{color:#667eea;text-decoration:none;font-weight:600;transition:color .2s ease}.auth-link:hover{color:#764ba2;text-decoration:underline}@media (max-width: 480px){.auth-container{padding:.5rem}.auth-card{padding:1.5rem;border-radius:12px}.auth-header h1{font-size:1.5rem}.auth-logo{width:56px;height:56px}.auth-logo svg{width:28px;height:28px}.form-footer{flex-direction:column;align-items:flex-start}.shape-1,.shape-2,.shape-3{display:none}}@media (hover: none) and (pointer: coarse){.input,.btn-primary{min-height:48px}.password-toggle{min-width:44px;min-height:44px}}@media (prefers-contrast: high){.input{border-width:2px}.btn-primary{border:2px solid transparent}}@media (prefers-reduced-motion: reduce){*{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}@media (prefers-color-scheme: dark){.auth-card{background:#1f2937;color:#f9fafb}.auth-header h1{color:#f9fafb}.auth-header p{color:#d1d5db}.form-group label{color:#e5e7eb}.input{background:#374151;border-color:#4b5563;color:#f9fafb}.input:focus{background:#4b5563}.checkbox-wrapper{color:#e5e7eb}.auth-footer{border-top-color:#374151}.auth-footer p{color:#d1d5db}}.file-upload-container{width:100%}.drop-zone{position:relative;border:3px dashed #d1d5db;border-radius:16px;padding:3rem 2rem;text-align:center;background:linear-gradient(135deg,#f9fafb,#fff);cursor:pointer;transition:all .3s ease;margin-bottom:1.5rem;overflow:hidden}.drop-zone:before{content:"";position:absolute;top:0;left:-100%;width:100%;height:100%;background:linear-gradient(90deg,transparent,rgba(102,126,234,.1),transparent);transition:left .5s ease}.drop-zone:hover{border-color:#667eea;background:linear-gradient(135deg,#667eea05,#764ba205);transform:translateY(-2px);box-shadow:0 8px 24px #667eea26}.drop-zone:hover:before{left:100%}.drop-zone.drag-active{border-color:#667eea;background:linear-gradient(135deg,#667eea15,#764ba215);border-style:solid;transform:scale(1.02);box-shadow:0 12px 40px #667eea40}.drop-zone-icon{width:80px;height:80px;margin:0 auto 1.5rem;border-radius:50%;background:linear-gradient(135deg,#667eea15,#764ba215);display:flex;align-items:center;justify-content:center;transition:all .3s ease}.drop-zone:hover .drop-zone-icon{background:linear-gradient(135deg,#667eea,#764ba2);transform:scale(1.1)}.drop-zone:hover .drop-zone-icon svg,.drop-zone.drag-active .drop-zone-icon svg{color:#fff}.drop-zone-icon svg{width:40px;height:40px;color:#667eea;transition:all .3s ease}.drop-zone.drag-active .drop-zone-icon{animation:bounce .6s ease-in-out infinite}.drop-zone-title{font-size:1.25rem;font-weight:700;color:#1f2937;margin-bottom:.5rem}.drop-zone-subtitle{color:#6b7280;font-size:1rem;margin-bottom:1.5rem}.drop-zone-info{display:flex;align-items:center;justify-content:center;flex-wrap:wrap;gap:.5rem;color:#9ca3af;font-size:.875rem}.file-type-badge{padding:.375rem .75rem;background:linear-gradient(135deg,#667eea10,#764ba210);color:#667eea;border-radius:6px;font-weight:600;font-size:.75rem;border:1px solid #667eea20;transition:all .2s ease}.file-type-badge:hover{background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;transform:translateY(-2px)}.divider{color:#d1d5db}.upload-progress-container{background:#fff;border-radius:16px;box-shadow:0 4px 20px #00000014;overflow:hidden;animation:slideUp .4s ease-out}.upload-progress-header{padding:1.5rem 2rem;background:linear-gradient(135deg,#f9fafb,#fff);border-bottom:2px solid #f3f4f6;display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:1rem}.upload-progress-title{display:flex;align-items:center;gap:.75rem}.upload-progress-title svg{width:24px;height:24px;color:#667eea}.upload-progress-title h3{font-size:1.125rem;font-weight:700;color:#1f2937;margin:0}.upload-count{padding:.25rem .625rem;background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;border-radius:50px;font-size:.75rem;font-weight:700}.upload-stats{display:flex;align-items:center;gap:1rem;flex-wrap:wrap}.stat-badge{display:flex;align-items:center;gap:.5rem;padding:.5rem 1rem;border-radius:50px;font-size:.8125rem;font-weight:600;border:2px solid}.stat-badge.uploading{background:linear-gradient(135deg,#4facfe10,#00f2fe10);color:#3b82f6;border-color:#4facfe30}.stat-badge.completed{background:linear-gradient(135deg,#43e97b10,#38f9d710);color:#059669;border-color:#43e97b30}.stat-badge.completed svg{width:16px;height:16px}.stat-badge.failed{background:linear-gradient(135deg,#ff6a0010,#ee097910);color:#dc2626;border-color:#ff6a0030}.stat-badge.failed svg{width:16px;height:16px}.pulse-dot{width:8px;height:8px;background:#3b82f6;border-radius:50%;animation:pulseDot 2s ease-in-out infinite}.clear-btn{padding:.5rem 1rem;background:#f3f4f6;color:#6b7280;border:2px solid #e5e7eb;border-radius:8px;font-size:.8125rem;font-weight:600;cursor:pointer;transition:all .3s ease}.clear-btn:hover{background:#e5e7eb;border-color:#d1d5db;color:#4b5563}.upload-list{max-height:400px;overflow-y:auto}.upload-list::-webkit-scrollbar{width:8px}.upload-list::-webkit-scrollbar-track{background:#f3f4f6}.upload-list::-webkit-scrollbar-thumb{background:linear-gradient(135deg,#667eea,#764ba2);border-radius:10px}.upload-item{display:flex;align-items:center;gap:1.25rem;padding:1.5rem 2rem;border-bottom:1px solid #f3f4f6;transition:all .3s ease;animation:fadeInLeft .4s ease-out}.upload-item:hover{background:linear-gradient(90deg,#f9fafb,#fff)}.upload-item:last-child{border-bottom:none}.upload-icon-wrapper{width:48px;height:48px;border-radius:12px;display:flex;align-items:center;justify-content:center;flex-shrink:0}.upload-status-icon{font-size:1.75rem;display:flex;align-items:center;justify-content:center}.upload-status-icon.status-pending{color:#f59e0b}.upload-status-icon.status-uploading{color:#3b82f6}.upload-status-icon.status-uploading .spinner{width:32px;height:32px;animation:spin 1s linear infinite}.upload-status-icon.status-completed{color:#10b981}.upload-status-icon.status-error{color:#ef4444}.upload-info{flex:1;min-width:0}.upload-name{font-size:1rem;font-weight:700;color:#1f2937;margin-bottom:.5rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.upload-details{display:flex;align-items:center;gap:.5rem;font-size:.875rem;color:#6b7280;flex-wrap:wrap}.file-size{font-weight:500}.upload-status{font-weight:600;text-transform:capitalize}.upload-status.status-pending{color:#f59e0b}.upload-status.status-uploading{color:#3b82f6}.upload-status.status-completed{color:#10b981}.upload-status.status-error{color:#ef4444}.error-message{color:#ef4444;font-style:italic}.progress-bar-container{position:relative;width:100%;height:8px;background:#e5e7eb;border-radius:10px;margin-top:.75rem;overflow:hidden}.progress-bar{height:100%;border-radius:10px;transition:width .3s ease;position:relative;overflow:hidden}.progress-bar.status-uploading{background:linear-gradient(90deg,#4facfe,#00f2fe)}.progress-bar.status-completed{background:linear-gradient(90deg,#43e97b,#38f9d7)}.progress-shimmer{position:absolute;top:0;left:-100%;width:100%;height:100%;background:linear-gradient(90deg,transparent,rgba(255,255,255,.5),transparent);animation:shimmer 2s infinite}.progress-percentage{position:absolute;right:.5rem;top:-1.75rem;font-size:.75rem;font-weight:700;color:#6b7280}.upload-actions{display:flex;gap:.5rem}.action-btn{display:flex;align-items:center;gap:.375rem;padding:.5rem .875rem;border:none;border-radius:8px;font-size:.8125rem;font-weight:600;cursor:pointer;transition:all .3s ease}.action-btn svg{width:16px;height:16px}.retry-btn{background:linear-gradient(135deg,#fa709a,#fee140);color:#fff;box-shadow:0 2px 8px #fa709a4d}.retry-btn:hover{transform:translateY(-2px);box-shadow:0 4px 12px #fa709a66}.remove-btn{background:linear-gradient(135deg,#ff6a00,#ee0979);color:#fff;box-shadow:0 2px 8px #ff6a004d}.remove-btn:hover{transform:translateY(-2px);box-shadow:0 4px 12px #ff6a0066}@keyframes slideUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}@keyframes pulseDot{0%,to{opacity:1;transform:scale(1)}50%{opacity:.5;transform:scale(1.2)}}@media (max-width: 768px){.drop-zone{padding:2rem 1.5rem}.drop-zone-icon{width:64px;height:64px}.drop-zone-icon svg{width:32px;height:32px}.drop-zone-title{font-size:1.125rem}.drop-zone-info{flex-direction:column}.file-type-badge{font-size:.6875rem;padding:.25rem .5rem}.upload-progress-header{padding:1.25rem 1.5rem;flex-direction:column;align-items:flex-start}.upload-stats{width:100%;flex-direction:column;align-items:flex-start}.stat-badge{width:100%;justify-content:center}.clear-btn{width:100%}.upload-item{padding:1.25rem 1.5rem;flex-wrap:wrap}.upload-actions{width:100%;margin-top:.75rem}.action-btn{flex:1;justify-content:center}}.dashboard-page{min-height:100vh;background:linear-gradient(135deg,#f5f7fa,#c3cfe2);padding:2rem 1rem}.dashboard-container{max-width:1400px;margin:0 auto;animation:fadeIn .6s ease-out}.dashboard-loading{min-height:100vh;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:1.5rem}.loading-spinner-large{width:60px;height:60px;border:4px solid #f3f4f6;border-radius:50%;border-top-color:#667eea;animation:spin .8s linear infinite}.dashboard-loading p{color:#6b7280;font-size:1.125rem;font-weight:500}.dashboard-header{background:#fff;border-radius:20px;padding:2rem;margin-bottom:2rem;box-shadow:0 10px 40px #00000014;display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:1.5rem;animation:slideDown .6s ease-out}.welcome-section{display:flex;align-items:center;gap:1.5rem}.welcome-icon{width:72px;height:72px;border-radius:18px;background:linear-gradient(135deg,#667eea,#764ba2);display:flex;align-items:center;justify-content:center;box-shadow:0 8px 24px #667eea66;animation:pulse 2s ease-in-out infinite}.welcome-icon svg{width:36px;height:36px;color:#fff}.welcome-section h1{font-size:2rem;font-weight:800;margin:0 0 .25rem;color:#1f2937}.welcome-section p{color:#6b7280;font-size:1rem;margin:0}.quick-actions{display:flex;gap:1rem}.action-btn{display:flex;align-items:center;gap:.5rem;padding:.875rem 1.5rem;background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;border:none;border-radius:12px;font-size:.9375rem;font-weight:600;cursor:pointer;transition:all .3s ease;box-shadow:0 4px 12px #667eea4d}.action-btn svg{width:20px;height:20px}.action-btn:hover{transform:translateY(-2px);box-shadow:0 6px 20px #667eea66}.stats-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:1.5rem;margin-bottom:2rem}.stat-card{position:relative;background:#fff;border-radius:16px;padding:1.75rem;box-shadow:0 4px 20px #00000014;overflow:hidden;transition:all .3s ease;animation:fadeInUp .6s ease-out;animation-fill-mode:both}.stat-card:hover{transform:translateY(-4px);box-shadow:0 12px 35px #0000001f}.stat-content{position:relative;z-index:1;display:flex;justify-content:space-between;align-items:center}.stat-label{font-size:.875rem;font-weight:600;color:#6b7280;margin-bottom:.75rem;text-transform:uppercase;letter-spacing:.5px}.stat-value{font-size:2.5rem;font-weight:800;line-height:1}.stat-icon{width:56px;height:56px;border-radius:14px;display:flex;align-items:center;justify-content:center;opacity:.2}.stat-icon svg{width:32px;height:32px}.stat-shimmer{position:absolute;top:0;left:-100%;width:100%;height:100%;background:linear-gradient(90deg,transparent,rgba(255,255,255,.4),transparent);animation:shimmer 3s infinite}.gradient-blue{background:linear-gradient(135deg,#4facfe15,#00f2fe15);border:2px solid #4facfe20}.gradient-blue .stat-value{color:#3b82f6}.gradient-blue .stat-icon{background:linear-gradient(135deg,#4facfe,#00f2fe);color:#fff;opacity:1}.gradient-green{background:linear-gradient(135deg,#43e97b15,#38f9d715);border:2px solid #43e97b20}.gradient-green .stat-value{color:#10b981}.gradient-green .stat-icon{background:linear-gradient(135deg,#43e97b,#38f9d7);color:#fff;opacity:1}.gradient-orange{background:linear-gradient(135deg,#fa709a15,#fee14015);border:2px solid #fa709a20}.gradient-orange .stat-value{color:#f59e0b}.gradient-orange .stat-icon{background:linear-gradient(135deg,#fa709a,#fee140);color:#fff;opacity:1}.gradient-red{background:linear-gradient(135deg,#ff6a0015,#ee097915);border:2px solid #ff6a0020}.gradient-red .stat-value{color:#ef4444}.gradient-red .stat-icon{background:linear-gradient(135deg,#ff6a00,#ee0979);color:#fff;opacity:1}.upload-section{background:#fff;border-radius:20px;padding:2rem;margin-bottom:2rem;box-shadow:0 10px 40px #00000014;animation:fadeInUp .6s ease-out .5s;animation-fill-mode:both}.section-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:1.5rem;flex-wrap:wrap;gap:1rem}.section-title{display:flex;align-items:center;gap:.75rem}.section-title svg{width:28px;height:28px;color:#667eea}.section-title h2{font-size:1.5rem;font-weight:700;color:#1f2937;margin:0}.badge{padding:.5rem 1rem;background:linear-gradient(135deg,#667eea15,#764ba215);color:#667eea;border-radius:50px;font-size:.8125rem;font-weight:600;border:2px solid #667eea20}.documents-section{background:#fff;border-radius:20px;box-shadow:0 10px 40px #00000014;overflow:hidden;animation:fadeInUp .6s ease-out .6s;animation-fill-mode:both}.documents-header{padding:1.75rem 2rem;background:linear-gradient(135deg,#f9fafb,#fff);border-bottom:2px solid #f3f4f6}.documents-title{display:flex;align-items:center;gap:.75rem}.documents-title svg{width:28px;height:28px;color:#667eea}.documents-title h2{font-size:1.5rem;font-weight:700;color:#1f2937;margin:0}.document-count{padding:.375rem .875rem;background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;border-radius:50px;font-size:.875rem;font-weight:700}.empty-documents{padding:4rem 2rem;text-align:center;animation:fadeIn .8s ease-out}.empty-documents h3{font-size:1.5rem;font-weight:700;color:#1f2937;margin:0 0 .5rem}.empty-documents p{color:#6b7280;font-size:1rem;margin:0 0 2rem}.upload-prompt-btn{display:inline-flex;align-items:center;gap:.625rem;padding:1rem 2rem;background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;border:none;border-radius:12px;font-size:1rem;font-weight:600;cursor:pointer;transition:all .3s ease;box-shadow:0 4px 16px #667eea4d}.upload-prompt-btn svg{width:22px;height:22px}.upload-prompt-btn:hover{transform:translateY(-2px);box-shadow:0 6px 24px #667eea66}.documents-list{max-height:500px;overflow-y:auto}.documents-list::-webkit-scrollbar{width:8px}.documents-list::-webkit-scrollbar-track{background:#f3f4f6}.documents-list::-webkit-scrollbar-thumb{background:linear-gradient(135deg,#667eea,#764ba2);border-radius:10px}.document-item{display:flex;align-items:center;gap:1.25rem;padding:1.5rem 2rem;border-bottom:1px solid #f3f4f6;transition:all .3s ease;animation:fadeInLeft .5s ease-out;animation-fill-mode:both}.document-item:hover{background:linear-gradient(90deg,#f9fafb,#fff)}.document-item:last-child{border-bottom:none}.document-icon-wrapper{width:48px;height:48px;border-radius:12px;display:flex;align-items:center;justify-content:center;flex-shrink:0}.document-icon{font-size:1.75rem}.document-icon.status-ready{background:linear-gradient(135deg,#43e97b15,#38f9d715)}.document-icon.status-processing{background:linear-gradient(135deg,#fa709a15,#fee14015);animation:pulse 2s ease-in-out infinite}.document-icon.status-failed{background:linear-gradient(135deg,#ff6a0015,#ee097915)}.document-info{flex:1;min-width:0}.document-name{font-size:1rem;font-weight:700;color:#1f2937;margin-bottom:.5rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.document-meta{display:flex;align-items:center;gap:.75rem;flex-wrap:wrap}.status-badge{padding:.25rem .75rem;border-radius:50px;font-size:.75rem;font-weight:700;text-transform:uppercase;letter-spacing:.5px}.status-badge.status-ready{background:linear-gradient(135deg,#43e97b15,#38f9d715);color:#059669;border:1px solid #43e97b30}.status-badge.status-processing{background:linear-gradient(135deg,#fa709a15,#fee14015);color:#d97706;border:1px solid #fa709a30}.status-badge.status-failed{background:linear-gradient(135deg,#ff6a0015,#ee097915);color:#dc2626;border:1px solid #ff6a0030}.document-date{display:flex;align-items:center;gap:.375rem;color:#6b7280;font-size:.875rem}.document-date svg{width:14px;height:14px}.document-actions{display:flex;gap:.75rem}.doc-action-btn{display:flex;align-items:center;gap:.5rem;padding:.625rem 1.125rem;border:none;border-radius:10px;font-size:.875rem;font-weight:600;cursor:pointer;transition:all .3s ease}.doc-action-btn svg{width:18px;height:18px}.chat-btn{background:linear-gradient(135deg,#4facfe,#00f2fe);color:#fff;box-shadow:0 4px 12px #4facfe4d}.chat-btn:hover{transform:translateY(-2px);box-shadow:0 6px 20px #4facfe66}.tools-btn{background:linear-gradient(135deg,#43e97b,#38f9d7);color:#fff;box-shadow:0 4px 12px #43e97b4d}.tools-btn:hover{transform:translateY(-2px);box-shadow:0 6px 20px #43e97b66}.retry-btn{background:linear-gradient(135deg,#fa709a,#fee140);color:#fff;box-shadow:0 4px 12px #fa709a4d}.retry-btn:hover{transform:translateY(-2px);box-shadow:0 6px 20px #fa709a66}@keyframes fadeInLeft{0%{opacity:0;transform:translate(-20px)}to{opacity:1;transform:translate(0)}}@keyframes shimmer{to{left:100%}}@media (max-width: 768px){.dashboard-page{padding:1rem .5rem}.dashboard-header{padding:1.5rem;flex-direction:column;align-items:flex-start}.welcome-section{gap:1rem}.welcome-icon{width:56px;height:56px}.welcome-icon svg{width:28px;height:28px}.welcome-section h1{font-size:1.5rem}.quick-actions{width:100%;flex-direction:column}.action-btn{justify-content:center}.stats-grid{grid-template-columns:1fr;gap:1rem}.upload-section,.documents-section{padding:1.5rem}.section-header{flex-direction:column;align-items:flex-start}.documents-header{padding:1.5rem}.document-item{padding:1.25rem 1.5rem;flex-direction:column;align-items:flex-start}.document-actions{width:100%;flex-direction:column}.doc-action-btn{width:100%;justify-content:center}}.chat-window{display:flex;flex-direction:column;height:calc(100vh - 300px);min-height:600px;background:#fff;border-radius:20px;box-shadow:0 10px 40px #00000014;overflow:hidden;animation:fadeIn .6s ease-out}.messages-area{flex:1;overflow-y:auto;padding:2rem;background:linear-gradient(180deg,#f9fafb,#fff);scroll-behavior:smooth}.messages-area::-webkit-scrollbar{width:8px}.messages-area::-webkit-scrollbar-track{background:#f3f4f6;border-radius:10px}.messages-area::-webkit-scrollbar-thumb{background:linear-gradient(135deg,#667eea,#764ba2);border-radius:10px}.messages-area::-webkit-scrollbar-thumb:hover{background:linear-gradient(135deg,#764ba2,#667eea)}.empty-chat-state{display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:4rem 2rem;height:100%;animation:fadeIn .8s ease-out}.empty-state-icon{width:120px;height:120px;border-radius:50%;background:linear-gradient(135deg,#667eea15,#764ba215);display:flex;align-items:center;justify-content:center;margin-bottom:2rem;animation:float 3s ease-in-out infinite}.empty-state-icon svg{width:60px;height:60px;color:#667eea}.empty-chat-state h3{font-size:1.5rem;font-weight:700;color:#1f2937;margin:0 0 .5rem}.empty-chat-state p{color:#6b7280;font-size:1rem;margin:0 0 2rem;max-width:400px}.suggestion-chips{display:flex;gap:.75rem;flex-wrap:wrap;justify-content:center}.chip{padding:.75rem 1.25rem;background:#fff;border:2px solid #e5e7eb;border-radius:50px;font-size:.875rem;font-weight:500;color:#4b5563;cursor:pointer;transition:all .3s ease;display:flex;align-items:center;gap:.5rem}.chip:hover{border-color:#667eea;background:linear-gradient(135deg,#667eea05,#764ba205);transform:translateY(-2px);box-shadow:0 4px 12px #667eea33}.message-wrapper{display:flex;gap:1rem;margin-bottom:1.5rem;animation:messageSlideIn .4s ease-out}.message-wrapper.user{flex-direction:row-reverse}.message-wrapper.error .message-content{background:#fef2f2;border-color:#fecaca}.message-wrapper.error .message-text{color:#991b1b}.message-avatar{width:40px;height:40px;border-radius:12px;display:flex;align-items:center;justify-content:center;flex-shrink:0;transition:all .3s ease}.message-wrapper.user .message-avatar{background:linear-gradient(135deg,#667eea,#764ba2);box-shadow:0 4px 12px #667eea4d}.message-wrapper.assistant .message-avatar{background:linear-gradient(135deg,#4facfe,#00f2fe);box-shadow:0 4px 12px #4facfe4d}.message-avatar svg{width:22px;height:22px;color:#fff}.message-content{flex:1;max-width:70%;background:#fff;border:2px solid #e5e7eb;border-radius:16px;padding:1rem 1.25rem;transition:all .3s ease}.message-wrapper.user .message-content{background:linear-gradient(135deg,#667eea,#764ba2);border-color:transparent;color:#fff}.message-content:hover{box-shadow:0 4px 20px #00000014;transform:translateY(-2px)}.message-wrapper.user .message-content:hover{box-shadow:0 4px 20px #667eea4d}.message-header{display:flex;align-items:center;gap:.75rem;margin-bottom:.5rem;flex-wrap:wrap}.message-author{font-size:.875rem;font-weight:700;opacity:.9}.message-wrapper.assistant .message-author{color:#1f2937}.message-badge{display:inline-flex;align-items:center;gap:.375rem;padding:.25rem .625rem;border-radius:8px;font-size:.75rem;font-weight:600}.message-badge svg{width:14px;height:14px}.image-badge{background:#8b5cf626;color:#7c3aed}.message-wrapper.user .image-badge{background:#fff3;color:#fff}.web-badge{background:#3b82f626;color:#2563eb}.message-wrapper.user .web-badge{background:#fff3;color:#fff}.message-text{font-size:.9375rem;line-height:1.7;white-space:pre-wrap;word-wrap:break-word}.message-wrapper.assistant .message-text{color:#374151}.message-sources{margin-top:1rem;padding-top:1rem;border-top:1px solid rgba(0,0,0,.1)}.message-wrapper.user .message-sources{border-top-color:#ffffff4d}.sources-header{display:flex;align-items:center;gap:.5rem;font-size:.875rem;font-weight:700;margin-bottom:.75rem;opacity:.9}.sources-header svg{width:16px;height:16px}.sources-list{display:flex;flex-direction:column;gap:.5rem}.source-item{display:flex;align-items:center;gap:.5rem;font-size:.875rem;padding:.5rem;background:#00000008;border-radius:8px;transition:all .2s ease}.message-wrapper.user .source-item{background:#ffffff26}.source-item:hover{background:#0000000d;transform:translate(4px)}.source-icon{font-size:1rem}.source-link{color:#667eea;text-decoration:none;font-weight:500;transition:color .2s ease}.source-link:hover{color:#764ba2;text-decoration:underline}.message-wrapper.user .source-link{color:#fff}.page-number{margin-left:auto;font-size:.75rem;opacity:.7;font-weight:600}.confidence-indicator{margin-top:1rem;display:flex;align-items:center;gap:.75rem}.confidence-bar-container{flex:1;height:6px;background:#0000001a;border-radius:10px;overflow:hidden}.message-wrapper.user .confidence-bar-container{background:#ffffff4d}.confidence-bar{height:100%;background:linear-gradient(90deg,#10b981,#059669);border-radius:10px;transition:width 1s ease-out;animation:progressGrow 1s ease-out}.message-wrapper.user .confidence-bar{background:linear-gradient(90deg,#fbbf24,#f59e0b)}.confidence-text{font-size:.75rem;font-weight:600;white-space:nowrap;opacity:.8}.message-timestamp{margin-top:.5rem;font-size:.75rem;opacity:.6}.typing-indicator{display:flex;gap:.375rem;padding:.75rem 0}.typing-indicator span{width:8px;height:8px;background:#667eea;border-radius:50%;animation:typingBounce 1.4s ease-in-out infinite}.typing-indicator span:nth-child(2){animation-delay:.2s}.typing-indicator span:nth-child(3){animation-delay:.4s}.typing-text{margin-top:.5rem;font-size:.875rem;color:#6b7280;font-style:italic}.input-area{padding:1.5rem;background:#fff;border-top:2px solid #f3f4f6}.image-preview-container{margin-bottom:1rem;animation:slideUp .3s ease-out}.image-preview{position:relative;display:inline-block;border-radius:12px;overflow:hidden;border:2px solid #e5e7eb}.image-preview img{max-height:120px;display:block;border-radius:10px}.remove-image-btn{position:absolute;top:-8px;right:-8px;width:28px;height:28px;background:linear-gradient(135deg,#ef4444,#dc2626);color:#fff;border:2px solid white;border-radius:50%;display:flex;align-items:center;justify-content:center;cursor:pointer;transition:all .3s ease}.remove-image-btn:hover{transform:scale(1.1) rotate(90deg);box-shadow:0 4px 12px #ef444466}.remove-image-btn svg{width:16px;height:16px}.input-controls{display:flex;gap:.75rem;align-items:flex-end}.icon-button{width:48px;height:48px;background:linear-gradient(135deg,#f3f4f6,#e5e7eb);border:2px solid #e5e7eb;border-radius:12px;display:flex;align-items:center;justify-content:center;cursor:pointer;transition:all .3s ease;flex-shrink:0}.icon-button:hover:not(:disabled){background:linear-gradient(135deg,#667eea15,#764ba215);border-color:#667eea;transform:translateY(-2px);box-shadow:0 4px 12px #667eea33}.icon-button:disabled{opacity:.5;cursor:not-allowed}.icon-button svg{width:22px;height:22px;color:#4b5563}.icon-button:hover:not(:disabled) svg{color:#667eea}.message-input{flex:1;min-height:48px;max-height:160px;padding:.875rem 1rem;border:2px solid #e5e7eb;border-radius:12px;font-size:.9375rem;font-family:inherit;resize:vertical;transition:all .3s ease;background:#f9fafb}.message-input:focus{outline:none;border-color:#667eea;background:#fff;box-shadow:0 0 0 4px #667eea1a}.message-input:disabled{opacity:.6;cursor:not-allowed}.message-input::placeholder{color:#9ca3af}.send-button{width:48px;height:48px;background:linear-gradient(135deg,#667eea,#764ba2);border:none;border-radius:12px;display:flex;align-items:center;justify-content:center;cursor:pointer;transition:all .3s ease;flex-shrink:0;box-shadow:0 4px 12px #667eea4d}.send-button:hover:not(:disabled){transform:translateY(-2px) scale(1.05);box-shadow:0 6px 20px #667eea66}.send-button:active:not(:disabled){transform:translateY(0) scale(1)}.send-button:disabled{opacity:.5;cursor:not-allowed;transform:none}.send-button svg{width:22px;height:22px;color:#fff}.spinner{animation:spin 1s linear infinite}@keyframes messageSlideIn{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}@keyframes slideUp{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}@keyframes typingBounce{0%,80%,to{transform:translateY(0)}40%{transform:translateY(-8px)}}@keyframes progressGrow{0%{width:0}}@media (max-width: 768px){.chat-window{height:calc(100vh - 200px);border-radius:16px}.messages-area{padding:1rem}.message-content{max-width:85%}.input-area{padding:1rem}.input-controls{gap:.5rem}.icon-button,.send-button{width:44px;height:44px}.suggestion-chips{flex-direction:column}.chip{width:100%;justify-content:center}}.chat-page{min-height:100vh;background:linear-gradient(135deg,#f5f7fa,#c3cfe2);padding:2rem 1rem}.chat-page-container{max-width:1400px;margin:0 auto;animation:fadeInUp .5s ease-out}.chat-page-header{background:#fff;border-radius:20px;padding:2rem;margin-bottom:2rem;box-shadow:0 10px 40px #00000014;display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:1.5rem;animation:slideDown .6s ease-out}.chat-page-title{display:flex;align-items:center;gap:1.5rem}.chat-icon-wrapper{width:64px;height:64px;border-radius:16px;background:linear-gradient(135deg,#667eea,#764ba2);display:flex;align-items:center;justify-content:center;box-shadow:0 8px 20px #667eea66;animation:pulse 2s ease-in-out infinite}.chat-icon-wrapper svg{width:32px;height:32px;color:#fff}.chat-page-title h1{font-size:2rem;font-weight:800;margin:0;background:linear-gradient(135deg,#667eea,#764ba2);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.chat-subtitle{color:#6b7280;font-size:.9375rem;margin:.25rem 0 0}.chat-context-badges{display:flex;gap:.75rem;flex-wrap:wrap}.context-badge{display:flex;align-items:center;gap:.5rem;padding:.625rem 1rem;border-radius:12px;font-size:.875rem;font-weight:600;transition:all .3s ease;animation:fadeIn .8s ease-out}.context-badge svg{width:18px;height:18px}.space-badge{background:linear-gradient(135deg,#4facfe15,#00f2fe15);color:#0891b2;border:2px solid #0891b220}.space-badge:hover{background:linear-gradient(135deg,#4facfe25,#00f2fe25);transform:translateY(-2px)}.agent-badge{background:linear-gradient(135deg,#f093fb15,#f5576c15);color:#db2777;border:2px solid #db277720}.agent-badge:hover{background:linear-gradient(135deg,#f093fb25,#f5576c25);transform:translateY(-2px)}.namespace-badge{background:linear-gradient(135deg,#43e97b15,#38f9d715);color:#059669;border:2px solid #05966920}.namespace-badge:hover{background:linear-gradient(135deg,#43e97b25,#38f9d725);transform:translateY(-2px)}@keyframes pulse{0%,to{transform:scale(1);box-shadow:0 8px 20px #667eea66}50%{transform:scale(1.05);box-shadow:0 12px 30px #667eea80}}@media (max-width: 768px){.chat-page{padding:1rem .5rem}.chat-page-header{padding:1.5rem;border-radius:16px;flex-direction:column;align-items:flex-start}.chat-page-title{gap:1rem}.chat-icon-wrapper{width:56px;height:56px}.chat-icon-wrapper svg{width:28px;height:28px}.chat-page-title h1{font-size:1.5rem}.chat-context-badges{width:100%}}.tool-gen-modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:#0009;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);display:flex;align-items:center;justifycontent:center;z-index:9999;padding:1rem;animation:fadeIn .3s ease-out}.tool-gen-modal-container{background:#fff;border-radius:24px;width:100%;max-width:600px;max-height:90vh;overflow:hidden;display:flex;flex-direction:column;box-shadow:0 20px 60px #0000004d;animation:slideUp .4s cubic-bezier(.175,.885,.32,1.275)}.tool-gen-modal-header{padding:2rem;border-bottom:1px solid #e5e7eb;background:linear-gradient(135deg,#4facfe,#00f2fe);display:flex;justify-content:space-between;align-items:center;position:relative;overflow:hidden}.tool-gen-modal-header:before{content:"";position:absolute;top:-50%;right:-20%;width:300px;height:300px;background:#ffffff1a;border-radius:50%;animation:float 6s ease-in-out infinite}.tool-gen-modal-header h3{font-size:1.5rem;font-weight:800;color:#fff;margin:0 0 .25rem;text-shadow:0 2px 4px rgba(0,0,0,.1)}.tool-gen-modal-header p{font-size:.875rem;color:#ffffffe6;margin:0}.tool-gen-modal-content{flex:1;overflow-y:auto;padding:2rem;background:#fafafa}.tool-gen-modal-content::-webkit-scrollbar{width:8px}.tool-gen-modal-content::-webkit-scrollbar-track{background:#f1f1f1}.tool-gen-modal-content::-webkit-scrollbar-thumb{background:linear-gradient(135deg,#4facfe,#00f2fe);border-radius:10px}.form-group{margin-bottom:1.5rem}.form-group label{display:block;font-weight:600;color:#374151;font-size:.9375rem;margin-bottom:.75rem}.input-with-icon select,.form-group input[type=text],.form-group input[type=number]{width:100%;padding:.875rem 1rem .875rem 3rem;border:2px solid #e5e7eb;border-radius:12px;font-size:.9375rem;transition:all .3s ease;background:#fff;font-family:inherit}.form-group input[type=number]{padding-left:1rem}.input-with-icon select:focus,.form-group input:focus{outline:none;border-color:#4facfe;background:#fff;box-shadow:0 0 0 4px #4facfe1a}.tool-type-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:.75rem}.tool-type-btn{display:flex;flex-direction:column;align-items:center;gap:.75rem;padding:1.25rem 1rem;border:2px solid #e5e7eb;border-radius:14px;background:#fff;cursor:pointer;transition:all .3s ease;text-align:center}.tool-type-btn:hover{transform:translateY(-4px);border-color:#4facfe;box-shadow:0 8px 20px #4facfe26}.tool-type-btn.active{border-color:#4facfe;background:linear-gradient(135deg,#e0f2fe,#cffafe);box-shadow:0 4px 16px #4facfe33}.tool-type-icon{width:48px;height:48px;border-radius:12px;background:linear-gradient(135deg,#4facfe15,#00f2fe25);display:flex;align-items:center;justify-content:center;transition:all .3s ease}.tool-type-btn.active .tool-type-icon{background:linear-gradient(135deg,#4facfe,#00f2fe);transform:scale(1.1)}.tool-type-icon svg{width:24px;height:24px;color:#4facfe}.tool-type-btn.active .tool-type-icon svg{color:#fff}.tool-type-btn span{font-weight:600;font-size:.875rem;color:#6b7280}.tool-type-btn.active span{color:#4facfe}.difficulty-buttons{display:grid;grid-template-columns:repeat(3,1fr);gap:.75rem}.difficulty-btn{padding:.75rem 1rem;border-radius:12px;font-size:.9375rem;font-weight:600;cursor:pointer;transition:all .3s ease;border:2px solid}.difficulty-btn.easy{background:#fff;color:#10b981;border-color:#d1fae5}.difficulty-btn.easy.active{background:linear-gradient(135deg,#d1fae5,#a7f3d0);border-color:#10b981;box-shadow:0 4px 12px #10b98133}.difficulty-btn.medium{background:#fff;color:#f59e0b;border-color:#fde68a}.difficulty-btn.medium.active{background:linear-gradient(135deg,#fef3c7,#fde68a);border-color:#f59e0b;box-shadow:0 4px 12px #f59e0b33}.difficulty-btn.hard{background:#fff;color:#ef4444;border-color:#fecaca}.difficulty-btn.hard.active{background:linear-gradient(135deg,#fee2e2,#fecaca);border-color:#ef4444;box-shadow:0 4px 12px #ef444433}.difficulty-btn:hover{transform:translateY(-2px)}.tool-gen-modal-footer{padding:1.5rem 2rem;border-top:1px solid #e5e7eb;display:flex;justify-content:flex-end;gap:.75rem;background:#fff}.cancel-btn,.generate-btn{display:flex;align-items:center;gap:.5rem;padding:.875rem 2rem;border-radius:12px;font-size:.9375rem;font-weight:600;cursor:pointer;transition:all .3s ease}.generate-btn{background:linear-gradient(135deg,#4facfe,#00f2fe);color:#fff;border:none;box-shadow:0 4px 12px #4facfe4d}.generate-btn svg{width:20px;height:20px}.generate-btn:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 6px 20px #4facfe66}.generate-btn:disabled,.cancel-btn:disabled{opacity:.5;cursor:not-allowed;transform:none}.loading-spinner-small{width:20px;height:20px;border:2px solid rgba(255,255,255,.3);border-top-color:#fff;border-radius:50%;animation:spin .8s linear infinite}@media (max-width: 768px){.tool-gen-modal-container{max-width:100%;max-height:100vh;border-radius:0}.tool-gen-modal-header{padding:1.5rem}.tool-gen-modal-header h3{font-size:1.25rem}.modal-icon{width:48px;height:48px}.modal-icon svg{width:24px;height:24px}.tool-gen-modal-content{padding:1.5rem}.tool-type-grid,.difficulty-buttons{grid-template-columns:1fr}.tool-gen-modal-footer{flex-direction:column}.cancel-btn,.generate-btn{width:100%;justify-content:center}}.tools-page{min-height:100vh;background:linear-gradient(135deg,#e0c3fc,#8ec5fc);padding:2rem 1rem}.tools-container{max-width:1400px;margin:0 auto;animation:fadeIn .6s ease-out}.tools-loading{min-height:100vh;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:1.5rem}.tools-loading p{color:#6b7280;font-size:1.125rem;font-weight:500}.tools-header{background:#fff;border-radius:20px;padding:2rem;margin-bottom:2rem;box-shadow:0 10px 40px #00000014;animation:slideDown .6s ease-out}.header-icon{width:72px;height:72px;border-radius:18px;background:linear-gradient(135deg,#4facfe,#00f2fe);display:flex;align-items:center;justify-content:center;box-shadow:0 8px 24px #4facfe66;animation:pulse 2s ease-in-out infinite;flex-shrink:0}.generate-tool-btn{display:flex;align-items:center;gap:.5rem;padding:.875rem 1.5rem;background:linear-gradient(135deg,#4facfe,#00f2fe);color:#fff;border:none;border-radius:12px;font-size:.9375rem;font-weight:600;cursor:pointer;transition:all .3s ease;box-shadow:0 4px 12px #4facfe4d}.generate-tool-btn svg{width:20px;height:20px}.generate-tool-btn:hover{transform:translateY(-2px);box-shadow:0 6px 20px #4facfe66}.empty-tools{text-align:center;padding:4rem 2rem;background:#fff;border-radius:20px;box-shadow:0 4px 20px #00000014;animation:fadeInUp .6s ease-out}.empty-icon{width:120px;height:120px;margin:0 auto 2rem;border-radius:50%;background:linear-gradient(135deg,#4facfe15,#00f2fe15);display:flex;align-items:center;justify-content:center;animation:float 3s ease-in-out infinite}.empty-icon svg{width:60px;height:60px;color:#4facfe}.empty-tools h3{font-size:1.5rem;font-weight:700;color:#1f2937;margin:0 0 .5rem}.empty-tools p{color:#6b7280;font-size:1rem;margin:0 0 2rem}.go-dashboard-btn{display:inline-flex;align-items:center;gap:.625rem;padding:1rem 2rem;background:linear-gradient(135deg,#4facfe,#00f2fe);color:#fff;border:none;border-radius:12px;font-size:1rem;font-weight:600;cursor:pointer;transition:all .3s ease;box-shadow:0 4px 16px #4facfe4d}.go-dashboard-btn svg{width:22px;height:22px}.go-dashboard-btn:hover{transform:translateY(-2px);box-shadow:0 6px 24px #4facfe66}.generated-tools-section{margin-bottom:2rem;animation:fadeInUp .6s ease-out .1s;animation-fill-mode:both}.generated-tools-section h3,.documents-section h3{font-size:1.5rem;font-weight:700;color:#1f2937;margin:0 0 1.5rem}.tools-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:1.5rem}.tool-card{background:#fff;border-radius:16px;padding:1.5rem;box-shadow:0 4px 20px #00000014;cursor:pointer;transition:all .4s cubic-bezier(.175,.885,.32,1.275);position:relative;overflow:hidden;animation:fadeInUp .6s ease-out}.tool-card:before{content:"";position:absolute;top:0;left:0;right:0;height:4px;background:var(--tool-gradient)}.tool-card:hover{transform:translateY(-8px);box-shadow:0 12px 40px #0000001f}.tool-card-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:1rem}.tool-icon{width:56px;height:56px;border-radius:14px;background:var(--tool-gradient);display:flex;align-items:center;justify-content:center;box-shadow:0 8px 20px #00000026;transition:all .3s ease}.tool-card:hover .tool-icon{transform:rotate(5deg) scale(1.05)}.tool-icon svg{width:28px;height:28px;color:#fff}.tool-badge{padding:.375rem .875rem;border-radius:12px;font-size:.75rem;font-weight:700;text-transform:capitalize}.tool-badge.quiz{background:linear-gradient(135deg,#667eea15,#764ba225);color:#667eea;border:1.5px solid #667eea}.tool-badge.flashcards{background:linear-gradient(135deg,#f093fb15,#f5576c25);color:#f093fb;border:1.5px solid #f093fb}.tool-badge.summary{background:linear-gradient(135deg,#4facfe15,#00f2fe25);color:#4facfe;border:1.5px solid #4facfe}.tool-card h4{font-size:1.25rem;font-weight:700;color:#1f2937;margin:0 0 1rem}.tool-document,.tool-date{display:flex;align-items:center;gap:.5rem;font-size:.875rem;color:#6b7280;margin:.5rem 0}.tool-document svg,.tool-date svg{width:16px;height:16px;color:#9ca3af;flex-shrink:0}.tool-document{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.documents-section{animation:fadeInUp .6s ease-out .2s;animation-fill-mode:both}.documents-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:1.5rem}.document-card{background:#fff;border-radius:16px;padding:1.5rem;box-shadow:0 4px 20px #00000014;transition:all .3s ease;animation:fadeInUp .6s ease-out;border:2px solid transparent}.document-card.ready:hover{border-color:#43e97b;transform:translateY(-4px);box-shadow:0 8px 30px #43e97b26}.document-card.processing{background:linear-gradient(135deg,#fffbeb,#fef3c7);border-color:#fbbf24}.document-icon{width:56px;height:56px;border-radius:14px;background:linear-gradient(135deg,#43e97b15,#38f9d725);display:flex;align-items:center;justify-content:center;margin-bottom:1rem;transition:all .3s ease}.document-card.ready:hover .document-icon{transform:scale(1.1) rotate(5deg)}.document-card.processing .document-icon{background:linear-gradient(135deg,#fbbf2415,#f59e0b25)}.document-card.processing .document-icon svg{color:#f59e0b}.document-card h4{font-size:1rem;font-weight:700;color:#1f2937;margin:0 0 1rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.document-status{display:flex;align-items:center;gap:.5rem;font-size:.875rem;font-weight:600;margin-bottom:1rem}.document-status svg{width:18px;height:18px}.ready-status{color:#10b981}.processing-status{color:#f59e0b}.generate-doc-btn{display:flex;align-items:center;justify-content:center;gap:.5rem;width:100%;padding:.75rem 1rem;background:linear-gradient(135deg,#43e97b,#38f9d7);color:#fff;border:none;border-radius:10px;font-size:.875rem;font-weight:600;cursor:pointer;transition:all .3s ease;box-shadow:0 2px 8px #43e97b33}.generate-doc-btn svg{width:18px;height:18px}.generate-doc-btn:hover{transform:translateY(-2px);box-shadow:0 4px 16px #43e97b4d}.processing-section{margin-top:2rem}.processing-section h4{font-size:1.125rem;font-weight:600;color:#6b7280;margin:0 0 1rem}.summary-header{display:flex;justify-content:space-between;align-items:center;padding:2rem;background:#fff;border-radius:20px 20px 0 0;box-shadow:0 2px 10px #0000000d}.summary-header h2{display:flex;align-items:center;gap:.75rem;font-size:1.75rem;font-weight:700;color:#1f2937;margin:0}.summary-header h2 svg{width:32px;height:32px;color:#4facfe}.close-summary-btn{display:flex;align-items:center;gap:.5rem;padding:.75rem 1.5rem;background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;border:none;border-radius:12px;font-size:.9375rem;font-weight:600;cursor:pointer;transition:all .3s ease;box-shadow:0 4px 12px #667eea4d}.close-summary-btn svg{width:20px;height:20px}.close-summary-btn:hover{transform:translateY(-2px);box-shadow:0 6px 20px #667eea66}.summary-content{padding:2rem;background:#fff;border-radius:0 0 20px 20px;line-height:1.8;color:#374151;font-size:1rem;box-shadow:0 10px 40px #00000014;white-space:pre-wrap}.key-concepts-list{margin:0;padding-left:1.5rem;list-style:disc}.key-concepts-list li{margin-bottom:.75rem}.loading-spinner-large{width:48px;height:48px;border:4px solid #f3f4f6;border-top-color:#4facfe;border-radius:50%;animation:spin .8s linear infinite}@media (max-width: 768px){.tools-page{padding:1rem .5rem}.tools-header,.summary-header{padding:1.5rem}.header-content{flex-direction:column;align-items:stretch}.header-info{gap:1rem}.header-icon{width:56px;height:56px}.header-icon svg{width:28px;height:28px}.header-info h1{font-size:1.5rem}.generate-tool-btn{width:100%;justify-content:center}.tools-grid,.documents-grid{grid-template-columns:1fr}.summary-header{flex-direction:column;gap:1rem;align-items:stretch}.summary-header h2{font-size:1.5rem}.close-summary-btn{width:100%;justify-content:center}.summary-content{padding:1.5rem}}.deans-dashboard{animation:fadeIn .6s ease-out}.dashboard-header{margin-bottom:2rem;animation:slideInDown .6s ease-out}.header-top{display:flex;justify-content:space-between;align-items:center;margin-bottom:1rem;flex-wrap:wrap;gap:1rem}.dashboard-title{margin:0;font-size:2.5rem;font-weight:800;color:#fff;text-shadow:0 2px 8px rgba(0,0,0,.2);display:flex;align-items:center;gap:1rem}.dashboard-title svg{width:2.5rem;height:2.5rem;filter:drop-shadow(0 4px 8px rgba(0,0,0,.2))}.dashboard-subtitle{color:#ffffffe6;margin:0;font-size:1.125rem}.time-range-select{padding:.75rem 1.25rem;border:2px solid rgba(255,255,255,.3);border-radius:12px;background:#ffffff26;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);color:#fff;font-weight:600;cursor:pointer;transition:all .3s ease;font-size:.9375rem}.time-range-select:hover{background:#ffffff40;border-color:#ffffff80}.time-range-select:focus{outline:none;background:#ffffff4d;box-shadow:0 0 0 3px #fff3}.time-range-select option{background:#667eea;color:#fff}.critical-alerts{margin-bottom:2rem;padding:1.5rem;background:linear-gradient(135deg,#fee2e2,#fecaca);border:2px solid #ef4444;border-radius:16px;box-shadow:0 8px 32px #ef444433;animation:slideInLeft .6s ease-out}.alerts-title{color:#dc2626;margin:0 0 1.25rem;font-size:1.25rem;font-weight:700;display:flex;align-items:center;gap:.75rem}.alerts-title svg{width:1.5rem;height:1.5rem}.alert-item{padding:1rem 1.25rem;background:#fff;border:2px solid #f87171;border-radius:12px;margin-bottom:.75rem;transition:all .3s ease;animation:scaleIn .4s ease-out backwards}.alert-item:nth-child(1){animation-delay:.1s}.alert-item:nth-child(2){animation-delay:.2s}.alert-item:nth-child(3){animation-delay:.3s}.alert-item:hover{transform:translate(5px);box-shadow:0 4px 12px #ef44444d}.alert-topic{font-weight:700;color:#dc2626;margin-bottom:.5rem;font-size:1rem}.alert-insight{color:#7f1d1d;font-size:.875rem;line-height:1.6}.stats-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:1.5rem;margin-bottom:2rem}.stat-card{background:#fff;padding:1.75rem;border-radius:16px;box-shadow:0 8px 32px #00000026;transition:all .3s ease;position:relative;overflow:hidden;animation:slideInUp .6s ease-out backwards}.stat-card:nth-child(1){animation-delay:.1s}.stat-card:nth-child(2){animation-delay:.2s}.stat-card:nth-child(3){animation-delay:.3s}.stat-card:nth-child(4){animation-delay:.4s}.stat-card:nth-child(5){animation-delay:.5s}.stat-card:nth-child(6){animation-delay:.6s}.stat-card:before{content:"";position:absolute;top:0;left:0;right:0;height:4px;background:var(--stat-gradient);animation:shimmer 3s linear infinite}.stat-card:hover{transform:translateY(-8px);box-shadow:0 12px 48px #0003}.stat-card-content{display:flex;align-items:center;justify-content:space-between}.stat-label{font-size:.875rem;font-weight:600;color:#6b7280;margin-bottom:.75rem;text-transform:uppercase;letter-spacing:.05em;display:flex;align-items:center;gap:.5rem}.stat-label svg{width:1rem;height:1rem}.stat-value{font-size:2.5rem;font-weight:900;background:var(--stat-gradient);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;line-height:1;margin-bottom:.5rem}.stat-change{font-size:.875rem;font-weight:600;display:flex;align-items:center;gap:.25rem}.stat-change.positive{color:#10b981}.stat-change.negative{color:#ef4444}.stat-icon{width:4rem;height:4rem;border-radius:16px;display:flex;align-items:center;justify-content:center;font-size:2rem;background:var(--stat-gradient);box-shadow:0 4px 12px #00000026;animation:float 3s ease-in-out infinite}.charts-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(450px,1fr));gap:2rem;margin-bottom:2rem}.chart-card{background:#fff;padding:1.75rem;border-radius:16px;box-shadow:0 8px 32px #00000026;animation:scaleIn .6s ease-out;position:relative;overflow:hidden}.chart-card:before{content:"";position:absolute;top:0;left:0;right:0;height:3px;background:linear-gradient(90deg,#667eea,#764ba2,#f093fb);background-size:200% 100%;animation:shimmer 3s linear infinite}.chart-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:1.5rem;padding-bottom:1rem;border-bottom:2px solid #f3f4f6}.chart-title{margin:0;font-size:1.25rem;font-weight:700;background:linear-gradient(135deg,#667eea,#764ba2);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;display:flex;align-items:center;gap:.75rem}.chart-title svg{width:1.5rem;height:1.5rem;color:#667eea}.chart-container{width:100%;height:320px}.revenue-section{background:#fff;padding:2rem;border-radius:16px;box-shadow:0 8px 32px #00000026;margin-bottom:2rem;animation:scaleIn .6s ease-out}.revenue-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:2rem;flex-wrap:wrap;gap:1rem}.revenue-title{margin:0;font-size:1.75rem;font-weight:800;background:linear-gradient(135deg,#10b981,#059669);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;display:flex;align-items:center;gap:1rem}.revenue-title svg{width:2rem;height:2rem;color:#10b981}.revenue-summary{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:1.5rem;margin-bottom:2rem}.revenue-item{padding:1.5rem;background:linear-gradient(135deg,#f0fdf4,#dcfce7);border-radius:12px;border:2px solid #bbf7d0}.revenue-item-label{font-size:.875rem;font-weight:600;color:#065f46;margin-bottom:.5rem;text-transform:uppercase;letter-spacing:.05em}.revenue-item-value{font-size:2rem;font-weight:900;color:#059669;display:flex;align-items:baseline;gap:.25rem}.revenue-item-currency{font-size:1.25rem;font-weight:600}.insights-table-card{background:#fff;border-radius:16px;box-shadow:0 8px 32px #00000026;overflow:hidden;animation:scaleIn .6s ease-out}.table-header{padding:1.75rem;border-bottom:2px solid #f3f4f6;background:linear-gradient(135deg,#f9fafb,#f3f4f6)}.table-title{margin:0;font-size:1.5rem;font-weight:700;background:linear-gradient(135deg,#667eea,#764ba2);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;display:flex;align-items:center;gap:.75rem}.table-title svg{width:1.75rem;height:1.75rem;color:#667eea}.table-container{overflow-x:auto}.insights-table{width:100%;border-collapse:collapse}.insights-table thead{background:linear-gradient(135deg,#f9fafb,#f3f4f6)}.insights-table th{padding:1rem 1.25rem;text-align:left;font-weight:700;color:#374151;font-size:.875rem;text-transform:uppercase;letter-spacing:.05em;border-bottom:2px solid #e5e7eb}.insights-table td{padding:1.25rem;color:#1f2937;border-bottom:1px solid #f3f4f6;transition:background-color .2s ease}.insights-table tbody tr:hover{background:linear-gradient(135deg,#f9fafb,#fff)}.insights-table tbody tr:last-child td{border-bottom:none}.topic-cell{font-weight:600;color:#1f2937}.insight-cell{color:#6b7280;line-height:1.6;max-width:400px}.severity-badge{display:inline-flex;align-items:center;gap:.375rem;padding:.5rem .875rem;border-radius:20px;font-size:.75rem;font-weight:700;box-shadow:0 2px 8px #0000001a}.severity-badge.high{background:linear-gradient(135deg,#fee2e2,#fecaca);color:#dc2626}.severity-badge.medium{background:linear-gradient(135deg,#fef3c7,#fde68a);color:#d97706}.severity-badge.low{background:linear-gradient(135deg,#d1fae5,#a7f3d0);color:#059669}.date-cell{color:#6b7280;font-size:.875rem}.empty-insights{padding:3rem 2rem;text-align:center;color:#6b7280}.empty-insights svg{width:4rem;height:4rem;color:#d1d5db;margin-bottom:1rem;opacity:.5}@media (max-width: 1200px){.charts-grid{grid-template-columns:1fr}}@media (max-width: 768px){.dashboard-title{font-size:2rem}.stats-grid{grid-template-columns:1fr}.stat-value{font-size:2rem}.chart-container{height:250px}.revenue-summary{grid-template-columns:1fr}.insights-table{font-size:.875rem}.insights-table th,.insights-table td{padding:.75rem}}.admin-dashboard-page{min-height:calc(100vh - 120px);padding:2rem;background:linear-gradient(135deg,#667eea,#764ba2,#f093fb);background-size:200% 200%;animation:gradientShift 15s ease infinite}.admin-dashboard-container{max-width:1600px;margin:0 auto;animation:fadeIn .6s ease-out}.admin-dashboard-loading{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:calc(100vh - 120px);gap:1rem}@media (max-width: 1200px){.admin-dashboard-page{padding:1.5rem}}@media (max-width: 768px){.admin-dashboard-page{padding:1rem}}.space-card{position:relative;background:#fff;border-radius:20px;padding:1.75rem;box-shadow:0 4px 20px #00000014;transition:all .4s cubic-bezier(.175,.885,.32,1.275);overflow:hidden;animation:fadeInUp .6s ease-out}.space-card:before{content:"";position:absolute;top:0;left:0;right:0;height:4px;background:linear-gradient(90deg,#667eea,#764ba2,#f093fb);transform:scaleX(0);transform-origin:left;transition:transform .4s ease}.space-card:hover:before{transform:scaleX(1)}.space-card-background{position:absolute;top:0;right:0;width:200px;height:200px;background:linear-gradient(135deg,#667eea15,#764ba215);border-radius:50%;transform:translate(50%,-50%);pointer-events:none;opacity:.5;transition:all .4s ease}.space-card:hover{transform:translateY(-8px);box-shadow:0 12px 40px #667eea26}.space-card:hover .space-card-background{transform:translate(40%,-40%) scale(1.2);opacity:.8}.space-card-header{display:flex;align-items:flex-start;gap:1rem;margin-bottom:1.5rem;position:relative;z-index:1}.space-icon{width:56px;height:56px;border-radius:14px;background:linear-gradient(135deg,#667eea,#764ba2);display:flex;align-items:center;justify-content:center;box-shadow:0 8px 20px #667eea4d;flex-shrink:0;transition:all .3s ease}.space-card:hover .space-icon{transform:rotate(5deg) scale(1.05);box-shadow:0 12px 28px #667eea66}.space-icon svg{width:28px;height:28px;color:#fff}.space-info{flex:1;min-width:0}.space-info h3{font-size:1.25rem;font-weight:700;color:#1f2937;margin:0 0 .5rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.space-info p{display:flex;align-items:center;gap:.375rem;color:#6b7280;font-size:.875rem;margin:0}.space-info p svg{width:16px;height:16px;color:#9ca3af;flex-shrink:0}.space-stats{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:1.25rem;background:linear-gradient(135deg,#f9fafb,#f3f4f6);border-radius:14px;margin-bottom:1.25rem;position:relative;z-index:1}.stat-icon{width:40px;height:40px;margin:0 auto .5rem;border-radius:10px;display:flex;align-items:center;justify-content:center;transition:all .3s ease}.stat-item.members .stat-icon{background:linear-gradient(135deg,#667eea15,#667eea25)}.stat-item.members .stat-icon svg{width:20px;height:20px;color:#667eea}.stat-item.members .stat-value{color:#667eea}.stat-item.documents .stat-icon{background:linear-gradient(135deg,#43e97b15,#43e97b25)}.stat-item.documents .stat-icon svg{width:20px;height:20px;color:#43e97b}.stat-item.documents .stat-value{color:#43e97b}.stat-item.date .stat-icon svg{width:20px;height:20px;color:#fa709a}.stat-item.date .stat-value{color:#fa709a}.stat-value{font-size:1.375rem;font-weight:700;margin-bottom:.25rem;line-height:1}.space-actions{display:grid;grid-template-columns:1fr 1fr;gap:.75rem;position:relative;z-index:1}.chat-btn{background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;box-shadow:0 4px 12px #667eea4d}.chat-btn:hover{transform:translateY(-2px);box-shadow:0 6px 20px #667eea66}.manage-btn{background:#fff;color:#6b7280;border:2px solid #e5e7eb}.manage-btn:hover{background:#f9fafb;border-color:#d1d5db;color:#4b5563;transform:translateY(-2px)}.manage-btn:hover svg{transform:rotate(90deg)}@media (max-width: 768px){.space-card{padding:1.5rem}.space-stats{flex-direction:column;gap:1.5rem;padding:1rem}.stat-divider{width:100%;height:1px}.space-actions{grid-template-columns:1fr}}@media (max-width: 480px){.space-card-header{flex-direction:column;align-items:center;text-align:center}.space-info h3{white-space:normal}}.modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:#0009;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);display:flex;align-items:center;justify-content:center;z-index:9999;padding:1rem;animation:fadeIn .3s ease-out}.modal-container{background:#fff;border-radius:24px;width:100%;max-width:900px;max-height:90vh;overflow:hidden;display:flex;flex-direction:column;box-shadow:0 20px 60px #0000004d;animation:slideUp .4s cubic-bezier(.175,.885,.32,1.275)}.modal-header{padding:2rem;border-bottom:1px solid #e5e7eb;background:linear-gradient(135deg,#667eea,#764ba2);display:flex;justify-content:space-between;align-items:center;position:relative;overflow:hidden}.modal-header:before{content:"";position:absolute;top:-50%;right:-20%;width:300px;height:300px;background:#ffffff1a;border-radius:50%;animation:float 6s ease-in-out infinite}.modal-header h2{font-size:1.5rem;font-weight:800;color:#fff;margin:0 0 .25rem;text-shadow:0 2px 4px rgba(0,0,0,.1)}.modal-header p{font-size:.9375rem;color:#ffffffe6;margin:0}.modal-tabs{display:flex;background:linear-gradient(135deg,#f9fafb,#f3f4f6);border-bottom:2px solid #e5e7eb;padding:0 1rem;gap:.5rem}.tab-btn:hover{color:#667eea;background:#667eea0d}.tab-btn.active{color:#667eea;border-bottom-color:#667eea;background:#fff}.modal-content::-webkit-scrollbar-thumb{background:linear-gradient(135deg,#667eea,#764ba2);border-radius:10px}.modal-content::-webkit-scrollbar-thumb:hover{background:linear-gradient(135deg,#764ba2,#667eea)}.modal-loading{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:4rem 2rem;gap:1.5rem}.modal-loading p{color:#6b7280;font-size:1.125rem;font-weight:500}.tab-content{display:flex;flex-direction:column;gap:2rem}.section{background:#fff;border-radius:16px;padding:1.75rem;box-shadow:0 2px 12px #0000000d;transition:all .3s ease;animation:fadeInUp .6s ease-out}.section:hover{box-shadow:0 4px 20px #00000014}.section h3{display:flex;align-items:center;gap:.75rem;font-size:1.125rem;font-weight:700;color:#1f2937;margin:0 0 1.5rem}.section h3 svg{width:24px;height:24px;color:#667eea}.input-group{display:flex;gap:.75rem;align-items:stretch}.input-with-icon{position:relative;flex:1;display:flex;align-items:center}.invite-btn{display:flex;align-items:center;gap:.5rem;padding:.875rem 1.5rem;background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;border:none;border-radius:12px;font-size:.9375rem;font-weight:600;cursor:pointer;transition:all .3s ease;box-shadow:0 4px 12px #667eea4d;white-space:nowrap}.invite-btn svg{width:18px;height:18px}.invite-btn:hover{transform:translateY(-2px);box-shadow:0 6px 20px #667eea66}.items-list{display:flex;flex-direction:column;gap:.875rem}.list-item{display:flex;align-items:center;gap:1rem;padding:1.25rem;background:linear-gradient(135deg,#f9fafb,#fff);border:2px solid #e5e7eb;border-radius:14px;transition:all .3s ease;animation:slideIn .4s ease-out}.list-item:hover{border-color:#667eea;box-shadow:0 4px 16px #667eea26;transform:translate(4px)}.item-avatar{width:48px;height:48px;border-radius:12px;background:linear-gradient(135deg,#667eea,#764ba2);display:flex;align-items:center;justify-content:center;flex-shrink:0}.item-avatar svg{width:24px;height:24px;color:#fff}.document-avatar{background:linear-gradient(135deg,#43e97b,#38f9d7)}.item-info{flex:1;min-width:0}.item-name{font-weight:700;color:#1f2937;font-size:.9375rem;margin-bottom:.25rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.item-subtitle{font-size:.875rem;color:#6b7280}.remove-btn{display:flex;align-items:center;gap:.375rem;padding:.625rem 1rem;background:linear-gradient(135deg,#fee2e2,#fecaca);color:#dc2626;border:2px solid #fecaca;border-radius:10px;cursor:pointer;font-size:.875rem;font-weight:600;transition:all .3s ease;white-space:nowrap;flex-shrink:0}.remove-btn svg{width:16px;height:16px}.remove-btn:hover{background:linear-gradient(135deg,#fecaca,#fee2e2);border-color:#dc2626;transform:translateY(-2px);box-shadow:0 4px 12px #dc262633}.document-card:hover{border-color:#667eea;box-shadow:0 4px 16px #667eea26;transform:translateY(-4px)}.settings-form{display:flex;flex-direction:column;gap:1.5rem}.form-group label{display:flex;align-items:center;gap:.5rem;font-weight:600;color:#374151;font-size:.9375rem}.form-group label svg{width:20px;height:20px;color:#667eea}.form-group input,.form-group textarea{width:100%;padding:.875rem 1rem;border:2px solid #e5e7eb;border-radius:12px;font-size:.9375rem;transition:all .3s ease;background:#f9fafb;font-family:inherit}.form-group input:focus,.form-group textarea:focus{outline:none;border-color:#667eea;background:#fff;box-shadow:0 0 0 4px #667eea1a}.settings-info{display:flex;align-items:center;gap:.75rem;padding:1rem;background:linear-gradient(135deg,#dbeafe,#bfdbfe);border-radius:12px;border:2px solid #93c5fd}.settings-info svg{width:24px;height:24px;color:#3b82f6;flex-shrink:0}.settings-info p{color:#1e3a8a;font-size:.875rem;margin:0;font-weight:500}.modal-footer{padding:1.5rem 2rem;border-top:1px solid #e5e7eb;display:flex;justify-content:flex-end;background:#fff}.close-btn{display:flex;align-items:center;gap:.5rem;padding:.875rem 2rem;background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;border:none;border-radius:12px;font-size:.9375rem;font-weight:600;cursor:pointer;transition:all .3s ease;box-shadow:0 4px 12px #667eea4d}.close-btn svg{width:20px;height:20px}.close-btn:hover{transform:translateY(-2px);box-shadow:0 6px 20px #667eea66}.loading-spinner-large{width:48px;height:48px;border:4px solid #f3f4f6;border-top-color:#667eea;border-radius:50%;animation:spin .8s linear infinite}@media (max-width: 768px){.modal-container{max-width:100%;max-height:100vh;border-radius:0}.modal-header{padding:1.5rem}.modal-header h2{font-size:1.25rem}.modal-icon{width:48px;height:48px}.modal-icon svg{width:24px;height:24px}.modal-tabs{overflow-x:auto;padding:0 .5rem}.tab-btn{padding:1rem;font-size:.875rem;white-space:nowrap}.modal-content{padding:1.5rem}.section{padding:1.25rem}.input-group{flex-direction:column}.invite-btn{width:100%;justify-content:center}.list-item{flex-wrap:wrap}.remove-btn{width:100%;justify-content:center}.documents-grid{grid-template-columns:1fr}}.spaces-page{min-height:100vh;background:linear-gradient(135deg,#f5f7fa,#c3cfe2);padding:2rem 1rem}.spaces-container{max-width:1400px;margin:0 auto;animation:fadeIn .6s ease-out}.spaces-loading{min-height:100vh;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:1.5rem}.spaces-loading p{color:#6b7280;font-size:1.125rem;font-weight:500}.spaces-header{background:#fff;border-radius:20px;padding:2rem;margin-bottom:2rem;box-shadow:0 10px 40px #00000014;animation:slideDown .6s ease-out}.header-icon{width:72px;height:72px;border-radius:18px;background:linear-gradient(135deg,#667eea,#764ba2);display:flex;align-items:center;justify-content:center;box-shadow:0 8px 24px #667eea66;animation:pulse 2s ease-in-out infinite;flex-shrink:0}.create-space-btn{display:flex;align-items:center;gap:.5rem;padding:.875rem 1.5rem;background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;border:none;border-radius:12px;font-size:.9375rem;font-weight:600;cursor:pointer;transition:all .3s ease;box-shadow:0 4px 12px #667eea4d}.create-space-btn svg{width:20px;height:20px}.create-space-btn:hover{transform:translateY(-2px);box-shadow:0 6px 20px #667eea66}.create-space-form{background:#fff;border-radius:16px;padding:2rem;margin-bottom:2rem;box-shadow:0 4px 20px #00000014;animation:slideDown .4s ease-out}.form-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:1.5rem}.form-header h3{font-size:1.25rem;font-weight:700;color:#1f2937;margin:0}.close-form-btn{width:36px;height:36px;border-radius:50%;background:#f3f4f6;border:none;display:flex;align-items:center;justify-content:center;cursor:pointer;transition:all .3s ease}.close-form-btn svg{width:20px;height:20px;color:#6b7280}.close-form-btn:hover{background:#fecaca;transform:rotate(90deg)}.close-form-btn:hover svg{color:#dc2626}.form-content{display:flex;flex-direction:column;gap:1.5rem}.form-group label{display:block;margin-bottom:.75rem;font-weight:600;color:#374151;font-size:.9375rem}.input-with-icon{position:relative;display:flex;align-items:center}.input-with-icon svg{position:absolute;left:1rem;width:20px;height:20px;color:#9ca3af;pointer-events:none}.input-with-icon input{width:100%;padding:.875rem 1rem .875rem 3rem;border:2px solid #e5e7eb;border-radius:12px;font-size:.9375rem;transition:all .3s ease;background:#f9fafb}.input-with-icon input:focus{outline:none;border-color:#667eea;background:#fff;box-shadow:0 0 0 4px #667eea1a}.form-actions{display:flex;gap:.75rem}.submit-btn{flex:1;display:flex;align-items:center;justify-content:center;gap:.5rem;padding:.875rem 1.5rem;background:linear-gradient(135deg,#43e97b,#38f9d7);color:#fff;border:none;border-radius:12px;font-size:.9375rem;font-weight:600;cursor:pointer;transition:all .3s ease;box-shadow:0 4px 12px #43e97b4d}.submit-btn svg{width:20px;height:20px}.submit-btn:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 6px 20px #43e97b66}.submit-btn:disabled{opacity:.5;cursor:not-allowed;transform:none}.cancel-btn{padding:.875rem 1.5rem;background:#fff;color:#6b7280;border:2px solid #e5e7eb;border-radius:12px;font-size:.9375rem;font-weight:600;cursor:pointer;transition:all .3s ease}.cancel-btn:hover{background:#f9fafb;border-color:#d1d5db;color:#4b5563}.empty-spaces{text-align:center;padding:4rem 2rem;background:#fff;border-radius:20px;box-shadow:0 4px 20px #00000014;animation:fadeInUp .6s ease-out}.empty-icon{width:120px;height:120px;margin:0 auto 2rem;border-radius:50%;background:linear-gradient(135deg,#667eea15,#764ba215);display:flex;align-items:center;justify-content:center;animation:float 3s ease-in-out infinite}.empty-icon svg{width:60px;height:60px;color:#667eea}.empty-spaces h3{font-size:1.5rem;font-weight:700;color:#1f2937;margin:0 0 .5rem}.empty-spaces p{color:#6b7280;font-size:1rem;margin:0 0 2rem;max-width:500px;margin-left:auto;margin-right:auto}.create-first-space-btn{display:inline-flex;align-items:center;gap:.625rem;padding:1rem 2rem;background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;border:none;border-radius:12px;font-size:1rem;font-weight:600;cursor:pointer;transition:all .3s ease;box-shadow:0 4px 16px #667eea4d}.create-first-space-btn svg{width:22px;height:22px}.create-first-space-btn:hover{transform:translateY(-2px);box-shadow:0 6px 24px #667eea66}.spaces-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(340px,1fr));gap:1.5rem;animation:fadeInUp .6s ease-out .2s;animation-fill-mode:both}@media (max-width: 768px){.spaces-page{padding:1rem .5rem}.spaces-header{padding:1.5rem}.header-content{flex-direction:column;align-items:stretch}.header-info{gap:1rem}.header-icon{width:56px;height:56px}.header-icon svg{width:28px;height:28px}.header-info h1{font-size:1.5rem}.create-space-btn{width:100%;justify-content:center}.create-space-form{padding:1.5rem}.form-actions{flex-direction:column}.spaces-grid{grid-template-columns:1fr}}.agent-card{position:relative;background:#fff;border-radius:20px;padding:1.75rem;box-shadow:0 4px 20px #00000014;transition:all .4s cubic-bezier(.175,.885,.32,1.275);overflow:hidden;animation:fadeInUp .6s ease-out}.agent-card:before{content:"";position:absolute;top:0;left:0;right:0;height:4px;background:linear-gradient(90deg,#f093fb,#f5576c,#667eea);transform:scaleX(0);transform-origin:left;transition:transform .4s ease}.agent-card:hover:before{transform:scaleX(1)}.agent-card-background{position:absolute;top:0;right:0;width:200px;height:200px;background:linear-gradient(135deg,#f093fb15,#f5576c15);border-radius:50%;transform:translate(50%,-50%);pointer-events:none;opacity:.5;transition:all .4s ease}.agent-card:hover{transform:translateY(-8px);box-shadow:0 12px 40px #f093fb26}.agent-card:hover .agent-card-background{transform:translate(40%,-40%) scale(1.2);opacity:.8}.agent-card-header{display:flex;align-items:flex-start;gap:1rem;margin-bottom:1.25rem;position:relative;z-index:1}.agent-icon{width:56px;height:56px;border-radius:14px;display:flex;align-items:center;justify-content:center;box-shadow:0 8px 20px #00000026;flex-shrink:0;transition:all .3s ease}.agent-card:hover .agent-icon{transform:rotate(5deg) scale(1.05);box-shadow:0 12px 28px #0003}.agent-icon svg{width:28px;height:28px;color:#fff}.agent-info{flex:1;min-width:0}.agent-info h3{font-size:1.25rem;font-weight:700;color:#1f2937;margin:0 0 .5rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.agent-meta{display:flex;align-items:center;gap:.75rem;flex-wrap:wrap}.agent-type{font-size:.875rem;color:#6b7280;font-weight:500}.status-badge{display:inline-flex;align-items:center;gap:.375rem;padding:.25rem .75rem;border-radius:12px;font-size:.75rem;font-weight:600;text-transform:capitalize}.status-badge.status-active{background:linear-gradient(135deg,#d1fae515,#a7f3d025);color:#10b981;border:1.5px solid #10b981}.status-badge.status-inactive{background:linear-gradient(135deg,#f3f4f615,#e5e7eb25);color:#6b7280;border:1.5px solid #9ca3af}.status-badge.status-training{background:linear-gradient(135deg,#fef3c715,#fde68a25);color:#f59e0b;border:1.5px solid #f59e0b}.status-dot{width:8px;height:8px;border-radius:50%;animation:pulse-dot 2s ease-in-out infinite}.status-active .status-dot{background:#10b981}.status-inactive .status-dot{background:#6b7280}.status-training .status-dot{background:#f59e0b}.agent-description{font-size:.875rem;color:#6b7280;line-height:1.5;margin:0 0 1.25rem;position:relative;z-index:1;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.agent-stats{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:1.25rem;background:linear-gradient(135deg,#f9fafb,#f3f4f6);border-radius:14px;margin-bottom:1.25rem;position:relative;z-index:1}.stat-item{flex:1;text-align:center;transition:all .3s ease}.stat-item:hover{transform:scale(1.05)}.stat-icon{width:36px;height:36px;margin:0 auto .5rem;border-radius:10px;display:flex;align-items:center;justify-content:center;transition:all .3s ease}.stat-item.documents .stat-icon{background:linear-gradient(135deg,#667eea15,#667eea25)}.stat-item.documents .stat-icon svg{width:18px;height:18px;color:#667eea}.stat-item.documents .stat-value{color:#667eea}.stat-item.department .stat-icon{background:linear-gradient(135deg,#43e97b15,#43e97b25)}.stat-item.department .stat-icon svg{width:18px;height:18px;color:#43e97b}.stat-item.department .stat-value{color:#43e97b;font-size:.875rem;word-break:break-word}.stat-item.date .stat-icon{background:linear-gradient(135deg,#fa709a15,#fa709a25)}.stat-item.date .stat-icon svg{width:18px;height:18px;color:#fa709a}.stat-item.date .stat-value{color:#fa709a;font-size:.875rem}.stat-value{font-size:1.125rem;font-weight:700;margin-bottom:.25rem;line-height:1}.stat-label{font-size:.75rem;color:#6b7280;font-weight:500;text-transform:uppercase;letter-spacing:.5px}.stat-divider{width:1px;height:48px;background:linear-gradient(to bottom,transparent,#d1d5db,transparent)}.agent-actions{display:grid;grid-template-columns:2fr 1fr 44px;gap:.75rem;position:relative;z-index:1}.action-btn{display:flex;align-items:center;justify-content:center;gap:.5rem;padding:.875rem 1rem;border-radius:12px;font-size:.9375rem;font-weight:600;border:none;cursor:pointer;text-decoration:none;transition:all .3s ease;position:relative;overflow:hidden}.action-btn svg{width:18px;height:18px;transition:all .3s ease;position:relative;z-index:1}.action-btn:before{content:"";position:absolute;top:50%;left:50%;width:0;height:0;border-radius:50%;background:#ffffff4d;transform:translate(-50%,-50%);transition:width .6s,height .6s}.action-btn:hover:before{width:300px;height:300px}.chat-btn{background:linear-gradient(135deg,#f093fb,#f5576c);color:#fff;box-shadow:0 4px 12px #f093fb4d}.chat-btn:hover{transform:translateY(-2px);box-shadow:0 6px 20px #f093fb66}.chat-btn:hover svg{transform:scale(1.1)}.edit-btn{background:#fff;color:#6b7280;border:2px solid #e5e7eb}.edit-btn:hover{background:#f9fafb;border-color:#d1d5db;color:#4b5563;transform:translateY(-2px)}.edit-btn:hover svg{transform:rotate(90deg)}.delete-btn{padding:.875rem;background:linear-gradient(135deg,#fee2e2,#fecaca);color:#dc2626;border:2px solid #fecaca}.delete-btn:hover{background:linear-gradient(135deg,#fecaca,#fee2e2);border-color:#dc2626;transform:translateY(-2px)}.delete-btn:hover svg{transform:scale(1.1)}@keyframes pulse-dot{0%,to{opacity:1}50%{opacity:.5}}@media (max-width: 768px){.agent-card{padding:1.5rem}.agent-stats{flex-direction:column;gap:1.5rem;padding:1rem}.stat-divider{width:100%;height:1px}.agent-actions{grid-template-columns:1fr}.delete-btn{padding:.875rem 1rem}}.agent-modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:#0009;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);display:flex;align-items:center;justify-content:center;z-index:9999;padding:1rem;animation:fadeIn .3s ease-out}.agent-modal-container{background:#fff;border-radius:24px;width:100%;max-width:1000px;max-height:90vh;overflow:hidden;display:flex;flex-direction:column;box-shadow:0 20px 60px #0000004d;animation:slideUp .4s cubic-bezier(.175,.885,.32,1.275)}.agent-modal-header{padding:2rem;border-bottom:1px solid #e5e7eb;background:linear-gradient(135deg,#f093fb,#f5576c);display:flex;justify-content:space-between;align-items:center;position:relative;overflow:hidden}.agent-modal-header:before{content:"";position:absolute;top:-50%;right:-20%;width:300px;height:300px;background:#ffffff1a;border-radius:50%;animation:float 6s ease-in-out infinite}.modal-header-content{display:flex;align-items:center;gap:1.25rem;position:relative;z-index:1}.modal-icon{width:56px;height:56px;border-radius:14px;background:#fff3;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);display:flex;align-items:center;justify-content:center;border:2px solid rgba(255,255,255,.3)}.modal-icon svg{width:28px;height:28px;color:#fff}.agent-modal-header h2{font-size:1.5rem;font-weight:800;color:#fff;margin:0 0 .25rem;text-shadow:0 2px 4px rgba(0,0,0,.1)}.agent-modal-header p{font-size:.875rem;color:#ffffffe6;margin:0}.close-modal-btn{width:44px;height:44px;border-radius:50%;background:#fff3;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border:2px solid rgba(255,255,255,.3);display:flex;align-items:center;justify-content:center;cursor:pointer;transition:all .3s ease;position:relative;z-index:1}.close-modal-btn svg{width:22px;height:22px;color:#fff;transition:all .3s ease}.close-modal-btn:hover{background:#ffffff4d;transform:rotate(90deg)}.agent-modal-tabs{display:flex;background:linear-gradient(135deg,#f9fafb,#f3f4f6);border-bottom:2px solid #e5e7eb;padding:0 1rem;gap:.5rem}.tab-btn{position:relative;display:flex;align-items:center;gap:.625rem;padding:1.125rem 1.5rem;border:none;background:transparent;border-bottom:3px solid transparent;cursor:pointer;font-weight:600;font-size:.9375rem;color:#6b7280;transition:all .3s ease;margin-bottom:-2px}.tab-btn svg{width:20px;height:20px;transition:all .3s ease}.tab-btn:hover{color:#f093fb;background:#f093fb0d}.tab-btn:hover svg{transform:scale(1.1)}.tab-btn.active{color:#f093fb;border-bottom-color:#f093fb;background:#fff}.tab-btn.active svg{animation:bounce .6s ease}.modal-content{flex:1;overflow-y:auto;padding:2rem;background:#fafafa}.modal-content::-webkit-scrollbar{width:8px}.modal-content::-webkit-scrollbar-track{background:#f1f1f1}.modal-content::-webkit-scrollbar-thumb{background:linear-gradient(135deg,#f093fb,#f5576c);border-radius:10px}.modal-content::-webkit-scrollbar-thumb:hover{background:linear-gradient(135deg,#f5576c,#f093fb)}.tab-content{display:flex;flex-direction:column;gap:1.5rem}.form-group{display:flex;flex-direction:column;gap:.75rem}.form-group label{font-weight:600;color:#374151;font-size:.9375rem;display:flex;align-items:center;gap:.5rem}.form-group label svg{width:18px;height:18px;color:#f093fb}.form-group input,.form-group textarea,.form-group select{width:100%;padding:.875rem 1rem;border:2px solid #e5e7eb;border-radius:12px;font-size:.9375rem;transition:all .3s ease;background:#fff;font-family:inherit}.form-group input:focus,.form-group textarea:focus,.form-group select:focus{outline:none;border-color:#f093fb;background:#fff;box-shadow:0 0 0 4px #f093fb1a}.form-group textarea{resize:vertical;min-height:100px}.agent-type-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:1rem}.agent-type-card{padding:1.25rem;border:2px solid #e5e7eb;border-radius:14px;background:#fff;cursor:pointer;text-align:left;transition:all .3s ease;position:relative;overflow:hidden}.agent-type-card:before{content:"";position:absolute;top:0;left:0;right:0;height:4px;background:var(--gradient);transform:scaleX(0);transition:transform .3s ease}.agent-type-card:hover:before,.agent-type-card.selected:before{transform:scaleX(1)}.agent-type-card:hover{transform:translateY(-4px);box-shadow:0 8px 20px #0000001a}.agent-type-card.selected{border-color:#f093fb;background:linear-gradient(135deg,#fff5f5,#ffe4f8);box-shadow:0 4px 16px #f093fb33}.agent-type-icon{width:48px;height:48px;border-radius:12px;background:var(--gradient);display:flex;align-items:center;justify-content:center;margin-bottom:1rem;transition:all .3s ease}.agent-type-card:hover .agent-type-icon,.agent-type-card.selected .agent-type-icon{transform:scale(1.1) rotate(5deg)}.agent-type-icon svg{width:24px;height:24px;color:#fff}.agent-type-label{font-weight:700;font-size:1rem;color:#1f2937;margin-bottom:.375rem}.agent-type-description{font-size:.875rem;color:#6b7280;line-height:1.4}.config-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:1.5rem}input[type=range]{width:100%;height:8px;border-radius:5px;background:linear-gradient(to right,#667eea,#f093fb);outline:none;-webkit-appearance:none;margin:.5rem 0}input[type=range]::-webkit-slider-thumb{-webkit-appearance:none;-moz-appearance:none;appearance:none;width:20px;height:20px;border-radius:50%;background:#fff;cursor:pointer;box-shadow:0 2px 8px #0003;border:3px solid #f093fb;transition:all .3s ease}input[type=range]::-webkit-slider-thumb:hover{transform:scale(1.2);box-shadow:0 4px 12px #0000004d}input[type=range]::-moz-range-thumb{width:20px;height:20px;border-radius:50%;background:#fff;cursor:pointer;box-shadow:0 2px 8px #0003;border:3px solid #f093fb}.range-labels{display:flex;justify-content:space-between;font-size:.75rem;color:#6b7280;margin-top:.25rem}.documents-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:1rem}.document-card{background:#fff;border:2px solid #e5e7eb;border-radius:14px;padding:1.25rem;display:flex;flex-direction:column;align-items:center;text-align:center;gap:1rem;transition:all .3s ease;animation:fadeInUp .4s ease-out}.document-card:hover{border-color:#f093fb;box-shadow:0 4px 16px #f093fb26;transform:translateY(-4px)}.document-icon{width:56px;height:56px;border-radius:12px;background:linear-gradient(135deg,#43e97b15,#38f9d725);display:flex;align-items:center;justify-content:center;transition:all .3s ease}.document-card:hover .document-icon{transform:scale(1.1) rotate(5deg)}.document-icon svg{width:28px;height:28px;color:#43e97b}.document-name{font-weight:600;color:#1f2937;font-size:.875rem;word-break:break-word;flex:1}.add-doc-btn{display:flex;align-items:center;justify-content:center;gap:.375rem;width:100%;padding:.625rem 1rem;background:linear-gradient(135deg,#43e97b,#38f9d7);color:#fff;border:none;border-radius:10px;font-size:.875rem;font-weight:600;cursor:pointer;transition:all .3s ease;box-shadow:0 2px 8px #43e97b33}.add-doc-btn svg{width:16px;height:16px}.add-doc-btn:hover{transform:translateY(-2px);box-shadow:0 4px 16px #43e97b4d}.empty-state{text-align:center;padding:3rem 2rem;background:linear-gradient(135deg,#f9fafb,#f3f4f6);border-radius:12px;border:2px dashed #d1d5db}.empty-state svg{width:64px;height:64px;color:#9ca3af;margin-bottom:1rem;animation:float 3s ease-in-out infinite}.empty-state p{color:#6b7280;font-size:1rem;margin:0}.agent-documents-list{display:flex;flex-direction:column;gap:.875rem}.document-list-item{display:flex;align-items:center;gap:1rem;padding:1.25rem;background:#fff;border:2px solid #e5e7eb;border-radius:14px;transition:all .3s ease;animation:slideIn .4s ease-out}.document-list-item:hover{border-color:#f093fb;box-shadow:0 4px 16px #f093fb26;transform:translate(4px)}.document-list-icon{width:48px;height:48px;border-radius:12px;background:linear-gradient(135deg,#43e97b,#38f9d7);display:flex;align-items:center;justify-content:center;flex-shrink:0}.document-list-icon svg{width:24px;height:24px;color:#fff}.document-list-info{flex:1;min-width:0}.document-list-name{font-weight:700;color:#1f2937;font-size:.9375rem;margin-bottom:.25rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.document-list-subtitle{font-size:.875rem;color:#6b7280}.remove-doc-btn{display:flex;align-items:center;gap:.375rem;padding:.625rem 1rem;background:linear-gradient(135deg,#fee2e2,#fecaca);color:#dc2626;border:2px solid #fecaca;border-radius:10px;cursor:pointer;font-size:.875rem;font-weight:600;transition:all .3s ease;white-space:nowrap;flex-shrink:0}.remove-doc-btn svg{width:16px;height:16px}.remove-doc-btn:hover{background:linear-gradient(135deg,#fecaca,#fee2e2);border-color:#dc2626;transform:translateY(-2px);box-shadow:0 4px 12px #dc262633}.modal-footer{padding:1.5rem 2rem;border-top:1px solid #e5e7eb;display:flex;justify-content:flex-end;gap:.75rem;background:#fff}.cancel-btn,.save-btn{display:flex;align-items:center;gap:.5rem;padding:.875rem 2rem;border-radius:12px;font-size:.9375rem;font-weight:600;cursor:pointer;transition:all .3s ease}.cancel-btn{background:#fff;color:#6b7280;border:2px solid #e5e7eb}.cancel-btn:hover:not(:disabled){background:#f9fafb;border-color:#d1d5db;color:#4b5563}.save-btn{background:linear-gradient(135deg,#f093fb,#f5576c);color:#fff;border:none;box-shadow:0 4px 12px #f093fb4d}.save-btn svg{width:20px;height:20px}.save-btn:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 6px 20px #f093fb66}.save-btn:disabled,.cancel-btn:disabled{opacity:.5;cursor:not-allowed;transform:none}@keyframes slideUp{0%{opacity:0;transform:translateY(40px) scale(.95)}to{opacity:1;transform:translateY(0) scale(1)}}@keyframes fadeInUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}@keyframes slideIn{0%{opacity:0;transform:translate(-20px)}to{opacity:1;transform:translate(0)}}@keyframes bounce{0%,to{transform:translateY(0)}50%{transform:translateY(-5px)}}@media (max-width: 768px){.agent-modal-container{max-width:100%;max-height:100vh;border-radius:0}.agent-modal-header{padding:1.5rem}.agent-modal-header h2{font-size:1.25rem}.modal-icon{width:48px;height:48px}.modal-icon svg{width:24px;height:24px}.agent-modal-tabs{overflow-x:auto;padding:0 .5rem}.tab-btn{padding:1rem;font-size:.875rem;white-space:nowrap}.modal-content{padding:1.5rem}.agent-type-grid,.config-grid,.documents-grid{grid-template-columns:1fr}.modal-footer{flex-direction:column}.cancel-btn,.save-btn{width:100%;justify-content:center}}.agents-page{min-height:100vh;background:linear-gradient(135deg,#ffecd2,#fcb69f);padding:2rem 1rem}.agents-container{max-width:1400px;margin:0 auto;animation:fadeIn .6s ease-out}.agents-loading{min-height:100vh;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:1.5rem}.agents-loading p{color:#6b7280;font-size:1.125rem;font-weight:500}.agents-header{background:#fff;border-radius:20px;padding:2rem;margin-bottom:2rem;box-shadow:0 10px 40px #00000014;animation:slideDown .6s ease-out}.header-content{display:flex;justify-content:space-between;align-items:center;gap:1.5rem;flex-wrap:wrap}.header-info{display:flex;align-items:center;gap:1.5rem;flex:1}.header-icon{width:72px;height:72px;border-radius:18px;background:linear-gradient(135deg,#f093fb,#f5576c);display:flex;align-items:center;justify-content:center;box-shadow:0 8px 24px #f093fb66;animation:pulse 2s ease-in-out infinite;flex-shrink:0}.header-icon svg{width:36px;height:36px;color:#fff}.header-info h1{font-size:2rem;font-weight:800;margin:0 0 .25rem;color:#1f2937}.header-info p{color:#6b7280;font-size:1rem;margin:0}.create-agent-btn{display:flex;align-items:center;gap:.5rem;padding:.875rem 1.5rem;background:linear-gradient(135deg,#f093fb,#f5576c);color:#fff;border:none;border-radius:12px;font-size:.9375rem;font-weight:600;cursor:pointer;transition:all .3s ease;box-shadow:0 4px 12px #f093fb4d}.create-agent-btn svg{width:20px;height:20px}.create-agent-btn:hover{transform:translateY(-2px);box-shadow:0 6px 20px #f093fb66}.empty-agents{text-align:center;padding:4rem 2rem;background:#fff;border-radius:20px;box-shadow:0 4px 20px #00000014;animation:fadeInUp .6s ease-out}.empty-icon{width:120px;height:120px;margin:0 auto 2rem;border-radius:50%;background:linear-gradient(135deg,#f093fb15,#f5576c15);display:flex;align-items:center;justify-content:center;animation:float 3s ease-in-out infinite}.empty-icon svg{width:60px;height:60px;color:#f093fb}.empty-agents h3{font-size:1.5rem;font-weight:700;color:#1f2937;margin:0 0 .5rem}.empty-agents p{color:#6b7280;font-size:1rem;margin:0 0 2rem;max-width:500px;margin-left:auto;margin-right:auto}.create-first-agent-btn{display:inline-flex;align-items:center;gap:.625rem;padding:1rem 2rem;background:linear-gradient(135deg,#f093fb,#f5576c);color:#fff;border:none;border-radius:12px;font-size:1rem;font-weight:600;cursor:pointer;transition:all .3s ease;box-shadow:0 4px 16px #f093fb4d}.create-first-agent-btn svg{width:22px;height:22px}.create-first-agent-btn:hover{transform:translateY(-2px);box-shadow:0 6px 24px #f093fb66}.agents-stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:1.5rem;margin-bottom:2rem;animation:fadeInUp .6s ease-out .1s;animation-fill-mode:both}.stat-card{background:#fff;border-radius:16px;padding:1.75rem;box-shadow:0 4px 20px #00000014;transition:all .3s ease;position:relative;overflow:hidden}.stat-card:before{content:"";position:absolute;top:0;left:0;right:0;height:4px;background:var(--gradient)}.stat-card:hover{transform:translateY(-4px);box-shadow:0 8px 30px #0000001f}.stat-content{display:flex;align-items:center;justify-content:space-between}.stat-info{flex:1}.stat-label{font-size:.875rem;color:#6b7280;margin-bottom:.5rem;font-weight:500;text-transform:uppercase;letter-spacing:.5px}.stat-value{font-size:2rem;font-weight:800;background:var(--gradient);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.stat-icon{width:56px;height:56px;border-radius:14px;background:var(--gradient);display:flex;align-items:center;justify-content:center;box-shadow:0 8px 20px #00000026;transition:all .3s ease}.stat-card:hover .stat-icon{transform:scale(1.1) rotate(5deg)}.stat-icon svg{width:28px;height:28px;color:#fff}.agents-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(360px,1fr));gap:1.5rem;animation:fadeInUp .6s ease-out .2s;animation-fill-mode:both}.loading-spinner-large{width:48px;height:48px;border:4px solid #f3f4f6;border-top-color:#f093fb;border-radius:50%;animation:spin .8s linear infinite}@keyframes fadeInUp{0%{opacity:0;transform:translateY(30px)}to{opacity:1;transform:translateY(0)}}@keyframes slideDown{0%{opacity:0;transform:translateY(-20px)}to{opacity:1;transform:translateY(0)}}@keyframes pulse{0%,to{transform:scale(1)}50%{transform:scale(1.05)}}@keyframes float{0%,to{transform:translateY(0)}50%{transform:translateY(-15px)}}@keyframes spin{to{transform:rotate(360deg)}}@media (max-width: 768px){.agents-page{padding:1rem .5rem}.agents-header{padding:1.5rem}.header-content{flex-direction:column;align-items:stretch}.header-info{gap:1rem}.header-icon{width:56px;height:56px}.header-icon svg{width:28px;height:28px}.header-info h1{font-size:1.5rem}.create-agent-btn{width:100%;justify-content:center}.agents-stats,.agents-grid{grid-template-columns:1fr}}@media (prefers-reduced-motion: reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}/*!
 * Quill Editor v1.3.7
 * https://quilljs.com/
 * Copyright (c) 2014, Jason Chen
 * Copyright (c) 2013, salesforce.com
 */.ql-container{box-sizing:border-box;font-family:Helvetica,Arial,sans-serif;font-size:13px;height:100%;margin:0;position:relative}.ql-container.ql-disabled .ql-tooltip{visibility:hidden}.ql-container.ql-disabled .ql-editor ul[data-checked]>li:before{pointer-events:none}.ql-clipboard{left:-100000px;height:1px;overflow-y:hidden;position:absolute;top:50%}.ql-clipboard p{margin:0;padding:0}.ql-editor{box-sizing:border-box;line-height:1.42;height:100%;outline:none;overflow-y:auto;padding:12px 15px;tab-size:4;-moz-tab-size:4;text-align:left;white-space:pre-wrap;word-wrap:break-word}.ql-editor>*{cursor:text}.ql-editor p,.ql-editor ol,.ql-editor ul,.ql-editor pre,.ql-editor blockquote,.ql-editor h1,.ql-editor h2,.ql-editor h3,.ql-editor h4,.ql-editor h5,.ql-editor h6{margin:0;padding:0;counter-reset:list-1 list-2 list-3 list-4 list-5 list-6 list-7 list-8 list-9}.ql-editor ol,.ql-editor ul{padding-left:1.5em}.ql-editor ol>li,.ql-editor ul>li{list-style-type:none}.ql-editor ul>li:before{content:"•"}.ql-editor ul[data-checked=true],.ql-editor ul[data-checked=false]{pointer-events:none}.ql-editor ul[data-checked=true]>li *,.ql-editor ul[data-checked=false]>li *{pointer-events:all}.ql-editor ul[data-checked=true]>li:before,.ql-editor ul[data-checked=false]>li:before{color:#777;cursor:pointer;pointer-events:all}.ql-editor ul[data-checked=true]>li:before{content:"☑"}.ql-editor ul[data-checked=false]>li:before{content:"☐"}.ql-editor li:before{display:inline-block;white-space:nowrap;width:1.2em}.ql-editor li:not(.ql-direction-rtl):before{margin-left:-1.5em;margin-right:.3em;text-align:right}.ql-editor li.ql-direction-rtl:before{margin-left:.3em;margin-right:-1.5em}.ql-editor ol li:not(.ql-direction-rtl),.ql-editor ul li:not(.ql-direction-rtl){padding-left:1.5em}.ql-editor ol li.ql-direction-rtl,.ql-editor ul li.ql-direction-rtl{padding-right:1.5em}.ql-editor ol li{counter-reset:list-1 list-2 list-3 list-4 list-5 list-6 list-7 list-8 list-9;counter-increment:list-0}.ql-editor ol li:before{content:counter(list-0,decimal) ". "}.ql-editor ol li.ql-indent-1{counter-increment:list-1}.ql-editor ol li.ql-indent-1:before{content:counter(list-1,lower-alpha) ". "}.ql-editor ol li.ql-indent-1{counter-reset:list-2 list-3 list-4 list-5 list-6 list-7 list-8 list-9}.ql-editor ol li.ql-indent-2{counter-increment:list-2}.ql-editor ol li.ql-indent-2:before{content:counter(list-2,lower-roman) ". "}.ql-editor ol li.ql-indent-2{counter-reset:list-3 list-4 list-5 list-6 list-7 list-8 list-9}.ql-editor ol li.ql-indent-3{counter-increment:list-3}.ql-editor ol li.ql-indent-3:before{content:counter(list-3,decimal) ". "}.ql-editor ol li.ql-indent-3{counter-reset:list-4 list-5 list-6 list-7 list-8 list-9}.ql-editor ol li.ql-indent-4{counter-increment:list-4}.ql-editor ol li.ql-indent-4:before{content:counter(list-4,lower-alpha) ". "}.ql-editor ol li.ql-indent-4{counter-reset:list-5 list-6 list-7 list-8 list-9}.ql-editor ol li.ql-indent-5{counter-increment:list-5}.ql-editor ol li.ql-indent-5:before{content:counter(list-5,lower-roman) ". "}.ql-editor ol li.ql-indent-5{counter-reset:list-6 list-7 list-8 list-9}.ql-editor ol li.ql-indent-6{counter-increment:list-6}.ql-editor ol li.ql-indent-6:before{content:counter(list-6,decimal) ". "}.ql-editor ol li.ql-indent-6{counter-reset:list-7 list-8 list-9}.ql-editor ol li.ql-indent-7{counter-increment:list-7}.ql-editor ol li.ql-indent-7:before{content:counter(list-7,lower-alpha) ". "}.ql-editor ol li.ql-indent-7{counter-reset:list-8 list-9}.ql-editor ol li.ql-indent-8{counter-increment:list-8}.ql-editor ol li.ql-indent-8:before{content:counter(list-8,lower-roman) ". "}.ql-editor ol li.ql-indent-8{counter-reset:list-9}.ql-editor ol li.ql-indent-9{counter-increment:list-9}.ql-editor ol li.ql-indent-9:before{content:counter(list-9,decimal) ". "}.ql-editor .ql-indent-1:not(.ql-direction-rtl){padding-left:3em}.ql-editor li.ql-indent-1:not(.ql-direction-rtl){padding-left:4.5em}.ql-editor .ql-indent-1.ql-direction-rtl.ql-align-right{padding-right:3em}.ql-editor li.ql-indent-1.ql-direction-rtl.ql-align-right{padding-right:4.5em}.ql-editor .ql-indent-2:not(.ql-direction-rtl){padding-left:6em}.ql-editor li.ql-indent-2:not(.ql-direction-rtl){padding-left:7.5em}.ql-editor .ql-indent-2.ql-direction-rtl.ql-align-right{padding-right:6em}.ql-editor li.ql-indent-2.ql-direction-rtl.ql-align-right{padding-right:7.5em}.ql-editor .ql-indent-3:not(.ql-direction-rtl){padding-left:9em}.ql-editor li.ql-indent-3:not(.ql-direction-rtl){padding-left:10.5em}.ql-editor .ql-indent-3.ql-direction-rtl.ql-align-right{padding-right:9em}.ql-editor li.ql-indent-3.ql-direction-rtl.ql-align-right{padding-right:10.5em}.ql-editor .ql-indent-4:not(.ql-direction-rtl){padding-left:12em}.ql-editor li.ql-indent-4:not(.ql-direction-rtl){padding-left:13.5em}.ql-editor .ql-indent-4.ql-direction-rtl.ql-align-right{padding-right:12em}.ql-editor li.ql-indent-4.ql-direction-rtl.ql-align-right{padding-right:13.5em}.ql-editor .ql-indent-5:not(.ql-direction-rtl){padding-left:15em}.ql-editor li.ql-indent-5:not(.ql-direction-rtl){padding-left:16.5em}.ql-editor .ql-indent-5.ql-direction-rtl.ql-align-right{padding-right:15em}.ql-editor li.ql-indent-5.ql-direction-rtl.ql-align-right{padding-right:16.5em}.ql-editor .ql-indent-6:not(.ql-direction-rtl){padding-left:18em}.ql-editor li.ql-indent-6:not(.ql-direction-rtl){padding-left:19.5em}.ql-editor .ql-indent-6.ql-direction-rtl.ql-align-right{padding-right:18em}.ql-editor li.ql-indent-6.ql-direction-rtl.ql-align-right{padding-right:19.5em}.ql-editor .ql-indent-7:not(.ql-direction-rtl){padding-left:21em}.ql-editor li.ql-indent-7:not(.ql-direction-rtl){padding-left:22.5em}.ql-editor .ql-indent-7.ql-direction-rtl.ql-align-right{padding-right:21em}.ql-editor li.ql-indent-7.ql-direction-rtl.ql-align-right{padding-right:22.5em}.ql-editor .ql-indent-8:not(.ql-direction-rtl){padding-left:24em}.ql-editor li.ql-indent-8:not(.ql-direction-rtl){padding-left:25.5em}.ql-editor .ql-indent-8.ql-direction-rtl.ql-align-right{padding-right:24em}.ql-editor li.ql-indent-8.ql-direction-rtl.ql-align-right{padding-right:25.5em}.ql-editor .ql-indent-9:not(.ql-direction-rtl){padding-left:27em}.ql-editor li.ql-indent-9:not(.ql-direction-rtl){padding-left:28.5em}.ql-editor .ql-indent-9.ql-direction-rtl.ql-align-right{padding-right:27em}.ql-editor li.ql-indent-9.ql-direction-rtl.ql-align-right{padding-right:28.5em}.ql-editor .ql-video{display:block;max-width:100%}.ql-editor .ql-video.ql-align-center{margin:0 auto}.ql-editor .ql-video.ql-align-right{margin:0 0 0 auto}.ql-editor .ql-bg-black{background-color:#000}.ql-editor .ql-bg-red{background-color:#e60000}.ql-editor .ql-bg-orange{background-color:#f90}.ql-editor .ql-bg-yellow{background-color:#ff0}.ql-editor .ql-bg-green{background-color:#008a00}.ql-editor .ql-bg-blue{background-color:#06c}.ql-editor .ql-bg-purple{background-color:#93f}.ql-editor .ql-color-white{color:#fff}.ql-editor .ql-color-red{color:#e60000}.ql-editor .ql-color-orange{color:#f90}.ql-editor .ql-color-yellow{color:#ff0}.ql-editor .ql-color-green{color:#008a00}.ql-editor .ql-color-blue{color:#06c}.ql-editor .ql-color-purple{color:#93f}.ql-editor .ql-font-serif{font-family:Georgia,Times New Roman,serif}.ql-editor .ql-font-monospace{font-family:Monaco,Courier New,monospace}.ql-editor .ql-size-small{font-size:.75em}.ql-editor .ql-size-large{font-size:1.5em}.ql-editor .ql-size-huge{font-size:2.5em}.ql-editor .ql-direction-rtl{direction:rtl;text-align:inherit}.ql-editor .ql-align-center{text-align:center}.ql-editor .ql-align-justify{text-align:justify}.ql-editor .ql-align-right{text-align:right}.ql-editor.ql-blank:before{color:#0009;content:attr(data-placeholder);font-style:italic;left:15px;pointer-events:none;position:absolute;right:15px}.ql-snow.ql-toolbar:after,.ql-snow .ql-toolbar:after{clear:both;content:"";display:table}.ql-snow.ql-toolbar button,.ql-snow .ql-toolbar button{background:none;border:none;cursor:pointer;display:inline-block;float:left;height:24px;padding:3px 5px;width:28px}.ql-snow.ql-toolbar button svg,.ql-snow .ql-toolbar button svg{float:left;height:100%}.ql-snow.ql-toolbar button:active:hover,.ql-snow .ql-toolbar button:active:hover{outline:none}.ql-snow.ql-toolbar input.ql-image[type=file],.ql-snow .ql-toolbar input.ql-image[type=file]{display:none}.ql-snow.ql-toolbar button:hover,.ql-snow .ql-toolbar button:hover,.ql-snow.ql-toolbar button:focus,.ql-snow .ql-toolbar button:focus,.ql-snow.ql-toolbar button.ql-active,.ql-snow .ql-toolbar button.ql-active,.ql-snow.ql-toolbar .ql-picker-label:hover,.ql-snow .ql-toolbar .ql-picker-label:hover,.ql-snow.ql-toolbar .ql-picker-label.ql-active,.ql-snow .ql-toolbar .ql-picker-label.ql-active,.ql-snow.ql-toolbar .ql-picker-item:hover,.ql-snow .ql-toolbar .ql-picker-item:hover,.ql-snow.ql-toolbar .ql-picker-item.ql-selected,.ql-snow .ql-toolbar .ql-picker-item.ql-selected{color:#06c}.ql-snow.ql-toolbar button:hover .ql-fill,.ql-snow .ql-toolbar button:hover .ql-fill,.ql-snow.ql-toolbar button:focus .ql-fill,.ql-snow .ql-toolbar button:focus .ql-fill,.ql-snow.ql-toolbar button.ql-active .ql-fill,.ql-snow .ql-toolbar button.ql-active .ql-fill,.ql-snow.ql-toolbar .ql-picker-label:hover .ql-fill,.ql-snow .ql-toolbar .ql-picker-label:hover .ql-fill,.ql-snow.ql-toolbar .ql-picker-label.ql-active .ql-fill,.ql-snow .ql-toolbar .ql-picker-label.ql-active .ql-fill,.ql-snow.ql-toolbar .ql-picker-item:hover .ql-fill,.ql-snow .ql-toolbar .ql-picker-item:hover .ql-fill,.ql-snow.ql-toolbar .ql-picker-item.ql-selected .ql-fill,.ql-snow .ql-toolbar .ql-picker-item.ql-selected .ql-fill,.ql-snow.ql-toolbar button:hover .ql-stroke.ql-fill,.ql-snow .ql-toolbar button:hover .ql-stroke.ql-fill,.ql-snow.ql-toolbar button:focus .ql-stroke.ql-fill,.ql-snow .ql-toolbar button:focus .ql-stroke.ql-fill,.ql-snow.ql-toolbar button.ql-active .ql-stroke.ql-fill,.ql-snow .ql-toolbar button.ql-active .ql-stroke.ql-fill,.ql-snow.ql-toolbar .ql-picker-label:hover .ql-stroke.ql-fill,.ql-snow .ql-toolbar .ql-picker-label:hover .ql-stroke.ql-fill,.ql-snow.ql-toolbar .ql-picker-label.ql-active .ql-stroke.ql-fill,.ql-snow .ql-toolbar .ql-picker-label.ql-active .ql-stroke.ql-fill,.ql-snow.ql-toolbar .ql-picker-item:hover .ql-stroke.ql-fill,.ql-snow .ql-toolbar .ql-picker-item:hover .ql-stroke.ql-fill,.ql-snow.ql-toolbar .ql-picker-item.ql-selected .ql-stroke.ql-fill,.ql-snow .ql-toolbar .ql-picker-item.ql-selected .ql-stroke.ql-fill{fill:#06c}.ql-snow.ql-toolbar button:hover .ql-stroke,.ql-snow .ql-toolbar button:hover .ql-stroke,.ql-snow.ql-toolbar button:focus .ql-stroke,.ql-snow .ql-toolbar button:focus .ql-stroke,.ql-snow.ql-toolbar button.ql-active .ql-stroke,.ql-snow .ql-toolbar button.ql-active .ql-stroke,.ql-snow.ql-toolbar .ql-picker-label:hover .ql-stroke,.ql-snow .ql-toolbar .ql-picker-label:hover .ql-stroke,.ql-snow.ql-toolbar .ql-picker-label.ql-active .ql-stroke,.ql-snow .ql-toolbar .ql-picker-label.ql-active .ql-stroke,.ql-snow.ql-toolbar .ql-picker-item:hover .ql-stroke,.ql-snow .ql-toolbar .ql-picker-item:hover .ql-stroke,.ql-snow.ql-toolbar .ql-picker-item.ql-selected .ql-stroke,.ql-snow .ql-toolbar .ql-picker-item.ql-selected .ql-stroke,.ql-snow.ql-toolbar button:hover .ql-stroke-miter,.ql-snow .ql-toolbar button:hover .ql-stroke-miter,.ql-snow.ql-toolbar button:focus .ql-stroke-miter,.ql-snow .ql-toolbar button:focus .ql-stroke-miter,.ql-snow.ql-toolbar button.ql-active .ql-stroke-miter,.ql-snow .ql-toolbar button.ql-active .ql-stroke-miter,.ql-snow.ql-toolbar .ql-picker-label:hover .ql-stroke-miter,.ql-snow .ql-toolbar .ql-picker-label:hover .ql-stroke-miter,.ql-snow.ql-toolbar .ql-picker-label.ql-active .ql-stroke-miter,.ql-snow .ql-toolbar .ql-picker-label.ql-active .ql-stroke-miter,.ql-snow.ql-toolbar .ql-picker-item:hover .ql-stroke-miter,.ql-snow .ql-toolbar .ql-picker-item:hover .ql-stroke-miter,.ql-snow.ql-toolbar .ql-picker-item.ql-selected .ql-stroke-miter,.ql-snow .ql-toolbar .ql-picker-item.ql-selected .ql-stroke-miter{stroke:#06c}@media (pointer: coarse){.ql-snow.ql-toolbar button:hover:not(.ql-active),.ql-snow .ql-toolbar button:hover:not(.ql-active){color:#444}.ql-snow.ql-toolbar button:hover:not(.ql-active) .ql-fill,.ql-snow .ql-toolbar button:hover:not(.ql-active) .ql-fill,.ql-snow.ql-toolbar button:hover:not(.ql-active) .ql-stroke.ql-fill,.ql-snow .ql-toolbar button:hover:not(.ql-active) .ql-stroke.ql-fill{fill:#444}.ql-snow.ql-toolbar button:hover:not(.ql-active) .ql-stroke,.ql-snow .ql-toolbar button:hover:not(.ql-active) .ql-stroke,.ql-snow.ql-toolbar button:hover:not(.ql-active) .ql-stroke-miter,.ql-snow .ql-toolbar button:hover:not(.ql-active) .ql-stroke-miter{stroke:#444}}.ql-snow,.ql-snow *{box-sizing:border-box}.ql-snow .ql-hidden{display:none}.ql-snow .ql-out-bottom,.ql-snow .ql-out-top{visibility:hidden}.ql-snow .ql-tooltip{position:absolute;transform:translateY(10px)}.ql-snow .ql-tooltip a{cursor:pointer;text-decoration:none}.ql-snow .ql-tooltip.ql-flip{transform:translateY(-10px)}.ql-snow .ql-formats{display:inline-block;vertical-align:middle}.ql-snow .ql-formats:after{clear:both;content:"";display:table}.ql-snow .ql-stroke{fill:none;stroke:#444;stroke-linecap:round;stroke-linejoin:round;stroke-width:2}.ql-snow .ql-stroke-miter{fill:none;stroke:#444;stroke-miterlimit:10;stroke-width:2}.ql-snow .ql-fill,.ql-snow .ql-stroke.ql-fill{fill:#444}.ql-snow .ql-empty{fill:none}.ql-snow .ql-even{fill-rule:evenodd}.ql-snow .ql-thin,.ql-snow .ql-stroke.ql-thin{stroke-width:1}.ql-snow .ql-transparent{opacity:.4}.ql-snow .ql-direction svg:last-child{display:none}.ql-snow .ql-direction.ql-active svg:last-child{display:inline}.ql-snow .ql-direction.ql-active svg:first-child{display:none}.ql-snow .ql-editor h1{font-size:2em}.ql-snow .ql-editor h2{font-size:1.5em}.ql-snow .ql-editor h3{font-size:1.17em}.ql-snow .ql-editor h4{font-size:1em}.ql-snow .ql-editor h5{font-size:.83em}.ql-snow .ql-editor h6{font-size:.67em}.ql-snow .ql-editor a{text-decoration:underline}.ql-snow .ql-editor blockquote{border-left:4px solid #ccc;margin-bottom:5px;margin-top:5px;padding-left:16px}.ql-snow .ql-editor code,.ql-snow .ql-editor pre{background-color:#f0f0f0;border-radius:3px}.ql-snow .ql-editor pre{white-space:pre-wrap;margin-bottom:5px;margin-top:5px;padding:5px 10px}.ql-snow .ql-editor code{font-size:85%;padding:2px 4px}.ql-snow .ql-editor pre.ql-syntax{background-color:#23241f;color:#f8f8f2;overflow:visible}.ql-snow .ql-editor img{max-width:100%}.ql-snow .ql-picker{color:#444;display:inline-block;float:left;font-size:14px;font-weight:500;height:24px;position:relative;vertical-align:middle}.ql-snow .ql-picker-label{cursor:pointer;display:inline-block;height:100%;padding-left:8px;padding-right:2px;position:relative;width:100%}.ql-snow .ql-picker-label:before{display:inline-block;line-height:22px}.ql-snow .ql-picker-options{background-color:#fff;display:none;min-width:100%;padding:4px 8px;position:absolute;white-space:nowrap}.ql-snow .ql-picker-options .ql-picker-item{cursor:pointer;display:block;padding-bottom:5px;padding-top:5px}.ql-snow .ql-picker.ql-expanded .ql-picker-label{color:#ccc;z-index:2}.ql-snow .ql-picker.ql-expanded .ql-picker-label .ql-fill{fill:#ccc}.ql-snow .ql-picker.ql-expanded .ql-picker-label .ql-stroke{stroke:#ccc}.ql-snow .ql-picker.ql-expanded .ql-picker-options{display:block;margin-top:-1px;top:100%;z-index:1}.ql-snow .ql-color-picker,.ql-snow .ql-icon-picker{width:28px}.ql-snow .ql-color-picker .ql-picker-label,.ql-snow .ql-icon-picker .ql-picker-label{padding:2px 4px}.ql-snow .ql-color-picker .ql-picker-label svg,.ql-snow .ql-icon-picker .ql-picker-label svg{right:4px}.ql-snow .ql-icon-picker .ql-picker-options{padding:4px 0}.ql-snow .ql-icon-picker .ql-picker-item{height:24px;width:24px;padding:2px 4px}.ql-snow .ql-color-picker .ql-picker-options{padding:3px 5px;width:152px}.ql-snow .ql-color-picker .ql-picker-item{border:1px solid transparent;float:left;height:16px;margin:2px;padding:0;width:16px}.ql-snow .ql-picker:not(.ql-color-picker):not(.ql-icon-picker) svg{position:absolute;margin-top:-9px;right:0;top:50%;width:18px}.ql-snow .ql-picker.ql-header .ql-picker-label[data-label]:not([data-label=""]):before,.ql-snow .ql-picker.ql-font .ql-picker-label[data-label]:not([data-label=""]):before,.ql-snow .ql-picker.ql-size .ql-picker-label[data-label]:not([data-label=""]):before,.ql-snow .ql-picker.ql-header .ql-picker-item[data-label]:not([data-label=""]):before,.ql-snow .ql-picker.ql-font .ql-picker-item[data-label]:not([data-label=""]):before,.ql-snow .ql-picker.ql-size .ql-picker-item[data-label]:not([data-label=""]):before{content:attr(data-label)}.ql-snow .ql-picker.ql-header{width:98px}.ql-snow .ql-picker.ql-header .ql-picker-label:before,.ql-snow .ql-picker.ql-header .ql-picker-item:before{content:"Normal"}.ql-snow .ql-picker.ql-header .ql-picker-label[data-value="1"]:before,.ql-snow .ql-picker.ql-header .ql-picker-item[data-value="1"]:before{content:"Heading 1"}.ql-snow .ql-picker.ql-header .ql-picker-label[data-value="2"]:before,.ql-snow .ql-picker.ql-header .ql-picker-item[data-value="2"]:before{content:"Heading 2"}.ql-snow .ql-picker.ql-header .ql-picker-label[data-value="3"]:before,.ql-snow .ql-picker.ql-header .ql-picker-item[data-value="3"]:before{content:"Heading 3"}.ql-snow .ql-picker.ql-header .ql-picker-label[data-value="4"]:before,.ql-snow .ql-picker.ql-header .ql-picker-item[data-value="4"]:before{content:"Heading 4"}.ql-snow .ql-picker.ql-header .ql-picker-label[data-value="5"]:before,.ql-snow .ql-picker.ql-header .ql-picker-item[data-value="5"]:before{content:"Heading 5"}.ql-snow .ql-picker.ql-header .ql-picker-label[data-value="6"]:before,.ql-snow .ql-picker.ql-header .ql-picker-item[data-value="6"]:before{content:"Heading 6"}.ql-snow .ql-picker.ql-header .ql-picker-item[data-value="1"]:before{font-size:2em}.ql-snow .ql-picker.ql-header .ql-picker-item[data-value="2"]:before{font-size:1.5em}.ql-snow .ql-picker.ql-header .ql-picker-item[data-value="3"]:before{font-size:1.17em}.ql-snow .ql-picker.ql-header .ql-picker-item[data-value="4"]:before{font-size:1em}.ql-snow .ql-picker.ql-header .ql-picker-item[data-value="5"]:before{font-size:.83em}.ql-snow .ql-picker.ql-header .ql-picker-item[data-value="6"]:before{font-size:.67em}.ql-snow .ql-picker.ql-font{width:108px}.ql-snow .ql-picker.ql-font .ql-picker-label:before,.ql-snow .ql-picker.ql-font .ql-picker-item:before{content:"Sans Serif"}.ql-snow .ql-picker.ql-font .ql-picker-label[data-value=serif]:before,.ql-snow .ql-picker.ql-font .ql-picker-item[data-value=serif]:before{content:"Serif"}.ql-snow .ql-picker.ql-font .ql-picker-label[data-value=monospace]:before,.ql-snow .ql-picker.ql-font .ql-picker-item[data-value=monospace]:before{content:"Monospace"}.ql-snow .ql-picker.ql-font .ql-picker-item[data-value=serif]:before{font-family:Georgia,Times New Roman,serif}.ql-snow .ql-picker.ql-font .ql-picker-item[data-value=monospace]:before{font-family:Monaco,Courier New,monospace}.ql-snow .ql-picker.ql-size{width:98px}.ql-snow .ql-picker.ql-size .ql-picker-label:before,.ql-snow .ql-picker.ql-size .ql-picker-item:before{content:"Normal"}.ql-snow .ql-picker.ql-size .ql-picker-label[data-value=small]:before,.ql-snow .ql-picker.ql-size .ql-picker-item[data-value=small]:before{content:"Small"}.ql-snow .ql-picker.ql-size .ql-picker-label[data-value=large]:before,.ql-snow .ql-picker.ql-size .ql-picker-item[data-value=large]:before{content:"Large"}.ql-snow .ql-picker.ql-size .ql-picker-label[data-value=huge]:before,.ql-snow .ql-picker.ql-size .ql-picker-item[data-value=huge]:before{content:"Huge"}.ql-snow .ql-picker.ql-size .ql-picker-item[data-value=small]:before{font-size:10px}.ql-snow .ql-picker.ql-size .ql-picker-item[data-value=large]:before{font-size:18px}.ql-snow .ql-picker.ql-size .ql-picker-item[data-value=huge]:before{font-size:32px}.ql-snow .ql-color-picker.ql-background .ql-picker-item{background-color:#fff}.ql-snow .ql-color-picker.ql-color .ql-picker-item{background-color:#000}.ql-toolbar.ql-snow{border:1px solid #ccc;box-sizing:border-box;font-family:Helvetica Neue,Helvetica,Arial,sans-serif;padding:8px}.ql-toolbar.ql-snow .ql-formats{margin-right:15px}.ql-toolbar.ql-snow .ql-picker-label{border:1px solid transparent}.ql-toolbar.ql-snow .ql-picker-options{border:1px solid transparent;box-shadow:#0003 0 2px 8px}.ql-toolbar.ql-snow .ql-picker.ql-expanded .ql-picker-label,.ql-toolbar.ql-snow .ql-picker.ql-expanded .ql-picker-options{border-color:#ccc}.ql-toolbar.ql-snow .ql-color-picker .ql-picker-item.ql-selected,.ql-toolbar.ql-snow .ql-color-picker .ql-picker-item:hover{border-color:#000}.ql-toolbar.ql-snow+.ql-container.ql-snow{border-top:0px}.ql-snow .ql-tooltip{background-color:#fff;border:1px solid #ccc;box-shadow:0 0 5px #ddd;color:#444;padding:5px 12px;white-space:nowrap}.ql-snow .ql-tooltip:before{content:"Visit URL:";line-height:26px;margin-right:8px}.ql-snow .ql-tooltip input[type=text]{display:none;border:1px solid #ccc;font-size:13px;height:26px;margin:0;padding:3px 5px;width:170px}.ql-snow .ql-tooltip a.ql-preview{display:inline-block;max-width:200px;overflow-x:hidden;text-overflow:ellipsis;vertical-align:top}.ql-snow .ql-tooltip a.ql-action:after{border-right:1px solid #ccc;content:"Edit";margin-left:16px;padding-right:8px}.ql-snow .ql-tooltip a.ql-remove:before{content:"Remove";margin-left:8px}.ql-snow .ql-tooltip a{line-height:26px}.ql-snow .ql-tooltip.ql-editing a.ql-preview,.ql-snow .ql-tooltip.ql-editing a.ql-remove{display:none}.ql-snow .ql-tooltip.ql-editing input[type=text]{display:inline-block}.ql-snow .ql-tooltip.ql-editing a.ql-action:after{border-right:0px;content:"Save";padding-right:0}.ql-snow .ql-tooltip[data-mode=link]:before{content:"Enter link:"}.ql-snow .ql-tooltip[data-mode=formula]:before{content:"Enter formula:"}.ql-snow .ql-tooltip[data-mode=video]:before{content:"Enter video:"}.ql-snow a{color:#06c}.ql-container.ql-snow{border:1px solid #ccc}.integrity-checker{animation:fadeIn .4s ease-out}.integrity-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:1.5rem;padding-bottom:1rem;border-bottom:2px solid #e5e7eb}.integrity-title{margin:0;font-size:1.25rem;font-weight:700;background:linear-gradient(135deg,#667eea,#764ba2);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;display:flex;align-items:center;gap:.5rem}.integrity-title svg{width:1.5rem;height:1.5rem;color:#667eea}.check-btn{display:flex;align-items:center;gap:.5rem;padding:.625rem 1.25rem;background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;border:none;border-radius:10px;cursor:pointer;font-size:.875rem;font-weight:600;transition:all .3s ease;box-shadow:0 4px 12px #667eea4d}.check-btn svg{width:1rem;height:1rem}.check-btn:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 6px 16px #667eea66}.check-btn:active:not(:disabled){transform:translateY(0)}.check-btn:disabled{background:linear-gradient(135deg,#9ca3af,#6b7280);cursor:not-allowed;box-shadow:none}.checking-state{display:flex;align-items:center;gap:.75rem;padding:1.5rem;background:linear-gradient(135deg,#eff6ff,#dbeafe);border-radius:12px;color:#1e40af;font-size:.875rem;font-weight:500;animation:pulse 2s ease-in-out infinite}.checking-spinner{width:20px;height:20px;border:3px solid rgba(102,126,234,.2);border-top:3px solid #667eea;border-radius:50%;animation:spin 1s linear infinite}.score-card{display:flex;align-items:center;justify-content:space-between;padding:1.5rem;background:#fff;border-radius:12px;margin-bottom:1.5rem;box-shadow:0 4px 12px #00000014;animation:scaleIn .4s ease-out;position:relative;overflow:hidden}.score-card:before{content:"";position:absolute;top:0;left:0;right:0;height:4px;background:var(--severity-color);animation:shimmer 2s linear infinite}.score-info .score-label{font-weight:700;color:#1f2937;margin-bottom:.25rem;font-size:1rem}.score-info .score-subtitle{font-size:.875rem;color:#6b7280;display:flex;align-items:center;gap:.5rem}.score-info .score-subtitle svg{width:1rem;height:1rem}.score-display{text-align:right}.score-percentage{font-size:2.5rem;font-weight:800;color:var(--severity-color);line-height:1;margin-bottom:.25rem}.score-severity{display:inline-flex;align-items:center;gap:.375rem;padding:.375rem .75rem;background:var(--severity-color);color:#fff;border-radius:20px;font-size:.75rem;font-weight:700;box-shadow:0 2px 8px #00000026}.score-severity svg{width:.875rem;height:.875rem}.sources-section{margin-bottom:1.5rem}.sources-title{margin:0 0 1rem;font-size:1rem;font-weight:700;color:#1f2937;display:flex;align-items:center;gap:.5rem}.sources-title svg{width:1.125rem;height:1.125rem;color:#667eea}.sources-count{display:inline-flex;align-items:center;justify-content:center;min-width:1.5rem;height:1.5rem;padding:0 .5rem;background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;border-radius:12px;font-size:.75rem;font-weight:700}.sources-list{display:flex;flex-direction:column;gap:1rem}.source-item{padding:1rem;background:#fff;border-radius:12px;border:2px solid #e5e7eb;transition:all .3s ease;animation:slideIn .4s ease-out backwards}.source-item:nth-child(1){animation-delay:.1s}.source-item:nth-child(2){animation-delay:.2s}.source-item:nth-child(3){animation-delay:.3s}.source-item:nth-child(4){animation-delay:.4s}.source-item:nth-child(5){animation-delay:.5s}@keyframes slideIn{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.source-item:hover{border-color:#667eea;box-shadow:0 4px 12px #667eea26;transform:translateY(-2px)}.source-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:.75rem;gap:1rem}.source-info{flex:1;min-width:0}.source-title{font-weight:700;color:#1f2937;font-size:.875rem;margin-bottom:.375rem;display:flex;align-items:center;gap:.375rem}.source-title svg{width:1rem;height:1rem;color:#667eea;flex-shrink:0}.source-link{font-size:.75rem;color:#667eea;text-decoration:none;display:flex;align-items:center;gap:.25rem;word-break:break-all;transition:color .2s ease}.source-link:hover{color:#5568d3;text-decoration:underline}.source-link svg{width:.875rem;height:.875rem;flex-shrink:0}.source-similarity{display:inline-flex;align-items:center;justify-content:center;padding:.375rem .75rem;background:var(--similarity-color);color:#fff;border-radius:20px;font-size:.75rem;font-weight:700;box-shadow:0 2px 8px #00000026;white-space:nowrap}.source-snippet{padding:.75rem;background:linear-gradient(135deg,#f9fafb,#f3f4f6);border-left:3px solid var(--similarity-color);border-radius:8px;font-size:.75rem;color:#4b5563;font-style:italic;line-height:1.6}.recommendations{padding:1.5rem;background:linear-gradient(135deg,#fef3c7,#fde68a);border:2px solid #f59e0b;border-radius:12px;margin-bottom:1.5rem;animation:fadeInUp .5s ease-out}.recommendations-title{margin:0 0 1rem;font-size:1rem;font-weight:700;color:#92400e;display:flex;align-items:center;gap:.5rem}.recommendations-title svg{width:1.25rem;height:1.25rem}.recommendations-list{margin:0;padding-left:1.5rem;color:#78350f;font-size:.875rem;line-height:1.8}.recommendations-list li{margin-bottom:.5rem}.recommendations-list li:last-child{margin-bottom:0}.recommendations-list li.urgent{font-weight:700;color:#dc2626}.good-integrity{padding:1.5rem;background:linear-gradient(135deg,#d1fae5,#a7f3d0);border:2px solid #10b981;border-radius:12px;text-align:center;animation:bounceIn .6s ease-out}@keyframes bounceIn{0%{opacity:0;transform:scale(.8)}50%{transform:scale(1.05)}to{opacity:1;transform:scale(1)}}.good-integrity-icon{font-size:3rem;margin-bottom:.5rem;animation:rotate .6s ease-out}@keyframes rotate{0%{transform:rotate(-45deg) scale(0)}to{transform:rotate(0) scale(1)}}.good-integrity-title{color:#059669;font-weight:700;margin-bottom:.5rem;font-size:1.125rem;display:flex;align-items:center;justify-content:center;gap:.5rem}.good-integrity-title svg{width:1.5rem;height:1.5rem}.good-integrity-message{color:#065f46;font-size:.875rem;line-height:1.6}.error-state{padding:1.5rem;background:linear-gradient(135deg,#fee2e2,#fecaca);border:2px solid #ef4444;border-radius:12px;display:flex;align-items:center;gap:.75rem;color:#dc2626;font-size:.875rem;font-weight:500;animation:shake .5s ease-out}.error-state svg{width:1.5rem;height:1.5rem;flex-shrink:0}.empty-state{padding:3rem 1.5rem;text-align:center;color:#6b7280;font-size:.875rem;font-style:italic}.empty-state svg{width:4rem;height:4rem;color:#d1d5db;margin-bottom:1rem;opacity:.5}.empty-state.auto{padding:2rem 1.5rem}.empty-state.auto svg{width:3rem;height:3rem;animation:float 3s ease-in-out infinite}@keyframes float{0%,to{transform:translateY(0)}50%{transform:translateY(-10px)}}.citation-helper{animation:fadeIn .4s ease-out}.citation-header{margin:0 0 1.5rem;padding-bottom:1rem;border-bottom:2px solid #e5e7eb;font-size:1.25rem;font-weight:700;background:linear-gradient(135deg,#667eea,#764ba2);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;display:flex;align-items:center;gap:.5rem}.citation-header svg{width:1.5rem;height:1.5rem;color:#667eea}.citation-style-section{margin-bottom:1.5rem}.section-label{display:block;margin-bottom:.75rem;font-weight:700;font-size:.875rem;color:#1f2937;display:flex;align-items:center;gap:.5rem}.section-label svg{width:1rem;height:1rem;color:#667eea}.style-buttons{display:flex;gap:.75rem;flex-wrap:wrap}.style-btn{flex:1;min-width:80px;padding:.75rem 1.25rem;border:2px solid #d1d5db;background:#fff;border-radius:10px;cursor:pointer;font-size:.875rem;font-weight:600;color:#6b7280;transition:all .3s ease;position:relative;overflow:hidden}.style-btn:before{content:"";position:absolute;top:0;left:0;right:0;bottom:0;background:linear-gradient(135deg,#667eea,#764ba2);opacity:0;transition:opacity .3s ease}.style-btn span{position:relative;z-index:1}.style-btn:hover{border-color:#667eea;transform:translateY(-2px);box-shadow:0 4px 12px #667eea33}.style-btn.active{border-color:#667eea;color:#fff;box-shadow:0 4px 12px #667eea4d}.style-btn.active:before{opacity:1}.source-type-section{margin-bottom:1.5rem}.source-type-select{width:100%;padding:.75rem 2.5rem .75rem 1rem;border:2px solid #d1d5db;border-radius:10px;font-size:.875rem;font-weight:500;color:#1f2937;background:#fff;cursor:pointer;transition:all .3s ease;-webkit-appearance:none;-moz-appearance:none;appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 24 24' stroke='%23667eea'%3E%3Cpath stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='M19 9l-7 7-7-7'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right .75rem center;background-size:1.25rem}.source-type-select:hover{border-color:#667eea}.source-type-select:focus{outline:none;border-color:#667eea;box-shadow:0 0 0 3px #667eea1a}.citation-form{display:flex;flex-direction:column;gap:1.25rem;margin-bottom:1.5rem}.form-row{display:grid;grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:1rem}.form-field{display:flex;flex-direction:column}.field-label{display:block;margin-bottom:.5rem;font-size:.75rem;font-weight:700;color:#374151;text-transform:uppercase;letter-spacing:.025em}.field-label .required{color:#ef4444;margin-left:.125rem}.field-input{width:100%;padding:.75rem 1rem;border:2px solid #e5e7eb;border-radius:10px;font-size:.875rem;color:#1f2937;background:#fff;transition:all .3s ease}.field-input:hover{border-color:#d1d5db}.field-input:focus{outline:none;border-color:#667eea;box-shadow:0 0 0 3px #667eea1a}.field-input::placeholder{color:#9ca3af;font-style:italic}.field-input.full-width{grid-column:1 / -1}.citation-preview{margin-bottom:1.5rem;padding:1.25rem;background:linear-gradient(135deg,#f0f4ff,#e8eeff);border:2px solid #667eea;border-radius:12px;animation:slideInUp .4s ease-out}@keyframes slideInUp{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.preview-label{display:flex;align-items:center;gap:.5rem;font-size:.75rem;font-weight:700;margin-bottom:.75rem;color:#667eea;text-transform:uppercase;letter-spacing:.05em}.preview-label svg{width:1rem;height:1rem}.preview-text{font-size:.875rem;font-style:italic;color:#1f2937;line-height:1.6;padding:.75rem;background:#fff;border-radius:8px;border-left:4px solid #667eea;word-break:break-word}.preview-text.empty{color:#6b7280;font-style:italic}.citation-actions{display:flex;gap:.75rem;justify-content:flex-end}.action-button{display:flex;align-items:center;gap:.5rem;padding:.75rem 1.5rem;border:none;border-radius:10px;cursor:pointer;font-size:.875rem;font-weight:600;transition:all .3s ease;box-shadow:0 2px 8px #0000001a}.action-button svg{width:1rem;height:1rem}.action-button:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 4px 12px #00000026}.action-button:active:not(:disabled){transform:translateY(0)}.action-button.clear-button{background:#fff;color:#6b7280;border:2px solid #d1d5db;box-shadow:none}.action-button.clear-button:hover{background:#f9fafb;border-color:#9ca3af;box-shadow:0 2px 8px #0000000d}.action-button.insert-button{background:linear-gradient(135deg,#667eea,#764ba2);color:#fff}.action-button.insert-button:disabled{background:linear-gradient(135deg,#9ca3af,#6b7280);cursor:not-allowed;box-shadow:none}.info-tooltip{margin-top:1.5rem;padding:1rem;background:linear-gradient(135deg,#eff6ff,#dbeafe);border-left:4px solid #3b82f6;border-radius:8px;display:flex;gap:.75rem;animation:fadeIn .6s ease-out}.info-tooltip svg{width:1.25rem;height:1.25rem;color:#3b82f6;flex-shrink:0;margin-top:.125rem}.info-tooltip p{margin:0;font-size:.75rem;color:#1e40af;line-height:1.6}@media (max-width: 640px){.style-buttons{flex-direction:column}.style-btn{min-width:100%}.form-row{grid-template-columns:1fr}.citation-actions{flex-direction:column-reverse}.action-button{width:100%;justify-content:center}}.quick-templates{margin-top:1.5rem;padding:1.25rem;background:linear-gradient(135deg,#fef3c7,#fde68a);border-radius:12px;border:2px solid #f59e0b}.templates-title{display:flex;align-items:center;gap:.5rem;font-size:.875rem;font-weight:700;color:#92400e;margin-bottom:.75rem}.templates-title svg{width:1.125rem;height:1.125rem}.template-buttons{display:grid;grid-template-columns:repeat(auto-fit,minmax(100px,1fr));gap:.5rem}.template-btn{padding:.5rem;background:#fff;border:1px solid #f59e0b;border-radius:8px;font-size:.75rem;font-weight:600;color:#92400e;cursor:pointer;transition:all .2s ease}.template-btn:hover{background:#fef3c7;transform:scale(1.05)}.writing-assistant-page{display:flex;height:calc(100vh - 120px);gap:1.5rem;padding:1.5rem;background:linear-gradient(135deg,#667eea,#764ba2,#f093fb);background-size:200% 200%;animation:gradientShift 15s ease infinite}.editor-section{flex:1;display:flex;flex-direction:column;animation:slideInLeft .6s ease-out}@keyframes slideInLeft{0%{opacity:0;transform:translate(-30px)}to{opacity:1;transform:translate(0)}}.editor-header{background:#fff;padding:1.5rem;border-radius:16px 16px 0 0;box-shadow:0 4px 20px #0000001a}.editor-title{margin:0 0 .75rem;font-size:2rem;font-weight:800;background:linear-gradient(135deg,#667eea,#764ba2);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;display:flex;align-items:center;gap:.75rem}.editor-title svg{width:2rem;height:2rem;color:#667eea}.editor-stats{display:flex;gap:2rem;flex-wrap:wrap}.stat-item{display:flex;align-items:center;gap:.5rem;padding:.5rem 1rem;background:linear-gradient(135deg,#f0f4ff,#e8eeff);border-radius:12px;animation:fadeInUp .6s ease-out}@keyframes fadeInUp{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.stat-item svg{width:1.25rem;height:1.25rem;color:#667eea}.stat-label{font-size:.875rem;color:#6b7280;font-weight:500}.stat-value{font-size:.875rem;color:#1f2937;font-weight:700}.stat-item.similarity{background:linear-gradient(135deg,#fee2e2,#fecaca)}.stat-item.similarity.good{background:linear-gradient(135deg,#d1fae5,#a7f3d0)}.stat-item.similarity .stat-value{color:#dc2626}.stat-item.similarity.good .stat-value{color:#059669}.editor-container{flex:1;background:#fff;box-shadow:0 4px 20px #0000001a;overflow:hidden;position:relative}.editor-container:before{content:"";position:absolute;top:0;left:0;right:0;height:4px;background:linear-gradient(90deg,#667eea,#764ba2,#f093fb);background-size:200% 100%;animation:shimmer 3s linear infinite}.quick-actions{background:#fff;padding:1.5rem;border-radius:0 0 16px 16px;display:flex;gap:1rem;flex-wrap:wrap;box-shadow:0 4px 20px #0000001a;animation:slideInUp .6s ease-out}.action-btn{display:flex;align-items:center;gap:.5rem;padding:.75rem 1.5rem;border:none;border-radius:12px;cursor:pointer;font-size:.875rem;font-weight:600;transition:all .3s ease;box-shadow:0 2px 8px #0000001a}.action-btn svg{width:1.25rem;height:1.25rem}.action-btn:not(:disabled):hover{transform:translateY(-2px);box-shadow:0 4px 12px #00000026}.action-btn:not(:disabled):active{transform:translateY(0)}.action-btn:disabled{opacity:.5;cursor:not-allowed}.action-btn.copy-btn{background:linear-gradient(135deg,#4facfe,#00f2fe);color:#fff}.action-btn.export-btn{background:linear-gradient(135deg,#43e97b,#38f9d7);color:#fff}.action-btn.clear-btn{background:linear-gradient(135deg,#fa709a,#fee140);color:#fff}.side-panel{width:450px;display:flex;flex-direction:column;background:#fff;border-radius:16px;overflow:hidden;box-shadow:0 8px 32px #00000026;animation:slideInRight .6s ease-out}.panel-tabs{display:flex;background:linear-gradient(135deg,#f8f9fa,#e9ecef);border-bottom:2px solid #e5e7eb;position:relative}.panel-tabs:after{content:"";position:absolute;bottom:-2px;left:0;width:50%;height:2px;background:linear-gradient(135deg,#667eea,#764ba2);transition:transform .3s ease}.panel-tabs.citations-active:after{transform:translate(100%)}.tab-btn{flex:1;display:flex;align-items:center;justify-content:center;gap:.5rem;padding:1rem;border:none;background:transparent;cursor:pointer;font-weight:500;color:#6b7280;transition:all .3s ease;position:relative}.tab-btn svg{width:1.25rem;height:1.25rem;transition:all .3s ease}.tab-btn:hover{background:#667eea0d}.tab-btn.active{color:#667eea;background:#fff;font-weight:700}.tab-btn.active svg{transform:scale(1.1);filter:drop-shadow(0 2px 4px rgba(102,126,234,.3))}.panel-content{flex:1;overflow-y:auto;padding:1.5rem;background:linear-gradient(to bottom,#fff,#f9fafb)}.panel-content::-webkit-scrollbar,.editor-container ::-webkit-scrollbar{width:8px}.panel-content::-webkit-scrollbar-track,.editor-container ::-webkit-scrollbar-track{background:#f1f1f1;border-radius:10px}.panel-content::-webkit-scrollbar-thumb,.editor-container ::-webkit-scrollbar-thumb{background:linear-gradient(135deg,#667eea,#764ba2);border-radius:10px}.panel-content::-webkit-scrollbar-thumb:hover,.editor-container ::-webkit-scrollbar-thumb:hover{background:linear-gradient(135deg,#5568d3,#663a8b)}.writing-assistant-loading{display:flex;flex-direction:column;align-items:center;justify-content:center;height:100vh;gap:1rem}.loading-spinner-large{width:64px;height:64px;border:4px solid #e5e7eb;border-top:4px solid #667eea;border-radius:50%;animation:spin 1s linear infinite}@media (max-width: 1200px){.side-panel{width:380px}}@media (max-width: 968px){.writing-assistant-page{flex-direction:column;height:auto;min-height:calc(100vh - 120px)}.editor-section{min-height:500px}.side-panel{width:100%;min-height:400px}.editor-title{font-size:1.5rem}.quick-actions{justify-content:center}}@media (max-width: 640px){.writing-assistant-page{padding:1rem;gap:1rem}.editor-header,.quick-actions{padding:1rem}.editor-stats{gap:.75rem}.stat-item{padding:.375rem .75rem;font-size:.75rem}.action-btn{padding:.5rem 1rem;font-size:.75rem}}.ql-container{flex:1!important;display:flex!important;flex-direction:column!important;font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif!important}.ql-editor{flex:1!important;overflow-y:auto!important;line-height:1.8!important;font-size:16px!important;padding:1.5rem!important}.ql-toolbar{border-bottom:2px solid #e5e7eb!important;background:linear-gradient(135deg,#f8f9fa,#fff)!important;padding:1rem!important}.ql-toolbar button{transition:all .2s ease!important}.ql-toolbar button:hover{background:#667eea1a!important;border-radius:4px!important}.ql-toolbar button.ql-active{background:linear-gradient(135deg,#667eea,#764ba2)!important;border-radius:4px!important}.ql-toolbar button.ql-active .ql-stroke{stroke:#fff!important}.ql-toolbar button.ql-active .ql-fill{fill:#fff!important}.ql-editor.ql-blank:before{font-style:italic!important;color:#9ca3af!important;font-size:1rem!important}.ql-editor strong{font-weight:700!important}.ql-editor blockquote{border-left:4px solid #667eea!important;padding-left:1rem!important;margin:1rem 0!important;color:#4b5563!important;font-style:italic!important}.ql-editor pre{background:#1f2937!important;color:#f9fafb!important;padding:1rem!important;border-radius:8px!important;overflow-x:auto!important}.ql-editor a{color:#667eea!important;text-decoration:underline!important}.ql-editor a:hover{color:#5568d3!important}.mpesa-payment{padding:1.5rem;background:linear-gradient(135deg,#f0fdf4,#dcfce7);border:2px solid #16a34a;border-radius:12px;animation:fadeIn .4s ease-out}.mpesa-header{display:flex;align-items:center;gap:1rem;margin-bottom:1.5rem;padding-bottom:1rem;border-bottom:2px solid #bbf7d0}.mpesa-icon{font-size:3rem;animation:bounce 1s ease-in-out}.mpesa-info{flex:1}.mpesa-title{margin:0 0 .5rem;font-size:1.25rem;font-weight:700;background:linear-gradient(135deg,#16a34a,#15803d);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;display:flex;align-items:center;gap:.5rem}.mpesa-title svg{width:1.5rem;height:1.5rem;color:#16a34a}.mpesa-description{margin:0;font-size:.875rem;color:#15803d;font-weight:500}.mpesa-form{animation:slideInUp .4s ease-out}.phone-input-group{margin-bottom:1.5rem}.phone-label{display:flex;align-items:center;gap:.5rem;margin-bottom:.75rem;font-weight:700;font-size:.875rem;color:#15803d}.phone-label svg{width:1rem;height:1rem}.phone-input-wrapper{position:relative}.phone-prefix{position:absolute;left:1rem;top:50%;transform:translateY(-50%);color:#16a34a;font-weight:700;font-size:1rem;pointer-events:none}.phone-input{width:100%;padding:1rem 1rem 1rem 3.5rem;border:2px solid #bbf7d0;border-radius:10px;font-size:1.125rem;font-family:Courier New,monospace;font-weight:600;color:#1f2937;background:#fff;transition:all .3s ease}.phone-input:hover{border-color:#4ade80}.phone-input:focus{outline:none;border-color:#16a34a;box-shadow:0 0 0 3px #16a34a1a}.phone-input::placeholder{color:#9ca3af;font-style:italic}.phone-hint{display:flex;align-items:center;gap:.375rem;font-size:.75rem;color:#15803d;margin-top:.5rem}.phone-hint svg{width:.875rem;height:.875rem}.mpesa-pay-btn{width:100%;padding:1rem 1.5rem;background:linear-gradient(135deg,#16a34a,#15803d);color:#fff;border:none;border-radius:10px;font-size:1.125rem;font-weight:700;cursor:pointer;transition:all .3s ease;box-shadow:0 4px 12px #16a34a4d;display:flex;align-items:center;justify-content:center;gap:.75rem}.mpesa-pay-btn svg{width:1.5rem;height:1.5rem}.mpesa-pay-btn:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 6px 16px #16a34a66}.mpesa-pay-btn:active:not(:disabled){transform:translateY(0)}.mpesa-pay-btn:disabled{background:linear-gradient(135deg,#9ca3af,#6b7280);cursor:not-allowed;box-shadow:none}.payment-status{padding:1.5rem;border-radius:10px;text-align:center;animation:scaleIn .4s ease-out}@keyframes scaleIn{0%{opacity:0;transform:scale(.9)}to{opacity:1;transform:scale(1)}}.payment-status.initiating,.payment-status.pending{background:linear-gradient(135deg,#fef3c7,#fde68a);border:2px solid #f59e0b}.payment-status.completed{background:linear-gradient(135deg,#d1fae5,#a7f3d0);border:2px solid #10b981}.payment-status.failed,.payment-status.timeout{background:linear-gradient(135deg,#fee2e2,#fecaca);border:2px solid #ef4444}.status-icon{font-size:3.5rem;margin-bottom:1rem;animation:statusIconAnim .6s ease-out}@keyframes statusIconAnim{0%{transform:scale(0) rotate(-45deg)}50%{transform:scale(1.2) rotate(10deg)}to{transform:scale(1) rotate(0)}}.status-message{font-weight:700;font-size:1.125rem;margin-bottom:.75rem}.payment-status.initiating .status-message,.payment-status.pending .status-message{color:#92400e}.payment-status.completed .status-message{color:#059669}.payment-status.failed .status-message,.payment-status.timeout .status-message{color:#dc2626}.status-description{font-size:.875rem;color:#6b7280;display:flex;align-items:center;justify-content:center;gap:.5rem}.status-description svg{width:1rem;height:1rem;animation:pulse 2s ease-in-out infinite}@keyframes pulse{0%,to{opacity:1}50%{opacity:.5}}.retry-btn{margin-top:1rem;padding:.75rem 1.5rem;background:linear-gradient(135deg,#3b82f6,#2563eb);color:#fff;border:none;border-radius:10px;cursor:pointer;font-size:.875rem;font-weight:600;transition:all .3s ease;box-shadow:0 2px 8px #3b82f64d;display:inline-flex;align-items:center;gap:.5rem}.retry-btn svg{width:1rem;height:1rem}.retry-btn:hover{transform:translateY(-2px);box-shadow:0 4px 12px #3b82f666}.retry-btn:active{transform:translateY(0)}.processing-indicator{display:flex;align-items:center;justify-content:center;gap:.5rem;margin-top:1rem}.processing-dot{width:8px;height:8px;background:#f59e0b;border-radius:50%;animation:dotPulse 1.5s ease-in-out infinite}.processing-dot:nth-child(2){animation-delay:.2s}.processing-dot:nth-child(3){animation-delay:.4s}@keyframes dotPulse{0%,to{transform:scale(1);opacity:1}50%{transform:scale(1.5);opacity:.5}}@media (max-width: 640px){.mpesa-payment{padding:1.25rem}.mpesa-icon{font-size:2.5rem}.mpesa-title{font-size:1.125rem}.phone-input{font-size:1rem}.mpesa-pay-btn{font-size:1rem;padding:.875rem 1.25rem}}.pesapal-payment{padding:1.5rem;background:linear-gradient(135deg,#f5f3ff,#ede9fe);border:2px solid #7c3aed;border-radius:12px;animation:fadeIn .4s ease-out}.pesapal-header{display:flex;align-items:center;gap:1rem;margin-bottom:1.5rem;padding-bottom:1rem;border-bottom:2px solid #ddd6fe}.pesapal-icon{font-size:3rem;animation:bounce 1s ease-in-out}@keyframes bounce{0%,to{transform:translateY(0)}50%{transform:translateY(-10px)}}.pesapal-info{flex:1}.pesapal-title{margin:0 0 .5rem;font-size:1.25rem;font-weight:700;background:linear-gradient(135deg,#7c3aed,#6d28d9);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;display:flex;align-items:center;gap:.5rem}.pesapal-title svg{width:1.5rem;height:1.5rem;color:#7c3aed}.pesapal-description{margin:0;font-size:.875rem;color:#6d28d9;font-weight:500}.payment-methods-info{padding:1.25rem;background:linear-gradient(135deg,#eff6ff,#dbeafe);border:2px solid #3b82f6;border-radius:10px;margin-bottom:1.5rem;animation:slideInUp .4s ease-out}.methods-info-title{margin:0 0 1rem;font-size:1rem;font-weight:700;color:#1e40af;display:flex;align-items:center;gap:.5rem}.methods-info-title svg{width:1.25rem;height:1.25rem}.methods-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:.75rem}.method-item{display:flex;align-items:center;gap:.5rem;padding:.5rem .75rem;background:#fff;border-radius:8px;font-size:.875rem;color:#1e40af;font-weight:500;box-shadow:0 2px 4px #3b82f61a;animation:fadeInScale .5s ease-out backwards}.method-item:nth-child(1){animation-delay:.05s}.method-item:nth-child(2){animation-delay:.1s}.method-item:nth-child(3){animation-delay:.15s}.method-item:nth-child(4){animation-delay:.2s}.method-item:nth-child(5){animation-delay:.25s}.method-item:nth-child(6){animation-delay:.3s}@keyframes fadeInScale{0%{opacity:0;transform:scale(.9)}to{opacity:1;transform:scale(1)}}.method-item svg{width:1rem;height:1rem;color:#3b82f6;flex-shrink:0}.pesapal-pay-btn{width:100%;padding:1rem 1.5rem;background:linear-gradient(135deg,#7c3aed,#6d28d9);color:#fff;border:none;border-radius:10px;font-size:1.125rem;font-weight:700;cursor:pointer;transition:all .3s ease;box-shadow:0 4px 12px #7c3aed4d;display:flex;align-items:center;justify-content:center;gap:.75rem}.pesapal-pay-btn svg{width:1.5rem;height:1.5rem}.pesapal-pay-btn:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 6px 16px #7c3aed66}.pesapal-pay-btn:active:not(:disabled){transform:translateY(0)}.pesapal-pay-btn:disabled{background:linear-gradient(135deg,#9ca3af,#6b7280);cursor:not-allowed;box-shadow:none}.button-spinner{width:20px;height:20px;border:3px solid rgba(255,255,255,.3);border-top:3px solid white;border-radius:50%;animation:spin 1s linear infinite}.redirect-notice{margin-top:1.25rem;padding:1rem;background:linear-gradient(135deg,#fef3c7,#fde68a);border:2px solid #f59e0b;border-radius:10px;display:flex;align-items:center;gap:.75rem;animation:slideInUp .5s ease-out}.notice-icon{font-size:1.5rem;flex-shrink:0}.notice-text{flex:1;font-size:.875rem;color:#92400e;font-weight:500;display:flex;align-items:center;gap:.5rem}.notice-text svg{width:1rem;height:1rem}.security-badge{margin-top:1rem;display:flex;align-items:center;justify-content:center;gap:.5rem;padding:.75rem;background:linear-gradient(135deg,#f0fdf4,#dcfce7);border:1px solid #bbf7d0;border-radius:8px;font-size:.75rem;color:#15803d;font-weight:600}.security-badge svg{width:1rem;height:1rem;color:#16a34a}.pesapal-features{margin-top:1.5rem;padding:1.25rem;background:#fff;border-radius:10px;border:2px solid #ddd6fe}.features-title{margin:0 0 1rem;font-size:.875rem;font-weight:700;color:#6d28d9;text-transform:uppercase;letter-spacing:.05em}.features-list{display:flex;flex-direction:column;gap:.75rem}.feature-item{display:flex;align-items:center;gap:.75rem;font-size:.875rem;color:#4b5563}.feature-icon{width:1.25rem;height:1.25rem;color:#7c3aed;flex-shrink:0}@media (max-width: 640px){.pesapal-payment{padding:1.25rem}.pesapal-icon{font-size:2.5rem}.pesapal-title{font-size:1.125rem}.methods-grid{grid-template-columns:1fr}.pesapal-pay-btn{font-size:1rem;padding:.875rem 1.25rem}}.billing-page{min-height:calc(100vh - 120px);padding:2rem;background:linear-gradient(135deg,#667eea,#764ba2,#f093fb);background-size:200% 200%;animation:gradientShift 15s ease infinite}.billing-container{max-width:1200px;margin:0 auto;animation:fadeIn .6s ease-out}.billing-header{text-align:center;margin-bottom:3rem;animation:slideInDown .6s ease-out}.billing-title{font-size:2.5rem;font-weight:800;margin:0 0 1rem;background:#fff;-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;display:flex;align-items:center;justify-content:center;gap:1rem}.billing-title svg{width:2.5rem;height:2.5rem;color:#fff;filter:drop-shadow(0 4px 8px rgba(0,0,0,.2))}.billing-subtitle{font-size:1.125rem;color:#ffffffe6;margin:0}.billing-error{background:linear-gradient(135deg,#fee2e2,#fecaca);border:2px solid #ef4444;border-radius:12px;padding:1rem 1.5rem;margin-bottom:2rem;display:flex;align-items:center;gap:.75rem;color:#dc2626;font-weight:500;box-shadow:0 4px 12px #ef444433;animation:shake .5s ease-out}.billing-error svg{width:1.5rem;height:1.5rem;flex-shrink:0}.current-subscription{background:#fff;border-radius:16px;padding:2rem;margin-bottom:3rem;box-shadow:0 8px 32px #00000026;animation:scaleIn .6s ease-out}.subscription-header{display:flex;align-items:center;gap:1rem;margin-bottom:1.5rem;padding-bottom:1rem;border-bottom:2px solid #e5e7eb}.subscription-icon{width:3.5rem;height:3.5rem;background:linear-gradient(135deg,#667eea,#764ba2);border-radius:12px;display:flex;align-items:center;justify-content:center;box-shadow:0 4px 12px #667eea4d}.subscription-icon svg{width:2rem;height:2rem;color:#fff}.subscription-title{margin:0;font-size:1.5rem;font-weight:700;background:linear-gradient(135deg,#667eea,#764ba2);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.subscription-details{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:1.5rem}.subscription-item{display:flex;flex-direction:column;gap:.5rem}.subscription-label{font-size:.875rem;font-weight:600;color:#6b7280;text-transform:uppercase;letter-spacing:.05em}.subscription-value{font-size:1.25rem;font-weight:700;color:#1f2937;display:flex;align-items:center;gap:.5rem}.subscription-value.active{color:#10b981}.subscription-value.inactive{color:#ef4444}.subscription-badge{display:inline-flex;align-items:center;gap:.375rem;padding:.375rem .75rem;border-radius:20px;font-size:.875rem;font-weight:700;box-shadow:0 2px 8px #0000001a}.subscription-badge.active{background:linear-gradient(135deg,#d1fae5,#a7f3d0);color:#059669}.subscription-badge.inactive{background:linear-gradient(135deg,#fee2e2,#fecaca);color:#dc2626}.subscription-badge svg{width:1rem;height:1rem}.cancel-subscription-btn{margin-top:1.5rem;padding:.75rem 1.5rem;background:linear-gradient(135deg,#f87171,#ef4444);color:#fff;border:none;border-radius:10px;font-weight:600;cursor:pointer;transition:all .3s ease;box-shadow:0 4px 12px #ef44444d;display:flex;align-items:center;gap:.5rem}.cancel-subscription-btn svg{width:1.25rem;height:1.25rem}.cancel-subscription-btn:hover{transform:translateY(-2px);box-shadow:0 6px 16px #ef444466}.cancel-subscription-btn:active{transform:translateY(0)}.no-subscription{text-align:center;padding:2rem;color:#6b7280;font-size:1.125rem}.no-subscription svg{width:4rem;height:4rem;color:#d1d5db;margin-bottom:1rem;opacity:.5}.plans-section{margin-bottom:2rem}.plans-header{text-align:center;margin-bottom:2rem}.plans-title{font-size:2rem;font-weight:800;color:#fff;margin:0 0 .5rem;text-shadow:0 2px 8px rgba(0,0,0,.2)}.plans-description{font-size:1rem;color:#ffffffe6;margin:0}.plans-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:2rem;animation:slideInUp .6s ease-out}@keyframes slideInUp{0%{opacity:0;transform:translateY(30px)}to{opacity:1;transform:translateY(0)}}.plan-card{background:#fff;border-radius:16px;padding:2rem;box-shadow:0 8px 32px #00000026;transition:all .3s ease;position:relative;overflow:hidden}.plan-card:before{content:"";position:absolute;top:0;left:0;right:0;height:4px;background:var(--plan-gradient);animation:shimmer 3s linear infinite}@keyframes shimmer{0%{opacity:.6}50%{opacity:1}to{opacity:.6}}.plan-card:hover{transform:translateY(-8px);box-shadow:0 12px 48px #0003}.plan-card.featured{border:2px solid;border-image:var(--plan-gradient) 1;transform:scale(1.05)}.plan-badge{position:absolute;top:1rem;right:1rem;padding:.375rem .75rem;background:var(--plan-gradient);color:#fff;border-radius:20px;font-size:.75rem;font-weight:700;box-shadow:0 2px 8px #00000026}.plan-header{margin-bottom:1.5rem}.plan-name{font-size:1.75rem;font-weight:800;margin:0 0 .5rem;background:var(--plan-gradient);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.plan-price{display:flex;align-items:baseline;gap:.375rem;margin-bottom:1rem}.price-currency{font-size:1.5rem;font-weight:700;color:#1f2937}.price-amount{font-size:3rem;font-weight:900;color:#1f2937;line-height:1}.price-interval{font-size:1rem;font-weight:500;color:#6b7280}.plan-description{color:#6b7280;font-size:.875rem;margin:0}.plan-features{list-style:none;padding:0;margin:0 0 1.5rem}.plan-feature{display:flex;align-items:center;gap:.75rem;padding:.75rem 0;color:#1f2937;font-size:.875rem;border-bottom:1px solid #f3f4f6}.plan-feature:last-child{border-bottom:none}.feature-icon{width:1.25rem;height:1.25rem;flex-shrink:0;color:#10b981}.plan-button{width:100%;padding:1rem;border:none;border-radius:10px;font-size:1rem;font-weight:700;cursor:pointer;transition:all .3s ease;box-shadow:0 4px 12px #00000026;display:flex;align-items:center;justify-content:center;gap:.5rem}.plan-button svg{width:1.25rem;height:1.25rem}.plan-button:not(:disabled):hover{transform:translateY(-2px);box-shadow:0 6px 16px #0003}.plan-button:not(:disabled):active{transform:translateY(0)}.plan-button.subscribe{background:var(--plan-gradient);color:#fff}.plan-button.current{background:linear-gradient(135deg,#9ca3af,#6b7280);color:#fff;cursor:not-allowed;box-shadow:none}.plan-button.downgrade{background:linear-gradient(135deg,#f3f4f6,#e5e7eb);color:#6b7280}.payment-modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:#0009;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);display:flex;align-items:center;justify-content:center;z-index:1000;animation:fadeIn .3s ease-out}.payment-modal{background:#fff;border-radius:16px;width:90%;max-width:600px;max-height:90vh;overflow:hidden;box-shadow:0 20px 60px #0000004d;animation:modalSlideIn .4s ease-out}.payment-modal-header{padding:1.5rem 2rem;background:linear-gradient(135deg,#667eea,#764ba2);display:flex;justify-content:space-between;align-items:center}.modal-title{margin:0;color:#fff;font-size:1.5rem;font-weight:700;display:flex;align-items:center;gap:.75rem}.modal-title svg{width:1.75rem;height:1.75rem}.modal-close-btn{background:#fff3;border:none;width:2.5rem;height:2.5rem;border-radius:50%;display:flex;align-items:center;justify-content:center;cursor:pointer;transition:all .3s ease}.modal-close-btn svg{width:1.5rem;height:1.5rem;color:#fff}.modal-close-btn:hover{background:#ffffff4d;transform:rotate(90deg)}.payment-modal-content{padding:2rem;max-height:calc(90vh - 100px);overflow-y:auto}.payment-method-section{margin-bottom:2rem}.payment-method-title{margin:0 0 1rem;font-size:1.125rem;font-weight:700;color:#1f2937;display:flex;align-items:center;gap:.5rem}.payment-method-title svg{width:1.25rem;height:1.25rem;color:#667eea}.payment-methods{display:flex;gap:1rem;flex-wrap:wrap}.payment-method-btn{flex:1;min-width:150px;padding:1.25rem;border:2px solid #e5e7eb;background:#fff;border-radius:12px;cursor:pointer;text-align:center;transition:all .3s ease}.payment-method-btn:hover{border-color:#667eea;transform:translateY(-2px);box-shadow:0 4px 12px #667eea26}.payment-method-btn.active{border-color:#667eea;background:linear-gradient(135deg,#eff6ff,#dbeafe);box-shadow:0 4px 12px #667eea33}.method-icon{font-size:2rem;margin-bottom:.5rem}.method-label{font-weight:700;color:#1f2937;margin-bottom:.25rem}.method-description{font-size:.75rem;color:#6b7280}.billing-loading{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:calc(100vh - 120px);gap:1rem}.payment-modal-content::-webkit-scrollbar{width:8px}.payment-modal-content::-webkit-scrollbar-track{background:#f1f1f1;border-radius:10px}.payment-modal-content::-webkit-scrollbar-thumb{background:linear-gradient(135deg,#667eea,#764ba2);border-radius:10px}.payment-modal-content::-webkit-scrollbar-thumb:hover{background:linear-gradient(135deg,#5568d3,#663a8b)}@media (max-width: 968px){.billing-page{padding:1.5rem}.billing-title{font-size:2rem}.plans-grid{grid-template-columns:1fr}.plan-card.featured{transform:scale(1)}.payment-methods{flex-direction:column}.payment-method-btn{min-width:100%}}@media (max-width: 640px){.billing-page{padding:1rem}.billing-title{font-size:1.5rem}.billing-title svg{width:2rem;height:2rem}.current-subscription{padding:1.5rem}.subscription-details{grid-template-columns:1fr}.plan-card,.payment-modal-content{padding:1.5rem}}.twofa-setup-container{max-width:550px;margin:0 auto;padding:2.5rem;background:#fff;border-radius:16px;box-shadow:0 20px 60px #0000004d;animation:modalSlideIn .4s ease-out;position:relative;overflow:hidden}.twofa-setup-container:before{content:"";position:absolute;top:0;left:0;right:0;height:4px;background:linear-gradient(90deg,#667eea,#764ba2,#f093fb);background-size:200% 100%;animation:shimmer 3s linear infinite}@keyframes shimmer{0%{background-position:0% 0%}to{background-position:200% 0%}}.setup-step{animation:fadeIn .4s ease-out}.setup-header{text-align:center;margin-bottom:2rem}.setup-title{margin:0 0 1rem;font-size:1.75rem;font-weight:800;background:linear-gradient(135deg,#667eea,#764ba2);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;display:flex;align-items:center;justify-content:center;gap:.75rem}.setup-title svg{width:2rem;height:2rem;color:#667eea}.setup-description{color:#6b7280;margin:0;line-height:1.6}.setup-info-box{background:linear-gradient(135deg,#eff6ff,#dbeafe);border:2px solid #3b82f6;border-radius:12px;padding:1.5rem;margin-top:1.5rem;animation:slideInUp .4s ease-out}@keyframes slideInUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.info-box-title{margin:0 0 .75rem;color:#1e40af;font-size:1rem;font-weight:700;display:flex;align-items:center;gap:.5rem}.info-box-title svg{width:1.125rem;height:1.125rem}.info-box-list{text-align:left;margin:0;padding-left:1.5rem;color:#1e40af;line-height:1.8}.info-box-list li{margin-bottom:.375rem}.qr-code-section{text-align:center;margin-bottom:2rem}.qr-code-wrapper{display:inline-block;padding:1.5rem;background:#fff;border:3px solid #667eea;border-radius:16px;margin:1.5rem 0;box-shadow:0 8px 24px #667eea33;animation:scaleIn .5s ease-out}@keyframes scaleIn{0%{opacity:0;transform:scale(.8)}to{opacity:1;transform:scale(1)}}.qr-code-image{width:220px;height:220px;display:block}.manual-entry-details{margin-bottom:1.5rem}.manual-entry-summary{cursor:pointer;color:#3b82f6;font-weight:600;padding:.75rem;background:linear-gradient(135deg,#eff6ff,#dbeafe);border-radius:8px;transition:all .3s ease;display:flex;align-items:center;justify-content:center;gap:.5rem}.manual-entry-summary:hover{background:linear-gradient(135deg,#dbeafe,#bfdbfe);transform:translateY(-2px)}.manual-entry-summary svg{width:1rem;height:1rem}.manual-entry-code{margin-top:1rem;padding:1rem;background:linear-gradient(135deg,#f9fafb,#f3f4f6);border:2px solid #e5e7eb;border-radius:10px;font-family:Courier New,monospace;font-size:.875rem;font-weight:600;word-break:break-all;color:#1f2937;animation:fadeIn .3s ease-out}.verification-input-group{margin-bottom:2rem}.verification-label{display:block;margin-bottom:.75rem;font-weight:700;color:#1f2937;display:flex;align-items:center;gap:.5rem}.verification-label svg{width:1.125rem;height:1.125rem;color:#667eea}.verification-input{width:100%;padding:1.25rem;border:2px solid #e5e7eb;border-radius:12px;font-size:2rem;text-align:center;letter-spacing:1rem;font-family:Courier New,monospace;font-weight:700;color:#1f2937;transition:all .3s ease;background:linear-gradient(135deg,#fff,#f9fafb)}.verification-input:hover{border-color:#667eea}.verification-input:focus{outline:none;border-color:#667eea;box-shadow:0 0 0 3px #667eea1a;background:#fff}.verification-input::placeholder{color:#d1d5db}.setup-error{padding:1rem 1.25rem;background:linear-gradient(135deg,#fee2e2,#fecaca);border:2px solid #ef4444;border-radius:10px;color:#dc2626;margin-bottom:1.5rem;text-align:center;font-weight:500;display:flex;align-items:center;justify-content:center;gap:.75rem;animation:shake .5s ease-out}.setup-error svg{width:1.25rem;height:1.25rem;flex-shrink:0}.success-section{text-align:center;margin-bottom:2rem}.success-icon{font-size:5rem;margin-bottom:1.5rem;animation:bounceIn .6s ease-out}@keyframes bounceIn{0%{opacity:0;transform:scale(0)}50%{transform:scale(1.1)}to{opacity:1;transform:scale(1)}}.success-title{margin:0 0 .75rem;font-size:1.75rem;font-weight:800;color:#10b981;display:flex;align-items:center;justify-content:center;gap:.75rem}.success-title svg{width:2rem;height:2rem}.success-message{color:#6b7280;margin:0;font-size:1.125rem}.backup-codes-section{background:linear-gradient(135deg,#fef3c7,#fde68a);border:2px solid #f59e0b;border-radius:12px;padding:1.5rem;margin-bottom:2rem;animation:scaleIn .5s ease-out}.backup-codes-title{margin:0 0 .75rem;color:#92400e;font-size:1.125rem;font-weight:700;display:flex;align-items:center;gap:.5rem}.backup-codes-title svg{width:1.25rem;height:1.25rem}.backup-codes-description{margin:0 0 1.25rem;font-size:.875rem;color:#92400e;line-height:1.6}.backup-codes-list{background:#fff;padding:1.25rem;border-radius:10px;font-family:Courier New,monospace;font-size:.875rem;font-weight:600;box-shadow:0 2px 8px #0000001a}.backup-code-item{margin-bottom:.5rem;padding:.5rem;background:linear-gradient(135deg,#f9fafb,#fff);border-radius:6px;display:flex;align-items:center;gap:.75rem}.backup-code-item:last-child{margin-bottom:0}.code-number{color:#92400e;font-weight:700}.code-value{color:#1f2937}.copy-codes-btn{margin-top:1rem;width:100%;padding:.75rem 1.5rem;background:linear-gradient(135deg,#f59e0b,#d97706);color:#fff;border:none;border-radius:10px;cursor:pointer;font-size:.875rem;font-weight:600;transition:all .3s ease;box-shadow:0 4px 12px #f59e0b4d;display:flex;align-items:center;justify-content:center;gap:.5rem}.copy-codes-btn svg{width:1rem;height:1rem}.copy-codes-btn:hover{transform:translateY(-2px);box-shadow:0 6px 16px #f59e0b66}.copy-codes-btn:active{transform:translateY(0)}.setup-actions{display:flex;gap:1rem;justify-content:center;margin-top:2rem}.setup-btn{padding:.875rem 1.75rem;border:none;border-radius:10px;cursor:pointer;font-size:1rem;font-weight:600;transition:all .3s ease;box-shadow:0 4px 12px #00000026;display:flex;align-items:center;gap:.5rem}.setup-btn svg{width:1.125rem;height:1.125rem}.setup-btn:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 6px 16px #0003}.setup-btn:active:not(:disabled){transform:translateY(0)}.setup-btn:disabled{opacity:.5;cursor:not-allowed;box-shadow:none}.setup-btn.cancel,.setup-btn.back{background:linear-gradient(135deg,#f3f4f6,#e5e7eb);color:#374151;border:1px solid #d1d5db}.setup-btn.primary{background:linear-gradient(135deg,#3b82f6,#2563eb);color:#fff}.setup-btn.success{background:linear-gradient(135deg,#10b981,#059669);color:#fff}.setup-btn.complete{background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;font-size:1.125rem;padding:1rem 2.5rem}@media (max-width: 640px){.twofa-setup-container{padding:2rem 1.5rem}.setup-title{font-size:1.5rem}.qr-code-image{width:180px;height:180px}.verification-input{font-size:1.5rem;letter-spacing:.75rem}.setup-actions{flex-direction:column}.setup-btn{width:100%;justify-content:center}}.security-settings-page{min-height:calc(100vh - 120px);padding:2rem;background:linear-gradient(135deg,#667eea,#764ba2,#f093fb);background-size:200% 200%;animation:gradientShift 15s ease infinite}@keyframes gradientShift{0%{background-position:0% 50%}50%{background-position:100% 50%}to{background-position:0% 50%}}.security-container{max-width:900px;margin:0 auto;animation:fadeIn .6s ease-out}@keyframes fadeIn{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.security-header{text-align:center;margin-bottom:3rem;animation:slideInDown .6s ease-out}@keyframes slideInDown{0%{opacity:0;transform:translateY(-30px)}to{opacity:1;transform:translateY(0)}}.security-title{font-size:2.5rem;font-weight:800;margin:0 0 1rem;color:#fff;text-shadow:0 2px 8px rgba(0,0,0,.2);display:flex;align-items:center;justify-content:center;gap:1rem}.security-title svg{width:2.5rem;height:2.5rem;filter:drop-shadow(0 4px 8px rgba(0,0,0,.2))}.security-subtitle{font-size:1.125rem;color:#ffffffe6;margin:0}.security-error{background:linear-gradient(135deg,#fee2e2,#fecaca);border:2px solid #ef4444;border-radius:12px;padding:1rem 1.5rem;margin-bottom:2rem;display:flex;align-items:center;justify-content:space-between;color:#dc2626;font-weight:500;box-shadow:0 4px 12px #ef444433;animation:shake .5s ease-out}@keyframes shake{0%,to{transform:translate(0)}25%{transform:translate(-5px)}75%{transform:translate(5px)}}.error-content{display:flex;align-items:center;gap:.75rem;flex:1}.error-content svg{width:1.5rem;height:1.5rem;flex-shrink:0}.error-close-btn{background:#dc26261a;border:none;width:2rem;height:2rem;border-radius:50%;display:flex;align-items:center;justify-content:center;cursor:pointer;transition:all .3s ease;color:#dc2626;font-size:1.5rem;font-weight:700}.error-close-btn:hover{background:#dc262633;transform:rotate(90deg)}.security-card{background:#fff;border-radius:16px;padding:2rem;margin-bottom:2rem;box-shadow:0 8px 32px #00000026;animation:scaleIn .6s ease-out backwards}.security-card:nth-child(1){animation-delay:.1s}.security-card:nth-child(2){animation-delay:.2s}.security-card:nth-child(3){animation-delay:.3s}.security-card:nth-child(4){animation-delay:.4s}@keyframes scaleIn{0%{opacity:0;transform:scale(.95)}to{opacity:1;transform:scale(1)}}.card-header{display:flex;align-items:center;gap:1rem;margin-bottom:1.5rem;padding-bottom:1rem;border-bottom:2px solid #e5e7eb}.card-icon{width:3rem;height:3rem;background:linear-gradient(135deg,#667eea,#764ba2);border-radius:12px;display:flex;align-items:center;justify-content:center;box-shadow:0 4px 12px #667eea4d}.card-icon svg{width:1.75rem;height:1.75rem;color:#fff}.card-title{margin:0;font-size:1.5rem;font-weight:700;background:linear-gradient(135deg,#667eea,#764ba2);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.account-details{display:flex;flex-direction:column;gap:1.25rem}.account-item{display:flex;justify-content:space-between;align-items:center;padding:1rem;background:linear-gradient(135deg,#f9fafb,#f3f4f6);border-radius:10px;transition:all .3s ease}.account-item:hover{transform:translate(5px);box-shadow:0 4px 12px #0000001a}.account-label{font-size:.875rem;font-weight:600;color:#6b7280;display:flex;align-items:center;gap:.5rem}.account-label svg{width:1.125rem;height:1.125rem}.account-value{font-weight:700;color:#1f2937;text-transform:capitalize}.twofa-status{display:flex;align-items:center;justify-content:space-between;padding:1.5rem;border-radius:12px;margin-bottom:1.5rem;transition:all .3s ease;animation:slideInRight .6s ease-out}@keyframes slideInRight{0%{opacity:0;transform:translate(30px)}to{opacity:1;transform:translate(0)}}.twofa-status.enabled{background:linear-gradient(135deg,#d1fae5,#a7f3d0);border:2px solid #10b981}.twofa-status.disabled{background:linear-gradient(135deg,#fef3c7,#fde68a);border:2px solid #f59e0b}.twofa-info{flex:1}.twofa-status-label{font-weight:700;font-size:1.125rem;margin-bottom:.5rem;display:flex;align-items:center;gap:.5rem}.twofa-status.enabled .twofa-status-label{color:#059669}.twofa-status.disabled .twofa-status-label{color:#92400e}.twofa-status-label svg{width:1.5rem;height:1.5rem}.twofa-description{font-size:.875rem;color:#4b5563}.twofa-action-btn{padding:.75rem 1.5rem;border:none;border-radius:10px;font-weight:600;cursor:pointer;transition:all .3s ease;box-shadow:0 4px 12px #00000026;display:flex;align-items:center;gap:.5rem}.twofa-action-btn svg{width:1.125rem;height:1.125rem}.twofa-action-btn:hover{transform:translateY(-2px);box-shadow:0 6px 16px #0003}.twofa-action-btn:active{transform:translateY(0)}.twofa-action-btn.enable{background:linear-gradient(135deg,#10b981,#059669);color:#fff}.twofa-action-btn.disable{background:linear-gradient(135deg,#ef4444,#dc2626);color:#fff}.change-password-btn{padding:1rem 2rem;background:linear-gradient(135deg,#3b82f6,#2563eb);color:#fff;border:none;border-radius:12px;cursor:pointer;font-size:1rem;font-weight:600;transition:all .3s ease;box-shadow:0 4px 12px #3b82f64d;display:flex;align-items:center;gap:.75rem}.change-password-btn svg{width:1.25rem;height:1.25rem}.change-password-btn:hover{transform:translateY(-2px);box-shadow:0 6px 16px #3b82f666}.change-password-btn:active{transform:translateY(0)}.security-status-grid{display:flex;flex-direction:column;gap:1.25rem}.status-item{display:flex;justify-content:space-between;align-items:center;padding:1rem 1.5rem;background:linear-gradient(135deg,#f9fafb,#f3f4f6);border-radius:10px;transition:all .3s ease}.status-item:hover{transform:translate(5px);box-shadow:0 4px 12px #0000001a}.status-label{font-size:.875rem;font-weight:600;color:#6b7280;display:flex;align-items:center;gap:.5rem}.status-label svg{width:1.125rem;height:1.125rem}.status-value{font-weight:700;display:flex;align-items:center;gap:.5rem}.status-value.good{color:#10b981}.status-value.warning{color:#f59e0b}.status-value.danger{color:#ef4444}.status-badge{display:inline-flex;align-items:center;gap:.375rem;padding:.375rem .75rem;border-radius:20px;font-size:.875rem;font-weight:700;box-shadow:0 2px 8px #0000001a}.status-badge.locked{background:linear-gradient(135deg,#fee2e2,#fecaca);color:#dc2626}.status-badge.active{background:linear-gradient(135deg,#d1fae5,#a7f3d0);color:#059669}.lockout-warning{padding:1rem 1.25rem;background:linear-gradient(135deg,#fee2e2,#fecaca);border:2px solid #ef4444;border-radius:10px;color:#dc2626;font-size:.875rem;font-weight:500;margin-top:1rem;display:flex;align-items:center;gap:.75rem;animation:pulse 2s ease-in-out infinite}@keyframes pulse{0%,to{opacity:1}50%{opacity:.8}}.lockout-warning svg{width:1.25rem;height:1.25rem;flex-shrink:0}.security-loading{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:calc(100vh - 120px);gap:1rem}.loading-spinner-large{width:64px;height:64px;border:4px solid rgba(255,255,255,.3);border-top:4px solid white;border-radius:50%;animation:spin 1s linear infinite}.loading-text{color:#fff;font-size:1.125rem;font-weight:600}.modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:#0009;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);display:flex;align-items:center;justify-content:center;z-index:1000;padding:1rem;animation:fadeIn .3s ease-out}@media (max-width: 768px){.security-settings-page{padding:1.5rem}.security-title{font-size:2rem}.security-title svg{width:2rem;height:2rem}.security-card{padding:1.5rem}.twofa-status{flex-direction:column;align-items:flex-start;gap:1rem}.twofa-action-btn{width:100%;justify-content:center}.account-item,.status-item{flex-direction:column;align-items:flex-start;gap:.5rem}}@media (max-width: 640px){.security-settings-page{padding:1rem}.security-header{margin-bottom:2rem}.security-title{font-size:1.75rem}.card-title{font-size:1.25rem}}.security-modal{background:#fff;padding:2.5rem;border-radius:16px;max-width:450px;width:100%;box-shadow:0 20px 60px #0000004d;animation:modalSlideIn .4s ease-out;position:relative;overflow:hidden}@keyframes modalSlideIn{0%{opacity:0;transform:scale(.9) translateY(-20px)}to{opacity:1;transform:scale(1) translateY(0)}}.modal-header-danger{margin-bottom:1.5rem}.modal-header-danger .modal-title{margin:0 0 .5rem;font-size:1.5rem;font-weight:700;color:#dc2626;display:flex;align-items:center;gap:.75rem}.modal-header-danger .modal-title svg{width:1.75rem;height:1.75rem}.modal-header-primary{margin-bottom:1.5rem}.modal-header-primary .modal-title{margin:0 0 .5rem;font-size:1.5rem;font-weight:700;background:linear-gradient(135deg,#667eea,#764ba2);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;display:flex;align-items:center;gap:.75rem}.modal-header-primary .modal-title svg{width:1.75rem;height:1.75rem;color:#667eea}.modal-description{margin:0;color:#6b7280;line-height:1.6;font-size:.9375rem}.modal-form-group{margin-bottom:1.25rem}.modal-form-label{display:block;margin-bottom:.75rem;font-weight:600;font-size:.875rem;color:#374151;display:flex;align-items:center;gap:.5rem}.modal-form-label svg{width:1rem;height:1rem;color:#667eea}.modal-form-input{width:100%;padding:.875rem 1rem;border:2px solid #e5e7eb;border-radius:10px;font-size:1rem;color:#1f2937;transition:all .3s ease;background:#fff}.modal-form-input:hover{border-color:#d1d5db}.modal-form-input:focus{outline:none;border-color:#667eea;box-shadow:0 0 0 3px #667eea1a}.modal-form-input.code-input{text-align:center;font-family:Courier New,monospace;font-size:1.5rem;font-weight:700;letter-spacing:.5rem;padding:1rem}.modal-form-input.code-input::placeholder{color:#d1d5db;letter-spacing:normal}.password-strength{margin-top:.75rem;height:4px;background:#e5e7eb;border-radius:2px;overflow:hidden;animation:fadeIn .3s ease-out}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.password-strength-bar{height:100%;transition:all .3s ease;border-radius:2px}.password-strength-bar.weak{width:33%;background:linear-gradient(90deg,#ef4444,#dc2626)}.password-strength-bar.medium{width:66%;background:linear-gradient(90deg,#f59e0b,#d97706)}.password-strength-bar.strong{width:100%;background:linear-gradient(90deg,#10b981,#059669)}.password-strength-label{margin-top:.5rem;font-size:.75rem;font-weight:600;text-transform:uppercase;letter-spacing:.025em}.password-strength-label.weak{color:#ef4444}.password-strength-label.medium{color:#f59e0b}.password-strength-label.strong{color:#10b981}.modal-warning{padding:1rem 1.25rem;background:linear-gradient(135deg,#fef3c7,#fde68a);border:2px solid #f59e0b;border-radius:10px;margin-bottom:1.5rem;display:flex;align-items:flex-start;gap:.75rem;animation:slideInDown .4s ease-out}@keyframes slideInDown{0%{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:translateY(0)}}.modal-warning svg{width:1.25rem;height:1.25rem;color:#f59e0b;flex-shrink:0;margin-top:.125rem}.modal-warning-content{flex:1}.modal-warning-title{margin:0 0 .375rem;font-size:.875rem;font-weight:700;color:#92400e}.modal-warning-text{margin:0;font-size:.8125rem;color:#92400e;line-height:1.5}.modal-actions{display:flex;gap:1rem;justify-content:flex-end;margin-top:2rem}.modal-btn{padding:.875rem 1.5rem;border:none;border-radius:10px;cursor:pointer;font-size:.9375rem;font-weight:600;transition:all .3s ease;box-shadow:0 2px 8px #0000001a;display:flex;align-items:center;gap:.5rem}.modal-btn svg{width:1.125rem;height:1.125rem}.modal-btn:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 4px 12px #00000026}.modal-btn:active:not(:disabled){transform:translateY(0)}.modal-btn:disabled{opacity:.5;cursor:not-allowed;box-shadow:none}.modal-btn.cancel{background:linear-gradient(135deg,#f3f4f6,#e5e7eb);color:#374151;border:1px solid #d1d5db}.modal-btn.danger{background:linear-gradient(135deg,#ef4444,#dc2626);color:#fff}.modal-btn.primary{background:linear-gradient(135deg,#3b82f6,#2563eb);color:#fff}.modal-btn.disabled{background:linear-gradient(135deg,#9ca3af,#6b7280);color:#fff}.btn-spinner{width:16px;height:16px;border:2px solid rgba(255,255,255,.3);border-top:2px solid white;border-radius:50%;animation:spin 1s linear infinite}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.requirement-checklist{margin-top:.75rem;padding:1rem;background:linear-gradient(135deg,#f9fafb,#f3f4f6);border-radius:8px;animation:fadeIn .3s ease-out}.requirement-item{display:flex;align-items:center;gap:.5rem;margin-bottom:.5rem;font-size:.8125rem;color:#6b7280;transition:color .2s ease}.requirement-item:last-child{margin-bottom:0}.requirement-item.met{color:#059669}.requirement-item svg{width:1rem;height:1rem;flex-shrink:0}@media (max-width: 640px){.security-modal{padding:2rem 1.5rem;max-width:100%}.modal-actions{flex-direction:column-reverse}.modal-btn{width:100%;justify-content:center}}
