*,*:before,*:after{box-sizing:border-box}body,html{margin:0;padding:0;font-family:Arial,Helvetica,sans-serif;background:#fff;color:#111;overflow-x:hidden;scroll-behavior:smooth}.homepage{background:#fff;min-height:100vh}@keyframes float{0%,to{transform:translate(0) rotate(0)}33%{transform:translate(30px,-30px) rotate(5deg)}66%{transform:translate(-20px,20px) rotate(-5deg)}}@keyframes pulse{0%,to{transform:scale(1);opacity:.1}50%{transform:scale(1.1);opacity:.15}}@keyframes slideDown{0%{opacity:0;transform:translateY(-20px)}to{opacity:1;transform:translateY(0)}}@keyframes slideUp{0%{opacity:0;transform:translateY(30px)}to{opacity:1;transform:translateY(0)}}@keyframes rotateHover{0%{transform:rotate(0)}to{transform:rotate(10deg)}}.navbar{display:flex;justify-content:space-between;align-items:center;padding:12px 50px;position:fixed;top:0;left:0;width:100%;background:#fff;color:#111;box-shadow:0 2px 5px #0000000d;z-index:1000;transition:all .3s ease}.navbar-scrolled{background:#fffffff2;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);box-shadow:0 2px 20px #ff24ed1a}.navbar-logo{display:flex;align-items:center;gap:10px;font-size:1.25rem;font-weight:700;cursor:pointer}.logo-icon{width:40px;height:40px;background:linear-gradient(135deg,#ff24ed,#2ffa2f);border-radius:10px;display:flex;align-items:center;justify-content:center;transition:transform .3s ease}.logo-sparkle{width:24px;height:24px;color:#fff}.navbar-links{list-style:none;display:flex;align-items:center;gap:25px;margin:0;padding:0;flex-wrap:nowrap}.navbar-links li{display:flex;align-items:center}.navbar-links a{text-decoration:none;color:#111;font-size:.95rem;font-weight:500;transition:color .2s ease}.navbar-links a:hover{color:#ff24ed}.signup-btn{background:#ff24ed!important;color:#fff!important;padding:10px 20px;border-radius:10px;font-weight:600;transition:all .2s ease}.signup-btn:hover{background:#2ffa2f!important;color:#111!important;transform:translateY(-2px);box-shadow:0 4px 15px #2ffa2f66}.hero{display:flex;justify-content:center;align-items:center;min-height:100vh;text-align:center;padding:0 20px;position:relative;overflow:hidden;margin-top:56px}.hero-blob{position:absolute;border-radius:50%;filter:blur(150px);z-index:0;pointer-events:none}.hero-blob-1{top:-300px;left:-300px;width:800px;height:800px;background:radial-gradient(circle,rgba(255,36,237,.15),transparent);animation:float 8s ease-in-out infinite}.hero-blob-2{top:-300px;right:-300px;width:800px;height:800px;background:radial-gradient(circle,rgba(47,250,47,.15),transparent);animation:float 8s ease-in-out infinite 2s}.hero-blob-3{bottom:-200px;left:50%;transform:translate(-50%);width:600px;height:600px;background:radial-gradient(circle,rgba(255,36,237,.1),transparent);filter:blur(120px);animation:pulse 6s ease-in-out infinite}.hero-content{max-width:800px;position:relative;z-index:2}.hero-badge{display:inline-flex;align-items:center;gap:8px;background:#ff24ed1a;color:#ff24ed;padding:8px 16px;border-radius:25px;font-weight:600;font-size:.9rem;margin-bottom:20px;border:1px solid rgba(255,36,237,.2);animation:slideDown .6s ease-out}.badge-icon{width:16px;height:16px}.hero h1{font-size:3.5rem;font-weight:800;color:#111;margin:15px 0 20px;line-height:1.2;animation:slideUp .8s ease-out .2s backwards}.hero h1 .highlight{background:linear-gradient(135deg,#2ffa2f,#0c0);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.hero p{font-size:1.2rem;color:#444;margin:20px 0;line-height:1.6;animation:slideUp .8s ease-out .4s backwards}.hero-buttons{display:flex;justify-content:center;gap:20px;margin-top:30px;flex-wrap:wrap;animation:slideUp .8s ease-out .6s backwards}.btn{text-decoration:none;padding:14px 32px;border-radius:10px;font-weight:600;font-size:1.05rem;cursor:pointer;transition:all .3s ease;border:none;display:inline-flex;align-items:center;gap:8px}.btn-pink{background:#ff24ed;color:#fff}.btn-pink:hover{background:#2ffa2f;color:#111;transform:translateY(-3px);box-shadow:0 10px 30px #ff24ed66}.btn-green{background:#2ffa2f;color:#111}.btn-green:hover{background:#ff24ed;color:#fff;transform:translateY(-3px);box-shadow:0 10px 30px #2ffa2f66}.btn-large{font-size:1.2rem;padding:16px 40px;border-radius:12px}.btn-icon{width:20px;height:20px}.feature-pills{display:flex;justify-content:center;gap:15px;margin-top:50px;flex-wrap:wrap;animation:fadeIn 1s ease-out .8s backwards}.feature-pill{display:flex;align-items:center;gap:6px;padding:8px 16px;background:#00000008;border-radius:20px;font-size:.9rem;color:#444;font-weight:500;border:1px solid rgba(0,0,0,.05)}.pill-icon{width:16px;height:16px;color:#ff24ed}.logos{text-align:center;padding:100px 20px;background:linear-gradient(180deg,#2ffa2f05,#ff24ed05);border-top:1px solid rgba(0,0,0,.05);border-bottom:1px solid rgba(0,0,0,.05)}.logos-text{font-weight:700;font-size:.95rem;color:#666;margin-bottom:50px;text-transform:uppercase;letter-spacing:2px}.logos-container{display:flex;justify-content:center;gap:80px;flex-wrap:wrap;align-items:center}.logo-placeholder{width:180px;height:60px;background:linear-gradient(135deg,#ff24ed0d,#2ffa2f0d);border-radius:12px;display:flex;align-items:center;justify-content:center;transition:all .3s ease;cursor:pointer;border:1px solid rgba(0,0,0,.05);font-size:.85rem;color:#999;font-weight:600}.logo-placeholder:hover{transform:translateY(-5px);box-shadow:0 10px 25px #ff24ed1a}.logos-container img{height:40px;width:auto;max-width:150px;object-fit:contain;opacity:.7;transition:all .3s ease}.logos-container img:hover{opacity:1;transform:translateY(-5px)}.content-section{padding:120px 20px}.content-white{background:#fff}.content-pink-bg{background:#ff24ed08}.content-container{max-width:1100px;margin:0 auto;display:flex;align-items:center;gap:80px;flex-wrap:wrap}.content-container.reverse{flex-direction:row-reverse}.content-image{flex:1;min-width:300px;position:relative}.image-placeholder{width:100%;height:400px;border-radius:20px;display:flex;align-items:center;justify-content:center;position:relative;overflow:hidden;box-shadow:0 20px 60px #00000014;transition:transform .3s ease}.image-placeholder:hover{transform:scale(1.02)}.image-pink{background:linear-gradient(135deg,#ff24ed1a,#2ffa2f1a)}.image-green{background:linear-gradient(135deg,#2ffa2f1a,#ff24ed1a)}.placeholder-icon{width:80px;height:80px;opacity:.3}.image-pink .placeholder-icon{color:#ff24ed}.image-green .placeholder-icon{color:#2ffa2f}.image-badge{position:absolute;top:20px;right:20px;padding:8px 12px;border-radius:8px;font-size:.85rem;font-weight:600}.badge-green{background:#2ffa2f;color:#111}.badge-pink{background:#ff24ed;color:#fff}.content-text{flex:1;min-width:300px}.content-badge{display:inline-flex;align-items:center;gap:6px;padding:6px 12px;border-radius:20px;margin-bottom:15px;font-size:.85rem;font-weight:600}.content-badge.badge-pink{background:#ff24ed1a;color:#ff24ed}.content-badge.badge-green{background:#2ffa2f1a;color:#2ffa2f}.content-badge.centered{margin:0 auto 15px}.badge-icon-small{width:14px;height:14px}.content-text h2{font-size:2.8rem;margin-bottom:20px;color:#111;font-weight:800;line-height:1.2}.content-text p{font-size:1.15rem;line-height:1.7;color:#555;margin-bottom:25px}.feature-list{display:flex;flex-direction:column;gap:12px}.feature-item{display:flex;align-items:center;gap:10px}.feature-check{width:20px;height:20px;flex-shrink:0}.check-green{color:#2ffa2f}.check-pink{color:#ff24ed}.feature-item span{color:#444;font-size:.95rem}.testimonials{padding:120px 20px;background:#fff;text-align:center}.testimonials h2{font-size:2.5rem;margin-bottom:60px;color:#111;font-weight:800}.testimonial-cards{display:flex;justify-content:center;gap:30px;flex-wrap:wrap;max-width:1000px;margin:0 auto}.testimonial-card{background:#fff;border-radius:20px;padding:35px;max-width:380px;box-shadow:0 10px 40px #0000000f;text-align:left;transition:all .3s ease;cursor:pointer;border:1px solid rgba(0,0,0,.05);position:relative;overflow:hidden}.testimonial-card:hover{transform:translateY(-8px)}.card-pink:hover{box-shadow:0 15px 50px #ff24ed33}.card-green:hover{box-shadow:0 15px 50px #2ffa2f33}.card-glow{position:absolute;top:-10px;right:-10px;width:80px;height:80px;border-radius:50%;filter:blur(30px)}.glow-pink{background:#ff24ed1a}.glow-green{background:#2ffa2f1a}.testimonial-star{width:20px;height:20px;margin-bottom:15px}.star-pink{color:#ff24ed;fill:#ff24ed}.star-green{color:#2ffa2f;fill:#2ffa2f}.testimonial-card p{font-size:1.1rem;color:#333;margin-bottom:20px;line-height:1.6;font-style:italic}.testimonial-author{display:flex;align-items:center;gap:12px}.author-avatar{width:40px;height:40px;border-radius:50%;display:flex;align-items:center;justify-content:center;color:#fff;font-weight:700;font-size:1.1rem}.avatar-pink{background:linear-gradient(135deg,#ff24ed,#ff24edcc)}.avatar-green{background:linear-gradient(135deg,#2ffa2f,#2ffa2fcc)}.testimonial-author span{font-weight:600;color:#111;font-size:.95rem}.cta{padding:140px 20px;text-align:center;background:linear-gradient(135deg,#ff24ed14,#2ffa2f14);position:relative;overflow:hidden}.cta-blob{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:600px;height:600px;background:radial-gradient(circle,rgba(255,36,237,.1),transparent);border-radius:50%;filter:blur(100px);animation:pulse 4s ease-in-out infinite}.cta-content{position:relative;z-index:1}.cta h2{font-size:3rem;margin-bottom:20px;color:#111;font-weight:800}.cta p{font-size:1.2rem;margin-bottom:40px;color:#444;max-width:600px;margin-left:auto;margin-right:auto}@media (max-width: 768px){.navbar{padding:12px 20px}.navbar-links{gap:15px}.hero h1{font-size:2.5rem}.hero p{font-size:1rem}.content-container{gap:40px}.content-text h2,.cta h2{font-size:2rem}.logos-container{gap:40px}}.login-page{display:flex;justify-content:center;align-items:center;height:100vh;background:linear-gradient(135deg,#ff24ed,#2ffa2f);color:#fff;font-family:Inter,sans-serif;position:relative}.login-card{background:#1f2421e6;padding:3rem;border-radius:16px;box-shadow:0 8px 25px #0000004d;text-align:center;max-width:400px;width:90%;border:2px solid #ff24ed}.login-title{font-size:2rem;margin-bottom:.5rem;color:#2ffa2f}.login-subtitle{font-size:1rem;margin-bottom:2rem;color:#fff;opacity:.9}.google-button{display:flex;justify-content:center}.back-btn{position:absolute;top:20px;left:20px;background:transparent;border:2px solid white;color:#fff;padding:6px 12px;border-radius:6px;cursor:pointer;font-weight:600;transition:all .2s ease-in-out}.back-btn:hover{background-color:#fff;color:#000}.dashboard{display:flex;flex-direction:column;height:100vh;font-family:Inter,Arial,sans-serif;background:linear-gradient(135deg,#ff24ed05,#2ffa2f05)}.dashboard-nav{display:flex;justify-content:space-between;align-items:center;padding:12px 30px;background:#fff;box-shadow:0 2px 15px #0000000f;z-index:100}.logo{display:flex;align-items:center;gap:10px;font-size:1.2rem;font-weight:700;color:#111}.logo-icon{width:36px;height:36px;background:linear-gradient(135deg,#ff24ed,#2ffa2f);border-radius:8px;display:flex;align-items:center;justify-content:center;transition:transform .3s ease}.logo-icon:hover{transform:rotate(10deg) scale(1.05)}.logo-sparkle{width:20px;height:20px;color:#fff}.user-info{display:flex;align-items:center;gap:15px;font-size:.95rem}.user-name{color:#444;font-weight:500}.logout-btn{background:#ff24ed;color:#fff;border:none;padding:8px 16px;border-radius:8px;cursor:pointer;transition:all .2s ease;display:flex;align-items:center;gap:6px;font-weight:600;font-size:.9rem}.logout-btn:hover{background:#2ffa2f;color:#111;transform:translateY(-2px);box-shadow:0 4px 12px #2ffa2f4d}.btn-icon{width:16px;height:16px}.dashboard-content{display:flex;flex:1;overflow:hidden}.sidebar{width:240px;background:#fff;border-right:1px solid rgba(0,0,0,.06);padding:24px 16px;display:flex;flex-direction:column;gap:8px;box-shadow:2px 0 10px #00000005}.sidebar-btn{background:transparent;border:none;padding:12px 16px;text-align:left;font-size:.95rem;cursor:pointer;border-radius:10px;transition:all .2s ease;display:flex;align-items:center;gap:10px;color:#555;font-weight:500}.sidebar-icon{width:18px;height:18px}.sidebar-btn:hover{background:#ff24ed14;color:#ff24ed;transform:translate(4px)}.sidebar-btn.active{background:linear-gradient(90deg,#ff24ed1f,#2ffa2f1f);border-left:3px solid #ff24ed;color:#ff24ed;font-weight:600;padding-left:13px}.main-panel{flex:1;padding:40px;overflow-y:auto;background:#fafafa}.welcome-header{margin-bottom:40px}.main-panel h1{margin:0 0 8px;color:#111;font-size:2rem;font-weight:800}.subtitle{color:#666;margin:0;font-size:1rem}.class-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:24px}.class-card{background:#fff;padding:24px;border-radius:16px;box-shadow:0 4px 12px #0000000f;transition:all .3s ease;border:1px solid rgba(0,0,0,.04)}.class-card:hover{transform:translateY(-4px);box-shadow:0 8px 24px #ff24ed1f}.class-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:16px}.class-title-wrapper{display:flex;align-items:center;gap:10px;flex:1}.color-dot{width:12px;height:12px;border-radius:50%;box-shadow:0 0 0 3px #0000000d;flex-shrink:0}.class-title{font-size:1.15rem;font-weight:700;color:#111;margin:0;word-wrap:break-word;white-space:normal;overflow-wrap:break-word;line-height:1.3}.card-actions{display:flex;gap:6px}.icon-btn{background:transparent;border:none;padding:6px;cursor:pointer;border-radius:6px;transition:all .2s ease;display:flex;align-items:center;justify-content:center}.action-icon{width:18px;height:18px}.edit-btn{color:#666}.edit-btn:hover{background:#2ffa2f26;color:#2ffa2f}.delete-btn{color:#666}.delete-btn:hover{background:#ff24ed26;color:#ff24ed}.class-name{font-size:.95rem;color:#333;margin:0 0 12px;font-weight:500}.class-details{display:flex;flex-direction:column;gap:6px}.class-text{font-size:.9rem;color:#666;margin:0;word-wrap:break-word;overflow-wrap:break-word;line-height:1.5}.class-text strong{color:#444;font-weight:600}.empty-card{display:flex;align-items:center;justify-content:center;min-height:180px;background:linear-gradient(135deg,#ff24ed08,#2ffa2f08);border:2px dashed rgba(0,0,0,.1)}.empty-card p{color:#888;font-size:.95rem}.add-card{display:flex;justify-content:center;align-items:center;min-height:180px;background:linear-gradient(135deg,#2ffa2f0d,#ff24ed0d);border:2px dashed rgba(0,0,0,.1);cursor:pointer;transition:all .3s ease}.add-card:hover{background:linear-gradient(135deg,#2ffa2f1a,#ff24ed1a);border-color:#2ffa2f66;transform:translateY(-4px);box-shadow:0 8px 24px #2ffa2f26}.add-class-btn{background:transparent;border:none;padding:16px 24px;font-weight:600;font-size:1rem;border-radius:10px;cursor:pointer;transition:all .2s ease;display:flex;align-items:center;gap:8px;color:#2ffa2f}.add-icon{width:20px;height:20px}@media (max-width: 768px){.dashboard-nav{padding:12px 16px}.sidebar{width:200px;padding:16px 12px}.main-panel{padding:24px 16px}.class-grid{grid-template-columns:1fr}}.modal-backdrop{position:fixed;inset:0;background:radial-gradient(circle at top left,rgba(255,36,237,.15),transparent 50%),radial-gradient(circle at bottom right,rgba(47,250,47,.15),transparent 50%),#0009;display:flex;align-items:center;justify-content:center;z-index:1000;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);animation:fadeIn .2s ease}.modal-card{background:#fff;color:#111;border-radius:24px;padding:48px;width:95vw;max-width:1800px;max-height:90vh;overflow-y:auto;overflow-x:hidden;position:relative;box-shadow:0 20px 60px #0000004d;border:1px solid rgba(255,36,237,.2);animation:slideUp .3s ease}.modal-card .close{position:absolute;top:20px;right:24px;font-size:32px;font-weight:700;border:0;background:transparent;color:#999;cursor:pointer;transition:all .2s ease;width:36px;height:36px;border-radius:50%;display:flex;align-items:center;justify-content:center}.modal-card .close:hover{color:#fff;background:#ff24ed;transform:rotate(90deg)}.modal-card::-webkit-scrollbar{width:10px}.modal-card::-webkit-scrollbar-thumb{background:linear-gradient(180deg,#ff24ed,#2ffa2f);border-radius:10px}.modal-card::-webkit-scrollbar-track{background:#f0f0f080}.upload-step{display:flex;flex-direction:column;align-items:center;gap:24px;padding:40px 20px;text-align:center}.upload-icon{width:80px;height:80px;background:linear-gradient(135deg,#ff24ed1a,#2ffa2f1a);border-radius:20px;display:flex;align-items:center;justify-content:center;animation:float 3s ease-in-out infinite}@keyframes float{0%,to{transform:translateY(0)}50%{transform:translateY(-10px)}}.main-icon{width:40px;height:40px;color:#ff24ed}.upload-step h2{font-size:2rem;font-weight:800;color:#111;margin:0}.upload-description{font-size:1.05rem;color:#666;max-width:500px;margin:0;line-height:1.6}.file-upload-label{display:inline-flex;align-items:center;gap:10px;padding:16px 32px;background:linear-gradient(135deg,#ff24ed,#2ffa2f);color:#fff;border-radius:12px;cursor:pointer;font-weight:600;font-size:1.05rem;transition:all .3s ease;box-shadow:0 4px 15px #ff24ed4d}.file-upload-label:hover{transform:translateY(-2px);box-shadow:0 8px 25px #ff24ed66}.file-icon{width:20px;height:20px}.file-input{display:none}.error{color:#ff24ed;font-weight:600;padding:12px 20px;background:#ff24ed1a;border-radius:8px;margin:0}.loading-container{display:flex;flex-direction:column;align-items:center;gap:24px;padding:60px 20px}.loading-animation{position:relative;width:120px;height:120px;display:flex;align-items:center;justify-content:center}.loading-circle{position:absolute;border-radius:50%;animation:pulse 2s ease-in-out infinite}.circle-1{width:120px;height:120px;border:4px solid rgba(255,36,237,.3);animation-delay:0s}.circle-2{width:90px;height:90px;border:4px solid rgba(47,250,47,.3);animation-delay:.3s}.circle-3{width:60px;height:60px;border:4px solid rgba(255,36,237,.3);animation-delay:.6s}@keyframes pulse{0%,to{transform:scale(1);opacity:1}50%{transform:scale(1.1);opacity:.5}}.loading-sparkle{width:40px;height:40px;color:#ff24ed;animation:spin 2s linear infinite;z-index:1}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.loading-text{font-size:1.5rem;font-weight:700;color:#111;margin:0}.loading-subtext{font-size:1rem;color:#666;margin:0}.edit-step{display:flex;flex-direction:column;gap:32px}.edit-header{display:flex;flex-direction:column;gap:16px}.back-btn{align-self:flex-start;background:#0000000d;border:none;padding:8px 16px;border-radius:8px;cursor:pointer;display:flex;align-items:center;gap:6px;font-weight:600;color:#666;transition:all .2s ease}.back-btn:hover{background:#ff24ed1a;color:#ff24ed;transform:translate(-4px)}.back-icon{width:18px;height:18px}.edit-step h2{font-size:2rem;font-weight:800;color:#111;margin:0}.field{display:flex;flex-direction:column;gap:8px}.field-label{font-weight:600;color:#333;font-size:.95rem}.grid-2{display:grid;grid-template-columns:repeat(2,1fr);gap:24px;width:100%}.grid-2 input,.grid-2 textarea{width:100%;font-size:1rem;padding:12px 14px;border-radius:10px;border:2px solid #e5e5e5;transition:all .2s ease;font-family:inherit}.grid-2 input:focus,.grid-2 textarea:focus{outline:none;border-color:#ff24ed;box-shadow:0 0 0 3px #ff24ed1a}.grid-2 textarea{min-height:100px;resize:vertical}.grid-2 input::placeholder,.grid-2 textarea::placeholder{color:#aaa}.section{display:flex;flex-direction:column;gap:16px;padding:24px;background:#00000005;border-radius:16px;border:1px solid rgba(0,0,0,.05)}.section h3{font-size:1.3rem;color:#111;margin:0;font-weight:700}.table{display:flex;flex-direction:column;gap:12px}.thead,.trow{display:grid;grid-template-columns:2fr 1fr 1.3fr 2.4fr 70px;gap:12px;align-items:center}.thead{font-weight:700;color:#444;border-bottom:2px solid #e5e5e5;padding-bottom:8px;font-size:.9rem}.trow input,.trow select{width:100%;padding:10px 12px;border-radius:8px;border:2px solid #e5e5e5;font-size:.95rem;transition:all .2s ease}.trow input:focus,.trow select:focus{outline:none;border-color:#2ffa2f;box-shadow:0 0 0 3px #2ffa2f1a}.trow input::placeholder{color:#aaa}.trow select{background:#fff;cursor:pointer}.mini{border:0;padding:8px 16px;border-radius:8px;font-weight:600;cursor:pointer;transition:all .2s ease;font-size:.9rem}.mini.add-btn{background:#2ffa2f26;color:#2ffa2f;align-self:flex-start}.mini.add-btn:hover{background:#2ffa2f40;transform:translateY(-2px)}.mini.danger{background:#ff24ed1a;color:#ff24ed}.mini.danger:hover{background:#ff24ed40;transform:scale(1.05)}.actions{display:flex;justify-content:flex-end;gap:12px;margin-top:24px;padding-top:24px;border-top:2px solid rgba(0,0,0,.05)}.primary{background:linear-gradient(135deg,#ff24ed,#2ffa2f);color:#fff;border:0;padding:14px 32px;border-radius:12px;cursor:pointer;font-weight:700;font-size:1.05rem;transition:all .3s ease;display:flex;align-items:center;gap:8px;box-shadow:0 4px 15px #ff24ed4d}.primary:hover{transform:translateY(-2px);box-shadow:0 8px 25px #ff24ed66}.secondary{background:#eee;border:0;padding:14px 28px;border-radius:12px;cursor:pointer;font-weight:600;transition:all .2s ease}.secondary:hover{background:#ddd}@media (max-width: 1024px){.modal-card{width:95vw;padding:32px 24px}.grid-2{grid-template-columns:1fr;gap:20px}.thead,.trow{grid-template-columns:1.5fr .8fr 1fr 1.8fr 50px;gap:8px}.section{padding:16px}}@media (max-width: 768px){.modal-card{padding:24px 16px;border-radius:16px}.upload-step{padding:24px 12px}.edit-step h2,.upload-step h2{font-size:1.5rem}.thead{font-size:.8rem}.trow input,.trow select{font-size:.85rem;padding:8px 10px}}.schedule-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:30px;gap:20px;flex-wrap:wrap}.schedule-actions{display:flex;gap:12px;align-items:center}.settings-btn{background:#fff;border:2px solid #e5e5e5;padding:10px 20px;border-radius:10px;font-weight:600;cursor:pointer;display:flex;align-items:center;gap:8px;color:#555;transition:all .2s ease;font-size:.95rem}.settings-btn:hover{border-color:#ff24ed;color:#ff24ed;background:#ff24ed0d;transform:translateY(-2px)}.ai-btn{background:linear-gradient(135deg,#ff24ed,#2ffa2f);border:none;padding:10px 24px;border-radius:10px;color:#fff;font-weight:700;cursor:pointer;display:flex;align-items:center;gap:8px;transition:all .3s ease;font-size:.95rem;box-shadow:0 4px 15px #ff24ed4d}.ai-btn:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 8px 25px #ff24ed66}.ai-btn:disabled{opacity:.6;cursor:wait}.legend{display:flex;gap:20px;margin-bottom:20px;align-items:center;flex-wrap:wrap;padding:16px 20px;background:#fff;border-radius:12px;box-shadow:0 2px 8px #0000000a}.legend span{display:inline-flex;align-items:center;gap:8px;font-size:.9rem;color:#444;font-weight:500}.legend .box{width:14px;height:14px;border-radius:50%;box-shadow:0 2px 4px #0000001a}.box.meeting{background:#74c0fc}.box.assignment{background:#ffd43b}.box.exam{background:#ff6b6b}.box.custom{background:#49a078}.box.study{background:#9cc5a1}.calendar-container{margin-top:20px;background:#fff;border-radius:16px;box-shadow:0 4px 20px #0000000f;padding:24px;border:1px solid rgba(0,0,0,.04)}.fc{--fc-button-bg-color: #ff24ed;--fc-button-border-color: #ff24ed;--fc-button-text-color: #fff;--fc-button-hover-bg-color: #2ffa2f;--fc-button-hover-border-color: #2ffa2f;--fc-today-bg-color: rgba(255, 36, 237, .08)}.fc .fc-toolbar-title{color:#111;font-weight:800;font-size:1.5rem}.fc .fc-button{padding:8px 14px;font-weight:600;border-radius:8px;transition:all .2s ease}.fc .fc-button:hover{transform:translateY(-2px);box-shadow:0 4px 12px #ff24ed4d}.fc-event{background:var(--event-bg, #49A078)!important;color:var(--event-text, #fff)!important;border:none!important;border-radius:10px!important;padding:8px 10px!important;font-size:.95rem!important;line-height:1.3!important;display:flex!important;align-items:flex-start!important;justify-content:flex-start!important;min-height:42px!important;box-shadow:0 2px 8px #0000001f;white-space:normal!important;cursor:pointer;transition:transform .2s ease}.fc-event:hover{transform:scale(1.02)}.event-text{white-space:normal!important;overflow:hidden!important;word-break:break-word;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;line-height:1.25;max-height:3.75em;max-width:100%}.event-bubble{display:flex;align-items:center;gap:8px;font-weight:700;font-size:.9rem;width:100%;flex-wrap:wrap}.event-dot{width:10px;height:10px;border-radius:50%;flex:0 0 10px;box-shadow:0 0 0 2px #ffffff40}.fc-daygrid-day-events{display:flex;flex-direction:column;gap:4px;min-height:40px;overflow:visible!important}.fc-daygrid-event-harness{height:auto!important}.fc-daygrid-day{vertical-align:top!important}.fc-daygrid-day-number{color:#111;font-weight:600;padding:8px}.fc-theme-standard td,.fc-theme-standard th{border-color:#eee}.fc-scrollgrid{border-radius:12px;overflow:hidden;border-color:#eee!important}.modal-backdrop{position:fixed;inset:0;background:radial-gradient(circle at top left,rgba(255,36,237,.15),transparent 50%),radial-gradient(circle at bottom right,rgba(47,250,47,.15),transparent 50%),#0009;display:flex;align-items:center;justify-content:center;z-index:999;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);animation:fadeIn .2s ease}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.schedule-modal,.settings-modal{background:#fff;padding:40px;border-radius:20px;box-shadow:0 20px 60px #0000004d;position:relative;animation:slideUp .3s ease;border:1px solid rgba(255,36,237,.2)}@keyframes slideUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.schedule-modal{width:90vw;max-width:800px}.settings-modal{width:90vw;max-width:550px}.close-modal{position:absolute;top:16px;right:20px;font-size:32px;font-weight:700;border:0;background:transparent;color:#999;cursor:pointer;transition:all .2s ease;width:36px;height:36px;border-radius:50%;display:flex;align-items:center;justify-content:center}.close-modal:hover{color:#fff;background:#ff24ed;transform:rotate(90deg)}.modal-title{font-size:1.8rem;font-weight:800;color:#111;margin:0 0 30px}.modal-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:20px;margin-bottom:30px}.settings-grid{display:grid;grid-template-columns:1fr;gap:20px;margin-bottom:30px}.form-field{display:flex;flex-direction:column;gap:8px}.form-field label{font-weight:600;color:#333;font-size:.95rem}.form-field input,.form-field select{width:100%;padding:12px 14px;border-radius:10px;border:2px solid #e5e5e5;font-size:1rem;transition:all .2s ease;font-family:inherit}.form-field input:focus,.form-field select:focus{outline:none;border-color:#ff24ed;box-shadow:0 0 0 3px #ff24ed1a}.form-field input::placeholder{color:#aaa}.form-field select{cursor:pointer;background:#fff}.checkbox-field{flex-direction:row;align-items:center}.checkbox-field label{display:flex;align-items:center;gap:10px;cursor:pointer}.checkbox-field input[type=checkbox]{width:20px;height:20px;cursor:pointer;accent-color:#ff24ed}.modal-actions{display:flex;justify-content:flex-end;gap:12px;margin-top:30px;padding-top:24px;border-top:2px solid rgba(0,0,0,.05)}.modal-actions .primary{background:linear-gradient(135deg,#ff24ed,#2ffa2f);color:#fff;border:0;padding:12px 28px;border-radius:10px;cursor:pointer;font-weight:700;font-size:1rem;transition:all .3s ease;display:flex;align-items:center;gap:8px;box-shadow:0 4px 15px #ff24ed4d}.modal-actions .primary:hover{transform:translateY(-2px);box-shadow:0 8px 25px #ff24ed66}.modal-actions .secondary{background:#f5f5f5;border:2px solid #e5e5e5;padding:12px 28px;border-radius:10px;cursor:pointer;font-weight:600;transition:all .2s ease;display:flex;align-items:center;gap:8px;color:#666}.modal-actions .secondary:hover{background:#eee;border-color:#ddd}.btn-icon-small{width:18px;height:18px}@media (max-width: 768px){.schedule-header{flex-direction:column}.schedule-actions{width:100%;flex-direction:column}.settings-btn,.ai-btn{width:100%;justify-content:center}.modal-grid{grid-template-columns:1fr}.schedule-modal,.settings-modal{width:95vw;padding:24px}.legend{flex-direction:column;align-items:flex-start}}.chat-main{display:flex;flex-direction:column;height:calc(100vh - 60px);gap:20px}.chat-container{flex:1;background:#fff;border-radius:16px;padding:24px;overflow-y:auto;box-shadow:0 4px 20px #0000000f;border:1px solid rgba(0,0,0,.04);display:flex;flex-direction:column}.messages-wrapper{display:flex;flex-direction:column;gap:16px;flex:1}.message-row{display:flex;width:100%}.user-row{justify-content:flex-end}.ai-row{justify-content:flex-start}.chat-bubble{max-width:70%;padding:14px 18px;border-radius:16px;white-space:pre-wrap;line-height:1.5;font-size:.95rem;word-wrap:break-word;animation:slideIn .3s ease}@keyframes slideIn{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.user-bubble{background:linear-gradient(135deg,#ff24ed,#2ffa2f);color:#fff;border-bottom-right-radius:4px;box-shadow:0 4px 12px #ff24ed4d}.ai-bubble{background:#f5f5f5;color:#111;border-bottom-left-radius:4px;box-shadow:0 2px 8px #0000000f}.typing{display:flex;align-items:center;gap:6px;padding:18px 20px}.typing-dot{width:8px;height:8px;background:#999;border-radius:50%;animation:typingBounce 1.4s infinite ease-in-out}.typing-dot:nth-child(1){animation-delay:0s}.typing-dot:nth-child(2){animation-delay:.2s}.typing-dot:nth-child(3){animation-delay:.4s}@keyframes typingBounce{0%,60%,to{transform:translateY(0)}30%{transform:translateY(-10px)}}.chat-input-wrapper{display:flex;gap:12px;padding:20px;background:#fff;border-radius:16px;box-shadow:0 4px 20px #0000000f;border:1px solid rgba(0,0,0,.04)}.chat-input{flex:1;padding:14px 18px;border-radius:12px;border:2px solid #e5e5e5;font-size:1rem;font-family:inherit;transition:all .2s ease}.chat-input:focus{outline:none;border-color:#ff24ed;box-shadow:0 0 0 3px #ff24ed1a}.chat-input::placeholder{color:#aaa}.send-btn{background:linear-gradient(135deg,#ff24ed,#2ffa2f);border:none;color:#fff;font-weight:700;padding:14px 28px;border-radius:12px;cursor:pointer;transition:all .3s ease;display:flex;align-items:center;gap:8px;font-size:1rem;box-shadow:0 4px 15px #ff24ed4d}.send-btn:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 8px 25px #ff24ed66}.send-btn:disabled{opacity:.5;cursor:not-allowed;transform:none}.send-icon{width:18px;height:18px}.chat-container::-webkit-scrollbar{width:8px}.chat-container::-webkit-scrollbar-thumb{background:linear-gradient(180deg,#ff24ed,#2ffa2f);border-radius:10px}.chat-container::-webkit-scrollbar-track{background:#f0f0f080}@media (max-width: 768px){.chat-bubble{max-width:85%;font-size:.9rem;padding:12px 16px}.chat-input-wrapper{padding:16px}.chat-input{padding:12px 16px;font-size:.95rem}.send-btn{padding:12px 20px}.chat-container{padding:16px}}
