@import url(https://fonts.googleapis.com/css2?family=Poppins:wght@400;500;600;700&display=swap);:root{--light-green:#48c49e;--mint:#c4f0e0;--mint-btn:#76e0b7;--dark:#333}body{background-attachment:fixed;font-family:Hammersmith One,sans-serif;height:100vh;overflow-x:hidden;padding:0}.auth-card{background:#fff;background:var(--white);border-radius:20px;box-shadow:0 6px 20px #00000026;margin:0 auto;max-width:600px;padding:40px;position:relative;text-align:center;width:90%;z-index:2}.primary-btn,.secondary-btn{background:#2c7c65;background:var(--dark-green);border:none;border-radius:12px;color:#fff;color:var(--white);cursor:pointer;font-size:16px;font-weight:700;padding:14px 32px;text-decoration:none;transition:.3s ease}.primary-btn:hover,.secondary-btn:hover{background:#215d4c}footer{color:#444;font-size:16px;margin-top:20px}input[type=email],input[type=password],input[type=text]{border:2px solid #48c49e;border:2px solid var(--light-green);border-radius:10px;box-sizing:border-box;font-size:16px;margin:10px 0;outline:none;padding:12px 14px;transition:border .3s ease;width:100%}input[type=email]:focus,input[type=password]:focus,input[type=text]:focus{border-color:#2c7c65;border-color:var(--dark-green)}.spinner{animation:spin 1s linear infinite;border:3px solid #fff;border-radius:50%;border-top-color:#0000;display:inline-block;height:18px;width:18px}@media (max-width:768px){.auth-card{padding:24px 20px;width:95%}.primary-btn,.secondary-btn{font-size:14px;padding:12px 24px}}:root{--dark-green:#2c7c65;--mint-green:#48c49e;--light-mint:#c4f0e0;--pale-mint:#f0f8f5;--white:#fff;--background-grad:linear-gradient(135deg,#e0f7f1,#f5fffd);--text-primary:#212529;--text-secondary:#555;--shadow:0 4px 12px #00000014;--border-radius:12px;--border-color:#dee2e6}body{background:#f0f8f5;background:var(--pale-mint);color:#212529;color:var(--text-primary);font-family:Poppins,sans-serif;margin:0;overflow:hidden}.page-card{background:#fff;background:var(--white);border-radius:12px;border-radius:var(--border-radius);box-shadow:0 4px 12px #00000014;box-shadow:var(--shadow);padding:30px}.btn{align-items:center;border:none;border-radius:8px;cursor:pointer;display:inline-flex;font-size:.95rem;font-weight:600;gap:8px;padding:10px 20px;transition:all .2s ease}.btn-primary{background-color:#48c49e;background-color:var(--mint-green);color:#fff;color:var(--white)}.btn-primary:hover{background-color:#2c7c65;background-color:var(--dark-green)}.btn-secondary{background-color:#c4f0e0;background-color:var(--light-mint);color:#2c7c65;color:var(--dark-green)}.btn-secondary:hover{background-color:#b3e6d5}.btn-danger{background-color:#fce8e8;color:#c53030}.btn-danger:hover{background-color:#f7d5d5}.layout-container{background:linear-gradient(135deg,#e0f7f1,#f5fffd);background:var(--background-grad);display:flex;height:100vh}.sidebar{background-color:#2c7c65;background-color:var(--dark-green);color:#fff;color:var(--white);display:flex;flex-direction:column;flex-shrink:0;position:relative;transition:width .3s ease;z-index:100}.sidebar.expanded{width:250px}.sidebar.collapsed{width:80px}.sidebar-header{align-items:center;box-sizing:border-box;display:flex;height:65px;justify-content:center;padding:20px;position:relative}.sidebar.collapsed .sidebar-header{justify-content:center;padding:20px 10px}.logo-text{font-size:1.5rem;font-weight:700;margin:0;white-space:nowrap}.sidebar.collapsed .logo-text{font-size:1.3rem}.sidebar.collapsed .nav-text{display:none}.toggle-btn{background:none;background-color:#2c7c65;background-color:var(--dark-green);border:2px solid #f0f8f5;border:2px solid var(--pale-mint);border-left:none;border-radius:0 8px 8px 0;box-shadow:2px 2px 6px #0003;cursor:pointer;font-size:1.5rem;height:32px;padding:0;position:absolute;right:0;top:50%;transform:translateY(-50%) translateX(100%);transition:all .3s ease;width:32px;z-index:100}.sidebar-badge,.toggle-btn{align-items:center;color:#fff;color:var(--white);display:flex;justify-content:center}.sidebar-badge{background-color:#c53030;border-radius:50%;font-size:.75rem;font-weight:700;height:20px;line-height:1;margin-left:auto;min-width:20px}.sidebar.collapsed .sidebar-badge{position:absolute;right:18px;top:10px;transform:scale(.8)}.sidebar-nav{flex-grow:1}.sidebar-nav ul{list-style:none;margin:20px 0;padding:0}.nav-link{align-items:center;color:#c4f0e0;color:var(--light-mint);cursor:pointer;display:flex;font-size:1rem;font-weight:500;gap:15px;padding:15px 25px;text-decoration:none;transition:all .2s ease;white-space:nowrap}.sidebar.collapsed .nav-link{justify-content:center;padding:15px 0}.nav-link.active,.nav-link:hover{background-color:#48c49e;background-color:var(--mint-green);border-radius:12px;border-radius:var(--border-radius);color:#fff;color:var(--white);margin:5px 10px;padding:15px}.sidebar.collapsed .nav-link.active,.sidebar.collapsed .nav-link:hover{margin:5px;padding:15px 0}.sidebar-footer{margin-top:auto;padding-bottom:20px}.main-content{display:flex;flex:1 1;flex-direction:column;overflow:hidden}.top-bar{align-items:center;display:flex;flex-shrink:0;height:65px;justify-content:space-between;padding:0 40px}.welcome-message h2{color:#2c7c65;color:var(--dark-green);font-size:1.8rem;font-weight:600;margin:0}.top-bar-actions{gap:15px}.top-bar-actions,.top-bar-btn{align-items:center;display:flex}.top-bar-btn{background:#fff;background:var(--white);border:none;border-radius:12px;border-radius:var(--border-radius);box-shadow:0 2px 8px #00000012;color:#2c7c65;color:var(--dark-green);cursor:pointer;font-size:.9rem;font-weight:600;gap:8px;padding:10px 15px}.top-bar-btn.sign-out{background-color:#c4f0e0;background-color:var(--light-mint)}.page-content{flex-grow:1;overflow-y:auto;padding:20px 40px}.sidebar-overlay{background:#00000080;display:none;height:100%;left:0;position:fixed;top:0;width:100%;z-index:99}.sidebar-overlay.active{display:block}@media (max-width:768px){body.sidebar-open{overflow:hidden}.logo-text{font-size:1.2rem}.sidebar{height:100%;left:0;position:fixed;top:0;transform:translateX(-100%);transition:transform .3s ease-in-out;width:250px}.sidebar.expanded{box-shadow:4px 0 15px #0003;transform:translateX(0);width:250px}.sidebar.collapsed{transform:translateX(-100%);width:250px}.sidebar-header{padding-left:65px}.toggle-btn{background:#2c7c65;background:var(--dark-green);border:2px solid #f0f8f5;border:2px solid var(--pale-mint);border-radius:8px;color:#fff;color:var(--white);height:40px;left:15px;position:fixed;top:15px;transform:none;width:40px;z-index:101}.sidebar.collapsed .nav-link{justify-content:flex-start;padding:15px 25px}.sidebar.collapsed .nav-link.active,.sidebar.collapsed .nav-link:hover{margin:5px 10px;padding:15px}.main-content{width:100%}.top-bar{flex-wrap:wrap;height:auto;min-height:65px;padding:10px 15px 10px 65px}.welcome-message h2{font-size:1.3rem}.top-bar-actions,.top-bar-btn span{display:none}.top-bar-btn{font-size:1.2rem;padding:8px}.page-content{padding:15px 15px 80px}.page-card{margin-bottom:20px;padding:20px}}.signin-page{align-items:flex-start;background:#0000;box-sizing:border-box;display:flex;justify-content:center;min-height:calc(100vh - 140px);position:relative;width:100%}.signin-box{background:var(--white);border-radius:16px;box-shadow:0 4px 15px #0000001a;color:var(--dark);margin-bottom:40px;max-width:90%;padding:32px;position:relative;text-align:center;width:450px;z-index:2}.signin-title{color:var(--dark-green);font-size:26px;font-weight:700;margin-bottom:24px}.signin-form{display:flex;flex-direction:column;gap:4px;margin-bottom:20px}.signin-form label{color:var(--dark);font-size:14px;font-weight:500;text-align:left}.signin-form input{border:2px solid var(--light-green);border-radius:8px;font-size:14px;outline:none;padding:10px;transition:border .2s ease}.signin-form input:focus{border-color:var(--dark-green)}.signin-links{font-size:14px;margin-top:12px}.link{font-weight:500}.signin-illustration{bottom:80px;left:1020px;max-width:40%;pointer-events:none;position:fixed;width:700px;z-index:1}@media (max-width:768px){.signin-page{padding:20px 10px}.signin-box{padding:24px 16px;width:95%}.signin-title{font-size:22px;margin-bottom:16px}.signin-form{gap:2px}.signin-form label{font-size:13px}.signin-form input{font-size:13px;padding:8px}.signin-links{font-size:13px}.signin-illustration{bottom:0;display:block;height:calc(100vh - 500px);left:50%;max-height:300px;max-width:100vw;min-height:120px;object-fit:contain;pointer-events:none;position:fixed;transform:translateX(-57%);width:auto;z-index:1}}.register-page{align-items:flex-start;background:#0000;box-sizing:border-box;display:flex;justify-content:center;min-height:calc(100vh - 140px);position:relative;width:100%}.register-box{background:var(--white);border-radius:16px;box-shadow:0 4px 15px #0000001a;color:var(--dark);margin-bottom:40px;max-width:90%;padding:32px;position:relative;text-align:center;width:450px;z-index:2}.register-title{color:var(--dark-green);font-size:26px;font-weight:700;margin-bottom:24px}.register-form{display:flex;flex-direction:column;gap:4px;margin-bottom:20px}.register-form label{color:var(--dark);font-size:14px;font-weight:500;text-align:left}.register-form input{border:2px solid var(--light-green);border-radius:8px;font-size:14px;outline:none;padding:10px;transition:border .2s ease}.register-form input:focus{border-color:var(--dark-green)}.register-links{font-size:16px;margin-top:12px}.register-illustration{bottom:0;left:40px;max-width:25%;pointer-events:none;position:fixed;width:400px;z-index:1}@media (max-width:768px){.register-illustration{bottom:100px;left:20px;max-width:20%;width:250px}.register-page{padding:20px 10px}.register-box{padding:24px 16px;width:95%}.register-title{font-size:22px;margin-bottom:16px}.register-form{gap:2px}.register-form label{font-size:13px}.register-form input{font-size:13px;padding:8px}.password-checks{font-size:.8em}.register-links{font-size:14px}.register-illustration{display:none}}.verified-page{align-items:flex-start;background:#0000;box-sizing:border-box;display:flex;justify-content:center;min-height:calc(100vh - 140px);position:relative;width:100%}.verified-box{background:var(--white);border-radius:16px;box-shadow:0 4px 15px #0000001a;color:var(--dark);margin-bottom:40px;max-width:90%;padding:32px;position:relative;text-align:center;width:450px;z-index:2}.verified-title{color:var(--dark-green);font-size:26px;font-weight:700;margin-bottom:24px}.verified-message{font-size:16px;line-height:1.6;margin:20px 0;white-space:pre-line}.verified-message.loading{color:#666}.verified-message.success{color:var(--dark-green)}.verified-message.error{color:#e74c3c}.verified-button{margin-top:24px}@media (max-width:768px){.verified-page{padding:20px 10px}.verified-box{padding:24px 16px;width:95%}.verified-title{font-size:22px}.verified-message{font-size:14px}}.forgot-page{align-items:flex-start;background:#0000;box-sizing:border-box;display:flex;justify-content:center;min-height:calc(100vh - 140px);position:relative;width:100%}.forgot-box{background:var(--white);border-radius:16px;box-shadow:0 4px 15px #0000001a;color:var(--dark);margin-bottom:40px;max-width:90%;padding:32px;position:relative;text-align:center;width:450px;z-index:2}.forgot-title{color:var(--dark-green);font-size:26px;font-weight:700;margin-bottom:24px}.forgot-form{display:flex;flex-direction:column;gap:4px;margin-bottom:20px}.forgot-form label{color:var(--dark);font-size:14px;font-weight:500;text-align:left}.forgot-form input{border:2px solid var(--light-green);border-radius:8px;font-size:14px;outline:none;padding:10px;transition:border .2s ease}.forgot-form input:focus{border-color:var(--dark-green)}.forgot-links{font-size:14px;margin-top:12px}.forgot-illustration{bottom:0;left:150px;max-width:25%;pointer-events:none;position:fixed;width:400px;z-index:1}@media (min-width:2520px){.forgot-illustration{bottom:20px;left:50%;transform:translateX(-50%)}}@media (max-width:768px){.forgot-illustration{bottom:0;left:20px;max-width:20%;width:250px}.forgot-page{padding:20px 10px}.forgot-box{padding:24px 16px;width:95%}.forgot-title{font-size:22px}.forgot-illustration{bottom:0;display:block;height:calc(100vh - 400px);left:50%;max-height:300px;max-width:50vw;min-height:120px;object-fit:contain;pointer-events:none;position:fixed;transform:translateX(-50%);width:auto;z-index:1}}.reset-page{align-items:flex-start;background:#0000;box-sizing:border-box;display:flex;justify-content:center;min-height:calc(100vh - 140px);position:relative;width:100%}.reset-box{background:var(--white);border-radius:16px;box-shadow:0 4px 15px #0000001a;color:var(--dark);margin-bottom:40px;max-width:90%;padding:32px;position:relative;text-align:center;width:450px;z-index:2}.reset-title{color:var(--dark-green);font-size:26px;font-weight:700;margin-bottom:24px}.reset-form{display:flex;flex-direction:column;gap:4px;margin-bottom:20px}.reset-form label{color:var(--dark);font-size:14px;font-weight:500;text-align:left}.reset-form input{border:2px solid var(--light-green);border-radius:8px;font-size:14px;outline:none;padding:10px;transition:border .2s ease}.reset-form input:focus{border-color:var(--dark-green)}.password-checks{font-size:.9em;list-style:none;margin-top:6px;padding:0;text-align:left}.password-checks li.ok{color:var(--dark-green)}.password-checks li.bad{color:#e74c3c}.match-msg{font-size:14px;margin:8px 0}.match-msg.ok{color:var(--dark-green)}.match-msg.bad{color:#e74c3c}.reset-links{font-size:14px;margin-top:12px}@media (max-width:768px){.reset-page{padding:20px 10px}.reset-box{padding:24px 16px;width:95%}.reset-title{font-size:22px}.password-checks{font-size:.8em}}.resend-page{align-items:flex-start;background:#0000;box-sizing:border-box;display:flex;justify-content:center;min-height:calc(100vh - 140px);position:relative;width:100%}.resend-box{background:var(--white);border-radius:16px;box-shadow:0 4px 15px #0000001a;color:var(--dark);margin-bottom:40px;max-width:90%;padding:32px;position:relative;text-align:center;width:450px;z-index:2}.resend-title{color:var(--dark-green);font-size:26px;font-weight:700;margin-bottom:24px}.resend-form{display:flex;flex-direction:column;gap:4px;margin-bottom:20px}.resend-form label{color:var(--dark);font-size:14px;font-weight:500;text-align:left}.resend-form input{border:2px solid var(--light-green);border-radius:8px;font-size:14px;outline:none;padding:10px;transition:border .2s ease}.resend-form input:focus{border-color:var(--dark-green)}.msg{border-radius:8px;font-size:14px;font-weight:500;margin-top:15px;padding:12px;text-align:center}.msg.success{background-color:#d4edda;border:1px solid #c3e6cb;color:#155724}.msg.error{background-color:#f8d7da;border:1px solid #f5c6cb;color:#721c24}.resend-links{font-size:16px;margin-top:12px}.link{color:var(--dark-green);font-size:16px;font-weight:600;text-decoration:none}.link:hover{text-decoration:underline}.resend-illustration{bottom:100px;max-width:25%;pointer-events:none;position:fixed;right:120px;width:350px;z-index:1}@media (max-width:768px){.resend-illustration{bottom:0;display:block;height:calc(100vh - 400px);left:50%;max-height:300px;max-width:50vw;min-height:120px;object-fit:contain;pointer-events:none;position:fixed;transform:translateX(-50%);width:auto;z-index:1}}@media (min-width:1920px){.resend-illustration{bottom:20px;left:50%;right:auto;transform:translateX(-50%)}}.landing-layout{background:linear-gradient(180deg,#2d8a68,#48c49e);background-attachment:fixed;display:flex;flex-direction:column;height:100vh;min-height:100vh;overflow:hidden;position:relative}.landing-header{align-items:center;background:#0000;box-sizing:border-box;color:var(--white);display:flex;font-size:64px;font-weight:700;height:100px;justify-content:center;left:0;padding:20px;position:fixed;top:0;width:100%;z-index:10}.landing-header h1{font-size:inherit;margin:0}.landing-header a{color:inherit;text-decoration:none}.landing-content{align-items:center;box-sizing:border-box;display:flex;flex:1 1;flex-direction:column;margin-top:100px;overflow-x:hidden;overflow-y:auto;padding:40px 20px 60px;position:relative;width:100%;z-index:2}.floating-accent{animation:float 12s ease-in-out infinite;background:var(--mint);opacity:.6;position:fixed;z-index:0}.floating-accent.circle{border-radius:50%}.floating-accent.star{-webkit-clip-path:polygon(50% 0,61% 35%,98% 35%,68% 57%,79% 91%,50% 70%,21% 91%,32% 57%,2% 35%,39% 35%);clip-path:polygon(50% 0,61% 35%,98% 35%,68% 57%,79% 91%,50% 70%,21% 91%,32% 57%,2% 35%,39% 35%)}@keyframes float{0%{transform:translateY(0) rotate(0)}50%{transform:translateY(-30px) rotate(180deg)}to{transform:translateY(0) rotate(1turn)}}.landing-home{background:var(--white);border-radius:20px;box-shadow:0 6px 20px #00000026;margin:0 auto;max-width:600px;padding:40px;position:relative;text-align:center;width:90%;z-index:2}.landing-home h2{color:var(--dark-green);font-size:28px;margin-bottom:16px}.landing-home p{color:var(--dark);font-size:16px;margin:10px 0}.landing-buttons{align-items:center;display:flex;flex-direction:row;gap:20px;justify-content:center;margin-top:20px;position:relative;width:100%;z-index:3}.landing-buttons .primary-btn,.landing-buttons .secondary-btn{min-width:180px;text-align:center}.illustration{bottom:0;height:auto;max-width:60%;pointer-events:none;position:fixed;width:450px;z-index:1}.illustration.left{left:5%}.illustration.right{right:5%}@media (max-width:1920px){.landing-header{font-size:32px;height:90px}.landing-content{margin-top:90px}.illustration{max-width:30%;width:300px}.illustration.left{left:2%}.illustration.right{right:2%}}@media (max-width:768px){.landing-header{font-size:32px;height:70px;padding:15px 10px}.landing-content{margin-top:70px;padding:20px 15px 100px}.landing-home{margin-bottom:20px;padding:30px 20px;width:92%}.landing-home h2{font-size:26px}.landing-home p{font-size:16px}.landing-buttons{flex-direction:column;gap:12px;padding:0 20px}.landing-buttons .primary-btn,.landing-buttons .secondary-btn{max-width:300px;min-width:0;min-width:auto;width:100%}.illustration{display:block;max-width:35%;width:180px}.floating-accent{display:none}}@media (max-width:480px){.landing-header{font-size:32px;height:60px;padding:10px}.landing-content{margin-top:60px;padding:10px 10px 60px}.landing-home{margin-bottom:20px;padding:24px 16px}.landing-home h2{font-size:20px}.landing-home p{font-size:16px}.landing-buttons .primary-btn,.landing-buttons .secondary-btn{width:50%}}.landing-footer a{color:var(--dark);font-size:14px;margin:0;opacity:.8;pointer-events:auto;text-decoration:none;transition:opacity .3s ease}.landing-footer a:hover{opacity:1}.landing-footer{bottom:0;left:-10px;padding:15px;pointer-events:none;position:fixed;text-align:center;width:100%;z-index:5}.home-container{display:flex;flex-direction:column;gap:30px}.hero-section{align-items:center;display:flex;flex-wrap:wrap;gap:20px;justify-content:space-between}.hero-text{flex:1 1;min-width:300px}.hero-text h1{font-size:2.5rem;font-weight:700;line-height:1.2;margin-bottom:10px;margin-top:0}.hero-text p{color:var(--text-secondary);font-size:1.1rem;margin-bottom:25px;max-width:500px}.hero-buttons .btn{margin-right:15px}.hero-illustration{align-items:center;display:flex;flex:1 1;justify-content:center;max-width:50%;min-width:300px}.hero-illustration img{display:block;height:auto;max-width:700px;width:100%}.dashboard-cards{grid-gap:30px;display:grid;gap:30px;grid-template-columns:repeat(auto-fit,minmax(250px,1fr))}.info-card{text-align:center}.card-icon{color:var(--mint-green);font-size:2rem;margin-bottom:15px}.info-card h3{color:var(--text-secondary);font-size:1rem;font-weight:600;margin:0 0 10px}.info-card p{color:var(--dark-green);font-size:1.8rem;font-weight:700;margin:0}.how-it-works-section{text-align:center}.how-it-works-section h2{margin-top:0}.video-responsive{border-radius:var(--border-radius);height:0;margin-top:20px;overflow:hidden;padding-bottom:56.25%;position:relative}.video-responsive iframe{border:0;height:100%;left:0;position:absolute;top:0;width:100%}.play-icon,.video-placeholder,.video-placeholder p{display:none}@media (max-width:768px){.hero-section{flex-direction:column}.hero-text h1{font-size:1.8rem}.hero-text p{font-size:1rem}.hero-buttons .btn{font-size:.9rem;margin-right:8px;padding:10px 18px}.hero-illustration{margin-top:20px;max-width:100%}.dashboard-cards{gap:20px;grid-template-columns:1fr}}.account-settings-container h2{border-bottom:1px solid var(--border-color);color:var(--dark-green);margin-bottom:20px;margin-top:0;padding-bottom:20px}.form-section{margin-bottom:30px}.form-section h3{border-bottom:1px solid var(--pale-mint);font-size:1.2rem;margin-bottom:25px;margin-top:0;padding-bottom:10px}.form-row{gap:20px;margin-bottom:20px}.form-label{flex:0 0 220px;font-size:.95rem;padding-right:10px;text-align:right}.required-star{color:#c53030;font-weight:700;margin-left:2px}.form-input,.form-select{border:1px solid var(--border-color);border-radius:8px;box-sizing:border-box;flex:1 1;font-family:Poppins,sans-serif;font-size:1rem;padding:10px 12px;transition:border-color .2s ease,box-shadow .2s ease}.form-input:focus,.form-select:focus{border-color:var(--mint-green);box-shadow:0 0 0 3px #48c49e33;outline:none}.form-input.disabled{background-color:var(--pale-mint);cursor:not-allowed}.action-buttons{display:flex;justify-content:flex-end;margin-top:10px;padding-left:240px}.status-message{margin:15px 0;text-align:center}.divider{border:none;border-top:1px solid var(--border-color);margin:30px 0}.password-container .btn-secondary{display:block;margin:0 auto}.password-section{background-color:var(--pale-mint);border:1px solid var(--border-color);border-radius:var(--border-radius);margin-top:20px;padding:25px}.confirmation-modal .modal-actions{display:flex;gap:15px;justify-content:center;margin-top:20px}.schedule-header{align-items:center;border-bottom:1px solid var(--border-color);display:flex;justify-content:space-between;margin-bottom:20px;padding-bottom:20px}.schedule-header h2{color:var(--dark-green);margin:0}.schedule-controls{align-items:center;display:flex;flex-wrap:wrap;gap:15px;justify-content:space-between;margin-bottom:25px}.tabs{background-color:var(--pale-mint);border-radius:var(--border-radius);display:flex;gap:10px;padding:5px}.tab-btn{background:#0000;border:none;border-radius:8px;color:var(--dark-green);cursor:pointer;font-weight:600;padding:8px 16px;transition:all .2s ease}.tab-btn.active{background-color:var(--white);box-shadow:0 2px 4px #0000000d;color:var(--dark-green)}.expand-controls{display:flex;gap:10px}.term-section{margin-bottom:20px}.term-title{border-bottom:2px solid var(--pale-mint);color:var(--dark-green);font-size:1.4rem;margin-bottom:15px;margin-top:10px;padding-bottom:10px}.course-card{border:1px solid var(--border-color);border-radius:var(--border-radius);margin-bottom:10px;overflow:hidden;transition:box-shadow .2s ease}.course-card:hover{box-shadow:0 4px 12px #0000000f}.course-header{background:#fdfdfd;cursor:pointer;justify-content:space-between;padding:12px 20px}.course-header,.course-title{align-items:center;display:flex}.course-title{font-size:1.1rem;gap:10px}.confirm-delete{align-items:center;display:flex;gap:8px}.confirm-delete span{font-size:.9rem;font-weight:500}.confirm-delete .btn{font-size:.8rem;padding:4px 8px}.course-details table{border-collapse:collapse;width:100%}.course-details td,.course-details th{border-bottom:1px solid var(--border-color);font-size:.95rem;padding:12px 20px;text-align:left}.course-details thead{background-color:var(--pale-mint);font-weight:600}.course-details tbody tr:last-child td{border-bottom:none}.course-details tbody tr:hover{background-color:var(--pale-mint)}.no-schedule-msg{color:var(--text-secondary);font-size:1.1rem;padding:40px;text-align:center}.search-header{color:var(--dark-green);margin-bottom:20px;margin-top:0}.search-bar-wrapper{align-items:center;display:flex;margin-bottom:8px;position:relative}.search-icon{color:var(--text-secondary);left:15px;position:absolute}.search-input{border:1px solid var(--border-color);border-radius:var(--border-radius);font-family:Poppins,sans-serif;font-size:1rem;padding:12px 15px 12px 45px;transition:border-color .2s ease,box-shadow .2s ease;width:100%}.search-input:focus{border-color:var(--mint-green);box-shadow:0 0 0 3px #48c49e33;outline:none}.spinner-icon{animation:spin 1.5s linear infinite;color:var(--text-secondary);position:absolute;right:15px}@keyframes spin{0%{transform:rotate(0deg)}to{transform:rotate(1turn)}}.suggestions-box{background:var(--white);border:1px solid var(--border-color);border-radius:var(--border-radius);box-shadow:var(--shadow);max-height:250px;overflow-y:auto}.suggestion-item{border-bottom:1px solid var(--border-color);cursor:pointer;padding:12px 15px;transition:background-color .2s ease}.suggestion-item:last-child{border-bottom:none}.suggestion-item:hover{background-color:var(--pale-mint)}.warning-message{align-items:center;background:#fff3cd;border:1px solid #ffc107;border-radius:4px;color:#856404;display:flex;gap:8px;margin-top:10px;padding:10px}.course-details-form{border-top:1px solid var(--border-color);margin-top:30px;padding-top:20px}.course-title-header{margin-top:0}.form-row{align-items:center;display:flex;gap:15px;margin-bottom:15px}.form-label{color:var(--text-secondary);flex-basis:200px;font-weight:500}.form-select{background-color:var(--white);border:1px solid var(--border-color);border-radius:8px;flex-grow:1;font-size:.95rem;padding:10px}.preview-section{margin-top:30px}.preview-section h4{font-size:1.2rem;margin-bottom:10px}.table-wrapper{border:1px solid var(--border-color);border-radius:var(--border-radius);overflow:hidden}.preview-table{border-collapse:collapse;width:100%}.preview-table td,.preview-table th{border-bottom:1px solid var(--border-color);padding:12px 15px;text-align:left}.preview-table thead{background-color:var(--pale-mint)}.preview-table tbody tr:last-child td{border-bottom:none}.action-buttons{margin-top:20px}.status-message{border:1px solid;border-radius:var(--border-radius);margin-top:20px;padding:15px}.status-message.success{background-color:#e6fffa;border-color:var(--mint-green);color:var(--dark-green)}.status-message.error{background-color:#fce8e8;border-color:#e57373;color:#c53030}.status-message p{margin:0 0 10px}.status-message p:last-child{margin-bottom:0}.classmates-header{align-items:center;border-bottom:1px solid var(--border-color);display:flex;flex-wrap:wrap;gap:15px;justify-content:space-between;margin-bottom:20px;padding-bottom:20px}.classmates-header h2{color:var(--dark-green);margin:0}.search-actions{margin-bottom:20px}.results-container{margin-top:20px}.term-results{margin-bottom:30px}.term-results h3{border-bottom:2px solid var(--pale-mint);color:var(--dark-green);padding-bottom:10px}.no-results-msg{color:var(--text-secondary);padding:20px;text-align:center}.sub-bucket.wide-summary summary{align-items:center;display:flex}.section-match-badge{background-color:#e6f7ff;border:1px solid #bae0ff;border-radius:12px;color:#48c49e;display:inline-block;font-size:.75rem;font-weight:600;margin-left:8px;padding:2px 8px}.classmate-list,.course-code-list{list-style:none;margin-top:10px;padding-left:20px}.classmate-item{align-items:center;border-bottom:1px solid #e9ecef;display:flex;justify-content:space-between;padding:8px 0}.classmate-item:last-child{border-bottom:none}.connect-btn{align-items:center;display:flex;font-size:.8rem;gap:5px;justify-content:center;min-width:100px;padding:6px 12px;transition:all .2s ease;white-space:nowrap}.connect-btn svg{font-size:.9rem}.connect-btn.btn-friend{background-color:#dcedc8;border-color:#c3e6cb;color:#2c7c65;cursor:default;opacity:.8}.connect-btn.btn-requested{background-color:#fff3cd;border-color:#ffeaa7;color:#856404;cursor:pointer}.connect-btn.btn-requested:hover{background-color:#ffe8a1;border-color:#ffdd7e}.connect-btn.btn-cancel{background-color:#f8d7da;border-color:#f5c6cb;color:#721c24}.connect-btn.btn-cancel:hover{background-color:#f5c6cb;border-color:#f1b0b7}.connect-btn.btn-received{background-color:#d1ecf1;border-color:#bee5eb;color:#0c5460;cursor:default}.course-code-list li{align-items:center;border-radius:4px;display:flex;gap:8px;margin-bottom:4px;padding:6px 8px;transition:background-color .2s ease}.classmate-bucket{border:1px solid var(--border-color);border-radius:var(--border-radius);margin-bottom:15px;padding:5px}.classmate-bucket summary{cursor:pointer;display:list-item;font-weight:600;list-style-position:inside;padding:10px 15px}.classmate-bucket.exact-match{background-color:var(--pale-mint);border-color:var(--mint-green)}.bucket-content{padding:10px 15px 15px 35px}.sub-bucket{background-color:var(--white);border:1px solid #e9ecef;border-radius:8px;margin-bottom:8px}.sub-bucket summary{cursor:pointer;display:list-item;font-weight:500;list-style-position:inside;padding:8px 12px}.classmate-list.circle-bullets{list-style-type:disc;padding-left:40px}.classmate-list.circle-bullets .classmate-item{align-items:center;border:1px solid #e9ecef;border-radius:6px;display:flex;justify-content:space-between;list-style-position:outside;margin-bottom:8px;margin-left:-20px;padding:8px 12px}.classmate-list.circle-bullets .classmate-item::marker{color:#999}.sub-bucket.wide-summary summary{display:list-item;flex-wrap:wrap;gap:8px;list-style-position:inside;padding-right:120px;position:relative}.wide-summary .connect-btn{position:absolute;right:12px;top:50%;transform:translateY(-50%)}.course-code-highlight{background-color:#f0f9ff;border-radius:4px;color:#48c49e;font-weight:600}.section-match-label{color:#48c49e;font-size:.8rem;font-style:italic;font-weight:500}.modal-backdrop{align-items:center;background:#00000080;display:flex;inset:0;justify-content:center;position:fixed;z-index:1000}.modal-content{background:var(--white);border-radius:var(--border-radius);box-shadow:var(--shadow);padding:25px 30px;position:relative;width:min(500px,90vw)}.modal-close-btn{background:none;border:none;color:var(--text-secondary);cursor:pointer;font-size:1.5rem;position:absolute;right:15px;top:15px}.modal-header{color:var(--dark-green);margin-top:0}.connection-preview{background:var(--pale-mint);border:1px solid var(--border-color);border-radius:8px;font-size:.95rem;margin-bottom:15px;padding:15px}.preview-row{align-items:center;display:flex;gap:10px;margin-bottom:8px}.preview-row:last-child{margin-bottom:0}.preview-divider{border-top:1px dashed var(--border-color);margin:10px 0}.modal-textarea{border:1px solid var(--border-color);border-radius:8px;font-family:Poppins,sans-serif;padding:10px;resize:vertical;width:100%}.char-counter{color:var(--text-secondary);font-size:.8rem;text-align:right}.modal-error{color:#c53030;font-size:.9rem}.modal-actions{display:flex;gap:10px;justify-content:center;margin-top:20px}.preview-row.course-list{align-items:flex-start}.shared-courses-modal-list{color:var(--dark-green);font-size:.9rem;font-weight:500;list-style-type:none;margin-bottom:0;margin-top:5px;padding-left:0}.shared-courses-modal-list li{margin-bottom:3px}@media (max-width:768px){.classmates-header,.friends-header,.inbox-header,.schedule-header{align-items:flex-start;flex-direction:column;gap:10px}.schedule-controls,.search-actions{flex-direction:column;width:100%}.tabs{justify-content:space-around;width:100%}.tab-btn{font-size:.85rem;padding:6px 12px}.form-row{align-items:flex-start;flex-direction:column;gap:8px}.form-label{flex-basis:auto;padding-right:0;text-align:left}.action-buttons{justify-content:center;padding-left:0}.btn{padding:8px 16px}.btn,table{font-size:.85rem}td,th{padding:8px 10px!important}.sub-bucket.wide-summary summary{font-size:.9rem;padding-right:110px}.section-match-badge{font-size:.7rem;padding:2px 6px}.connect-btn,.section-match-label{font-size:.75rem}.connect-btn{min-width:90px;padding:5px 10px}.connect-btn svg{font-size:.8rem}}.inbox-header{align-items:center;border-bottom:1px solid var(--border-color);display:flex;justify-content:space-between;margin-bottom:20px;padding-bottom:20px}.inbox-header h2{color:var(--dark-green);margin:0}.notification-badge{background-color:var(--dark-green);border-radius:50%;color:var(--white);font-size:.8rem;font-weight:600;margin-left:8px;padding:2px 8px}.requests-list{display:flex;flex-direction:column;gap:15px;margin-top:20px}.empty-message,.loading-message{color:var(--text-secondary);padding:40px;text-align:center}.request-card{background:var(--white);border:1px solid var(--border-color);border-radius:var(--border-radius);transition:box-shadow .2s ease}.request-card:hover{box-shadow:0 4px 12px #0000000d}.request-card.status-pending{border-left:4px solid var(--mint-green)}.request-card.status-accepted{background-color:#f8f8f8;border-left:4px solid #2e7d32}.request-card.status-cancelled,.request-card.status-declined{background-color:#f8f8f8;border-left:4px solid #c62828;opacity:.8}.card-header{align-items:center;background-color:#fafafa;border-bottom:1px solid var(--border-color);display:flex;justify-content:space-between;padding:15px 20px}.user-info strong{font-size:1.1rem}.platform-info{margin-left:8px}.platform-info,.timestamp{color:var(--text-secondary)}.timestamp{font-size:.85rem}.card-body{font-size:.95rem;padding:15px 20px}.sender-details{color:var(--text-secondary);margin-bottom:10px}.message-content{border-left:3px solid var(--light-mint);color:#333;font-style:italic;margin:0 0 10px;padding-left:10px}.shared-courses-info{color:var(--text-secondary)}.card-actions{align-items:center;background-color:#fafafa;border-top:1px solid var(--border-color);display:flex;gap:10px;justify-content:flex-end;padding:10px 20px}.card-actions .btn{padding:6px 14px}.status-tag{align-items:center;display:flex;font-size:.9rem;font-weight:600;gap:6px;text-transform:capitalize}.status-pending .status-tag{color:var(--mint-green)}.status-accepted .status-tag{color:#2e7d32}.status-cancelled .status-tag,.status-declined .status-tag{color:#c62828}.confirmation-modal{text-align:center;width:min(450px,90vw)}.confirmation-modal p{color:var(--text-secondary);font-size:1.05rem;margin:10px 0 25px}.friends-header{align-items:center;border-bottom:1px solid var(--border-color);display:flex;flex-wrap:wrap;gap:15px;justify-content:space-between;margin-bottom:20px;padding-bottom:20px}.friends-header h2{color:var(--dark-green);margin:0}.friends-content{margin-top:20px}.friends-list{display:flex;flex-direction:column;gap:10px}.no-friends-msg{color:var(--text-secondary);font-size:1.1rem;padding:40px;text-align:center}.friend-card{background-color:#fdfdfd;border:1px solid var(--border-color);border-radius:var(--border-radius)}.friend-card.expanded{padding:15px 20px}.friend-card.collapsible{overflow:hidden}.friend-card.collapsible summary{cursor:pointer;list-style:none}.friend-card.collapsible summary::-webkit-details-marker{display:none}.friend-card.collapsible[open]{background-color:var(--white);box-shadow:0 4px 10px #0000000d}.friend-card.collapsible[open]>summary{border-bottom:1px solid var(--border-color)}.friend-header{justify-content:space-between;padding:15px 20px}.friend-header,.friend-info{align-items:center;display:flex}.friend-info{gap:10px}.chevron-icon{color:var(--text-secondary);font-size:1.1rem;transition:transform .2s ease}.friend-card.collapsible[open] .chevron-icon{transform:rotate(90deg)}.friend-name{font-size:1.2rem;font-weight:600}.friend-platform{align-items:center;background-color:var(--pale-mint);border:1px solid var(--border-color);border-radius:6px;color:var(--text-secondary);display:inline-flex;font-size:.9rem;gap:6px;padding:4px 10px}.confirm-remove{align-items:center;display:flex;gap:8px}.confirm-remove .btn{font-size:.8rem;padding:4px 8px}.friend-header .btn-danger{font-size:.9rem;padding:6px 12px}.friend-courses{border-top:1px solid var(--border-color);color:var(--text-secondary);font-size:.95rem;padding:15px 20px}.friend-card.collapsible .friend-courses{border-top:none;padding-left:45px}.course-summary{font-weight:500;margin-bottom:10px}.term-course-list{display:flex;flex-direction:column;gap:5px}.term-label{color:var(--dark-green);font-weight:600}@media (max-width:768px){.classmates-header,.friends-header,.inbox-header,.schedule-header{align-items:flex-start;flex-direction:column;gap:10px}.schedule-controls,.search-actions{flex-direction:column;width:100%}.tabs{justify-content:space-around;width:100%}.tab-btn{font-size:.85rem;padding:6px 12px}.form-row{align-items:flex-start;flex-direction:column;gap:8px}.form-label{flex-basis:auto;padding-right:0;text-align:left}.action-buttons{justify-content:center;padding-left:0}.btn{padding:8px 16px}.btn,table{font-size:.85rem}td,th{padding:8px 10px!important}}
/*# sourceMappingURL=main.d8e254a4.css.map*/