*{box-sizing:border-box;margin:0;padding:0}body{font-family:Arial,sans-serif;padding:0}.app-footer{border-top:1px solid rgb(255,255,255);background-color:#c7c396;color:#fff;text-align:center;padding:10px}.primary-button{display:block;width:100%;padding:15px;background-color:#4caf50;color:#fff;border:none;border-radius:5px;text-align:center;margin-top:20px}@media (min-width: 768px){.app-main{padding:40px}.primary-button{width:auto;max-width:300px;margin-left:auto;margin-right:auto}}.overlay-section{position:absolute;top:30px;left:50%;max-height:530px;opacity:.8;transform:translate(-50%);background-color:#fffc;padding:20px;color:#000;border-radius:21px;text-align:center;width:90%;box-shadow:0 4px 8px #0003;overflow-y:auto;box-sizing:border-box}.logo-container{display:flex;justify-content:center;align-items:center;height:310px;background-color:#fff;border-radius:18px;flex-direction:column;padding:20px}h3{font-size:26px;padding:10px}.logoimg{height:200px}h2{font-size:50px;color:#2c3e7d}.buttons-container{display:flex;flex-direction:column;padding:10px;border-radius:18px;height:150px;margin:15px;align-items:center;justify-content:center}.slogin,.signup{border:1px solid black;height:40px;width:200px;border-radius:18px;margin:10px 0;cursor:pointer;transition:background-color .3s ease}.slogin:hover,.signup:hover{background-color:#4caf50;color:#fff}.app-header{background-color:#354b8a;color:#fff;height:70px;text-align:center;padding:20px;border-bottom:1px solid rgb(255,255,255)}.glow{color:#fff;transition:text-shadow .2s ease}.glow:hover{text-shadow:0 0 3px rgb(236,227,166),0 0 3px rgba(236,227,166),0 0 5px rgba(236,227,166)}@media (max-width: 768px){.app-header{padding:15px;height:60px}.glow{font-size:1.5em}}@media (max-width: 480px){.app-header{padding:12px;height:50px}.glow{font-size:1.2em}}.input-group{margin-bottom:24px}.input-group label{display:block;margin-bottom:8px;font-size:.95rem;color:#354b8a;font-weight:500}.input-group input{width:100%;margin:0;padding:14px 16px;border-radius:8px;border:1px solid #ddd;font-size:1rem;background-color:#f9f9f9;transition:all .3s ease;box-sizing:border-box}.login-form{display:flex;flex-direction:column;min-height:300px;max-height:100%;overflow-y:auto}.login-btn{padding:14px 24px;background-color:#354b8a;color:#fff;border:none;border-radius:8px;font-size:1rem;font-weight:600;cursor:pointer;transition:all .3s ease;margin-top:20px;-webkit-tap-highlight-color:transparent}.login-btn:hover{background-color:#2c3e7d;transform:translateY(-2px);box-shadow:0 4px 8px #354b8a4d}.login-btn:active{transform:translateY(0)}.auth-switch{margin-top:24px;text-align:center}@media (max-width: 768px){.input-group input{padding:12px 14px;font-size:.95rem}.login-btn{padding:12px 20px}}@media (max-width: 480px){.input-group label{font-size:.9rem}.input-group input{padding:10px 12px;font-size:.9rem}.login-btn{padding:11px 18px;font-size:.95rem}.auth-switch p{font-size:.9rem}}.app-container{display:flex;flex-direction:column;min-height:100vh}.app-main{background:linear-gradient(to bottom,#354b8a,#546aa6,#c7c396);height:84vh;display:flex;justify-content:center;align-items:center;color:#fff}.app-footer{border-top:1px solid white;background-color:#c7c396;color:#fff;text-align:center;padding:10px}.app-main-content{position:relative;height:100%;width:100%}.overlay-section{position:absolute;top:30px;left:50%;transform:translate(-50%);background-color:#fffc;padding:20px;color:#000;border-radius:21px;text-align:center;width:90%;max-height:94%;overflow-y:auto;box-shadow:0 4px 8px #0003;box-sizing:border-box}@media (min-width: 768px){.overlay-section{width:60%}}.logo-container2 h3{font-size:26px;color:#2c3e7d;padding:10px}.form-container{margin-top:20px}.signup-form{display:flex;flex-direction:column}.input-group{margin-bottom:20px;width:100%;text-align:left}.input-group label{display:block;font-size:.95rem;color:#354b8a;font-weight:500;margin-bottom:8px}.input-group input{width:100%;padding:12px 14px;margin-top:0;border-radius:8px;border:1px solid #ddd;font-size:1rem;background-color:#f9f9f9;transition:all .3s ease;box-sizing:border-box}.input-group input:focus{border-color:#354b8a;outline:none;background-color:#fff;box-shadow:0 0 0 3px #354b8a1a}.input-row{display:flex;justify-content:space-between;gap:20px;width:100%}.input-row .input-group{flex:1}.signup-btn{padding:14px 24px;background-color:#354b8a;color:#fff;border:none;border-radius:8px;font-size:1rem;font-weight:600;cursor:pointer;transition:all .3s ease;margin-top:10px;-webkit-tap-highlight-color:transparent}.signup-btn:hover{background-color:#2c3e7d;transform:translateY(-2px);box-shadow:0 4px 8px #354b8a4d}.signup-btn:active{transform:translateY(0)}.modal{position:fixed;top:0;left:0;width:100%;height:100%;background-color:#00000080;display:flex;justify-content:center;align-items:center}.modal-content{background-color:#fff;padding:20px;border-radius:10px;box-shadow:0 4px 8px #0000001a;text-align:center;width:300px}.modal-content h2{color:#354b8a;font-size:1.5rem}.modal-content p{margin:10px 0}.modal-content button{background-color:#354b8a;color:#fff;border:none;padding:12px 24px;text-transform:uppercase;border-radius:8px;cursor:pointer;font-weight:600;transition:all .3s ease;margin-top:16px}.modal-content button:hover{background-color:#2c3e7d;transform:translateY(-2px)}.auth-switch{margin-top:20px;text-align:center}.auth-switch p{color:#666;font-size:.95rem}.auth-link{color:#354b8a;text-decoration:none;font-weight:600;transition:color .3s ease}.auth-link:hover{color:#2c3e7d;text-decoration:underline}@media (max-width: 768px){.overlay-section{padding:16px;width:85%}.logo-container2 h3{font-size:22px}.input-row{flex-direction:column;gap:12px}.input-group input{padding:11px 13px;font-size:.95rem}.signup-btn{padding:12px 20px}}@media (max-width: 480px){.overlay-section{padding:14px;width:92%;top:20px}.logo-container2 h3{font-size:18px;padding:8px}.input-group label{font-size:.85rem}.input-group input{padding:10px 12px;font-size:.9rem}.signup-btn{padding:11px 18px;font-size:.95rem}.modal-content{width:85%;padding:16px}.modal-content h2{font-size:1.2rem}.auth-switch p{font-size:.85rem}}.sidebar{position:fixed;top:0;left:-280px;width:280px;height:100%;background-color:#fff;transition:left .3s cubic-bezier(.4,0,.2,1);box-shadow:4px 0 12px #00000026;z-index:1000;overflow-y:auto;-webkit-overflow-scrolling:touch}.sidebar.open{left:0}.sidebar ul li{list-style-type:none}.sidebar li a{display:block;padding:18px 20px;text-decoration:none;margin:8px 15px;color:#354b8a;background-color:#fff99e;border-radius:12px;border:1px solid #354b8a;transition:all .3s ease;font-size:15px;font-weight:500;-webkit-tap-highlight-color:transparent}.sidebar li a:hover{background-color:#354b8a;color:#fff;transform:translate(4px)}.sidebar li a:active{transform:scale(.98)}.close-btn{display:flex;align-items:center;background:none;border:none;cursor:pointer;padding:16px 20px;margin-bottom:10px;-webkit-tap-highlight-color:transparent}.icon{font-size:32px;color:#354b8a;transition:transform .2s}.close-btn:hover .icon{transform:translate(-4px)}.menu-text{margin-left:12px;font-size:20px;color:#354b8a;font-weight:600;letter-spacing:.5px}.logo-box{height:180px;background-color:#cacfd4;margin:15px;display:flex;flex-direction:column;justify-content:center;align-items:center;border-radius:16px;padding:20px}.logo-box p{text-align:center;font-size:14px;color:#354b8a;margin:4px 0;line-height:1.4}.logo-box p:first-child{font-size:26px;font-weight:700;margin-bottom:8px}@media (max-width: 768px){.sidebar{width:280px}.sidebar.open{left:0}.sidebar li a{padding:16px 18px;font-size:14px;margin:6px 12px}.icon{font-size:32px}.menu-text{font-size:18px}.logo-box{height:160px;margin:12px}.logo-box p:first-child{font-size:24px}.logo-box p{font-size:13px}}@media (max-width: 480px){.sidebar{width:280px}.sidebar.open{left:0}.sidebar li a{padding:14px 16px;font-size:13px;margin:5px 10px}.icon{font-size:32px}.menu-text{font-size:16px}.logo-box{height:140px;margin:10px;padding:15px}.logo-box p:first-child{font-size:22px}.logo-box p{font-size:12px}}.modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background-color:#00000080;display:flex;align-items:center;justify-content:center;z-index:1000}.modal-content{background-color:#fff;padding:20px;border-radius:8px;box-shadow:0 2px 10px #0000001a;text-align:center}.modal-buttons{margin-top:20px}.confirm-btn,.cancel-btn{height:40px;width:70px;border-radius:21px;border:1px solid black;background-color:#fff99e;transition:background-color .3s,color .3s;margin:0 10px}.confirm-btn:hover,.cancel-btn:hover{background-color:#354b8a;border:1px solid white;color:#fff;cursor:pointer}.home-app-header{display:flex;align-items:center;color:#354b8a;background-color:#fff;height:70px;padding:0 20px;border-bottom:1px solid rgb(255,255,255);position:relative;z-index:1001;box-shadow:0 2px 4px #0000001a}.hamburger-icon{cursor:pointer;font-size:28px;margin-right:15px;z-index:1002;padding:8px;border-radius:8px;transition:background-color .2s;-webkit-tap-highlight-color:transparent}.hamburger-icon:hover{background-color:#354b8a1a}.hamburger-icon:active{background-color:#354b8a33}.logo{font-size:28px;margin-left:30px;flex-grow:1;text-align:center;font-weight:600;letter-spacing:1px}.logout-btn{height:40px;min-width:80px;padding:0 16px;border-radius:10px;border:1px solid #354b8a;background-color:#fff99e;color:#354b8a;font-size:14px;font-weight:500;transition:all .3s ease;cursor:pointer;-webkit-tap-highlight-color:transparent}.logout-btn:hover{background-color:#354b8a;border-color:#354b8a;color:#fff}.logout-btn:active{transform:scale(.98)}@media (max-width: 768px){.home-app-header{height:60px;padding:0 16px}.hamburger-icon{font-size:24px;margin-right:12px}.logo{font-size:22px;margin-left:10px}.logout-btn{height:36px;min-width:60px;font-size:13px;padding:0 12px}}@media (max-width: 480px){.home-app-header{height:56px;padding:0 12px}.hamburger-icon{font-size:26px;margin-right:10px;padding:6px}.logo{font-size:18px;margin-left:5px}.logout-btn{height:32px;min-width:50px;font-size:12px;padding:0 10px}}.sidebar-overlay{position:fixed;top:0;left:0;width:100%;height:100%;background-color:#00000080;z-index:999;opacity:0;animation:fadeIn .3s ease forwards}.appointment-container{display:flex;justify-content:center;align-items:center;flex-direction:column;padding:20px;max-width:100%;box-sizing:border-box}.appointments-title{font-size:2rem;margin-bottom:20px}.separator{width:100%;height:1px;background-color:#ccc;margin-bottom:20px}.add-request-button{font-family:Trebuchet MS,Lucida Sans Unicode,Lucida Grande,Lucida Sans,Arial,sans-serif;background-color:#354b8a;color:#fff;border:none;padding:15px 20px;font-size:15px;border-radius:100px;cursor:pointer;transition:background-color .3s ease,color .3s ease}.add-request-button:hover{background-color:#fff;color:#000}.appointment-modal{position:fixed;top:0;left:0;width:100%;height:100%;background-color:#00000080;display:flex;justify-content:center;align-items:center;z-index:1000}.appointment-modal-content{background-color:#fff;padding:20px;border-radius:8px;box-shadow:0 0 10px #0000001a;max-width:400px;width:90%;max-width:90vw;box-sizing:border-box}.appointment-close-button{position:absolute;top:10px;right:10px;font-size:24px;cursor:pointer;color:#aaa}.appointment-modal h2{margin-bottom:20px;font-size:1.5rem}.appointment-modal form{display:flex;flex-direction:column}.appointment-label{color:#000;margin-bottom:10px;font-weight:700}.appointment-input{padding:8px;margin-top:4px;border:1px solid #ccc;border-radius:4px;margin-left:5px;font-size:14px}.submit-button,.cancel-button{padding:10px 20px;border:none;border-radius:4px;cursor:pointer;font-size:14px}.appointment-input{padding:8px;margin-top:4px;border:1px solid #ccc;border-radius:4px;font-size:14px;width:calc(100% - 16px)}.active-requests{display:flex;flex-wrap:wrap;gap:20px;justify-content:center;padding:0 10px;overflow-y:auto;max-height:62vh;border-radius:8px;height:350px;background-color:#f1f1f1;width:100%}.active-requests p{color:#354b8a;font-family:Arial,Helvetica,sans-serif;font-size:25px;padding:10px;text-align:left}.confirmation-modal{position:fixed;top:0;left:0;width:100%;height:100%;background-color:#00000080;display:flex;justify-content:center;align-items:center;z-index:1001}.confirmation-modal-content{color:#000;background-color:#fff;padding:20px;border-radius:8px;box-shadow:0 0 10px #0000001a;max-width:500px;width:90%;max-width:90vw;box-sizing:border-box}.confirmation-modal-content h2{font-size:30px;padding:20px}.button-group{display:flex;justify-content:space-between;margin-top:20px}.submit-button,.cancel-button{padding:10px 20px;border:none;border-radius:4px;cursor:pointer;font-size:14px;width:48%}.submit-button{background-color:#007bff;color:#fff}.cancel-button{background-color:#6c757d;color:#fff}.submit-button:hover,.cancel-button:hover{opacity:.8}.active-requests{display:flex;flex-wrap:wrap;gap:20px;justify-content:center;padding:0 10px;overflow-y:auto;max-height:62vh;border-radius:8px;height:350px;background-color:#fff0;width:100%}.appointment-card-s{margin:15px 10px 10px;background-color:#fffac3;border:1px solid #ccc;border-radius:8px;padding:15px;width:300px;max-width:100%;box-sizing:border-box;box-shadow:5px 5px 10px #0000004d}.appointment-card-s p{font-size:20px;color:#000}.appointment-card-s h3{margin:0;font-size:1.5rem;color:#354b8a}.active-requests::-webkit-scrollbar{width:12px}.active-requests::-webkit-scrollbar-track{background:#fffac3}.active-requests::-webkit-scrollbar-thumb{background:#354b8a;border-radius:6px}.active-requests::-webkit-scrollbar-thumb:hover{background:#007bff}.active-requests{scrollbar-width:thick;scrollbar-color:#354b8a #fffac3}@media (max-width: 768px){.appointment-container{padding:15px}.appointments-title{font-size:1.5rem}.appointment-modal-content,.confirmation-modal-content{padding:15px;max-width:85vw}.appointment-card-s{width:280px;padding:12px}.appointment-card-s h3{font-size:1.2rem}.appointment-card-s p{font-size:16px}.active-requests{height:300px}}@media (max-width: 480px){.appointment-container{padding:10px}.appointments-title{font-size:1.3rem}.appointment-modal-content,.confirmation-modal-content{padding:12px;max-width:90vw}.appointment-modal-content h2,.confirmation-modal-content h2{font-size:1.3rem;padding:10px}.appointment-card-s{width:100%;margin:10px 5px;padding:10px}.appointment-card-s h3{font-size:1rem}.appointment-card-s p{font-size:14px}.active-requests{height:280px;padding:0 5px}.submit-button,.cancel-button{padding:8px 15px;font-size:13px}}.appointment-container-chat{display:flex;justify-content:center;align-items:center;flex-direction:column;padding:20px;max-width:100%;box-sizing:border-box}.chatbox-container{display:flex;flex-direction:column;height:430px;width:100%;max-width:100%;border:1px solid #ddd;padding:10px;border-radius:18px;background-color:#ffffff80;box-sizing:border-box}.profile-section{display:flex;align-items:center;margin-bottom:15px;padding:10px;border-bottom:1px solid #ddd}.profile-image-container{margin-right:15px}.profile-image{width:80px;height:80px;border-radius:50%;object-fit:cover;flex-shrink:0}.profile-details{display:flex;flex-direction:column}.counselor-name{font-size:18px;font-weight:700;color:#354b8a}.counselor-role{font-size:14px;color:gray;color:#354b8a}.messages-container{flex-grow:1;overflow-y:auto;margin-bottom:10px;padding:5px}.messages-container{display:flex;flex-direction:column;gap:12px;padding:15px}.message{display:flex;flex-direction:column;max-width:70%;padding:10px 14px;border-radius:16px;word-break:break-word;box-sizing:border-box}.message.user{align-self:flex-end;background:#aab2cd;color:#424242;border-bottom-right-radius:5px}.message.counselor{align-self:flex-start;background:#d0d0d0;color:#4b4957;border-bottom-left-radius:5px}.message-text{line-height:1.4}.message-time{font-size:11px;color:#888;margin-top:4px}.message.user .message-time{text-align:right}.message.counselor .message-time{text-align:left}.input-container{display:flex;gap:10px}.message-input{flex-grow:1;padding:10px;border:1px solid #ddd;border-radius:5px;font-size:16px}.send-button{padding:10px;border:none;background-color:#354b8a;color:#fff;cursor:pointer;border-radius:5px;font-size:16px}.send-button:hover{background-color:#0056b3}@media (max-width: 768px){.appointment-container-chat{padding:15px}.chatbox-container{height:420px;padding:8px}.profile-section{padding:8px}.profile-image{width:60px;height:60px}.counselor-name{font-size:16px}.counselor-role{font-size:12px}.message{max-width:80%;padding:8px 12px}.message-input,.send-button{font-size:14px;padding:8px}}@media (max-width: 480px){.appointment-container-chat{padding:10px}.chatbox-container{height:450px;padding:6px}.profile-section{padding:6px;margin-bottom:10px}.profile-image{width:50px;height:50px}.counselor-name{font-size:14px}.counselor-role{font-size:11px}.message{max-width:85%;padding:6px 10px;font-size:.9em}.message-time{font-size:10px}.message-input{font-size:13px;padding:6px}.send-button{font-size:13px;padding:6px 10px}}.edit-schedules-container{display:flex;justify-content:center;align-items:center;height:100vh;padding:20px;box-sizing:border-box}.schedule-card{padding:20px;border:1px solid #ccc;border-radius:8px;background-color:#ecd999;box-shadow:0 2px 5px #0000001a;width:100%;max-width:1400px;height:auto;min-height:400px;box-sizing:border-box}.schedule-card h2{color:#354b8a;text-align:center;font-size:40px}.schedule-card p{margin:20px;line-height:1.5;color:#000;font-size:20px;text-align:center}@media (max-width: 768px){.edit-schedules-container{padding:15px}.schedule-card{padding:15px;min-height:300px}.schedule-card h2{font-size:28px}.schedule-card p{font-size:16px;margin:15px}}@media (max-width: 480px){.edit-schedules-container{padding:10px}.schedule-card{padding:12px;min-height:250px}.schedule-card h2{font-size:22px}.schedule-card p{font-size:14px;margin:12px}}.about-page{display:flex;flex-direction:column;align-items:center;padding:20px;font-family:Arial,sans-serif;background-color:#f9f9f9;min-height:70vh;box-sizing:border-box;border-radius:21px}.description-container{display:flex;align-items:center;margin-top:10px;text-align:center;padding:15px;background:#ecd999;border-radius:10px;box-shadow:0 4px 6px #0000001a;width:100%;max-width:800px;box-sizing:border-box}.description{font-size:1.2rem;line-height:1.5;justify-content:center;color:#333;margin-bottom:20px}.photo-container{display:flex;justify-content:center;margin-top:10px}.photo-container img{width:100px;margin-top:27px;height:100px;border-radius:50%;object-fit:cover;border:2px solid #000000}@media (max-width: 768px){.description{font-size:1rem}.photo-container img{width:80px;height:80px}}@media (max-width: 480px){.description{font-size:.9rem}.photo-container img{width:70px;height:70px}}.content-container{padding:20px;font-size:1.2em;font-weight:700;display:flex;justify-content:space-between;align-items:center}.welcome-message{margin:0;font-size:.8em}.connection-status{display:flex;align-items:center;font-size:1em;color:#157218}.green-circle{width:20px;height:20px;border-radius:50%;background-color:#488048;margin-right:5px}.student-content-container{padding:20px;font-size:1.1em;margin-top:20px;background-color:#f2f2f2;border:1px solid rgb(255,255,255);height:440px;max-height:80vh;border-radius:12px;box-shadow:0 4px 8px #0000001a;font-family:Arial,sans-serif;display:flex;flex-direction:column;justify-content:flex-start;overflow:hidden;box-sizing:border-box;width:100%;max-width:100%}.student-content-container p{color:#354b8a;font-family:Arial,sans-serif;margin-bottom:15px}.table-container{max-height:300px;overflow-y:auto;overflow-x:hidden;margin-top:10px;border:1px solid #ddd;border-radius:8px}.student-table{width:100%;border-collapse:collapse;font-family:Arial,sans-serif;font-size:.9em;text-align:left;color:#333;table-layout:fixed}.student-table th,.student-table td{padding:8px 10px;border-bottom:1px solid #ddd;word-wrap:break-word;text-align:center}.student-table th{background-color:#354b8a;color:#fff;text-transform:uppercase;font-weight:700}.student-table tr:nth-child(2n){background-color:#f9f9f9}.student-table tr:hover{background-color:#f1f1f1}.student-table td{text-align:center}@media (max-width: 659px){.content-container{padding:15px;font-size:.9em}.welcome-message{font-size:.8em}.connection-status{font-size:.85em}.green-circle{width:12px;height:12px}.student-content-container{padding:15px;font-size:1em!important;min-height:300px;max-height:70vh;height:auto}.student-table{font-size:.75em}.student-table th,.student-table td{padding:6px 8px}}@media (min-width: 660px) and (max-width: 768px){.content-container{padding:15px;font-size:1em}.welcome-message{font-size:1em}.connection-status{font-size:.95em}.green-circle{width:15px;height:15px}.student-content-container{padding:15px;font-size:1em;height:500px;max-height:60vh}.student-table{font-size:.85em}.table-container{max-height:500px}}@media (min-width: 700px){.content-container{padding:15px;font-size:1em}.welcome-message{font-size:1.2em}.connection-status{font-size:1.3em}.green-circle{width:15px;height:15px}.student-content-container{padding:15px;font-size:1em;height:500px;max-height:60vh}.table-container{max-height:500px}}.app-body{background:linear-gradient(to bottom,#354b8a,#546aa6,#c7c396);height:85vh;display:flex;justify-content:center;align-items:center;color:#fff;position:relative}.transparent-container{width:90%;height:90%;background-color:#ffffff80;padding:20px;border-radius:21px;box-shadow:0 5px 8px #0003;display:flex;flex-direction:column}.content-container{display:flex;height:50px;width:100%;border-bottom:1px solid rgb(255,255,255)}.content-container p{text-align:left;font-size:30px;font-family:Trebuchet MS,Lucida Sans Unicode,Lucida Grande,Lucida Sans,Arial,sans-serif}.student-content-container p{text-align:center;font-size:27px;margin:25px 10px 0 0}.home-app-footer{border-top:1px solid rgb(255,255,255);background-color:#c7c396;color:#fff;text-align:center;padding:10px}.separator{width:90%;height:2px;background-color:#ddd;margin:0 auto 20px;border-radius:5px}.appointments-container{display:flex;flex-wrap:wrap;gap:20px;justify-content:center;padding:0 10px;max-width:100%;box-sizing:border-box}.appointment-card{border:1px solid #ddd;border-radius:8px;padding:15px;background-color:#f9f9f9;box-shadow:0 2px 5px #0000001a;width:100%;max-width:400px;transition:transform .2s;position:relative;overflow:hidden}.appointment-card:before{content:"";position:absolute;top:-10px;left:-10px;right:-10px;bottom:-10px;background:inherit;z-index:-1;border-radius:12px;box-shadow:0 0 15px #0003}.appointment-card:hover{transform:scale(1.05)}.appointment-card h2{margin:0 0 10px;font-size:1.5em;color:#000}.appointment-card p{margin:5px 0;color:#000}.appointment-buttons{display:flex;justify-content:right;gap:10px;margin-top:15px}.view-more-button{background-color:#007bff;color:#fff;border:none;padding:10px 15px;border-radius:5px;cursor:pointer}.view-more-button:hover{background-color:#0056b3}.accept-button{background-color:green;color:#fff;border:none;padding:10px 15px;border-radius:5px;cursor:pointer}.decline-button{background-color:red;color:#fff;border:none;padding:10px 15px;border-radius:5px;cursor:pointer}.accept-button:hover{background-color:#006400}.decline-button:hover{background-color:#8b0000}.modal{display:flex;justify-content:center;align-items:center;position:fixed;top:0;left:0;width:100%;height:100%;background-color:#00000080;z-index:1000}.modal-content{background-color:#fff;padding:20px;border-radius:8px;box-shadow:0 2px 10px #0000001a;max-width:700px;width:95%;height:auto;position:relative;color:#000}.modal-separator{width:100%;height:2px;background-color:#ddd;margin:10px 0}.modal-details{text-align:left}.close-button{position:absolute;top:10px;right:10px;font-size:1.5em;color:#000;cursor:pointer}@media (max-width: 600px){.appointments-title{font-size:1.5em}.separator{width:95%}.appointment-card{max-width:100%;padding:12px}.appointment-card h2{font-size:1.2em}.appointment-card p{font-size:.85em}.appointment-buttons{flex-wrap:wrap}.view-more-button,.accept-button,.decline-button,.complete-button{padding:8px 12px;font-size:.85em}.modal-content{padding:15px;max-width:90%}.modal-content h3{font-size:1.2em}.modal-details p{font-size:.9em}}@media (max-width: 768px){.appointments-title{font-size:1.7em}.appointment-card h2{font-size:1.3em}.appointment-card p{font-size:.9em}.view-more-button,.accept-button,.decline-button,.complete-button{padding:9px 14px;font-size:.9em}}.appointments-container{display:flex;flex-wrap:wrap;gap:20px;justify-content:center;padding:10px;overflow-y:auto;max-height:62vh}.close-card-button{position:absolute;top:10px;right:10px;font-size:1.5em;color:red;cursor:pointer;z-index:1}.close-card-button:hover{color:#8b0000}.complete-button{background-color:orange;color:#fff;border:none;padding:10px 15px;border-radius:5px;cursor:pointer;transition:background-color .3s ease}.complete-button:hover{background-color:#cc8400}.faculty-content-container p{text-align:center;font-size:27px;margin:25px 10px 0 0}.appointment-container-chat{display:flex;justify-content:center;align-items:center;flex-direction:column;padding:20px}.appointments-title{text-align:center;font-size:2em;margin-bottom:10px;color:#354b8a}.students-chats-container{height:600px;overflow-y:auto;border-radius:18px;background-color:#ffffff80;padding:10px;width:100%;max-width:100%;box-sizing:border-box}.chat-box{margin-bottom:10px;padding:10px;background-color:#354b8a;border-radius:8px;height:auto;cursor:pointer;display:flex;flex-direction:column;justify-content:flex-start;box-sizing:border-box;width:100%}.chat-box:hover{background-color:#506db8}.chat-box-header{font-size:20px;color:#fff;margin-bottom:5px}.chat-box-info{display:flex;justify-content:space-between;width:100%}.chat-box-time{font-size:14px;color:#d1d1d1}.chat-box-date{font-size:14px;color:#d1d1d1;text-align:right;flex-shrink:0;margin-left:10px}@media (max-width: 768px){.students-chats-container{height:500px;padding:8px}.chat-box{padding:8px}.chat-box-header{font-size:18px}.chat-box-time{font-size:13px}}@media (max-width: 480px){.students-chats-container{height:450px;padding:6px}.chat-box{padding:6px;margin-bottom:8px}.chat-box-header{font-size:16px}.chat-box-time{font-size:12px}}.chat-modal-container{position:fixed;top:0;left:0;width:100%;height:100%;background-color:#00000080;display:flex;justify-content:center;align-items:center;z-index:999;animation:fadeIn .4s ease-in-out}.chat-modal-body{background-color:#fff;width:450px;height:600px;max-width:95vw;max-height:90vh;border-radius:10px;box-shadow:0 4px 8px #0003;display:flex;flex-direction:column;overflow:hidden;animation:slideIn .4s ease-in-out;box-sizing:border-box}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes slideIn{0%{transform:translateY(-20%)}to{transform:translateY(0)}}.chat-header{display:flex;justify-content:space-between;align-items:center;background-color:#354b8a;color:#fff;padding:10px;font-size:1em;font-weight:700}.close-modal-btn{background:none;border:none;color:#fff;font-size:1.5em;cursor:pointer}.chat-input-container{display:flex;align-items:center;gap:10px;padding:12px;border-top:1px solid #e5e5e5;background:#fff}.chat-input{flex:1;padding:10px 12px;border:1px solid #ccc;border-radius:20px;font-size:.9rem;outline:none}.chat-send-btn{padding:10px 18px;background:#354b8a;color:#fff;border:none;border-radius:20px;cursor:pointer}.chat-message{padding:8px;border-radius:8px;max-width:80%;word-wrap:break-word;font-size:.9em;margin-bottom:5px}.chat-from-counselor{background:#354b8a;color:#fff;align-self:flex-end;margin-left:auto;text-align:left}.chat-from-student{background:#428149;color:#fff;align-self:flex-start;margin-right:auto;text-align:left}.chat-message-time{font-size:.7em;color:#fcfcfc;margin-top:5px;text-align:right}.chat-messages-container{flex:1;display:flex;flex-direction:column;overflow-y:auto;padding:10px;background:#f9f9f9}.chat-input{flex-grow:1;padding:8px;border:1px solid #b6b6b6;border-radius:5px;font-size:.9em}.chat-send-btn{padding:8px 12px;background-color:#354b8a;color:#fff;border:none;border-radius:5px;cursor:pointer;font-size:.9em}.chat-send-btn:hover{background-color:#506db8}@media (max-width: 768px){.chat-modal-body{width:90vw;height:80vh;max-width:90vw;max-height:80vh}.chat-header{padding:8px;font-size:.9em}.close-modal-btn{font-size:1.3em}.chat-message{padding:6px 10px;font-size:.85em}.chat-input{font-size:.85em;padding:8px 10px}.chat-send-btn{padding:8px 14px;font-size:.85em}}@media (max-width: 480px){.chat-modal-body{width:95vw;height:85vh;max-width:95vw;max-height:85vh}.chat-header{padding:6px;font-size:.85em}.close-modal-btn{font-size:1.2em}.chat-message{padding:5px 8px;font-size:.8em;max-width:85%}.chat-message-time{font-size:.65em}.chat-input{font-size:.8em;padding:6px 8px}.chat-send-btn{padding:6px 12px;font-size:.8em}}.dashboard-stats{display:grid;grid-template-columns:repeat(2,1fr);gap:15px;margin-top:20px;max-height:400px;overflow-y:auto;overflow-x:hidden;padding:10px;box-sizing:border-box;width:100%;max-width:100%}.student-content-container{padding:20px;font-size:1.1em;margin-top:20px;background-color:#f2f2f2;border:1px solid rgb(255,255,255);border-radius:12px;box-shadow:0 4px 8px #0000001a;font-family:Arial,sans-serif;max-height:80vh;overflow-y:auto;box-sizing:border-box;width:100%;max-width:100%}.dashboard-stats::-webkit-scrollbar{width:8px}.dashboard-stats::-webkit-scrollbar-thumb{background:#ccc;border-radius:4px}.dashboard-stats::-webkit-scrollbar-thumb:hover{background:#999}.stat-container{padding:20px;text-align:center;background-color:#ffecae;border-radius:12px;height:200px;box-shadow:0 4px 8px #0000001a;box-sizing:border-box;transition:transform .3s ease,box-shadow .3s ease;max-width:100%}.stat-container:hover{transform:scale(1.06)}.stat-container h4{font-size:1.5em;margin:0;color:#354b8a}.stat-container p{font-size:1.5em;font-weight:700;margin:10px 0 0;color:#157218}@media (max-width: 768px){.dashboard-stats{grid-template-columns:repeat(2,1fr);gap:12px}.stat-container{height:150px;padding:15px}.stat-container h4,.stat-container p{font-size:1.3em}}@media (max-width: 659px){.dashboard-stats{grid-template-columns:1fr;gap:10px}.stat-container{height:120px;padding:15px}.stat-container h4,.stat-container p{font-size:1.2em}}body{background:linear-gradient(to bottom,#354b8a,#546aa6,#c7c396);min-height:100vh;background-attachment:fixed;margin:0;padding:0}
