@charset "UTF-8";@import"https://fonts.googleapis.com/css2?family=Poppins:ital,wght@0,300;0,400;0,500;0,600;0,700;1,300&display=swap";@import"https://unpkg.com/boxicons@2.1.2/css/boxicons.min.css";@import"https://fonts.googleapis.com/css2?family=Poppins:wght@300;400;500;600;700&display=swap";@import"https://fonts.googleapis.com/css2?family=Poppins:ital,wght@0,100;0,200;0,300;0,400;0,500;0,600;0,700;0,800;0,900;1,100;1,200;1,300;1,400;1,500;1,600;1,700;1,800;1,900&display=swap";@import"https://fonts.googleapis.com/css2?family=Montserrat:ital,wght@0,100;0,200;0,300;0,400;0,500;0,600;0,700;0,800;0,900;1,100;1,200;1,300;1,400;1,500;1,600;1,700;1,800;1,900&display=swap";.login-page *{margin:0;padding:0;box-sizing:border-box;font-family:Poppins,sans-serif}.login-page{background-color:var(--body-color);height:100vh;display:flex;align-items:center;justify-content:center;overflow:hidden}.main-container{width:90%;max-width:1400px;height:85vh;background-color:var(--sidebar-color);border-radius:30px;box-shadow:0 10px 40px var(--box-shadow);display:flex;overflow:hidden;position:relative}.left-login{flex:1;padding:1rem 4rem;display:flex;flex-direction:column;justify-content:center;position:relative;z-index:2;overflow-y:auto}.login-header{margin-bottom:2.5rem}.brand{display:flex;align-items:center;justify-content:center;margin-top:20px;margin-bottom:30px;width:100%}.brand svg,.brand img{max-width:100%;max-height:80px;object-fit:contain;display:block}.welcome-text h2{font-size:2rem;color:var(--text-color);font-weight:600;margin-bottom:10px}.welcome-text p{color:var(--sub-text-color);font-size:1rem}.input-wrapper{position:relative;margin-bottom:1.5rem}.input-label{display:block;margin-bottom:8px;color:var(--text-color);font-weight:500;font-size:.9rem}.custom-input{width:100%;padding:16px 20px;border-radius:12px;border:2px solid transparent;background-color:var(--input-background-color);color:var(--text-color);font-size:1rem;font-weight:500;transition:var(--tran-03)}.custom-input::placeholder{color:#a0a0a0;font-weight:400}.input-icon-right{position:absolute;right:20px;top:48px;color:var(--primary-color);cursor:pointer;font-size:1.2rem}.form-actions{display:flex;justify-content:flex-end;margin-bottom:2rem}.forgot-password{color:var(--sub-text-color);font-size:.9rem;font-weight:500;transition:var(--tran-03);text-decoration:none}.forgot-password:hover{color:var(--primary-color);text-decoration:underline}.btn-login{width:100%;padding:16px;border-radius:12px;border:none;background-color:var(--primary-color);color:#fff;font-size:1.1rem;font-weight:600;cursor:pointer;transition:var(--tran-03);box-shadow:0 4px 15px var(--box-shadow);margin-bottom:1.5rem}.btn-login:hover:not(:disabled){opacity:.9;transform:translateY(-2px)}.btn-login:disabled{opacity:.6;cursor:not-allowed}.terms{text-align:center;font-size:.8rem}.terms a{color:var(--sub-text-color);text-decoration:none}.terms a:hover{color:var(--primary-color);text-decoration:underline}.right-visual{flex:1.3;display:flex;justify-content:center;align-items:center;position:relative;background:var(--body-color);overflow:hidden}.circle-decoration{position:absolute;width:100%;height:100%;overflow:hidden}.circle-decoration:before{content:"";position:absolute;top:-10%;right:-10%;width:500px;height:500px;background:var(--primary-color);border-radius:50%;opacity:.1}.circle-decoration:after{content:"";position:absolute;bottom:-5%;left:-5%;width:300px;height:300px;background:var(--second-color);border-radius:50%;opacity:.1}@media(max-width:1024px){.right-visual{display:none}.main-container{max-width:500px;height:auto;min-height:600px}.left-login{padding:2.5rem}}@media(max-width:768px){.main-container{width:95%;height:auto;min-height:500px}.left-login{padding:2rem}.welcome-text h2{font-size:1.5rem}.brand svg{max-height:60px}}*{margin:0;padding:0;box-sizing:border-box}body{font-family:Poppins,sans-serif}.reset-card{background-color:var(--sidebar-color);width:100%;max-width:500px;padding:3rem;border-radius:30px;box-shadow:0 15px 50px var(--box-shadow);position:relative;overflow:hidden;transition:height .3s ease;margin:20px auto}.reset-card:before{content:"";position:absolute;top:0;left:0;width:100%;height:6px;background:linear-gradient(90deg,var(--primary-color),var(--second-color));z-index:10}#formSection{transition:all .3s ease}.brand-logo{display:flex;justify-content:center;margin-bottom:2rem}.brand-logo svg{height:50px;width:auto}.login-header{text-align:center;margin-bottom:2.5rem}.welcome-text h2{font-size:1.8rem;font-weight:700;color:var(--text-color);margin-bottom:.5rem}.welcome-text p{font-size:.9rem;color:var(--sub-text-color);line-height:1.5}.input-wrapper{margin-bottom:1.5rem}.input-label{display:block;font-size:.9rem;font-weight:600;color:var(--text-color);margin-bottom:.5rem;width:auto}.custom-input{width:100%;height:55px;padding:0 50px 0 20px;border-radius:12px;border:2px solid transparent;background-color:var(--input-background-color);color:var(--text-color);font-size:1rem;transition:var(--tran-03);outline:none}.custom-input::placeholder{color:#a0a0a0;opacity:.7}.custom-input:disabled{background-color:#f5f5f5;cursor:not-allowed;opacity:.6}.toggle-icon{position:absolute;right:20px;top:50%;transform:translateY(-50%);cursor:pointer;color:var(--primary-color);font-size:1.25rem;transition:var(--tran-03);z-index:1}.toggle-icon:hover{opacity:.8}.password-requirements{display:flex;flex-direction:column;gap:8px;margin-bottom:2rem;padding:15px;background-color:#f8f9fa;border-radius:10px}.password-requirements span{font-size:.8rem;color:var(--sub-text-color);display:flex;align-items:center;gap:8px}.password-requirements i{color:var(--second-color);font-size:1rem}.btn-submit{width:100%;height:55px;border:none;border-radius:12px;background-color:var(--primary-color);color:#fff;font-size:1rem;font-weight:600;cursor:pointer;transition:var(--tran-03);box-shadow:0 4px 15px var(--box-shadow);margin-bottom:1.5rem}.btn-submit:hover:not(:disabled){opacity:.9;transform:translateY(-2px)}.back-link{display:flex;align-items:center;justify-content:center;gap:8px;text-decoration:none;color:var(--sub-text-color);font-size:.9rem;font-weight:500;transition:var(--tran-03)}.back-link:hover{color:var(--primary-color)}.error-message{padding:15px;border-radius:10px;margin-bottom:1.5rem;background-color:#ff00001a;border:2px solid #ff0000;color:red;font-size:.9rem;text-align:center}.success-section{display:block;opacity:1;transform:scale(1);transition:all .4s ease;text-align:center;padding:1rem 0}.animation-container{margin-bottom:2rem;display:flex;justify-content:center}.message-content h1{font-size:1.5rem;font-weight:700;color:var(--text-color);margin-bottom:.5rem}.message-content p{font-size:1rem;color:var(--sub-text-color);margin-bottom:.5rem}.redirect-text{font-size:.85rem!important;font-style:italic;opacity:.8;margin-bottom:2rem!important}.btn-home{display:inline-block;padding:12px 30px;background-color:var(--input-background-color);color:var(--primary-color);text-decoration:none;border-radius:50px;font-weight:600;font-size:.9rem;transition:all .3s ease}.btn-home:hover{background-color:var(--primary-color);color:#fff;box-shadow:0 4px 15px var(--box-shadow);transform:translateY(-2px)}.checkmark{width:80px;height:80px;border-radius:50%;display:block;stroke-width:2;stroke:var(--second-color);stroke-miterlimit:10;box-shadow:inset 0 0 0 var(--second-color);animation:fill .4s ease-in-out .4s forwards,scale .3s ease-in-out .9s both}.checkmark__circle{stroke-dasharray:166;stroke-dashoffset:166;stroke-width:2;stroke-miterlimit:10;stroke:var(--second-color);fill:none;animation:stroke .6s cubic-bezier(.65,0,.45,1) forwards}.checkmark__check{transform-origin:50% 50%;stroke-dasharray:48;stroke-dashoffset:48;animation:stroke .3s cubic-bezier(.65,0,.45,1) .8s forwards}@keyframes stroke{to{stroke-dashoffset:0}}@keyframes scale{0%,to{transform:none}50%{transform:scale3d(1.1,1.1,1)}}@keyframes fill{to{box-shadow:inset 0 0 0 50px #fff}}@media(max-width:480px){.reset-card{padding:2rem;margin:10px}}.termos-page-wrapper{background-color:var(--body-color);min-height:100vh;display:flex;justify-content:center;align-items:center;padding:40px 20px;width:100%;max-width:100vw;overflow-x:hidden;box-sizing:border-box}.main-wrapper{width:100%;max-width:900px;box-sizing:border-box}.content-card{background-color:var(--sidebar-color);border-radius:30px;box-shadow:0 10px 40px var(--box-shadow);overflow:hidden;display:flex;flex-direction:column;max-height:90vh}.termos-card-header{padding:30px 40px;background-color:var(--sidebar-color);border-bottom:2px solid var(--body-color);display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:20px;position:relative;z-index:1;min-height:110px;box-sizing:border-box;width:100%;max-width:100%;overflow:hidden}.termos-card-header .logo-area{display:flex;align-items:center;flex-shrink:0;min-height:50px}.brand-svg{height:50px;width:auto;display:block;max-width:100%;object-fit:contain;flex-shrink:0}.termos-card-header .header-action{display:flex!important;align-items:center!important;flex-shrink:0;visibility:visible!important;opacity:1!important;width:auto!important;height:auto!important;min-width:150px!important;position:relative!important;z-index:100!important}.termos-card-header .btn-back,.termos-card-header a.btn-back,.termos-card-header .header-action a,.termos-card-header .header-action .btn-back,.termos-card-header .header-action Link,a.btn-back{display:flex!important;align-items:center!important;gap:8px!important;padding:10px 20px!important;background-color:#695cfe1a!important;color:var(--primary-color)!important;text-decoration:none!important;font-weight:600!important;border-radius:12px!important;transition:var(--tran-03);border:2px solid transparent!important;font-size:1rem!important;cursor:pointer!important;white-space:nowrap!important;opacity:1!important;visibility:visible!important;width:auto!important;height:auto!important;min-width:fit-content!important;position:relative!important;z-index:100!important;margin:0!important;line-height:1.5!important;box-sizing:border-box!important}.termos-card-header .btn-back i,.termos-card-header a.btn-back i,.termos-card-header .header-action a i,a.btn-back i{font-size:1.2rem!important;display:inline-block!important;color:inherit!important;visibility:visible!important;opacity:1!important}.termos-card-header .btn-back:hover,.termos-card-header a.btn-back:hover{background-color:var(--primary-color)!important;color:var(--sidebar-color)!important;border-color:var(--primary-color);box-shadow:0 4px 10px var(--box-shadow);opacity:1!important}.content-body{padding:40px;overflow-y:auto}.content-body::-webkit-scrollbar{width:10px}.content-body::-webkit-scrollbar-track{background:#f1f1f1}.content-body::-webkit-scrollbar-thumb{background:var(--primary-color);border-radius:10px;border:2px solid #f1f1f1}.content-body::-webkit-scrollbar-thumb:hover{background:#5849e0}.main-title{font-size:28px;font-weight:700;color:var(--primary-color);margin-bottom:30px;text-align:center}.text-section h2{font-size:20px;font-weight:700;color:var(--text-color);margin-top:30px;margin-bottom:15px;display:flex;align-items:center;gap:10px}.text-section h2:before{content:"";display:block;width:6px;height:24px;background-color:var(--primary-color);border-radius:4px}.text-section p{font-size:15px;color:var(--sub-text-color);line-height:1.6;margin-bottom:15px;text-align:justify}.info-card{background-color:var(--input-background-color);border-radius:15px;padding:20px;margin-bottom:15px;border-left:4px solid var(--primary-color);transition:var(--tran-03)}.info-card:hover{transform:translate(5px);background-color:var(--sidebar-color);box-shadow:0 4px 15px #0000000d}.info-card h3{font-size:16px;font-weight:600;color:var(--primary-color);margin-bottom:8px}.info-card p{margin-bottom:0;font-size:14px;color:var(--text-color)}@media(min-width:768px){.termos-card-header{flex-direction:row;justify-content:space-between;align-items:center}}@media(max-width:767px){.termos-page-wrapper{padding:16px 12px}.main-wrapper{max-width:100%}.termos-card-header{flex-direction:column;align-items:center;padding:20px 16px;height:auto;min-height:auto}.termos-card-header .logo-area{width:100%;justify-content:center}.termos-card-header .header-action{margin-top:1rem;width:100%;max-width:100%}.termos-card-header .btn-back{width:100%;justify-content:center;min-height:48px}.termos-card-header .brand-svg{height:40px}.content-body{padding:25px 16px}.main-title{font-size:22px}}.recovery-page-wrapper{background-color:var(--body-color);min-height:100vh;display:flex;align-items:center;justify-content:center;padding:20px;width:100%;max-width:100vw;overflow-x:hidden;box-sizing:border-box}.recovery-card{background-color:var(--sidebar-color);width:100%;max-width:550px;padding:3rem;border-radius:30px;box-shadow:0 15px 50px var(--box-shadow);text-align:center;position:relative;overflow:hidden;box-sizing:border-box}.recovery-card:before{content:"";position:absolute;top:0;left:0;width:100%;height:6px;background:linear-gradient(90deg,var(--primary-color),var(--second-color))}.brand-logo{margin-bottom:2rem;display:flex;justify-content:center}.brand-logo svg,.brand-svg{height:60px;width:auto;display:block}.header-text h1{color:var(--text-color);font-size:1.8rem;font-weight:700;margin-bottom:1rem}.header-text p{color:var(--sub-text-color);font-size:.95rem;line-height:1.6;margin-bottom:1.5rem}.warning-box{background-color:#fff3cd;color:#856404;border:1px solid #ffeeba;padding:1rem;border-radius:12px;font-size:.85rem;margin-bottom:2rem;text-align:left;display:flex;align-items:flex-start;gap:10px}.warning-box i{font-size:1.2rem;margin-top:2px;flex-shrink:0}.success-box{background-color:#d4edda;color:#155724;border:1px solid #c3e6cb;padding:1rem;border-radius:12px;font-size:.9rem;margin-bottom:2rem;text-align:left;display:flex;align-items:flex-start;gap:10px;animation:successFadeIn .35s ease-out forwards}@keyframes successFadeIn{0%{opacity:0;transform:translateY(-8px)}to{opacity:1;transform:translateY(0)}}.success-box i{font-size:1.2rem;margin-top:2px;flex-shrink:0}.success-box strong{display:block;margin-bottom:.5rem;font-weight:600}.success-box p{margin:0;font-size:.85rem}.error-box{background-color:#f8d7da;color:#721c24;border:1px solid #f5c6cb;padding:1rem;border-radius:12px;font-size:.9rem;margin-bottom:2rem;text-align:left;display:flex;align-items:flex-start;gap:10px}.error-box i{font-size:1.2rem;margin-top:2px;flex-shrink:0}.form-group{margin-bottom:1.5rem;text-align:left}.input-label{display:block;margin-bottom:.5rem;font-weight:600;color:var(--text-color);font-size:.9rem}.custom-input{width:100%;padding:16px 20px;border-radius:12px;border:2px solid transparent;background-color:var(--input-background-color);color:var(--text-color);font-size:1rem;font-weight:500;transition:var(--tran-03);box-sizing:border-box}.custom-input:focus{outline:none;border-color:var(--primary-color);background-color:#fff;box-shadow:0 4px 15px var(--box-shadow)}.custom-input:disabled{opacity:.6;cursor:not-allowed}.btn-submit{width:100%;padding:16px;border-radius:12px;border:none;background-color:var(--primary-color);color:#fff;font-size:1rem;font-weight:600;cursor:pointer;transition:var(--tran-03);box-shadow:0 4px 15px var(--box-shadow);display:flex;align-items:center;justify-content:center;gap:10px}.btn-submit:hover:not(:disabled){transform:translateY(-2px);opacity:.9}.btn-submit:disabled{opacity:.6;cursor:not-allowed;transform:none}.btn-submit i.bx-spin{animation:spin 1s linear infinite}.back-link{display:inline-flex;align-items:center;gap:8px;margin-top:2rem;color:var(--sub-text-color);text-decoration:none;font-weight:500;font-size:.9rem;transition:var(--tran-03);padding:10px 20px;border-radius:20px}.back-link:hover{color:var(--primary-color);background-color:var(--input-background-color)}@media(max-width:480px){.recovery-card{padding:2rem}.brand-logo svg,.brand-svg{height:40px}.header-text h1{font-size:1.5rem}.header-text p{font-size:.85rem}}.selecao-perfil-page{min-height:100vh;display:flex;align-items:center;justify-content:center;background:var(--bg-color);padding:2rem}.selecao-perfil-container{max-width:1200px;width:100%}.selecao-perfil-header{text-align:center;margin-bottom:3rem}.selecao-perfil-title{font-size:2.5rem;font-weight:700;color:var(--text-color);margin-bottom:.5rem}.selecao-perfil-subtitle{font-size:1.1rem;color:var(--text-color-secondary);opacity:.8}.perfis-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:2rem;margin-top:2rem}.perfil-card{background:var(--card-bg);border-radius:16px;padding:2.5rem 2rem;text-align:center;cursor:pointer;transition:all .3s ease;border:2px solid transparent;box-shadow:0 4px 6px #0000001a;position:relative;overflow:hidden}.perfil-card:before{content:"";position:absolute;top:0;left:0;right:0;height:4px;background:var(--primary-color);transform:scaleX(0);transition:transform .3s ease}.perfil-card.enabled:hover{transform:translateY(-8px);box-shadow:0 12px 24px #00000026;border-color:var(--primary-color)}.perfil-card.enabled:hover:before{transform:scaleX(1)}.perfil-card.disabled{opacity:.5;cursor:not-allowed;background:var(--card-bg-disabled, var(--card-bg))}.perfil-card-icon{display:flex;justify-content:center;align-items:center;width:100px;height:100px;margin:0 auto 1.5rem;border-radius:50%;background:var(--primary-color);color:#fff;transition:all .3s ease}.perfil-card-icon i{color:#fff}.perfil-card.enabled:hover .perfil-card-icon{transform:scale(1.1);background:var(--second-color)}.perfil-card-title{font-size:1.5rem;font-weight:600;color:var(--text-color);margin-bottom:.5rem}.perfil-card-description{font-size:.95rem;color:var(--text-color-secondary);opacity:.8;line-height:1.5}.perfil-card-badge{display:inline-block;margin-top:1rem;padding:.25rem .75rem;background:var(--error-color, #ff4444);color:#fff;border-radius:12px;font-size:.85rem;font-weight:500}.selecao-perfil-empty{text-align:center;padding:3rem;background:var(--card-bg);border-radius:16px;color:var(--text-color-secondary)}.dark .perfil-card{box-shadow:0 4px 6px #0000004d}.dark .perfil-card.enabled:hover{box-shadow:0 12px 24px #00000080}@media(max-width:768px){.selecao-perfil-title{font-size:2rem}.perfis-grid{grid-template-columns:1fr;gap:1.5rem}.perfil-card{padding:2rem 1.5rem}}.app-footer{text-align:center;padding:2rem 0 1rem;margin-top:auto;color:var(--sub-text-color);font-size:.85rem;border-top:1px solid var(--border-color);width:100%;opacity:.8}.app-footer div{display:flex;align-items:center;justify-content:center;gap:4px}.app-footer svg{height:12px;width:auto}.app-footer small{display:block;font-size:.75rem;margin-top:4px;font-style:italic}body.dark .app-footer{border-top-color:#ffffff0d}.not-found-wrapper{display:flex;flex-direction:column;min-height:100vh;width:100%;max-width:100%}.container-error{text-align:center;position:relative;padding:20px;flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center}.visual-scene{position:relative;margin-bottom:2rem;height:300px;display:flex;align-items:center;justify-content:center}.error-code{font-size:10rem;font-weight:800;color:var(--primary-color);line-height:1;position:relative;z-index:2;animation:floatMain 6s ease-in-out infinite;text-shadow:10px 10px 0px var(--input-background-color)}.error-code span{color:var(--second-color);display:inline-block;animation:spinSlow 15s linear infinite}.shadow{width:150px;height:20px;background-color:#0000001a;border-radius:50%;position:absolute;bottom:20px;left:50%;transform:translate(-50%);animation:shadowScale 6s ease-in-out infinite;filter:blur(5px)}.floating-item{position:absolute;color:var(--sub-text-color);font-size:3rem;opacity:.5;z-index:1}.book{top:0;left:10%;animation:floatItem 8s ease-in-out infinite;color:var(--primary-color)}.ruler{bottom:20px;right:15%;animation:floatItem 7s ease-in-out infinite 1s;transform:rotate(45deg)}.pencil{top:20px;right:20%;animation:floatItem 9s ease-in-out infinite .5s;color:var(--second-color)}.bulb{bottom:50px;left:20%;animation:floatItem 6s ease-in-out infinite 2s;font-size:2.5rem}.text-content h2{font-size:2rem;font-weight:700;margin-bottom:10px;color:var(--text-color)}.text-content p{color:var(--sub-text-color);margin-bottom:2rem;font-size:1rem;max-width:500px;margin-left:auto;margin-right:auto}.btn-back{display:inline-flex;align-items:center;gap:10px;padding:12px 30px;background-color:var(--primary-color);color:#fff;text-decoration:none;font-weight:600;border-radius:50px;transition:all .3s ease;box-shadow:0 4px 15px var(--box-shadow);border:none;cursor:pointer;font-family:Poppins,sans-serif;font-size:1rem}.btn-back:hover{transform:translateY(-3px);box-shadow:0 8px 25px #695cfe66}@keyframes floatMain{0%,to{transform:translateY(0)}50%{transform:translateY(-20px)}}@keyframes shadowScale{0%,to{transform:translate(-50%) scale(1);opacity:1}50%{transform:translate(-50%) scale(.6);opacity:.5}}@keyframes floatItem{0%,to{transform:translateY(0) rotate(0)}33%{transform:translateY(-30px) rotate(10deg)}66%{transform:translateY(10px) rotate(-5deg)}}@keyframes spinSlow{0%{transform:rotate(0)}to{transform:rotate(360deg)}}@media(max-width:768px){.error-code{font-size:7rem}.text-content h2{font-size:1.5rem}.floating-item{font-size:2rem}}body.dark .shadow{background-color:#ffffff0d}body.dark .error-code{text-shadow:10px 10px 0px rgba(255,255,255,.05)}.not-found-wrapper .app-footer{padding:1rem 0;margin-top:auto;opacity:.6;border-top:1px solid var(--border-color);width:100%;position:relative;z-index:1}.not-found-wrapper .app-footer strong{color:var(--primary-color)}body.dark .not-found-wrapper .app-footer{border-top-color:#ffffff0d}.hamburguer{display:flex;align-items:center;justify-content:center;cursor:pointer;width:45px;height:45px;border-radius:10px;transition:var(--tran-03);margin-right:15px;color:var(--text-color)}.hamburguer i{font-size:28px;pointer-events:none}.image-text{display:flex;align-items:center}.header-student-context{position:relative;flex:1;display:flex;justify-content:center;min-width:0;margin:0 12px}.header-student-trigger{display:inline-flex;align-items:center;gap:6px;padding:6px 12px;border-radius:8px;background-color:var(--input-background-color);color:var(--text-color);font-size:13px;max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.header-student-trigger[role=button]{cursor:pointer}.header-student-trigger[role=button]:hover{background-color:var(--body-color)}.header-student-label{color:var(--sub-text-color);font-weight:500;flex-shrink:0}.header-student-name{font-weight:600;color:var(--primary-color);overflow:hidden;text-overflow:ellipsis}.header-student-trigger i{font-size:18px;color:var(--sub-text-color);flex-shrink:0}.header-student-dropdown{position:absolute;top:100%;left:50%;transform:translate(-50%);margin:6px 0 0;padding:6px 0;min-width:200px;max-width:280px;list-style:none;background:var(--sidebar-color);border-radius:10px;box-shadow:0 8px 24px var(--box-shadow);border:1px solid var(--body-color);z-index:200;max-height:280px;overflow-y:auto}.header-student-dropdown li{padding:10px 14px;cursor:pointer;font-size:13px;color:var(--text-color);transition:var(--tran-03)}.header-student-dropdown li:hover,.header-student-dropdown li.active{background-color:var(--input-background-color);color:var(--primary-color)}.header-student-dropdown-turma{color:var(--sub-text-color);font-size:12px}@media(max-width:768px){.header-student-context{margin:0 8px}.header-student-label{display:none}}.user-profile{display:flex;align-items:center;gap:12px;cursor:pointer;padding:6px 12px;border-radius:50px;transition:var(--tran-03);border:1px solid transparent;-webkit-user-select:none;user-select:none}.user-profile:hover{background-color:var(--input-background-color);border-color:var(--body-color)}.user-icon{font-size:32px;color:var(--primary-color);pointer-events:none}.user-info{display:flex;flex-direction:column;align-items:flex-end;pointer-events:none}.user-name{font-size:14px;font-weight:600;color:var(--text-color);line-height:1.2}.user-role{font-size:11px;color:var(--sub-text-color)}@media(max-width:480px){.user-info{display:none}.user-profile{padding:8px;border-radius:50%}}header{position:fixed;top:0;left:0;width:100%;height:var(--header-height);display:flex;justify-content:space-between;align-items:center;background-color:var(--sidebar-color);box-shadow:0 4px 20px var(--box-shadow);z-index:100;padding:0 20px;transition:var(--tran-05)}.left-section{display:flex;align-items:center}.image-text svg{width:50px;height:auto}.hamburguer{display:flex;align-items:center;justify-content:center;cursor:pointer;width:40px;height:40px;border-radius:8px;margin-right:15px;transition:var(--tran-03);color:var(--text-color)}.hamburguer:hover{background-color:var(--input-background-color);color:var(--primary-color)}.hamburguer i{font-size:28px}.right-section{display:flex;align-items:center;gap:15px}.configuracoes-btn{display:flex;align-items:center;justify-content:center;width:40px;height:40px;border-radius:50%;color:var(--sub-text-color);transition:var(--tran-03);text-decoration:none}.configuracoes-btn:hover{background-color:var(--input-background-color);color:var(--primary-color)}.configuracoes-btn i{font-size:24px}.admin-profile{display:flex;align-items:center;gap:10px;padding:6px 12px;border-radius:50px;border:1px solid transparent;transition:var(--tran-03);cursor:pointer}.admin-profile:hover{background-color:var(--input-background-color);border-color:var(--border-color)}.admin-icon{font-size:32px;color:var(--primary-color)}.admin-info{display:flex;flex-direction:column;align-items:flex-end;line-height:1.2}.admin-name{font-size:14px;font-weight:700;color:var(--text-color)}.admin-role{font-size:11px;color:var(--sub-text-color);text-transform:uppercase}@media(max-width:600px){.admin-info{display:none}}.sidebar{position:fixed;top:var(--header-height);left:0;height:calc(100vh - var(--header-height));width:80px;background-color:var(--sidebar-color);padding:20px 10px;transition:var(--tran-05);z-index:99;border-right:1px solid rgba(0,0,0,.05);overflow-x:hidden;box-sizing:border-box;margin:0;border-left:none;border-top:none;border-bottom:none}.sidebar.open{width:260px;box-shadow:4px 0 20px var(--box-shadow)}.menu-links{display:flex;flex-direction:column;gap:10px;padding:0;margin:0}.nav-link a{display:flex;align-items:center;height:50px;text-decoration:none;border-radius:12px;transition:var(--tran-03);color:var(--sub-text-color);position:relative;overflow:hidden}.trocar-aluno-wrap{margin-bottom:4px}.trocar-aluno-btn{display:flex;align-items:center;width:100%;height:50px;padding:0;border:none;border-radius:12px;background:transparent;color:var(--sub-text-color);cursor:pointer;transition:var(--tran-03);text-align:left;font:inherit}.trocar-aluno-btn:hover{background-color:var(--primary-color);color:#fff;box-shadow:0 4px 15px var(--box-shadow)}.trocar-aluno-btn .icon,.trocar-aluno-btn .text{color:inherit}.sidebar .icon{min-width:60px;font-size:24px;display:flex;align-items:center;justify-content:center;transition:var(--tran-03);flex-shrink:0}.sidebar .text{font-size:16px;font-weight:500;white-space:nowrap;opacity:0;transition:var(--tran-03);color:var(--text-color)}.sidebar.open .text{opacity:1}.mode{background-color:var(--input-background-color);border-radius:12px;position:relative;height:50px;display:flex;align-items:center;list-style:none;cursor:pointer;overflow:hidden;border:1px solid transparent}.mode:hover{border:1px solid var(--primary-color);transition:var(--tran-05)}.mode .sun-moon i.icon{position:absolute;font-size:24px;transition:all .4s ease;min-width:auto!important;display:block!important;width:auto;height:auto;border-radius:0}.mode .sun-moon i.icon.sun{opacity:0;transform:rotate(90deg) scale(.5);color:var(--text-color)}.mode .sun-moon i.icon.moon{opacity:1;transform:rotate(0) scale(1);color:var(--text-color)}body.dark .mode .sun-moon i.icon.sun{opacity:1;transform:rotate(0) scale(1)}body.dark .mode .sun-moon i.icon.moon{opacity:0;transform:rotate(-90deg) scale(.5)}@media(max-width:768px){.sidebar{width:0;padding:0}.sidebar.open{width:100%}}.sidebar-secretaria{position:fixed;top:var(--header-height);left:0;height:calc(100vh - var(--header-height));width:80px;background-color:var(--sidebar-color);padding:20px 10px;transition:var(--tran-05);z-index:99;border-right:1px solid rgba(0,0,0,.05);overflow-x:hidden;display:flex;flex-direction:column}.sidebar-secretaria.open{width:260px;box-shadow:4px 0 20px var(--box-shadow)}.menu-bar{height:100%;display:flex;flex-direction:column;justify-content:space-between}.menu-links{display:flex;flex-direction:column;gap:8px;padding:0;margin:0}.nav-link{list-style:none}.nav-link a{display:flex;align-items:center;height:50px;text-decoration:none;border-radius:12px;transition:var(--tran-03);color:var(--sub-text-color);position:relative;white-space:nowrap}.nav-link a:hover{background-color:var(--primary-color);color:#fff;box-shadow:0 4px 15px var(--box-shadow)}.nav-link a.active{background-color:var(--primary-color);color:#fff}.nav-link a.active .icon,.nav-link a.active .text{color:#fff}.sidebar-secretaria .icon{min-width:60px;font-size:22px;display:flex;align-items:center;justify-content:center;transition:var(--tran-03);flex-shrink:0}.sidebar-secretaria .text{font-size:15px;font-weight:500;opacity:0;transition:var(--tran-03);color:var(--text-color)}.nav-link a:hover .text{color:#fff}.sidebar-secretaria.open .text{opacity:1}.bottom-content{border-top:1px solid var(--border-color);padding-top:10px;display:flex;flex-direction:column;gap:5px}.mode{background-color:var(--input-background-color);border-radius:12px;position:relative;height:50px;display:flex;align-items:center;list-style:none;transition:var(--tran-03);cursor:pointer;overflow:hidden;margin-top:5px}.mode:hover{background-color:var(--body-color)}.mode .sun-moon{height:50px;width:60px;min-width:60px;display:flex;align-items:center;justify-content:center;position:relative;flex-shrink:0}.mode i{position:absolute;font-size:22px;transition:all .4s ease}.mode i.sun{opacity:0;transform:rotate(90deg) scale(.5);color:var(--text-color)}.mode i.moon{opacity:1;transform:rotate(0) scale(1);color:var(--text-color)}body.dark .mode i.sun{opacity:1;transform:rotate(0) scale(1)}body.dark .mode i.moon{opacity:0;transform:rotate(-90deg) scale(.5)}@media(max-width:768px){.sidebar-secretaria{width:0;padding:0}.sidebar-secretaria.open{width:100%}}.container-user{position:relative}.sidebar-user{position:fixed;top:calc(var(--header-height) + 10px);right:20px;width:280px;max-height:calc(100vh - var(--header-height) - 20px);background-color:var(--sidebar-color);border-radius:12px;box-shadow:0 8px 32px #00000026;z-index:1000;opacity:0;transform:translateY(-10px) scale(.95);pointer-events:none;transition:var(--tran-03);overflow-y:auto;overflow-x:hidden;display:flex;flex-direction:column}.sidebar-user.open{opacity:1;transform:translateY(0) scale(1);pointer-events:all}.sidebar-user::-webkit-scrollbar{width:6px}.sidebar-user::-webkit-scrollbar-track{background:transparent}.sidebar-user::-webkit-scrollbar-thumb{background:var(--scroll-color);border-radius:3px}.sidebar-user::-webkit-scrollbar-thumb:hover{background:var(--scroll-hover)}.menu-bar-user{display:flex;flex-direction:column;min-height:100%;justify-content:space-between;padding:20px 15px}.user-profile-header{display:flex;align-items:center;gap:12px;padding:15px;margin-bottom:15px;border-bottom:1px solid rgba(0,0,0,.05)}.user-icon-large{font-size:48px;color:var(--primary-color)}.user-info-header{display:flex;flex-direction:column}.user-name-header{font-size:16px;font-weight:600;color:var(--text-color);line-height:1.3}.user-role-header{font-size:12px;color:var(--sub-text-color)}.section-title{padding:0 15px 15px;font-size:14px;text-transform:uppercase;color:var(--sub-text-color);letter-spacing:1px;margin:0}.menu-links-user{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:10px}.nav-link-user a{display:flex;align-items:center;height:50px;text-decoration:none;border-radius:12px;color:var(--text-color);transition:var(--tran-03);padding-left:5px}.nav-link-user a:hover{background-color:var(--primary-color);color:#fff;box-shadow:0 4px 15px var(--box-shadow)}.nav-link-user .icon{font-size:24px;min-width:50px;display:flex;justify-content:center}.nav-link-user .text{font-size:16px;font-weight:500}.logout-link a{display:flex;align-items:center;height:50px;text-decoration:none;border-radius:12px;color:var(--text-color);transition:var(--tran-03);background-color:var(--input-background-color);margin-top:10px}.logout-link a:hover{background-color:#ffe5e5;color:#d63031;box-shadow:0 4px 15px #d6303133}.logout-link a:hover .icon{color:#d63031}.layout{min-height:100vh;background-color:var(--body-color)}.main-content{margin-left:90px;margin-top:var(--header-height, 70px);padding:20px;min-height:calc(100vh - var(--header-height, 70px));transition:var(--tran-05);display:flex;flex-direction:column}.main-content.sidebar-open{margin-left:275px}@media(max-width:768px){.main-content,.main-content.sidebar-open{margin-left:0}}@media(max-width:430px){.main-content{margin-left:0;padding:15px}.main-content.sidebar-open{margin-left:0}}.page-header h1{font-size:1.8rem;font-weight:700;color:var(--text-color)}.stats-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:1.5rem;margin-bottom:2rem}.stat-card{background-color:var(--sidebar-color);border-radius:20px;padding:1.5rem;display:flex;align-items:center;gap:1rem;box-shadow:0 4px 20px #00000008;transition:var(--tran-03);border:1px solid transparent}.stat-card:hover{transform:translateY(-3px);box-shadow:0 10px 30px var(--box-shadow);border-color:var(--primary-color)}.highlight-card{background:linear-gradient(135deg,var(--primary-color),var(--primary-color-light))}.highlight-card .stat-label,.highlight-card .stat-value,.highlight-card .stat-desc,.highlight-card i{color:#fff}.highlight-card .stat-icon{background-color:#fff3}.stat-icon{width:50px;height:50px;border-radius:12px;background-color:var(--input-background-color);display:flex;align-items:center;justify-content:center;font-size:1.5rem;color:var(--primary-color)}.stat-icon.finance{color:var(--second-color);background-color:#39a71b1a}.stat-icon.event{color:#e67e22;background-color:#e67e221a}.stat-info{display:flex;flex-direction:column}.stat-label{font-size:.75rem;color:var(--sub-text-color);font-weight:600;text-transform:uppercase}.stat-value{font-size:1.1rem;font-weight:700;color:var(--text-color);margin:2px 0}.stat-desc{font-size:.8rem;color:var(--sub-text-color)}.status-open{color:#e74c3c}.status-overdue{color:#c0392b}.status-ok{color:#27ae60}.stat-info-evaluations{min-width:0}.stat-evaluations-empty,.stat-evaluations-date{display:block;margin-top:2px}.stat-evaluations-list{list-style:none;padding:0;margin:6px 0 0;font-size:.85rem;color:var(--sub-text-color)}.stat-evaluations-list li{margin-bottom:4px}.stat-evaluations-list li:last-child{margin-bottom:0}.dashboard-content-grid{display:grid;grid-template-columns:1.5fr 1fr;gap:2rem}.content-card{background-color:var(--sidebar-color);border-radius:24px;padding:1.5rem;box-shadow:0 10px 40px var(--box-shadow);margin-bottom:2rem}.card-header-internal .see-all{font-size:.85rem;color:var(--primary-color);text-decoration:none;font-weight:500}.card-header-internal .see-all:hover{text-decoration:underline}.today-date{font-size:.85rem;color:var(--sub-text-color)}.timeline-item{display:flex;align-items:center;margin-bottom:1rem;padding-bottom:1rem;border-bottom:1px solid rgba(0,0,0,.03)}.timeline-item:last-child{border-bottom:none;margin-bottom:0;padding-bottom:0}.time-col{width:50px;font-weight:600;color:var(--sub-text-color);font-size:.85rem}.class-card{flex:1;background-color:var(--sidebar-color);padding:10px 15px;border-radius:12px;display:flex;justify-content:space-between;align-items:center;border:1px solid rgba(0,0,0,.06)}.timeline-item.active .class-card{border-color:transparent}.class-info h4{font-size:.95rem;font-weight:600;color:var(--text-color)}.class-info p{font-size:.8rem;color:var(--sub-text-color)}.timeline-item.active .class-card{background-color:var(--primary-color);color:#fff;box-shadow:0 5px 15px var(--box-shadow)}.timeline-item.active .class-card h4,.timeline-item.active .class-card p{color:#fff}.timeline-item.active .time-col{color:var(--primary-color)}.live-indicator{font-size:.75rem;background:#fff3;padding:4px 8px;border-radius:12px;display:flex;align-items:center;gap:5px}.dot{width:6px;height:6px;background:#fff;border-radius:50%;animation:pulse 1.5s infinite}.status-badge{font-size:.75rem;color:var(--sub-text-color);font-weight:500}.timeline-item.completed .class-card{opacity:.75}.timeline-item.completed .time-col{color:var(--sub-text-color)}.aulas-loading,.aulas-empty{text-align:center;color:var(--sub-text-color);padding:1rem;font-size:.9rem}.aulas-error-fallback{text-align:center;padding:1.5rem 1rem;color:var(--sub-text-color);font-size:.9rem}.aulas-error-fallback p{margin:0 0 1rem}.btn-retry{padding:.5rem 1rem;border-radius:8px;border:1px solid var(--primary-color);background:transparent;color:var(--primary-color);font-weight:600;cursor:pointer;transition:var(--tran-03)}.btn-retry:hover{background:var(--primary-color);color:#fff}.stat-desc-error{color:var(--sub-text-color);font-style:italic}.calendar-card{padding:1.5rem}.calendar-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:1.5rem;flex-wrap:wrap;gap:10px}.month-nav{display:flex;align-items:center;gap:10px}.month-nav h2{font-size:1.1rem;font-weight:700;color:var(--text-color)}.month-nav button{background:none;border:none;font-size:1.5rem;color:var(--sub-text-color);cursor:pointer;transition:.2s;border-radius:50%;width:30px;height:30px;display:flex;align-items:center;justify-content:center}.month-nav button:hover{background-color:var(--input-background-color);color:var(--primary-color)}.calendar-legend{display:flex;gap:10px}.legend-item.exam:before{background-color:#e74c3c}.legend-item.event:before{background-color:var(--primary-color)}.legend-item.holiday:before{background-color:#27ae60}.calendar-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:5px;text-align:center}.day{height:45px;display:flex;flex-direction:column;align-items:center;justify-content:center;border-radius:10px;font-size:.9rem;cursor:pointer;transition:.2s;position:relative;color:var(--text-color);border:1px solid transparent}.day:hover:not(.prev-date):not(.next-date){background-color:var(--input-background-color);color:var(--primary-color);border-color:var(--border-color)}.day.selected:not(.prev-date):not(.next-date){background-color:var(--input-background-color);border:2px solid var(--primary-color);color:var(--primary-color)!important;font-weight:600}.prev-date,.next-date{color:var(--sub-text-color);opacity:.3;pointer-events:none}.selected-date-events{margin-top:1.5rem;padding-top:1rem;border-top:1px solid var(--border-color)}.selected-date-events h4{font-size:.9rem;color:var(--sub-text-color);margin-bottom:10px}.event-detail-item{background-color:var(--input-background-color);padding:10px;border-radius:8px;margin-bottom:8px;border-left:4px solid}.event-badge{font-size:.7rem;font-weight:700;text-transform:uppercase;margin-right:8px}.event-badge.exam{color:#e74c3c}.event-badge.event{color:var(--primary-color)}.event-badge.holiday{color:#27ae60}.no-events{font-size:.85rem;color:var(--sub-text-color);text-align:center;padding:1rem 0}.mini-messages{display:flex;flex-direction:column;gap:1rem}.mini-message-item{border:1px solid var(--border-color);border-radius:12px;padding:12px;transition:.3s}.mini-message-item:hover{border-color:var(--primary-color);background:var(--input-background-color)}.mini-header{display:flex;justify-content:space-between;margin-bottom:5px}.tag-alert{font-size:.7rem;background:#ffe5e5;color:#e74c3c;padding:2px 8px;border-radius:4px;font-weight:600}.tag-info{font-size:.7rem;background:#e5f6fd;color:#3498db;padding:2px 8px;border-radius:4px;font-weight:600}.date{font-size:.75rem;color:var(--sub-text-color)}.mini-message-item h4{font-size:.9rem;margin-bottom:3px;color:var(--text-color)}.mini-message-item p{font-size:.8rem;color:var(--sub-text-color);display:-webkit-box;-webkit-line-clamp:2;line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.finance-banner{margin-top:1.5rem;background:linear-gradient(45deg,#2c3e50,#34495e);color:#fff;display:flex;align-items:center;justify-content:space-between;padding:1.2rem;border-radius:16px}.banner-content{display:flex;align-items:center;gap:15px}.banner-content i{font-size:2rem}.banner-content h4{font-size:1rem;font-weight:600;color:#fff}.banner-content p{font-size:.8rem;opacity:.8;color:#ccc}.btn-download{background:#fff3;border:1px solid rgba(255,255,255,.4);color:#fff;padding:8px 16px;border-radius:8px;cursor:pointer;transition:.3s}.btn-download:hover{background:#fff;color:#2c3e50}@media(max-width:1024px){.dashboard-content-grid{grid-template-columns:1fr}}@media(max-width:768px){.home-content{margin-left:0;padding:1.5rem}.stats-grid{grid-template-columns:1fr}}@keyframes pulse{0%{opacity:1;transform:scale(1)}50%{opacity:.5;transform:scale(1.2)}to{opacity:1;transform:scale(1)}}.boletos-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(350px,1fr));gap:1.5rem;margin-top:1rem}.boleto-card{background-color:var(--sidebar-color);border-radius:20px;padding:1.5rem;box-shadow:0 4px 20px #00000008;border:2px solid transparent;transition:var(--tran-03);display:flex;flex-direction:column;gap:1rem}.boleto-card:hover{transform:translateY(-3px);box-shadow:0 10px 30px var(--box-shadow)}.boleto-card.status-pending{border-color:#3b82f6;background:linear-gradient(135deg,var(--sidebar-color) 0%,rgba(59,130,246,.05) 100%)}.boleto-card.status-overdue{border-color:#ef4444;background:linear-gradient(135deg,var(--sidebar-color) 0%,rgba(239,68,68,.1) 100%)}.boleto-card.status-paid{border-color:#10b981;background:linear-gradient(135deg,var(--sidebar-color) 0%,rgba(16,185,129,.05) 100%);opacity:.75}.boleto-card.status-vence-hoje{border-color:#f97316;background:linear-gradient(135deg,var(--sidebar-color) 0%,rgba(249,115,22,.1) 100%);animation:pulse-alert 2s ease-in-out infinite}.boleto-card.status-vence-breve{border-color:#f1c40f;background:linear-gradient(135deg,var(--sidebar-color) 0%,rgba(241,196,15,.08) 100%)}.boleto-card.status-default{border-color:var(--primary-color)}.boleto-card.status-canceled{border-color:#d1d5db;background-color:#f9fafb;opacity:.65;box-shadow:0 1px 3px #0000000f}.boleto-card.status-canceled:hover{transform:none;box-shadow:0 1px 3px #0000000f}.boleto-card.status-canceled .valor-amount,.boleto-card.status-canceled .boleto-data-vencimento i{color:var(--sub-text-color)}@keyframes pulse-alert{0%,to{box-shadow:0 4px 20px #00000008}50%{box-shadow:0 4px 20px #f973164d}}.boleto-header{display:flex;justify-content:space-between;align-items:flex-start;gap:1rem;padding-bottom:1rem;border-bottom:1px solid var(--input-background-color)}.boleto-referencia h3{font-size:1.1rem;font-weight:600;color:var(--text-color);margin:0}.status-badge{display:inline-block;padding:4px 12px;border-radius:20px;font-size:.75rem;font-weight:700;text-transform:uppercase;white-space:nowrap}.status-badge.status-tag-pago{background-color:#10b98126;color:#10b981}.status-badge.status-tag-atrasada{background-color:#ef444433;color:#ef4444;font-weight:700}.status-badge.status-tag-vence-hoje{background-color:#f9731633;color:#f97316;font-weight:700;animation:pulse-text 1.5s ease-in-out infinite}.status-badge.status-tag-vence-breve{background-color:#f1c40f33;color:#f1c40f;font-weight:600}.status-badge.status-tag-aberto{background-color:#3b82f626;color:#3b82f6}.status-badge.status-tag-cancelado{background-color:#374151;color:#fff;font-weight:700;letter-spacing:.5px}@keyframes pulse-text{0%,to{opacity:1}50%{opacity:.7}}.boleto-body{display:flex;flex-direction:column;gap:1rem}.boleto-valor{display:flex;flex-direction:column;gap:.25rem}.valor-label{font-size:.75rem;color:var(--sub-text-color);font-weight:600;text-transform:uppercase;letter-spacing:.5px}.valor-amount{font-size:1.8rem;font-weight:700;color:var(--primary-color);line-height:1.2}.boleto-data-vencimento{display:flex;align-items:center;gap:.5rem;padding:.75rem;background-color:var(--input-background-color);border-radius:12px;font-size:.9rem}.boleto-data-vencimento i{font-size:1.1rem;color:var(--primary-color)}.boleto-data-vencimento .data-label{color:var(--sub-text-color);font-weight:500}.boleto-data-vencimento .data-value{color:var(--text-color);font-weight:600;margin-left:auto}.boleto-vencimento{display:flex;align-items:center;gap:.5rem;padding:.75rem;border-radius:12px;font-size:.85rem;font-weight:600}.boleto-vencimento.proximo{background-color:#f1c40f1a;color:#f1c40f}.boleto-vencimento.vencido{background-color:#ef44441a;color:#ef4444}.boleto-vencimento i{font-size:1.2rem}.boleto-actions{display:flex;flex-wrap:wrap;gap:.75rem;margin-top:.5rem}.btn-action{display:flex;align-items:center;gap:.5rem;padding:.75rem 1rem;border-radius:12px;border:none;font-weight:600;font-size:.85rem;cursor:pointer;transition:var(--tran-03);font-family:Poppins,sans-serif}.btn-action i{font-size:1.1rem}.btn-pdf{background-color:var(--primary-color);color:#fff;box-shadow:0 4px 15px #695cfe4d}.btn-pdf:hover{transform:translateY(-2px);opacity:.9;box-shadow:0 6px 20px #695cfe66}.btn-pix{background-color:transparent;border:2px solid var(--primary-color);color:var(--primary-color)}.btn-pix:hover{background-color:var(--input-background-color)}.btn-barras{background-color:transparent;border:2px solid var(--sub-text-color);color:var(--sub-text-color)}.btn-barras:hover{background-color:var(--input-background-color);border-color:var(--primary-color);color:var(--primary-color)}.boleto-card.status-canceled .btn-action.btn-pdf,.btn-action.btn-pdf.btn-pdf-canceled{background-color:#4b5563!important;color:#f3f4f6!important;box-shadow:0 1px 2px #0000001a;border:1px solid #6b7280}.boleto-card.status-canceled .btn-action.btn-pdf:hover,.btn-action.btn-pdf.btn-pdf-canceled:hover{background-color:#374151!important;color:#fff!important;transform:translateY(-1px);box-shadow:0 2px 4px #00000026;border-color:#4b5563}.empty-state{text-align:center;padding:4rem 2rem;background-color:var(--sidebar-color);border-radius:20px;box-shadow:0 4px 20px #00000008}.empty-state i{font-size:4rem;color:#10b981;margin-bottom:1rem}.empty-state h2{font-size:1.5rem;font-weight:600;color:var(--text-color);margin:0}.alert-error{background-color:#ef44441a;border:1px solid rgba(239,68,68,.3);color:#ef4444;display:flex;align-items:center;gap:.5rem}.alert-error i{font-size:1.5rem}@media(max-width:768px){.home-content{margin-left:0;padding:1.5rem}.boletos-grid{grid-template-columns:1fr}.boleto-header{flex-direction:column;align-items:flex-start}.boleto-actions{flex-direction:column}.btn-action{width:100%;justify-content:center}}body.dark .boleto-card{background-color:var(--sidebar-color)}body.dark .boleto-card.status-paid{opacity:.9}body.dark .boleto-card.status-canceled{border-color:#4b5563;background-color:#3741514d}body.dark .boleto-card.status-canceled .btn-action.btn-pdf,body.dark .btn-action.btn-pdf.btn-pdf-canceled{background-color:#6b7280!important;border-color:#9ca3af}body.dark .boleto-card.status-canceled .btn-action.btn-pdf:hover,body.dark .btn-action.btn-pdf.btn-pdf-canceled:hover{background-color:#4b5563!important;border-color:#6b7280}.section-title{margin:2rem 0 1rem;display:flex;align-items:center;gap:10px;color:var(--primary-color)!important}.section-title h2{font-size:1.3rem!important;font-weight:600!important}.schedule-container{margin-bottom:3rem}.week-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:1.5rem;width:100%}.day-column{background-color:var(--sidebar-color);border-radius:20px;padding:1.5rem;box-shadow:0 4px 20px var(--box-shadow);display:flex;flex-direction:column;height:fit-content;transition:var(--tran-03)}.day-header{text-align:center;margin-bottom:1.5rem;padding-bottom:10px;border-bottom:2px solid var(--body-color)}.day-header h3{font-size:1.1rem;font-weight:700;color:var(--primary-color);text-transform:uppercase}.day-header.today h3{color:var(--second-color)}.day-header.today{border-bottom-color:var(--second-color)}.classes-list{display:flex;flex-direction:column;gap:1rem}.class-item{background-color:var(--input-background-color);border-radius:12px;padding:12px;border-left:4px solid var(--primary-color);transition:var(--tran-03)}.class-item:hover{transform:translateY(-3px);box-shadow:0 5px 15px #0000000d;background-color:#fff}.time-badge{font-size:.8rem;font-weight:700;color:var(--sub-text-color);margin-bottom:5px;display:block}.class-details h4{font-size:1rem;font-weight:600;color:var(--text-color);margin-bottom:2px}.class-details span{font-size:.8rem;color:var(--sub-text-color);display:block;margin-bottom:5px}.room-badge{display:inline-block;background-color:#695cfe1a;color:var(--primary-color);font-size:.7rem;padding:2px 8px;border-radius:4px;font-weight:600}.break-item{text-align:center;font-size:.75rem;color:var(--sub-text-color);font-weight:500;padding:5px;background-color:#00000008;border-radius:6px;margin:5px 0;text-transform:uppercase}.shift-separator{border-top:1px solid var(--border-color);margin:.75rem 0 .5rem;padding-top:.5rem;display:flex;justify-content:center;align-items:center}.shift-separator-badge{font-size:.7rem;font-weight:600;color:var(--sub-text-color);background:#695cfe14;padding:4px 12px;border-radius:50px;text-transform:uppercase;letter-spacing:.02em}.class-item--intervalo{border-left-color:var(--sub-text-color)!important;background-color:#0000000a;opacity:.9}.class-item--intervalo .class-details h4{font-weight:500;color:var(--sub-text-color)}.schedule-empty-msg{text-align:center;color:var(--sub-text-color);font-size:.9rem;padding:1rem;margin:0}.mobile-tabs{display:none;gap:10px;margin-bottom:1.5rem;overflow-x:auto;padding-bottom:5px}.tab-btn{background:var(--sidebar-color);border:1px solid var(--border-color);padding:10px 20px;border-radius:50px;font-family:Poppins,sans-serif;font-weight:600;color:var(--sub-text-color);cursor:pointer;transition:.3s;flex-shrink:0}.tab-btn.active{background-color:var(--primary-color);color:#fff;border-color:var(--primary-color)}.content-card{background-color:var(--sidebar-color);border-radius:24px;box-shadow:0 10px 40px var(--box-shadow);padding:2rem}.calendar-layout{display:grid;grid-template-columns:1.5fr 1fr;gap:3rem}.calendar-wrapper{display:flex;flex-direction:column;gap:1rem}.calendar-header{display:flex;justify-content:center;margin-bottom:1rem}.month-nav{display:flex;align-items:center;gap:15px}.month-nav h3{font-size:1.2rem;font-weight:700;color:var(--text-color);width:160px;text-align:center}.month-nav button{background:var(--input-background-color);border:none;font-size:1.5rem;color:var(--primary-color);cursor:pointer;border-radius:50%;width:35px;height:35px;display:flex;align-items:center;justify-content:center;transition:.2s}.month-nav button:hover{background-color:var(--primary-color);color:#fff}.calendar-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:8px;text-align:center}.weekday{font-size:.8rem;font-weight:600;color:var(--sub-text-color);padding-bottom:10px;text-transform:uppercase}.day{height:50px;display:flex;flex-direction:column;align-items:center;justify-content:center;border-radius:12px;font-size:.95rem;cursor:pointer;transition:.2s;position:relative;color:var(--text-color);border:1px solid transparent;background-color:var(--input-background-color)}.day:hover:not(.prev-date):not(.next-date){border-color:var(--primary-color);background-color:#fff;color:var(--primary-color)}.prev-date,.next-date{color:var(--sub-text-color);opacity:.3;pointer-events:none;background:transparent}.day.today{background-color:var(--primary-color);color:#fff;box-shadow:0 4px 10px var(--box-shadow)}.day.selected{border-color:var(--text-color);transform:scale(.95);background-color:#fff;box-shadow:inset 0 0 0 2px var(--primary-color)}.dots-container{display:flex;gap:3px;margin-top:2px}.event-dot{width:5px;height:5px;border-radius:50%}.event-dot.exam{background-color:#e74c3c}.event-dot.event{background-color:var(--primary-color)}.event-dot.holiday{background-color:#27ae60}.day.today .event-dot{background-color:#fff}.calendar-legend{display:flex;gap:15px;justify-content:center;margin-top:1rem}.legend-item{font-size:.75rem;display:flex;align-items:center;gap:5px;color:var(--sub-text-color)}.legend-item:before{content:"";width:8px;height:8px;border-radius:50%;display:block}.events-panel{border-left:2px solid var(--body-color);padding-left:2rem;display:flex;flex-direction:column}.panel-title{font-size:1rem;font-weight:700;color:var(--text-color);margin-bottom:1.5rem;text-transform:uppercase;letter-spacing:1px}.no-events-msg{color:var(--sub-text-color);font-size:.9rem;display:flex;flex-direction:column;align-items:center;gap:10px;text-align:center;margin-top:20%}.no-events-msg i{font-size:2rem;opacity:.5}.date-title{font-size:1.1rem;color:var(--primary-color);font-weight:700;margin-bottom:1rem;border-bottom:1px solid var(--border-color);padding-bottom:5px}.event-card-detail{background-color:var(--input-background-color);padding:15px;border-radius:12px;margin-bottom:1rem;border-left:5px solid;transition:.3s}.event-card-detail:hover{background-color:#fff;box-shadow:0 4px 10px #0000000d}.type-exam-border{border-left-color:#e74c3c}.type-event-border{border-left-color:var(--primary-color)}.type-holiday-border{border-left-color:#27ae60}.event-header-detail{display:flex;justify-content:space-between;align-items:center;margin-bottom:5px}.event-badge{font-size:.7rem;font-weight:700;text-transform:uppercase;padding:2px 8px;border-radius:4px;color:#fff}.event-time{font-size:.75rem;color:var(--sub-text-color);font-weight:600}.event-title-detail{font-size:.95rem;font-weight:600;color:var(--text-color)}.no-events-container{color:var(--sub-text-color);font-size:.9rem;text-align:center}.events-container{flex:1}@media(max-width:1024px){.calendar-layout{grid-template-columns:1fr;gap:2rem}.events-panel{border-left:none;padding-left:0;border-top:2px solid var(--body-color);padding-top:2rem}.no-events-msg{margin-top:10px;flex-direction:row}}@media(max-width:768px){.home-content{padding:1.5rem;margin-left:0}.mobile-tabs{display:flex}.week-grid{display:block}.day-column{display:none;width:100%;animation:fadeIn .3s ease}.day-column.active-mobile{display:flex}}body.dark .class-item:hover{background-color:#2d2d2d}body.dark .break-item{background-color:#ffffff0d}body.dark .day:hover,body.dark .event-card-detail:hover{background-color:#333}.content-card{background-color:var(--sidebar-color);border-radius:24px;box-shadow:0 10px 40px var(--box-shadow);padding:2rem;min-height:500px}.card-top-actions{display:flex;justify-content:space-between;align-items:center;margin-bottom:2rem;border-bottom:2px solid var(--body-color);padding-bottom:1rem;flex-wrap:wrap;gap:1rem}.filter-wrapper{position:relative}.custom-select{appearance:none;background-color:var(--input-background-color);border:1px solid transparent;border-radius:12px;padding:10px 40px 10px 15px;color:var(--text-color);font-family:Poppins,sans-serif;cursor:pointer;font-weight:500;transition:var(--tran-03)}.custom-select:focus{outline:none;border-color:var(--primary-color);box-shadow:0 4px 15px #0000000d}.filter-wrapper i{position:absolute;right:10px;top:50%;transform:translateY(-50%);color:var(--primary-color);pointer-events:none}.messages-list{display:flex;flex-direction:column;gap:1rem}.message-card{background-color:var(--input-background-color);border-radius:16px;border-left:5px solid transparent;transition:var(--tran-03);overflow:hidden;cursor:pointer}.urgency-high{border-left-color:#e74c3c}.urgency-high .icon-box{background-color:#e74c3c1a;color:#e74c3c}.urgency-normal{border-left-color:var(--primary-color)}.urgency-normal .icon-box{background-color:#695cfe1a;color:var(--primary-color)}.urgency-info{border-left-color:#f1c40f}.urgency-info .icon-box{background-color:#f1c40f1a;color:#f1c40f}.message-card:hover{background-color:#fff;box-shadow:0 4px 15px #0000000d;transform:translate(5px)}.message-card[open]{background-color:#fff;box-shadow:0 8px 25px var(--box-shadow);transform:scale(1.01);margin-bottom:1rem}.message-header{list-style:none;padding:1.2rem;display:flex;justify-content:space-between;align-items:center}.message-header::-webkit-details-marker{display:none}.header-left{display:flex;align-items:center;gap:1rem}.icon-box{width:45px;height:45px;border-radius:12px;display:flex;align-items:center;justify-content:center;flex-shrink:0}.header-text{display:flex;flex-direction:column}.header-text h3{font-size:1rem;font-weight:600;color:var(--text-color);margin-bottom:2px;line-height:1.2}.category-tag{font-size:.7rem;text-transform:uppercase;font-weight:700;color:var(--sub-text-color);letter-spacing:.5px}.date{font-size:.8rem;color:var(--sub-text-color)}.toggle-icon{font-size:1.5rem;color:var(--sub-text-color);transition:transform .3s ease}.message-card[open] .toggle-icon{transform:rotate(180deg);color:var(--primary-color)}.message-body{padding:0 1.5rem 1.5rem 5.5rem;color:var(--sub-text-color);font-size:.95rem;line-height:1.6;animation:fadeIn .4s ease}@keyframes fadeIn{0%{opacity:0;transform:translateY(-5px)}to{opacity:1;transform:translateY(0)}}@media(max-width:768px){.home-content{margin-left:0;padding:1.5rem}.content-card{padding:1rem}.message-body{padding:0 1rem 1rem}.header-left{gap:.8rem}.header-text h3{font-size:.95rem}}.message-card.nao-lido{border-left-width:6px;border-left-color:#ef4444;background-color:#ef44440d;box-shadow:0 2px 8px #ef444426}.message-card.nao-lido:hover{background-color:#ef444414;box-shadow:0 4px 12px #ef444433}body.dark .message-card.nao-lido{background-color:#ef44441a}body.dark .message-card.nao-lido:hover{background-color:#ef444426}body.dark .message-card:hover,body.dark .message-card[open]{background-color:#2d2d2d}body.dark .custom-select{border-color:transparent}.content-card{background-color:var(--sidebar-color);border-radius:24px;box-shadow:0 10px 40px var(--box-shadow);padding:2rem;margin-bottom:2rem;position:relative;overflow:hidden;width:100%}.card-top-actions{display:flex;justify-content:space-between;align-items:center;margin-bottom:1.5rem;flex-wrap:wrap;gap:1rem}.card-title{display:flex;align-items:center;gap:10px;color:var(--primary-color)}.filter-form{display:flex;align-items:center;gap:10px}.filter-form label{font-weight:500;color:var(--sub-text-color)}.select-wrapper{position:relative;display:inline-block}.custom-select{appearance:none;background-color:var(--input-background-color);border:1px solid transparent;border-radius:12px;padding:10px 40px 10px 15px;font-family:Poppins,sans-serif;color:var(--text-color);font-weight:500;cursor:pointer;transition:var(--tran-03)}.custom-select:focus{outline:none;border-color:var(--primary-color);background-color:var(--sidebar-color);box-shadow:0 4px 15px var(--box-shadow)}.custom-select option{background-color:var(--sidebar-color);color:var(--text-color)}.select-wrapper i{position:absolute;right:10px;top:50%;transform:translateY(-50%);color:var(--primary-color);pointer-events:none}.styled-table thead tr{background-color:var(--primary-color);color:#fff;text-align:center}.styled-table th,.styled-table td{padding:12px 15px;text-align:center;white-space:nowrap}.styled-table th{font-weight:500;font-size:.9rem;letter-spacing:.5px}.styled-table .col-highlight{text-align:left;font-weight:600;color:var(--text-color);position:sticky;left:0;background-color:var(--sidebar-color);z-index:2}.final-grade{font-weight:700;color:var(--primary-color)}.freq-high{color:var(--second-color);font-weight:600;background-color:#39a71b1a;border-radius:6px;padding:4px 8px}.chart-wrapper{width:100%;overflow:hidden;display:flex;justify-content:center}@media(max-width:768px){.home-content{margin-left:0;padding:1.5rem}.content-card{padding:1.5rem}.styled-table thead{display:none}.styled-table,.styled-table tbody,.styled-table tr,.styled-table td{display:block;width:100%}.styled-table tbody tr{margin-bottom:1.5rem;border:1px solid var(--border-color);border-radius:16px;background-color:var(--sidebar-color);box-shadow:0 4px 10px #00000008;padding-bottom:10px;overflow:hidden}.styled-table .col-highlight{background-color:var(--primary-color);color:#fff;padding:15px;text-align:center;font-size:1.2rem;margin-bottom:10px;position:static;width:100%;font-weight:700}.styled-table .col-highlight:before{content:none!important;display:none}.styled-table td:not(.col-highlight){text-align:right;padding:10px 20px;border-bottom:1px solid var(--border-color);display:flex;justify-content:space-between;align-items:center}.styled-table td:last-child{border-bottom:none}.styled-table td:before{content:attr(data-label);font-weight:600;color:var(--sub-text-color);text-align:left;font-size:.85rem;text-transform:uppercase}.graph-card{padding:1rem}}body.dark .styled-table .col-highlight{background-color:var(--sidebar-color)}@media(max-width:768px){body.dark .styled-table .col-highlight{background-color:var(--primary-color-dark);color:#fff}body.dark .styled-table td:not(.col-highlight){border-bottom:1px solid rgba(255,255,255,.05)}}.security-section{grid-column:1 / -1}.profile-grid .content-card,.content-card{background-color:var(--sidebar-color);border-radius:24px;padding:1.5rem;box-shadow:0 10px 40px var(--box-shadow);margin-bottom:2rem}.card-header-internal h2{font-size:1.1rem;font-weight:600;color:var(--text-color);flex:1}.profile-grid{display:grid;grid-template-columns:1fr 1fr;gap:2rem;align-items:start}.content-card{background-color:var(--sidebar-color);border-radius:24px;box-shadow:0 10px 40px var(--box-shadow);padding:2.5rem;position:relative;overflow:hidden}.info-list{display:flex;flex-direction:column;gap:1.5rem}.info-item label{display:block;font-size:.85rem;color:var(--sub-text-color);font-weight:500;margin-bottom:5px;text-transform:uppercase;letter-spacing:.5px}.info-value{font-size:1.1rem;font-weight:500;color:var(--text-color);padding:10px 0;border-bottom:1px solid var(--border-color)}.info-value.highlight{color:var(--primary-color);font-weight:700}.status-active{color:var(--second-color);font-weight:600;display:flex;align-items:center;gap:8px}.status-active i{font-size:.8rem}.info-row{display:grid;grid-template-columns:1fr 1fr;gap:1.5rem}.security-form{width:100%}.form-group label{display:block;font-size:.9rem;font-weight:600;color:var(--text-color);margin-bottom:8px}.input-wrapper{position:relative}.custom-input{width:100%;padding:14px 45px 14px 20px;border-radius:12px;border:2px solid transparent;background-color:var(--input-background-color);color:var(--text-color);font-size:1rem;transition:var(--tran-03);font-family:Poppins,sans-serif}.custom-input:focus{outline:none;border-color:var(--primary-color);background-color:var(--sidebar-color);box-shadow:0 4px 15px var(--box-shadow)}.toggle-pass{position:absolute;right:15px;top:50%;transform:translateY(-50%);color:var(--sub-text-color);cursor:pointer;font-size:1.3rem;transition:var(--tran-03)}.toggle-pass:hover{color:var(--text-color)}.form-actions{margin-top:1rem}.btn-save{width:100%;padding:16px;border-radius:12px;border:none;background-color:var(--primary-color);color:#fff;font-size:1rem;font-weight:600;cursor:pointer;transition:var(--tran-03);box-shadow:0 4px 15px var(--box-shadow)}.mensagem{padding:15px;border-radius:10px;margin-bottom:20px;font-weight:500;text-align:center}.mensagem.sucesso{background-color:#39a71b1a;border:2px solid var(--second-color);color:var(--second-color)}.mensagem.erro{background-color:#ff00001a;border:2px solid #ff0000;color:red}@media(max-width:900px){.profile-grid{grid-template-columns:1fr;gap:2rem}}@media(max-width:768px){.home-content{margin-left:0;padding:1.5rem}.content-card{padding:1.5rem}.info-row{grid-template-columns:1fr;gap:1.5rem}}.info-notice{display:flex;align-items:flex-start;gap:8px;margin-top:1.5rem;padding:12px 16px;background-color:var(--input-background-color);border-radius:8px;border-left:3px solid var(--primary-color);font-size:.8rem;color:var(--sub-text-color);line-height:1.4}.info-notice i{font-size:1rem;color:var(--primary-color);flex-shrink:0;margin-top:2px}.info-notice span{flex:1}body.dark .info-value{border-bottom-color:#ffffff1a}body.dark .info-notice{background-color:#ffffff08;border-left-color:var(--primary-color)}.content-card{background-color:var(--sidebar-color);border-radius:24px;box-shadow:0 10px 40px var(--box-shadow);padding:2rem;width:100%;overflow:hidden}.card-top-actions{display:flex;align-items:center;margin-bottom:1.5rem;gap:10px;color:var(--primary-color)}.card-title{display:flex;align-items:center;gap:10px}.card-title h2{font-size:1.25rem;font-weight:600;color:var(--text-color)}.card-title span{font-size:1.8rem}.table-wrapper{width:100%;overflow-x:auto;border-radius:16px}.styled-table{width:100%;border-collapse:collapse;min-width:100%}.styled-table thead tr{background-color:var(--primary-color);color:#fff;text-align:left}.styled-table th,.styled-table td{padding:15px 20px;text-align:left;vertical-align:middle}.styled-table th{font-weight:500;letter-spacing:.5px;white-space:nowrap}.styled-table tbody tr{border-bottom:1px solid var(--border-color);transition:background .2s}.styled-table tbody tr:hover{background-color:var(--input-background-color)}.col-highlight{font-weight:600;color:var(--text-color);font-size:1rem}.tags-wrapper{display:flex;flex-wrap:wrap;gap:6px;align-items:center}.tag-materia{display:inline-block;padding:4px 12px;border-radius:20px;background-color:#695cfe1a;color:var(--primary-color);font-size:.85rem;font-weight:600;white-space:nowrap}@media(max-width:768px){.home-content{margin-left:0;padding:1.5rem}.content-card{padding:1rem}.styled-table thead{display:none}.styled-table,.styled-table tbody,.styled-table tr,.styled-table td{display:block;width:100%}.styled-table tr{margin-bottom:1.5rem;border:1px solid var(--border-color);border-radius:16px;background-color:var(--sidebar-color);box-shadow:0 4px 10px #00000008;overflow:hidden}.styled-table .col-highlight{background-color:var(--primary-color);color:#fff;padding:15px;text-align:center;font-size:1.1rem;font-weight:700;margin-bottom:0;border-bottom:none}.styled-table .col-highlight:before{display:none}.styled-table td:not(.col-highlight){padding:12px 15px;border-bottom:1px solid rgba(0,0,0,.05);display:flex;flex-direction:column;align-items:flex-start;gap:5px;text-align:left}.styled-table td:before{content:attr(data-label);font-weight:700;color:var(--sub-text-color);font-size:.75rem;text-transform:uppercase;letter-spacing:.5px;margin-bottom:2px}.styled-table td:last-child{border-bottom:none}.tags-wrapper{justify-content:flex-start;width:100%}.tag-materia{font-size:.9rem}}body.dark .styled-table tbody tr:hover{background-color:#2d2d2d}body.dark .tag-materia{background-color:#ffffff1a;color:#fff}@media(max-width:768px){body.dark .styled-table .col-highlight{background-color:var(--primary-color-dark)}body.dark .styled-table td:not(.col-highlight){border-bottom:1px solid rgba(255,255,255,.05)}}.selecao-aluno-page{min-height:100vh;display:flex;align-items:center;justify-content:center;background:var(--bg-color);padding:2rem}.selecao-aluno-container{max-width:1200px;width:100%}.selecao-aluno-header{text-align:center;margin-bottom:3rem}.selecao-aluno-title{font-size:2.5rem;font-weight:700;color:var(--text-color);margin-bottom:.5rem}.selecao-aluno-subtitle{font-size:1.1rem;color:var(--text-color-secondary);opacity:.8}.selecao-aluno-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:2rem;margin-top:2rem}.selecao-aluno-card{background:var(--card-bg);border-radius:16px;padding:2rem;text-align:center;cursor:pointer;transition:all .3s ease;border:2px solid transparent;box-shadow:0 4px 6px #0000001a;position:relative;overflow:hidden;display:flex;flex-direction:column;align-items:center;gap:1rem}.selecao-aluno-card:before{content:"";position:absolute;top:0;left:0;right:0;height:4px;background:var(--primary-color);transform:scaleX(0);transition:transform .3s ease}.selecao-aluno-card:hover{transform:translateY(-8px);box-shadow:0 12px 24px #00000026;border-color:var(--primary-color)}.selecao-aluno-card:hover:before{transform:scaleX(1)}.selecao-aluno-card-foto{width:100px;height:100px;border-radius:50%;overflow:hidden;background:var(--bg-color-secondary, #f0f0f0);display:flex;align-items:center;justify-content:center}.selecao-aluno-card-foto img{width:100%;height:100%;object-fit:cover}.selecao-aluno-card-avatar{font-size:48px;color:var(--text-color-secondary)}.selecao-aluno-card-nome{font-size:1.25rem;font-weight:600;color:var(--text-color);margin:0}.selecao-aluno-card-turma{font-size:.95rem;color:var(--text-color-secondary);margin:0}.aluno-layout-loading{min-height:100vh;display:flex;align-items:center;justify-content:center;background:var(--bg-color)}.aluno-layout-error{min-height:100vh;display:flex;align-items:center;justify-content:center;background:var(--bg-color);padding:2rem}.aluno-layout-error-message{font-size:1.125rem;color:var(--text-color-secondary);text-align:center}.page-header h1{font-size:2rem;font-weight:700;color:var(--text-color);line-height:1.2}.date-filter{background-color:var(--sidebar-color);padding:6px 12px;border-radius:50px;display:flex;align-items:center;gap:4px;font-weight:600;color:var(--text-color);box-shadow:0 2px 10px #0000000d}.date-filter-nav{display:flex;align-items:center;justify-content:center;width:32px;height:32px;padding:0;border:none;border-radius:50%;background:transparent;color:var(--sub-text-color);cursor:pointer;transition:background .2s,color .2s}.date-filter-nav:hover:not(:disabled){background:var(--input-background-color);color:var(--primary-color)}.date-filter-nav:disabled{opacity:.5;cursor:not-allowed}.date-filter-nav i{font-size:1.25rem}.date-filter-label{min-width:140px;text-align:center;font-size:.95rem;color:var(--text-color)}.date-filter-label.date-filter-label--current{color:var(--primary-color)}.date-filter-label i{margin-right:4px;vertical-align:middle}.date-filter-today{margin-left:6px;padding:6px 12px;border:none;border-radius:20px;background:var(--input-background-color);color:var(--sub-text-color);font-size:.85rem;font-weight:600;cursor:pointer;transition:background .2s,color .2s}.date-filter-today:hover:not(:disabled){background:var(--primary-color);color:#fff}.date-filter-today.date-filter-today--current{background:var(--primary-color);color:#fff}.date-filter-today:disabled{opacity:.5;cursor:not-allowed}.kpi-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:1.5rem;margin-bottom:2rem}.kpi-card{background-color:var(--sidebar-color);border-radius:24px;padding:1.5rem;display:flex;align-items:center;gap:1.2rem;box-shadow:0 4px 20px #00000008;transition:var(--tran-03);position:relative;text-decoration:none;color:inherit}.kpi-card:hover{transform:translateY(-5px);box-shadow:0 10px 30px var(--box-shadow)}.kpi-icon{width:55px;height:55px;border-radius:16px;display:flex;align-items:center;justify-content:center;font-size:1.8rem}.icon-green{background-color:#ecfdf5;color:#10b981}.icon-red{background-color:#fef2f2;color:#ef4444}.icon-blue{background-color:#eff6ff;color:#3b82f6}.kpi-content{flex:1}.kpi-value{font-size:1.6rem;font-weight:700;color:var(--text-color);line-height:1.1}.kpi-label{font-size:.85rem;color:var(--sub-text-color)}.kpi-trend{position:absolute;top:1.5rem;right:1.5rem;font-size:.8rem;font-weight:700;display:flex;align-items:center;gap:2px;padding:4px 8px;border-radius:20px}.trend-up{background-color:#d1fae5;color:#047857}.trend-down{background-color:#ecfdf5;color:#047857}.charts-grid{display:grid;grid-template-columns:2fr 1fr;gap:1.5rem;margin-bottom:2rem}.content-card{background-color:var(--sidebar-color);border-radius:24px;padding:1.5rem;box-shadow:0 4px 20px #00000008}.card-header-internal{display:flex;justify-content:space-between;align-items:center;margin-bottom:1rem}.card-header-internal h2{font-size:1.1rem;font-weight:600;color:var(--text-color)}.btn-action-sm{display:inline-block;background:var(--input-background-color);border:none;color:var(--primary-color);font-weight:600;padding:6px 12px;border-radius:8px;cursor:pointer;font-size:.8rem;transition:var(--tran-03);text-decoration:none}.btn-action-sm:hover{background-color:var(--primary-color);color:#fff}.chart-canvas{width:100%;height:300px}.chart-legend-custom{display:flex;justify-content:center;gap:15px;margin-top:-20px}.legend-item{font-size:.8rem;color:var(--sub-text-color);display:flex;align-items:center;gap:5px}.dot{width:10px;height:10px;border-radius:50%}.dot-aprov{background-color:#27ae60}.dot-recup{background-color:#f1c40f}.dot-reprov{background-color:#e74c3c}.ops-grid{display:grid;grid-template-columns:1fr 1fr;gap:1.5rem}.activity-feed{display:flex;flex-direction:column;gap:1.2rem;margin-top:1rem}.feed-item{display:flex;gap:1rem;align-items:flex-start}.feed-icon{width:40px;height:40px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:1.2rem;flex-shrink:0}.icon-pay{background-color:#ecfdf5;color:#10b981}.icon-new{background-color:#eff6ff;color:#3b82f6}.icon-doc{background-color:#fffbeb;color:#f59e0b}.feed-text p{font-size:.9rem;color:var(--text-color);line-height:1.4;margin-bottom:2px}.feed-time{font-size:.75rem;color:var(--sub-text-color)}.badge{background:var(--primary-color);color:#fff;font-size:.7rem;padding:2px 8px;border-radius:10px}.events-list{display:flex;flex-direction:column;gap:1rem;margin-top:1rem}.event-row{display:flex;align-items:center;gap:1rem;padding:10px;border-radius:12px;background-color:var(--input-background-color)}.event-date-box{background-color:#fff;border-radius:8px;padding:5px 10px;text-align:center;color:var(--text-color);font-weight:700;box-shadow:0 2px 5px #0000000d}.event-date-box .day{display:block;font-size:1.1rem;line-height:1}.event-date-box .month{font-size:.65rem;text-transform:uppercase;color:var(--sub-text-color)}.event-info h4{font-size:.9rem;font-weight:600;color:var(--text-color)}.event-info p{font-size:.8rem;color:var(--sub-text-color)}@media(max-width:1024px){.charts-grid,.ops-grid{grid-template-columns:1fr}}@media(max-width:768px){.home-content{margin-left:0;padding:1.5rem}.kpi-grid{grid-template-columns:1fr}}body.dark .kpi-icon,body.dark .feed-icon{background-color:#ffffff1a}body.dark .event-date-box{background-color:#333}.page-header{margin-bottom:2rem;display:flex;flex-direction:column;align-items:flex-start}.enviar-recado-header-top{display:flex;align-items:center;gap:1rem;flex-wrap:wrap}.btn-ver-todos-recados{display:inline-flex;align-items:center;gap:.5rem;padding:.5rem 1rem;border-radius:10px;border:1px solid var(--primary-color);background:transparent;color:var(--primary-color);font-size:.9rem;font-weight:600;cursor:pointer;transition:var(--tran-03)}.btn-ver-todos-recados:hover{background:var(--input-background-color)}body.dark .btn-ver-todos-recados:hover{background:#695cfe26}.btn-ver-todos-recados .material-symbols-outlined{font-size:1.25rem}.content-card{background-color:var(--sidebar-color);border-radius:24px;box-shadow:0 10px 40px var(--box-shadow);padding:2.5rem;position:relative;overflow:visible;height:auto;min-height:auto;max-height:none}.card-header-internal{display:flex;align-items:center;gap:10px;margin-bottom:2rem;padding-bottom:1rem;border-bottom:2px solid var(--body-color);color:var(--primary-color)}.form-grid{display:flex;flex-direction:column;gap:1.5rem}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:1.5rem;align-items:start}.input-group{display:flex;flex-direction:column;gap:8px;position:relative;min-height:auto;height:auto;overflow:visible}.input-group label{font-size:.9rem;font-weight:600;color:var(--text-color)}.custom-input{width:100%;padding:14px 20px;border-radius:12px;border:2px solid transparent;background-color:var(--input-background-color);color:var(--text-color);font-size:.95rem;font-family:Poppins,sans-serif;transition:var(--tran-03);outline:none}.custom-input:focus{background-color:#fff;border-color:var(--primary-color);box-shadow:0 4px 15px #695cfe1a}.search-container{display:flex;flex-direction:column;gap:5px}.sub-label{font-size:.8rem;color:var(--sub-text-color);font-weight:500}.search-box-relative{position:relative}.search-input{padding-right:40px;background-color:#fff;border-color:var(--border-color)}.search-input:focus{border-color:var(--primary-color)}.search-icon{position:absolute;right:15px;top:50%;transform:translateY(-50%);color:var(--sub-text-color);font-size:1.2rem}.results-dropdown{display:block;position:absolute;top:110%;left:0;width:100%;background-color:#fff;border-radius:12px;box-shadow:0 10px 30px #00000026;z-index:1000;max-height:200px;overflow-y:auto;border:1px solid var(--border-color);animation:slideDown .2s ease}.result-item{padding:12px 15px;border-bottom:1px solid var(--body-color);cursor:pointer;transition:.2s;display:flex;flex-direction:column}.result-item:last-child{border-bottom:none}.result-item:hover{background-color:var(--input-background-color)}.r-name{font-weight:600;color:var(--text-color);font-size:.9rem}.r-info{font-size:.75rem;color:var(--sub-text-color);margin-top:2px}.textarea-input{resize:vertical;min-height:120px}.file-input{display:none}.file-label{display:inline-flex;align-items:center;gap:8px;padding:10px 15px;border:2px dashed var(--border-color);border-radius:12px;cursor:pointer;color:var(--sub-text-color);font-size:.9rem;transition:var(--tran-03);width:fit-content}.file-label:hover{border-color:var(--primary-color);color:var(--primary-color);background-color:var(--input-background-color)}.form-actions{display:flex;justify-content:flex-end;gap:1rem;margin-top:2rem;padding-top:1.5rem;border-top:1px solid var(--body-color)}.btn-send{padding:12px 24px;background-color:var(--primary-color);color:#fff;border:none;border-radius:12px;font-weight:600;cursor:pointer;display:flex;align-items:center;gap:8px;transition:var(--tran-03);box-shadow:0 4px 15px #695cfe4d}.btn-send:hover:not(:disabled){transform:translateY(-2px);opacity:.9}.btn-send:disabled{opacity:.6;cursor:not-allowed}.btn-cancel{padding:12px 24px;background-color:transparent;color:var(--sub-text-color);border:2px solid transparent;border-radius:12px;font-weight:600;cursor:pointer;transition:var(--tran-03)}@media(max-width:768px){.home-content{margin-left:0;padding:1.5rem}.content-card{padding:1.5rem}.form-row{grid-template-columns:1fr;gap:1.5rem}.form-actions{flex-direction:column-reverse}.btn-send,.btn-cancel{width:100%;justify-content:center}}body.dark .custom-input:focus{border-color:var(--primary-color);background-color:var(--body-color)}body.dark .custom-select option{background-color:var(--sidebar-color)}body.dark .search-input{background-color:var(--input-background-color);border-color:transparent}body.dark .results-dropdown{background-color:var(--sidebar-color);border-color:var(--body-color)}body.dark .result-item:hover{background-color:var(--body-color)}.custom-input.error,.custom-select.error{border-color:#ef4444!important;background-color:#fef2f2}body.dark .custom-input.error,body.dark .custom-select.error{background-color:#ef44441a;border-color:#ef4444!important}.destinatarios-list{display:flex;flex-direction:column;gap:1rem;width:100%;height:auto;min-height:auto;max-height:none;box-sizing:border-box;overflow:visible;flex-shrink:0}.destinatario-item{padding:1rem;background-color:var(--input-background-color);border-radius:8px;border:1px solid var(--border-color);transition:all .3s;height:auto;min-height:auto;max-height:none;flex-shrink:0;overflow:visible}.destinatario-item:hover{border-color:var(--primary-color);box-shadow:0 2px 8px #695cfe1a}.btn-add-destinatario{padding:8px 16px;background-color:var(--primary-color);color:#fff;border:none;border-radius:8px;cursor:pointer;display:inline-flex;align-items:center;gap:8px;font-size:.9rem;font-weight:600;transition:all .3s}.btn-add-destinatario:hover{background-color:var(--primary-color);opacity:.9;transform:translateY(-1px);box-shadow:0 4px 12px #695cfe4d}.btn-remove-destinatario{padding:8px;background-color:#ef4444;color:#fff;border:none;border-radius:6px;cursor:pointer;display:flex;align-items:center;justify-content:center;min-width:36px;height:36px;transition:all .3s}.btn-remove-destinatario:hover{background-color:#dc2626;transform:scale(1.05)}.help-text{font-size:.75rem;color:var(--sub-text-color);margin-top:4px}.error-message{padding:12px;background-color:#fee;color:#c33;border-radius:8px;margin-bottom:1rem;border:1px solid #fcc}.dropzone{border:2px dashed var(--border-color);border-radius:8px;padding:2rem;text-align:center;cursor:pointer;transition:all .3s;background-color:transparent}.dropzone:hover{border-color:var(--primary-color);background-color:var(--input-background-color)}.dropzone.dragging{border-color:var(--primary-color);background-color:var(--input-background-color);transform:scale(1.02)}.lista-comunicados-page .home-content{padding:2rem 3rem}.lista-comunicados-header{margin-bottom:2rem}.lista-comunicados-header .page-header{margin-bottom:0}.header-title-row{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:1rem}.lista-comunicados-header h1{font-size:1.75rem;font-weight:700;color:var(--text-color);margin:0 0 .25rem}.lista-comunicados-header p{color:var(--sub-text-color);margin:0}.btn-novo-comunicado{display:inline-flex;align-items:center;gap:.5rem;padding:.6rem 1.25rem;border-radius:12px;border:none;background:var(--primary-color);color:#fff;font-weight:600;font-size:.95rem;cursor:pointer;transition:var(--tran-03);flex-shrink:0}.btn-novo-comunicado:hover{opacity:.92;transform:translateY(-1px)}.comunicados-card{background:var(--sidebar-color);border-radius:1rem;box-shadow:0 4px 6px -1px #0000001a,0 2px 4px -2px #0000001a;padding:1.5rem;overflow:hidden}.comunicados-table-wrap{overflow-x:auto}.comunicados-table{width:100%;border-collapse:collapse;background:var(--sidebar-color)}.comunicados-table thead{background:var(--sidebar-color);border-bottom:1px solid var(--border-color)}.comunicados-table th{padding:1rem 1.25rem;text-align:left;font-size:.85rem;font-weight:700;color:var(--text-color);text-transform:uppercase;letter-spacing:.5px}.comunicados-table td{padding:1rem 1.25rem;border-top:1px solid var(--border-color);font-size:.95rem;color:var(--text-color)}.comunicados-table tbody tr:hover{background:var(--input-background-color)}.td-titulo{font-weight:600;max-width:280px}.td-escopo{color:var(--sub-text-color)}.td-data{color:var(--sub-text-color);white-space:nowrap}.th-actions,.td-actions{width:130px;text-align:right}.td-actions{display:flex;flex-direction:row;align-items:center;justify-content:flex-end;gap:.5rem}.btn-action{display:inline-flex;align-items:center;justify-content:center;width:34px;height:34px;border:none;border-radius:8px;cursor:pointer;transition:var(--tran-03);background:transparent;color:var(--sub-text-color)}.btn-action .material-symbols-outlined{font-size:1.2rem}.btn-action:hover{background:var(--input-background-color);color:var(--text-color)}.btn-editar:hover{color:var(--primary-color)}.btn-ver:hover{color:var(--second-color)}.btn-excluir{color:var(--sub-text-color)}.btn-excluir:hover{color:#dc2626}body.dark .btn-excluir:hover{color:#ef4444}.comunicados-loading,.comunicados-empty{text-align:center;padding:2rem;color:var(--sub-text-color)}.comunicados-pagination{display:flex;align-items:center;justify-content:center;gap:1rem;padding:1rem;border-top:1px solid var(--border-color);margin-top:0}.comunicados-pagination button{padding:.5rem 1rem;border-radius:8px;border:1px solid var(--border-color);background:var(--sidebar-color);color:var(--text-color);font-weight:500;cursor:pointer;transition:var(--tran-03)}.comunicados-pagination button:hover:not(:disabled){border-color:var(--primary-color);color:var(--primary-color)}.comunicados-pagination button:disabled{opacity:.5;cursor:not-allowed}.comunicados-pagination span{font-size:.9rem;color:var(--sub-text-color)}.modal-leituras-overlay{position:fixed;inset:0;background:#0009;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);display:flex;align-items:center;justify-content:center;z-index:10000;padding:1rem;animation:modalFadeIn .2s ease-out}@keyframes modalFadeIn{0%{opacity:0}to{opacity:1}}.modal-leituras-content{background:var(--sidebar-color);border-radius:1rem;box-shadow:0 20px 60px #0000004d;width:100%;max-width:560px;max-height:90vh;display:flex;flex-direction:column;animation:modalSlideUp .3s ease-out;overflow:hidden}@keyframes modalSlideUp{0%{transform:translateY(20px);opacity:0}to{transform:translateY(0);opacity:1}}.modal-leituras-header{display:flex;align-items:center;justify-content:space-between;padding:1.25rem 1.5rem;border-bottom:2px solid var(--border-color)}.modal-leituras-header h2{margin:0;font-size:1.25rem;font-weight:600;color:var(--text-color);display:flex;align-items:center;gap:.5rem}.modal-leituras-header h2 .material-symbols-outlined{font-size:1.5rem;color:var(--primary-color)}.modal-leituras-close{background:transparent;border:none;padding:.5rem;border-radius:8px;color:var(--sub-text-color);cursor:pointer;transition:var(--tran-03)}.modal-leituras-close:hover{background:var(--input-background-color);color:var(--text-color)}.modal-leituras-body{padding:1.5rem;overflow-y:auto}.modal-leituras-loading{text-align:center;color:var(--sub-text-color);padding:2rem}.leituras-section{margin-bottom:1.5rem}.leituras-section:last-child{margin-bottom:0}.leituras-section h3{display:flex;align-items:center;gap:.5rem;font-size:1rem;font-weight:700;color:var(--text-color);margin:0 0 .75rem}.leituras-section h3 .material-symbols-outlined{font-size:1.25rem}.icon-check{color:var(--second-color)!important}.icon-miss{color:var(--sub-text-color)!important}body.dark .icon-miss{color:#e74c3c!important}.leituras-section ul{list-style:none;padding:0;margin:0;border-radius:10px;border:1px solid var(--border-color);overflow:hidden}.leituras-section li{padding:.75rem 1rem;border-bottom:1px solid var(--border-color);font-size:.9rem;color:var(--text-color);display:flex;flex-wrap:wrap;align-items:center;gap:.5rem}.leituras-section li:last-child{border-bottom:none}.leituras-section li.empty{color:var(--sub-text-color);font-style:italic}.leituras-section li .nome{font-weight:500;flex:1;min-width:0}.leituras-section li .aluno{font-size:.85rem;color:var(--sub-text-color)}.leituras-section li .data{font-size:.8rem;color:var(--sub-text-color);white-space:nowrap}.leituras-lidos li .data{color:var(--second-color);font-weight:500}.comunicados-toast{position:fixed;bottom:2rem;left:50%;transform:translate(-50%);padding:.75rem 1.5rem;background:var(--second-color);color:#fff;border-radius:12px;font-weight:600;font-size:.95rem;box-shadow:0 4px 12px #00000026;z-index:10001;animation:toastIn .3s ease-out}@keyframes toastIn{0%{opacity:0;transform:translate(-50%) translateY(10px)}to{opacity:1;transform:translate(-50%) translateY(0)}}.modal-excluir-overlay{position:fixed;inset:0;background:#0009;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);display:flex;align-items:center;justify-content:center;z-index:10000;padding:1rem;animation:modalFadeIn .2s ease-out}.modal-excluir-content{background:var(--sidebar-color);border-radius:1rem;box-shadow:0 20px 60px #0000004d;width:100%;max-width:440px;padding:1.5rem;animation:modalSlideUp .3s ease-out}.modal-excluir-title{margin:0 0 1rem;font-size:1.25rem;font-weight:700;color:var(--text-color)}.modal-excluir-body{margin:0 0 1.5rem;font-size:.95rem;color:var(--sub-text-color);line-height:1.5}.modal-excluir-body strong{color:var(--text-color)}.modal-excluir-actions{display:flex;justify-content:flex-end;gap:.75rem}.btn-modal-cancelar{padding:.6rem 1.25rem;border-radius:10px;border:1px solid var(--border-color);background:transparent;color:var(--text-color);font-weight:600;font-size:.9rem;cursor:pointer;transition:var(--tran-03)}.btn-modal-cancelar:hover:not(:disabled){background:var(--input-background-color)}.btn-modal-excluir{padding:.6rem 1.25rem;border-radius:10px;border:none;background:#dc2626;color:#fff;font-weight:600;font-size:.9rem;cursor:pointer;transition:var(--tran-03)}.btn-modal-excluir:hover:not(:disabled){background:#b91c1c}body.dark .btn-modal-excluir{background:#ef4444}body.dark .btn-modal-excluir:hover:not(:disabled){background:#dc2626}.btn-modal-cancelar:disabled,.btn-modal-excluir:disabled{opacity:.7;cursor:not-allowed}.student-financial-step{background:var(--bg-color);border-radius:12px;padding:1.5rem;margin-top:1rem;border:2px solid var(--border-color)}.financial-step-header{margin-bottom:1.5rem}.financial-step-header h3{font-size:1.25rem;margin:.5rem 0;color:var(--text-color);display:flex;align-items:center;gap:.75rem}.financial-step-header i{font-size:1.5rem;color:var(--primary-color)}.financial-step-header p{color:var(--text-color-secondary);font-size:.9rem;margin:0}.financial-form-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:1.5rem;margin-bottom:1.5rem}@media(max-width:768px){.financial-form-grid{grid-template-columns:1fr}}.form-row{display:grid;grid-template-columns:repeat(2,1fr);gap:1rem}.form-input,.form-select{padding:.875rem;border:2px solid var(--border-color);border-radius:8px;background:var(--bg-color-secondary);color:var(--text-color);font-size:1rem;transition:border-color .3s}.form-input:focus,.form-select:focus{outline:none;border-color:var(--primary-color)}.value-display{display:flex;align-items:center;gap:.5rem;padding:1rem;background:var(--bg-color-secondary);border-radius:8px;border:2px solid var(--border-color)}.value-display .currency{font-size:1rem;color:var(--text-color-secondary);font-weight:600}.value-display .amount{font-size:1.5rem;font-weight:700;color:var(--primary-color)}.discount-type-buttons{display:flex;gap:.5rem}.discount-btn{flex:1;padding:.75rem 1rem;border:2px solid var(--border-color);border-radius:8px;background:var(--bg-color-secondary);color:var(--text-color);font-weight:500;cursor:pointer;transition:all .3s}.discount-btn:hover{border-color:var(--primary-color);color:var(--primary-color)}.discount-btn.active{background:var(--primary-color);color:#fff;border-color:var(--primary-color)}.discount-preview{margin-top:.5rem;padding:.75rem;background:#e8f5e9;border-radius:6px;color:#2e7d32;font-size:.9rem}.discount-preview strong{font-size:1.1rem}.alert{padding:1rem;border-radius:8px;display:flex;align-items:center;gap:.75rem;font-size:.95rem;margin-bottom:1rem}.financial-actions{display:flex;justify-content:flex-end;margin-top:1.5rem;padding-top:1.5rem;border-top:2px solid var(--border-color)}.btn-generate-invoices{display:inline-flex;align-items:center;gap:.625rem;padding:1rem 2rem;font-size:1rem;font-weight:600;border-radius:12px;border:none;background:var(--primary-color);color:#fff;cursor:pointer;transition:all .3s cubic-bezier(.4,0,.2,1);box-shadow:0 4px 12px #00000026}.btn-generate-invoices:hover:not(:disabled){opacity:.95;transform:translateY(-2px);box-shadow:0 6px 16px #0003}.btn-generate-invoices:disabled{opacity:.6;cursor:not-allowed;transform:none}.installments-preview{grid-column:1 / -1;padding:1rem;background:var(--bg-color-secondary);border:2px solid var(--primary-color);border-radius:8px;margin-top:.5rem}.installments-info{display:flex;align-items:center;gap:.75rem;margin-bottom:.75rem;color:var(--text-color)}.installments-info i{font-size:1.25rem;color:var(--primary-color)}.installments-info strong{color:var(--primary-color);font-size:1.1rem}.installments-info span{color:var(--text-color-secondary)}.installments-total{display:flex;align-items:center;gap:.5rem;padding-top:.75rem;border-top:1px solid var(--border-color);color:var(--text-color)}.installments-total strong{font-size:1.25rem;color:var(--primary-color)}.alert-warning{grid-column:1 / -1;background:#fff3cd;color:#856404;border:1px solid #ffc107}.month-year-picker{display:grid;grid-template-columns:2fr 1fr;gap:.75rem}.month-year-picker .month-select{text-transform:capitalize}.month-year-picker .year-select{font-weight:600}.month-year-picker select:disabled{opacity:.6;cursor:not-allowed}.modal-overlay{position:fixed;inset:0;background:#0009;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);display:flex;align-items:center;justify-content:center;z-index:10000;padding:1rem;animation:fadeIn .2s ease-out}.add-responsavel-modal{background:var(--sidebar-color);background-color:var(--sidebar-color);border-radius:16px;box-shadow:0 20px 60px #0000004d;width:100%;max-width:600px;max-height:90vh;display:flex!important;flex-direction:column;animation:slideUp .3s ease-out;overflow:hidden;position:relative;z-index:100000}.modal-header{display:flex;align-items:center;justify-content:space-between;padding:1.5rem;border-bottom:2px solid var(--border-color);background:var(--sidebar-color)}.modal-header h2{margin:0;font-size:1.5rem;color:var(--text-color);display:flex;align-items:center;gap:.75rem}.modal-header h2 i{font-size:1.75rem;color:var(--primary-color)}.modal-close{background:transparent;border:none;font-size:1.75rem;color:var(--sub-text-color);cursor:pointer;padding:.5rem;border-radius:8px;transition:all .2s;display:flex;align-items:center;justify-content:center;width:36px;height:36px}.modal-close:hover{background:var(--border-color);color:var(--text-color)}.modal-content{flex:1;overflow-y:auto;padding:1.5rem;background:var(--sidebar-color)}.search-section{margin-bottom:1.5rem}.search-input-wrapper{position:relative;display:flex;align-items:center}.search-icon{position:absolute;left:1rem;font-size:1.25rem;color:var(--sub-text-color);pointer-events:none}.search-input{width:100%;padding:.875rem 1rem .875rem 3rem;border:2px solid var(--border-color);border-radius:12px;background:var(--bg-color-secondary);color:var(--text-color);font-size:1rem;transition:all .3s}.search-input:focus{outline:none;border-color:var(--primary-color);box-shadow:0 0 0 3px rgba(var(--primary-color-rgb),.1)}.clear-search{position:absolute;right:.75rem;background:transparent;border:none;color:var(--sub-text-color);cursor:pointer;padding:.25rem;border-radius:4px;display:flex;align-items:center;justify-content:center;transition:all .2s}.clear-search:hover{background:var(--border-color);color:var(--text-color)}.results-section{max-height:400px;overflow-y:auto;margin-bottom:1rem}.responsaveis-list{display:flex;flex-direction:column;gap:.75rem}.responsavel-item{display:flex;align-items:center;gap:1rem;padding:1rem;background:var(--bg-color-secondary);border:2px solid var(--border-color);border-radius:12px;cursor:pointer;transition:all .2s}.responsavel-item:hover{border-color:var(--primary-color);background:rgba(var(--primary-color-rgb),.05);transform:translate(4px)}.responsavel-avatar{width:48px;height:48px;border-radius:12px;background:linear-gradient(135deg,var(--primary-color),var(--second-color));display:flex;align-items:center;justify-content:center;color:#fff;font-weight:700;font-size:1rem;flex-shrink:0}.responsavel-info{flex:1;min-width:0}.responsavel-info h4{margin:0 0 .25rem;font-size:1rem;color:var(--text-color);font-weight:600}.responsavel-info p{margin:0;font-size:.875rem;color:var(--sub-text-color)}.responsavel-info small{display:block;margin-top:.25rem;font-size:.75rem;color:var(--sub-text-color)}.responsavel-action{color:var(--sub-text-color);font-size:1.5rem;flex-shrink:0}.responsavel-item:hover .responsavel-action{color:var(--primary-color)}.loading-state,.empty-state{text-align:center;padding:3rem 1rem;color:var(--sub-text-color)}.loading-state i,.empty-state i{font-size:3rem;margin-bottom:1rem;color:var(--sub-text-color);opacity:.5}.loading-state p,.empty-state p{margin:.5rem 0;font-size:1rem;color:var(--text-color)}.empty-state small{display:block;margin-top:.5rem;font-size:.875rem;color:var(--sub-text-color)}.parentesco-select-section{padding:1rem 0}.parentesco-select-section h3{margin:0 0 .5rem;font-size:1.25rem;color:var(--text-color)}.parentesco-select-section p{margin:0 0 1.5rem;color:var(--sub-text-color)}.parentesco-options{display:grid;grid-template-columns:repeat(2,1fr);gap:.75rem;margin-bottom:1.5rem}.parentesco-option{padding:1rem;border:2px solid var(--border-color);border-radius:8px;background:var(--bg-color-secondary);color:var(--text-color);font-size:.95rem;font-weight:500;cursor:pointer;transition:all .2s}.parentesco-option:hover{border-color:var(--primary-color);background:rgba(var(--primary-color-rgb),.05)}.parentesco-option.active{border-color:var(--primary-color);background:var(--primary-color);color:#fff}.new-responsavel-form{display:flex;flex-direction:column;gap:1.25rem}.form-group label{font-weight:600;color:var(--text-color);font-size:.9rem}.form-input{padding:.875rem;border:2px solid var(--border-color);border-radius:8px;background:var(--bg-color-secondary);color:var(--text-color);font-size:1rem;transition:all .3s}.form-input:focus{outline:none;border-color:var(--primary-color);box-shadow:0 0 0 3px rgba(var(--primary-color-rgb),.1)}.form-actions{display:flex;gap:1rem;margin-top:.5rem}.btn-primary,.btn-secondary{flex:1;padding:.875rem 1.5rem;border:none;border-radius:8px;font-size:1rem;font-weight:600;cursor:pointer;transition:all .2s;display:flex;align-items:center;justify-content:center;gap:.5rem}.btn-primary:hover:not(:disabled){background:var(--primary-color-dark);transform:translateY(-2px);box-shadow:0 4px 12px rgba(var(--primary-color-rgb),.3)}.btn-secondary{background:var(--bg-color-secondary);color:var(--text-color);border:2px solid var(--border-color)}.btn-secondary:hover:not(:disabled){background:var(--border-color);border-color:var(--primary-color);color:var(--primary-color)}.btn-secondary:disabled{opacity:.6;cursor:not-allowed}.modal-footer{padding:1rem 1.5rem;border-top:2px solid var(--border-color);background:var(--sidebar-color)}.results-section::-webkit-scrollbar{width:8px}.results-section::-webkit-scrollbar-track{background:var(--bg-color-secondary);border-radius:4px}.results-section::-webkit-scrollbar-thumb{background:var(--border-color);border-radius:4px}.results-section::-webkit-scrollbar-thumb:hover{background:var(--sub-text-color)}@media(max-width:768px){.add-responsavel-modal{max-width:100%;max-height:100vh;border-radius:0}.form-row{grid-template-columns:1fr}.form-actions{flex-direction:column}}.extrato-unificado{width:100%;padding:1.5rem}.extrato-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:2rem;padding-bottom:1rem;border-bottom:2px solid var(--border-color)}.extrato-header h3{display:flex;align-items:center;gap:.5rem;font-size:1.5rem;color:var(--text-color);margin:0}.extrato-header h3 i{color:var(--primary-color)}.extrato-summary{display:flex;gap:2rem}.summary-item{display:flex;flex-direction:column;align-items:flex-end}.summary-label{font-size:.85rem;color:var(--sub-text-color);margin-bottom:.25rem}.summary-value{font-size:1.25rem;font-weight:700;color:var(--primary-color)}.extrato-loading,.extrato-error,.extrato-empty{text-align:center;padding:3rem;color:var(--sub-text-color)}.extrato-loading i,.extrato-error i,.extrato-empty i{font-size:3rem;margin-bottom:1rem;color:var(--primary-color)}.extrato-error i{color:var(--danger-color)}.extrato-empty i{color:var(--success-color)}.extrato-timeline{display:flex;flex-direction:column;gap:1rem;max-height:600px;overflow-y:auto;overflow-x:hidden;padding-right:.5rem}.extrato-timeline::-webkit-scrollbar{width:8px}.extrato-timeline::-webkit-scrollbar-track{background:var(--input-background-color);border-radius:4px}.extrato-timeline::-webkit-scrollbar-thumb{background:var(--sub-text-color);border-radius:4px;transition:background .3s}.extrato-timeline::-webkit-scrollbar-thumb:hover{background:var(--primary-color)}.extrato-item{background:var(--card-bg);border:1px solid var(--border-color);border-radius:12px;padding:1.5rem;transition:all .3s ease}.extrato-item:hover{box-shadow:0 4px 12px #0000001a;transform:translateY(-2px)}.extrato-item-overdue{border-left:4px solid var(--danger-color);background:#dc35450d}.extrato-item-paid{border-left:4px solid var(--success-color);opacity:.8}.extrato-item-canceled{border-left:4px solid #6b7280;opacity:.5;background:#6b72800d}.extrato-item-canceled *{color:#999!important}.extrato-item-canceled .badge{background:#6b728033!important;color:#6b7280!important}.extrato-item-canceled-note{display:flex;align-items:center;gap:.5rem;padding:.75rem;background:#6b72801a;border-radius:6px;color:#6b7280;font-size:.9rem;font-style:italic}.extrato-item-canceled-note i{font-size:1.2rem}.extrato-item-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:1rem}.extrato-item-info h4{margin:0 0 .5rem;font-size:1.1rem;color:var(--text-color)}.extrato-item-badges{display:flex;gap:.5rem;flex-wrap:wrap}.badge{padding:.25rem .75rem;border-radius:6px;font-size:.75rem;font-weight:600;text-transform:uppercase}.tipo-badge-mensalidade{background:#1c4ade1a;color:var(--primary-color)}.tipo-badge-extra{background:#39a71b1a;color:var(--success-color)}.status-badge-pago{background:#10b9811a;color:var(--success-color)}.status-badge-pendente{background:#fbbf241a;color:#f59e0b}.status-badge-atrasado{background:#dc35451a;color:var(--danger-color)}.status-badge-cancelado{background:#6b72801a;color:#6b7280}.extrato-item-value{display:flex;flex-direction:column;align-items:flex-end;text-align:right}.value-label{font-size:.85rem;color:var(--sub-text-color);margin-bottom:.25rem}.value-amount{font-size:1.5rem;font-weight:700;color:var(--text-color)}.extrato-item-body{display:flex;justify-content:space-between;align-items:flex-end;gap:1rem}.extrato-item-details{display:flex;flex-direction:column;gap:.5rem;flex:1}.detail-item{display:flex;align-items:center;gap:.5rem;font-size:.9rem;color:var(--sub-text-color)}.detail-item i{color:var(--primary-color)}.detail-label{font-weight:600}.detail-value{color:var(--text-color)}.extrato-item-actions{display:flex;gap:.5rem}.btn-action{padding:.5rem 1rem;border:none;border-radius:8px;font-size:.9rem;font-weight:600;cursor:pointer;transition:all .3s ease;display:flex;align-items:center;gap:.5rem}.btn-pdf{background:var(--danger-color);color:#fff}.btn-pdf:hover{background:#c82333;transform:translateY(-2px)}.btn-pix{background:var(--primary-color);color:#fff}.btn-pix:hover{background:#0d3cc4;transform:translateY(-2px)}body.dark .extrato-item{background:var(--card-bg)}body.dark .extrato-item-overdue{background:#dc35451a}body.dark .extrato-item-paid{background:#10b9810d}.nova-cobranca-modal{background:var(--sidebar-color);border-radius:12px;box-shadow:0 8px 30px #0003;width:100%;max-width:600px;max-height:90vh;overflow-y:auto;animation:modalFadeIn .3s ease-out}.modal-header{display:flex;justify-content:space-between;align-items:center;padding:1.5rem;border-bottom:1px solid var(--border-color);background:var(--sidebar-color)}.modal-header h2{display:flex;align-items:center;gap:.5rem;margin:0;font-size:1.5rem;color:var(--text-color)}.modal-header h2 i{color:var(--primary-color)}.modal-close{background:none;border:none;font-size:1.5rem;color:var(--sub-text-color);cursor:pointer;padding:.5rem;border-radius:6px;transition:all .3s ease}.modal-close:hover{background:var(--hover-bg);color:var(--text-color)}.modal-content{padding:1.5rem;background:var(--sidebar-color)}.form-group label{display:block;margin-bottom:.5rem;font-weight:600;color:var(--text-color)}.form-group .required{color:var(--danger-color)}.form-input,.form-select{width:100%;padding:.75rem;border:1px solid var(--border-color);border-radius:8px;font-size:1rem;background:var(--input-background-color);color:var(--text-color);transition:all .3s ease}.form-input:focus,.form-select:focus{outline:none;border-color:var(--primary-color);box-shadow:0 0 0 3px #1c4ade1a}.form-group small{display:block;margin-top:.5rem;font-size:.85rem;color:var(--sub-text-color)}.parcelas-preview{background:#1c4ade0d;border:1px solid rgba(28,74,222,.2);border-radius:8px;padding:1rem;margin-top:1rem}.preview-info{display:flex;align-items:flex-start;gap:.5rem;margin-bottom:.5rem}.preview-info i{color:var(--primary-color);font-size:1.2rem;margin-top:.1rem}.preview-total{margin-top:.5rem;padding-top:.5rem;border-top:1px solid rgba(28,74,222,.2);text-align:right;font-size:1.1rem}.alert{padding:1rem;border-radius:8px;margin-bottom:1rem;display:flex;align-items:flex-start;gap:.5rem}.alert-info{background:#1c4ade1a;border:1px solid rgba(28,74,222,.2);color:var(--text-color)}.alert-error{background:#dc35451a;border:1px solid rgba(220,53,69,.2);color:var(--danger-color)}.alert i{font-size:1.2rem;margin-top:.1rem}.modal-footer{display:flex;justify-content:flex-end;gap:1rem;padding-top:1.5rem;border-top:1px solid var(--border-color);margin-top:1.5rem}.btn-primary,.btn-secondary{padding:.75rem 1.5rem;border:none;border-radius:8px;font-size:1rem;font-weight:600;cursor:pointer;transition:all .3s ease;display:flex;align-items:center;gap:.5rem}.btn-primary:hover:not(:disabled){background:#0d3cc4;transform:translateY(-2px)}.btn-secondary{background:var(--button-secondary-bg);color:var(--button-secondary-text);border:1px solid var(--button-secondary-border)}.btn-secondary:hover:not(:disabled){background:var(--button-secondary-hover-bg);color:var(--button-secondary-hover-text)}@keyframes modalFadeIn{0%{opacity:0;transform:translateY(-20px)}to{opacity:1;transform:translateY(0)}}.safe-edit-input-wrapper{margin-bottom:1.5rem}.safe-edit-input-container{display:flex;align-items:center;gap:.5rem;position:relative}.safe-edit-input{flex:1;padding:.75rem;border:1px solid var(--border-color);border-radius:.5rem;font-size:1rem;background-color:var(--bg-color);color:var(--text-color);transition:all .2s ease}.safe-edit-input.read-only{background-color:var(--bg-color-secondary);cursor:not-allowed;opacity:.8}.safe-edit-input:focus{outline:none;border-color:var(--primary-color);box-shadow:0 0 0 3px #1c4ade1a}.safe-edit-input:disabled{background-color:var(--bg-color-secondary);cursor:not-allowed;opacity:.6}.safe-edit-button{padding:.5rem;background-color:var(--primary-color);color:#fff;border:none;border-radius:.5rem;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .2s ease;min-width:2.5rem;height:2.5rem}.safe-edit-button:hover{background-color:var(--primary-color-dark);transform:translateY(-1px)}.safe-edit-button:disabled{opacity:.5;cursor:not-allowed}.safe-edit-button i{font-size:1.2rem}.safe-edit-actions{display:flex;gap:.25rem}.safe-edit-save,.safe-edit-cancel{padding:.5rem;border:none;border-radius:.5rem;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .2s ease;min-width:2.5rem;height:2.5rem}.safe-edit-save{background-color:var(--success-color, #39a71b);color:#fff}.safe-edit-save:hover{background-color:#2d8515;transform:translateY(-1px)}.safe-edit-cancel{background-color:var(--error-color, #dc3545);color:#fff}.safe-edit-cancel:hover{background-color:#c82333;transform:translateY(-1px)}.safe-edit-save i,.safe-edit-cancel i{font-size:1.2rem}.safe-edit-modal-overlay{position:fixed;inset:0;background-color:#0009;display:flex;align-items:center;justify-content:center;z-index:99999;padding:1rem}.safe-edit-modal{background-color:var(--sidebar-color);border-radius:.75rem;box-shadow:0 10px 40px #0000004d;max-width:500px;width:100%;overflow:hidden}.safe-edit-modal-header{display:flex;align-items:center;justify-content:space-between;padding:1.5rem;border-bottom:1px solid var(--border-color);background-color:var(--bg-color)}.safe-edit-modal-header h3{margin:0;font-size:1.25rem;color:var(--text-color);display:flex;align-items:center;gap:.5rem}.safe-edit-modal-header h3 i{color:var(--warning-color, #ffc107)}.safe-edit-modal-close{background:none;border:none;color:var(--text-color);font-size:1.5rem;cursor:pointer;padding:.25rem;display:flex;align-items:center;justify-content:center;transition:all .2s ease;border-radius:.25rem}.safe-edit-modal-close:hover{background-color:var(--bg-color-secondary);color:var(--error-color)}.safe-edit-modal-content{padding:1.5rem}.safe-edit-modal-content p{margin:0 0 1rem;color:var(--text-color);line-height:1.6}.safe-edit-modal-content p:last-child{margin-bottom:0}.safe-edit-modal-warning{display:flex;align-items:flex-start;gap:.5rem;padding:1rem;background-color:#ffc1071a;border-left:3px solid var(--warning-color, #ffc107);border-radius:.25rem;color:var(--text-color)}.safe-edit-modal-warning i{color:var(--warning-color, #ffc107);font-size:1.25rem;flex-shrink:0}.safe-edit-modal-footer{display:flex;align-items:center;justify-content:flex-end;gap:1rem;padding:1.5rem;border-top:1px solid var(--border-color);background-color:var(--bg-color)}.safe-edit-modal-footer .btn-secondary,.safe-edit-modal-footer .btn-primary{padding:.75rem 1.5rem;border:none;border-radius:.5rem;font-size:1rem;cursor:pointer;display:flex;align-items:center;gap:.5rem;transition:all .2s ease}.safe-edit-modal-footer .btn-secondary{background-color:var(--bg-color-secondary);color:var(--text-color);border:1px solid var(--border-color)}.safe-edit-modal-footer .btn-secondary:hover{background-color:var(--border-color)}.safe-edit-modal-footer .btn-primary{background-color:var(--primary-color);color:#fff}.safe-edit-modal-footer .btn-primary:hover{background-color:var(--primary-color-dark)}body.dark .safe-edit-input.read-only{background-color:#ffffff0d}body.dark .safe-edit-modal-warning{background-color:#ffc10726}.schedule-grid{width:100%}.schedule-grid.read-only .schedule-cell{cursor:default}.schedule-grid.read-only .schedule-cell:hover{border-color:var(--border-color);box-shadow:none}.schedule-grid.editable .schedule-cell.clickable{cursor:pointer}.schedule-grid-loading,.schedule-grid-error{text-align:center;padding:2rem;color:var(--sub-text-color)}.schedule-grid-loading i{font-size:2rem;margin-bottom:1rem}.schedule-grid-error{background:#e74c3c1a;border:2px solid #e74c3c;border-radius:8px;color:#e74c3c;display:flex;align-items:center;justify-content:center;gap:.5rem}.schedule-matrix-container{overflow-x:auto;overflow-y:visible;margin-top:1rem;background:var(--sidebar-color);border-radius:8px;box-shadow:0 2px 8px var(--box-shadow);padding:.75rem;max-width:100%}.schedule-matrix{width:100%;min-width:600px;border-collapse:collapse;background:#fff;border-radius:6px;overflow:hidden;font-size:.75rem}.schedule-matrix th{padding:.5rem .75rem;text-align:center;font-weight:600;font-size:.75rem;text-transform:uppercase;letter-spacing:.3px;white-space:nowrap}.time-slot-header{min-width:120px;text-align:left!important}.day-header{min-width:140px}.time-slot-cell{padding:.5rem .75rem;background:var(--input-background-color);font-weight:600;vertical-align:middle;white-space:nowrap}.time-slot-info{display:flex;flex-direction:column;gap:.15rem}.time-slot-name{font-size:.75rem;color:var(--text-color);line-height:1.2}.time-slot-time{font-size:.65rem;color:var(--sub-text-color);font-weight:400;line-height:1.2}.schedule-cell{padding:.5rem .75rem;min-height:50px;max-height:80px;vertical-align:top;transition:all .2s;border:1px solid transparent;position:relative;overflow:hidden;text-overflow:ellipsis}.schedule-grid.editable .schedule-cell.empty.clickable:hover{background:var(--input-background-color);border-color:var(--primary-color)}.schedule-grid.editable .schedule-cell.filled.clickable:hover{border-color:var(--primary-color);box-shadow:0 0 0 2px #695cfe1a}.schedule-content{display:flex;flex-direction:column;gap:.25rem;overflow:hidden}.schedule-subject{font-weight:600;font-size:.75rem;color:var(--text-color);line-height:1.3;word-wrap:break-word;overflow-wrap:break-word;max-height:2.4em;overflow:hidden;text-overflow:ellipsis;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical}.schedule-teacher{font-size:.65rem;color:var(--sub-text-color);line-height:1.2;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.schedule-empty{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:.25rem;color:var(--sub-text-color);font-size:.7rem;min-height:40px;padding:.25rem}.schedule-grid.read-only .schedule-empty{opacity:.3}.schedule-empty i{font-size:1rem;opacity:.5}.schedule-empty-state{text-align:center;padding:3rem;color:var(--sub-text-color)}.schedule-empty-state i{font-size:3rem;margin-bottom:1rem;opacity:.5}.schedule-edit-modal{max-width:1400px!important;width:95%!important}.schedule-modal-footer{padding:1rem;border-top:1px solid var(--border-color);display:flex;justify-content:flex-end;align-items:center;gap:.75rem;flex-wrap:wrap}.btn-primary,.btn-secondary,.btn-danger{padding:.5rem 1rem;border:none;border-radius:6px;font-size:.8rem;font-weight:600;cursor:pointer;transition:all .2s;display:inline-flex;align-items:center;justify-content:center;gap:.375rem;font-family:Poppins,sans-serif;white-space:nowrap;min-width:auto}.schedule-select{width:100%;padding:.5rem .75rem;border:2px solid var(--border-color);border-radius:6px;background:var(--input-background-color);color:var(--text-color);font-size:.8rem;font-family:Poppins,sans-serif}.schedule-error{background:#e74c3c1a;border:2px solid #e74c3c;border-radius:8px;padding:1rem;margin-bottom:1rem;color:#e74c3c;display:flex;align-items:center;gap:.5rem}@media(max-width:1024px){.schedule-matrix-container{padding:.5rem}.schedule-matrix{font-size:.7rem}.schedule-matrix th{padding:.4rem .6rem;font-size:.7rem}.schedule-cell{padding:.4rem .6rem;min-height:45px}.time-slot-header{min-width:100px}.day-header{min-width:120px}.btn-primary,.btn-secondary,.btn-danger{padding:.4rem .6rem;font-size:.75rem}@media(max-width:768px){.btn-primary .btn-text,.btn-secondary .btn-text,.btn-danger .btn-text{display:none}.btn-primary,.btn-secondary,.btn-danger{padding:.5rem;min-width:36px;justify-content:center}}}@media(max-width:640px){.schedule-matrix-container{padding:.25rem;border-radius:6px}.schedule-matrix{font-size:.65rem;min-width:500px}.schedule-matrix th{padding:.35rem .5rem;font-size:.65rem}.schedule-cell{padding:.35rem .5rem;min-height:40px}.schedule-subject{font-size:.7rem;-webkit-line-clamp:1}.schedule-teacher{font-size:.6rem}.time-slot-header{min-width:90px}.day-header{min-width:100px}}.schedule-audit-panel{background:var(--sidebar-color, #fff);border-left:1px solid var(--border-color, #e0e0e0);height:100%;display:flex;flex-direction:column;overflow:hidden}.audit-panel-header{padding:1.5rem;border-bottom:1px solid var(--border-color, #e0e0e0);background:var(--body-color, #f8f9fa)}.audit-panel-header h3{margin:0 0 .5rem;font-size:1.1rem;color:var(--text-color, #333);display:flex;align-items:center;gap:.5rem}.audit-panel-header h3 i{font-size:1.2rem;color:var(--primary-color, #695CFE)}.audit-panel-subtitle{margin:0;font-size:.85rem;color:var(--sub-text-color, #666);font-style:italic}.audit-panel-body{flex:1;overflow-y:auto;padding:1rem;display:flex;flex-direction:column;gap:.75rem}.audit-panel-loading,.audit-panel-empty{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:2rem;color:var(--sub-text-color, #666);text-align:center}.audit-panel-loading i{font-size:2rem;margin-bottom:.5rem;color:var(--primary-color, #695CFE)}.audit-panel-empty i{font-size:2rem;margin-bottom:.5rem;opacity:.5}.audit-item{display:flex;align-items:flex-start;gap:.75rem;padding:1rem;border-radius:8px;border:2px solid transparent;background:var(--body-color, #f8f9fa);transition:all .2s ease}.audit-item:hover{transform:translateY(-2px);box-shadow:0 4px 8px #0000001a}.audit-item-completed{border-color:#10b981;background:#10b9810d;opacity:.9}.audit-item-in-progress{border-color:#f59e0b;background:#f59e0b1a}.audit-item-not-started{border-color:#ef4444;background:#ef44440d}.audit-item-exceeded{border-color:#3b82f6;background:#3b82f60d}.audit-item-icon{font-size:1.5rem;line-height:1;flex-shrink:0}.audit-item-content{flex:1;min-width:0}.audit-item-header{display:flex;align-items:center;gap:.5rem;margin-bottom:.5rem}.audit-item-color{width:12px;height:12px;border-radius:50%;border:2px solid rgba(255,255,255,.9);box-shadow:0 1px 3px #0003;flex-shrink:0}.audit-item-name{font-weight:600;color:var(--text-color, #333);font-size:.95rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.audit-item-progress{display:flex;align-items:center;justify-content:space-between;gap:.5rem;font-size:.85rem}.audit-item-count{font-weight:700;color:var(--text-color, #333)}.audit-item-status{color:var(--sub-text-color, #666);font-size:.8rem}.audit-item-completed .audit-item-status{color:#10b981;font-weight:600}.audit-item-in-progress .audit-item-status{color:#f59e0b;font-weight:600}.audit-item-not-started .audit-item-status{color:#ef4444;font-weight:600}.audit-item-exceeded .audit-item-status{color:#3b82f6;font-weight:600}.audit-panel-footer{padding:1rem 1.5rem;border-top:1px solid var(--border-color, #e0e0e0);background:var(--body-color, #f8f9fa)}.audit-summary{display:flex;justify-content:space-between;gap:1rem;flex-wrap:wrap}.audit-summary-item{display:flex;flex-direction:column;gap:.25rem;flex:1;min-width:60px}.audit-summary-label{font-size:.75rem;color:var(--sub-text-color, #666);text-transform:uppercase;letter-spacing:.5px}.audit-summary-value{font-size:1.25rem;font-weight:700;color:var(--text-color, #333)}.audit-summary-value.completed{color:#10b981}.audit-summary-value.pending{color:#f59e0b}.audit-panel-body::-webkit-scrollbar{width:6px}.audit-panel-body::-webkit-scrollbar-track{background:transparent}.audit-panel-body::-webkit-scrollbar-thumb{background:var(--border-color, #e0e0e0);border-radius:3px}.audit-panel-body::-webkit-scrollbar-thumb:hover{background:var(--sub-text-color, #999)}.home-content{transition:var(--tran-05)}.page-header{margin-bottom:2.5rem}.page-header p{color:var(--sub-text-color);font-weight:500;font-size:.95rem}.tabs-container{display:flex;gap:1.2rem;margin-bottom:2.5rem;flex-wrap:wrap;padding:5px}.tab-btn{padding:12px 28px;border-radius:16px;border:2px solid transparent;background-color:var(--sidebar-color);color:var(--sub-text-color);font-weight:600;font-size:.95rem;cursor:pointer;display:flex;align-items:center;gap:10px;transition:var(--tran-03);box-shadow:0 4px 15px #00000008}.tab-btn:hover{background-color:var(--input-background-color);color:var(--primary-color);transform:translateY(-2px)}.tab-btn.active{background-color:var(--primary-color);color:#fff;box-shadow:0 8px 20px var(--box-shadow);border-color:var(--primary-color)}.tab-content{display:none;animation:fadeIn .4s ease}.tab-content.active{display:block}@keyframes fadeIn{0%{opacity:0;transform:translateY(15px)}to{opacity:1;transform:translateY(0)}}.gerenciar-card{background-color:var(--sidebar-color);border-radius:24px;box-shadow:0 10px 40px var(--box-shadow);padding:3rem;position:relative;border:1px solid transparent;margin-bottom:2rem}.search-header.gerenciar-card{padding:2rem;display:flex;justify-content:space-between;align-items:center;gap:2rem;flex-wrap:wrap}.card-header-internal{margin-bottom:2rem;display:flex;flex-direction:column;gap:5px}.card-header-internal h2{font-size:1.4rem;font-weight:700;color:var(--text-color);display:flex;align-items:center;gap:10px}.card-header-internal p{font-size:.9rem;color:var(--sub-text-color)}.search-header{display:flex;justify-content:space-between;align-items:center;gap:2rem;padding:2rem;margin-bottom:2rem;flex-wrap:wrap;border-radius:24px}.search-label-box{display:flex;flex-direction:column;gap:5px}.search-label-box label{font-size:1.2rem;font-weight:700;color:var(--text-color);margin:0;display:block}.search-label-box p{font-size:.9rem;color:var(--sub-text-color);font-weight:500;margin:0;display:block}.relative-search{position:relative;flex:1;max-width:500px;min-width:300px}.search-icon-inside{position:absolute;left:20px;top:50%;transform:translateY(-50%);color:var(--primary-color);font-size:1.5rem;z-index:10}.search-field{height:60px;padding-left:60px!important;background-color:var(--input-background-color)!important;border:2px solid transparent!important;font-weight:600!important;font-size:1rem!important;border-radius:16px!important;width:100%}.search-field:focus{background-color:#fff!important;border-color:var(--primary-color)!important;box-shadow:0 8px 25px #695cfe33}.results-dropdown{display:block;position:absolute;top:115%;left:0;width:100%;background-color:var(--sidebar-color);border-radius:16px;box-shadow:0 15px 40px #00000026;z-index:1000;max-height:350px;overflow-y:auto;border:1px solid var(--input-background-color);padding:10px}.gerenciar-result-item{padding:15px;border-radius:12px;margin-bottom:5px;cursor:pointer;display:flex;align-items:center;gap:15px;transition:.2s;border:1px solid transparent}.gerenciar-result-item:hover{background-color:var(--input-background-color);border-color:var(--border-color)}.r-avatar{width:45px;height:45px;background:linear-gradient(135deg,var(--primary-color),var(--primary-color-light));color:#fff;border-radius:12px;display:flex;align-items:center;justify-content:center;font-size:1rem;font-weight:700;box-shadow:0 4px 10px #0000001a}.r-avatar.prof{background:linear-gradient(135deg,var(--second-color),var(--second-color-light))}.r-avatar.resp{background:linear-gradient(135deg,#f39c12,#e67e22)}.r-info{display:flex;flex-direction:column}.r-name{font-weight:700;font-size:1rem;color:var(--text-color)}.r-desc{font-size:.8rem;color:var(--sub-text-color);font-weight:500}.btn-new{height:60px;padding:0 30px;background:var(--second-color);color:#fff;border:none;border-radius:16px;cursor:pointer;font-weight:600;font-size:1rem;display:flex;align-items:center;gap:10px;transition:.3s;box-shadow:0 4px 15px #39a71b4d;white-space:nowrap}.btn-new:hover{transform:translateY(-3px);box-shadow:0 10px 25px #39a71b66}.edit-form{transition:all .5s ease;opacity:1;margin-top:2rem}.hidden-form{display:none;opacity:0}.visible-form{display:block;animation:slideDown .5s ease}@keyframes slideDown{0%{opacity:0;transform:translateY(-20px)}to{opacity:1;transform:translateY(0)}}.form-header{display:flex;align-items:center;gap:2rem;margin-bottom:2rem}.user-avatar{width:60px;height:60px;background-color:var(--primary-color);color:#fff;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:1.5rem;font-weight:700}.user-avatar-lg{width:90px;height:90px;background:linear-gradient(135deg,var(--primary-color),var(--primary-color-light));color:#fff;border-radius:24px;display:flex;align-items:center;justify-content:center;font-size:2.5rem;font-weight:700;box-shadow:0 10px 30px var(--box-shadow)}.user-avatar-lg.prof{background:linear-gradient(135deg,var(--second-color),var(--second-color-light))}.user-avatar-lg.resp{background:linear-gradient(135deg,#f39c12,#e67e22)}.user-meta h2{font-size:1.8rem;color:var(--text-color);font-weight:700;margin-bottom:5px}.user-meta span{font-size:.9rem;color:var(--sub-text-color)}.actions-top{margin-left:auto}.btn-icon{width:50px;height:50px;border-radius:14px;border:none;cursor:pointer;font-size:1.5rem;display:flex;align-items:center;justify-content:center;transition:.3s}.btn-icon.danger{background-color:#ffe5e5;color:#e74c3c}.btn-icon.danger:hover{background-color:#e74c3c;color:#fff;box-shadow:0 5px 15px #e74c3c66}.btn-icon.warning{background-color:#fffbeb;color:#f59e0b}.btn-icon.warning:hover{background-color:#f59e0b;color:#fff;box-shadow:0 5px 15px #f59e0b66}.btn-icon-sm{width:35px;height:35px;border-radius:8px;border:none;cursor:pointer;font-size:1rem;display:flex;align-items:center;justify-content:center;transition:.3s;background-color:#ffe5e5;color:#e74c3c}.btn-icon-sm.danger:hover{background-color:#e74c3c;color:#fff}.status-badge{font-size:.85rem;padding:6px 16px;border-radius:30px;font-weight:700;letter-spacing:.5px}.status-badge.active{background:#d1fae5;color:#047857}.status-badge.prof-badge{background:#e0e7ff;color:#3730a3}.divider{height:2px;background-color:var(--input-background-color);margin:2.5rem 0;width:100%}.form-grid{display:flex;flex-direction:column;gap:2.5rem}.form-section h3{font-size:1.1rem;color:var(--primary-color);margin-bottom:1.5rem;display:flex;align-items:center;gap:10px;font-weight:700;background:var(--input-background-color);padding:12px 20px;border-radius:14px;width:fit-content}.section-desc{font-size:.85rem;color:var(--sub-text-color);margin-bottom:1rem}.row{display:grid;grid-template-columns:1fr 1fr;gap:2rem;margin-bottom:1.5rem}.three-col{grid-template-columns:1fr 1fr 1fr}.three-col-address{grid-template-columns:1fr 3fr}.span-2{grid-column:span 2}.input-box{display:flex;flex-direction:column;gap:10px;width:100%}.input-box label{font-size:.95rem;font-weight:600;color:var(--text-color);margin-left:5px}.input-box.small-box{max-width:200px}.input-box.has-error .input-error,.custom-input.input-error{border-color:#e74c3c;box-shadow:0 0 0 1px #e74c3c33}.field-error-message{font-size:.85rem;color:#e74c3c;margin-top:4px;display:block}.checkbox-wrapper{display:flex;align-items:center;gap:10px;margin-top:5px}.mt-1{margin-top:.5rem}.mt-2{margin-top:1rem}.custom-checkbox{appearance:none;width:24px;height:24px;border:2px solid var(--border-color);border-radius:8px;cursor:pointer;position:relative;transition:.2s;background-color:var(--sidebar-color)}.custom-checkbox:checked{background-color:var(--primary-color);border-color:var(--primary-color);box-shadow:0 4px 10px var(--box-shadow)}.custom-checkbox:checked:after{content:"✔";color:#fff;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);font-size:14px;font-weight:900}.checkbox-wrapper label{font-size:.9rem;font-weight:500;color:var(--sub-text-color);cursor:pointer}.checkbox-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:15px;padding:15px;background:#fff;border-radius:16px;border:2px solid var(--input-background-color)}.check-item{display:flex;align-items:center;gap:10px}.custom-input{width:100%;padding:16px 20px;border-radius:14px;border:2px solid transparent;background-color:var(--input-background-color);color:var(--text-color);font-size:1rem;font-weight:500;outline:none;transition:all .3s ease}.custom-input:focus{background-color:#fff;border-color:var(--primary-color);box-shadow:0 8px 25px #695cfe26;transform:translateY(-2px)}.custom-select{cursor:pointer}.select-wrapper select{appearance:none;cursor:pointer}.money-input{text-align:right}.big-number{font-size:1.5rem;font-weight:700;text-align:center}.card-input{text-align:center}.read-only-field{width:100%;padding:16px 20px;border-radius:14px;background-color:#f0f0f0;color:var(--sub-text-color);font-weight:700;border:2px solid transparent;cursor:not-allowed}.custom-input[readonly]{background-color:#f5f5f5;color:var(--text-color);cursor:not-allowed;border-color:#e0e0e0}.custom-input[readonly]:focus{background-color:#f5f5f5;border-color:#e0e0e0;box-shadow:none;transform:none}.switch-container{display:flex;align-items:center;cursor:pointer;gap:15px}.switch-container input{display:none}.switch-slider{width:50px;height:28px;background-color:#ddd;border-radius:34px;position:relative;transition:.3s}.switch-slider:before{content:"";position:absolute;width:22px;height:22px;left:3px;bottom:3px;background-color:#fff;border-radius:50%;transition:.3s;box-shadow:0 2px 5px #0003}.switch-slider.small{width:40px;height:22px}.switch-slider.small:before{width:18px;height:18px}input:checked+.switch-slider{background-color:var(--second-color)}input:checked+.switch-slider:before{transform:translate(22px)}input:checked+.switch-slider.small:before{transform:translate(18px)}.switch-label{font-weight:600;color:var(--text-color)}.hidden-area{display:none;opacity:0;transform:translateY(-10px);transition:all .3s ease}.visible-area{display:block;opacity:1;transform:translateY(0);animation:slideDownSmall .3s ease}@keyframes slideDownSmall{0%{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:translateY(0)}}.discount-control-wrapper{margin-top:1.5rem}.discount-inputs{margin-top:1rem}.section-header-flex{display:flex;justify-content:space-between;align-items:center;margin-bottom:1.5rem}.schedule-container{overflow-x:auto;border-radius:16px}.schedule-table{width:100%;border-collapse:collapse;min-width:800px}.schedule-table th{background-color:var(--input-background-color);color:var(--text-color);padding:15px;font-weight:700;text-align:center;border-bottom:2px solid var(--border-color)}.schedule-table td{padding:10px;border:1px solid var(--border-color);text-align:center;vertical-align:middle}.time-slot{font-weight:700;color:var(--sub-text-color);font-size:.9rem;background-color:var(--bg-color-secondary)}.class-slot{padding:8px;border-radius:8px;font-size:.85rem;font-weight:600;min-height:40px;display:flex;align-items:center;justify-content:center}.class-slot.filled{background-color:#e0e7ff;color:#3730a3;border:1px solid #c7d2fe}.class-slot.empty{color:#ccc}.btn-edit-grade{padding:10px 20px;border-radius:12px;border:2px solid var(--primary-color);background:transparent;color:var(--primary-color);font-weight:600;cursor:pointer;transition:.3s;display:flex;align-items:center;gap:8px}.btn-edit-grade:hover{background:var(--primary-color);color:#fff}.guardian-card{background:#fff;border-radius:20px;padding:2rem;position:relative;border:2px solid var(--input-background-color);box-shadow:0 5px 20px #00000008;margin-bottom:1.5rem}.guardian-header{display:flex;justify-content:space-between;margin-bottom:1.5rem;align-items:center;border-bottom:1px solid var(--border-color);padding-bottom:1rem}.guardian-header h4{font-size:1.1rem;color:var(--text-color);font-weight:700}.finance-bg{background-color:#fff;padding:2rem;border-radius:20px;box-shadow:0 5px 30px #39a71b14;border:1px solid rgba(57,167,27,.2)}.finance-bg h3{background:#39a71b1a;color:var(--second-color);padding:10px 20px;border-radius:12px}.highlight-section{background-color:var(--input-background-color);padding:1.5rem;border-radius:16px}.btn-outline-sm{background:transparent;border:2px dashed var(--border-color);color:var(--sub-text-color);padding:16px;width:100%;border-radius:14px;cursor:pointer;transition:.3s;display:flex;justify-content:center;gap:10px;font-weight:600;font-size:1rem}.btn-outline-sm:hover{border-color:var(--primary-color);color:var(--primary-color);background:var(--input-background-color)}.disciplinas-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:15px;width:100%;margin-top:10px}.discipline-card{background-color:var(--sidebar-color);border:1px solid var(--border-color);border-radius:16px;padding:16px;display:flex;align-items:center;gap:15px;cursor:pointer;transition:all .3s ease;position:relative;-webkit-user-select:none;user-select:none}.discipline-card:hover{background-color:#fff;transform:translateY(-2px);box-shadow:0 5px 15px #0000000d}.checkbox-area input{appearance:none;-webkit-appearance:none;width:24px;height:24px;border:2px solid var(--sub-text-color);border-radius:6px;cursor:pointer;transition:.2s;display:grid;place-content:center;background-color:transparent}.checkbox-area input:checked{background-color:var(--primary-color);border-color:var(--primary-color)}.checkbox-area input:checked:before{content:"";width:10px;height:6px;border-left:2.5px solid white;border-bottom:2.5px solid white;transform:rotate(-45deg);margin-bottom:3px}.card-info{display:flex;flex-direction:column}.discipline-title{font-weight:700;color:var(--text-color);font-size:1rem}.professor-name{font-size:.8rem;color:var(--sub-text-color)}.discipline-card:has(input:checked){border-color:var(--primary-color);background-color:#f9f9ff;box-shadow:0 4px 12px #695cfe1a}.table-container{overflow-x:auto;margin-top:1rem}.custom-table{width:100%;border-collapse:collapse;min-width:600px}.custom-table th{background-color:var(--input-background-color);color:var(--text-color);padding:15px;font-weight:700;text-align:left;border-bottom:2px solid var(--border-color)}.custom-table td{padding:15px;border-bottom:1px solid var(--border-color);vertical-align:middle}.custom-table tbody tr:hover{background-color:var(--input-background-color)}.table-input{padding:8px 12px!important;font-size:.9rem!important;width:100%}.money{text-align:right}.serie-tag{display:inline-block;background-color:var(--primary-color);color:#fff;padding:4px 8px;border-radius:6px;font-size:.75rem;font-weight:700;margin-right:8px}.table-switch{justify-content:center}.status-dot{display:inline-block;width:10px;height:10px;border-radius:50%;margin-right:5px}.status-dot.active{background-color:#10b981}.badge-info,.badge-default{display:inline-block;padding:4px 12px;border-radius:12px;font-size:.85rem;font-weight:600}.badge-info{background-color:#695cfe1a;color:var(--primary-color)}.badge-default{background-color:var(--input-background-color);color:var(--sub-text-color)}.action-buttons{display:flex;gap:8px;align-items:center}.btn-save-icon{width:40px;height:40px;border-radius:8px;border:none;background-color:var(--primary-color);color:#fff;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:.3s}.btn-save-icon:hover{background-color:var(--primary-color-light);transform:translateY(-2px)}.form-actions-right{display:flex;justify-content:flex-end}.btn-save.sm{padding:12px 24px;font-size:.95rem}.form-footer{margin-top:4rem;padding-top:2rem;border-top:2px solid var(--input-background-color);display:flex;justify-content:flex-end;gap:1.5rem}.btn-save{padding:16px 40px;border-radius:14px;border:none;background-color:var(--primary-color);color:#fff;font-weight:600;font-size:1.1rem;cursor:pointer;display:flex;align-items:center;gap:10px;transition:.3s;box-shadow:0 8px 25px var(--box-shadow)}.btn-save:hover{opacity:1;transform:translateY(-4px);box-shadow:0 12px 30px var(--box-shadow)}.horario-table-wrapper{margin-top:1.5rem;overflow-x:auto;border-radius:12px;border:1px solid var(--input-background-color)}.horario-table{width:100%;border-collapse:collapse;background-color:var(--card-background-color);font-size:.9rem}.horario-table thead{background-color:var(--primary-color);color:#fff}.horario-table th{padding:14px 12px;text-align:left;font-weight:600;font-size:.85rem;text-transform:uppercase;letter-spacing:.5px}.horario-table td{padding:12px;border-bottom:1px solid var(--input-background-color);border-right:1px solid var(--input-background-color)}.horario-table tbody tr:last-child td{border-bottom:none}.horario-table td:last-child{border-right:none}.horario-time{font-weight:600;color:var(--primary-color);background-color:var(--sidebar-color);text-align:center;min-width:80px}.horario-slot{background-color:var(--card-background-color);color:var(--text-color);cursor:pointer;transition:var(--tran-03);position:relative}.horario-slot:hover{background-color:var(--input-background-color);transform:scale(1.02)}.horario-intervalo{background-color:#fff3cd;color:#856404;font-weight:600;text-align:center;font-style:italic}.horario-table tbody tr:nth-child(2n) .horario-slot{background-color:#f8f9fa}.grade-curricular-list{display:flex;flex-direction:column;gap:12px;margin-top:1rem}.grade-item-checkbox{display:flex;align-items:center;gap:12px;padding:14px 16px;background-color:var(--card-background-color);border:1px solid var(--input-background-color);border-radius:10px;cursor:pointer;transition:var(--tran-03)}.grade-item-checkbox:hover{background-color:var(--input-background-color);border-color:var(--primary-color);transform:translate(4px)}.grade-item-checkbox .checkbox-area{display:flex;align-items:center}.grade-item-checkbox input[type=checkbox]{width:20px;height:20px;cursor:pointer;accent-color:var(--primary-color)}.grade-item-info{flex:1;display:flex;align-items:center}.grade-item-label{font-size:.95rem;font-weight:500;color:var(--text-color)}.grade-item-checkbox:has(input:checked){background-color:#1c4ade1a;border-color:var(--primary-color)}.grade-item-checkbox:has(input:checked) .grade-item-label{color:var(--primary-color);font-weight:600}.btn-cancel{padding:16px 30px;border-radius:14px;border:2px solid transparent;background:transparent;color:var(--sub-text-color);font-weight:600;font-size:1rem;cursor:pointer;transition:.3s}.mb-2{margin-bottom:2rem}@media(max-width:900px){.home-content{padding:1.5rem;margin-left:0}.row,.three-col,.three-col-address{grid-template-columns:1fr}.span-2{grid-column:auto}.checkbox-grid{grid-template-columns:1fr 1fr}.relative-search{width:100%;max-width:100%}.btn-new{width:100%;justify-content:center}.search-header{flex-direction:column;align-items:stretch}}body.dark .gerenciar-card,body.dark .finance-bg,body.dark .guardian-card,body.dark .checkbox-grid{background-color:var(--sidebar-color);border-color:var(--border-color)}body.dark .custom-input,body.dark .read-only-field{background-color:var(--input-background-color);border-color:transparent}body.dark .results-dropdown{background-color:var(--sidebar-color);border-color:var(--border-color)}body.dark .gerenciar-result-item:hover,body.dark .form-section h3{background-color:var(--body-color)}body.dark .custom-checkbox{background-color:var(--body-color);border-color:var(--sub-text-color)}body.dark .custom-checkbox:checked{border-color:var(--primary-color);background-color:var(--primary-color)}body.dark .schedule-table th{background-color:var(--bg-color-secondary)!important;color:var(--text-color)!important;border-bottom-color:var(--border-color)!important}body.dark .schedule-table td{background-color:var(--bg-color)!important;border-color:var(--border-color)!important;color:var(--text-color)!important}body.dark .time-slot{background-color:var(--bg-color-secondary)!important;color:var(--text-color)!important;font-weight:700}body.dark .class-slot.filled{background-color:#3730a34d!important;color:#c7d2fe!important;border-color:#6366f1!important}body.dark .class-slot.empty{color:var(--sub-text-color)!important}body.dark .schedule-container{border-color:var(--border-color)!important;background-color:var(--bg-color)!important}body.dark .custom-table th,body.dark .custom-table tbody tr:hover{background-color:var(--body-color)}.notas-content-card{background-color:var(--sidebar-color);border-radius:24px;box-shadow:0 10px 40px var(--box-shadow);padding:2rem;margin-bottom:2rem}.notas-filter-section{min-height:auto!important}.notas-card-header-internal{display:flex;align-items:center;gap:10px;margin-bottom:1.5rem;color:var(--primary-color);border-bottom:2px solid var(--body-color);padding-bottom:1rem}.notas-card-header-internal h2{font-size:1.2rem;font-weight:600;color:var(--text-color)}.notas-card-header-internal span{font-size:1.5rem}.notas-filter-section .filter-grid{display:grid;grid-template-columns:1.5fr 2fr 1.5fr 1fr;gap:1.5rem;align-items:end}.notas-filter-section .input-group{display:flex;flex-direction:column;gap:8px}.notas-filter-section .input-group label{font-size:.85rem;font-weight:600;color:var(--text-color)}.notas-filter-section .select-wrapper{position:relative}.notas-filter-section .custom-input{width:100%;padding:12px 15px;border-radius:10px;border:2px solid transparent;background-color:var(--input-background-color);color:var(--text-color);font-size:.9rem;transition:var(--tran-03);outline:none;appearance:none;cursor:pointer}.notas-filter-section .custom-input:focus{background-color:#fff;border-color:var(--primary-color);box-shadow:0 4px 15px #0000000d}.notas-filter-section .custom-select option{background-color:var(--sidebar-color)}.notas-filter-section .arrow-icon{position:absolute;right:15px;top:50%;transform:translateY(-50%);color:var(--primary-color);pointer-events:none}.notas-filter-section .btn-search{width:100%;height:48px;border-radius:10px;border:none;background-color:var(--primary-color);color:#fff;font-weight:600;cursor:pointer;display:flex;align-items:center;justify-content:center;gap:8px;transition:.3s}.notas-filter-section .btn-search:hover:not(:disabled){opacity:.9;box-shadow:0 5px 15px #695cfe4d;transform:translateY(-2px)}.notas-filter-section .btn-search:disabled{opacity:.5;cursor:not-allowed}.grades-section{padding:0;overflow:visible}.class-header{background-color:var(--input-background-color);padding:1.5rem 2rem;display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:1rem;border-bottom:1px solid var(--border-color);border-radius:24px 24px 0 0}.class-info{flex:0 0 auto}.class-info h3{font-size:1.1rem;color:var(--primary-color);margin-bottom:4px}.class-info p{font-size:.9rem;color:var(--sub-text-color)}.class-alert{flex:1;display:flex;justify-content:center;align-items:center;min-width:0}.class-actions{flex:0 0 auto;display:flex;align-items:center;gap:15px}.btn-config{display:flex;align-items:center;gap:8px;background:transparent;border:1px solid var(--primary-color);color:var(--primary-color);padding:6px 12px;border-radius:20px;font-weight:600;font-size:.85rem;cursor:pointer;transition:.3s}.btn-config:hover{background-color:var(--primary-color);color:#fff}.badge.total{font-size:.8rem;padding:5px 12px;border-radius:20px;background-color:var(--sidebar-color);color:var(--text-color);border:1px solid var(--border-color);font-weight:600}.weights-panel{background-color:var(--sidebar-color);padding:1.5rem 2rem;border-bottom:1px solid var(--border-color);animation:slideDown .3s ease;margin-bottom:0}.panel-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:1rem}.panel-header h4{font-size:1rem;color:var(--text-color);margin:0}.close-panel{cursor:pointer;font-size:1.5rem;color:var(--sub-text-color)}.close-panel:hover{color:var(--text-color)}.btn-toggle-weights{display:flex;align-items:center;gap:8px;background-color:var(--input-background-color);border:1px solid var(--border-color);color:var(--sub-text-color);padding:8px 16px;border-radius:12px;font-size:.85rem;font-weight:600;cursor:pointer;transition:.3s}.btn-toggle-weights:hover{background-color:var(--body-color);color:var(--text-color)}.btn-toggle-weights.active{background-color:#39a71b1a;color:#27ae60;border-color:#27ae60}.config-options-row{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:1rem;margin-bottom:1.5rem;padding-bottom:1rem;border-bottom:1px dashed var(--border-color)}.option-group{display:flex;gap:1.5rem;align-items:center}.structure-type-badge{display:flex;align-items:center;gap:8px;padding:8px 16px;border-radius:12px;background-color:#695cfe1a;color:var(--primary-color);font-weight:600;font-size:.9rem}.structure-type-badge i{font-size:1.1rem}.radio-label{display:flex;align-items:center;gap:8px;cursor:pointer;font-size:.9rem;color:var(--sub-text-color)}.radio-label input{display:none}.radio-custom{width:18px;height:18px;border:2px solid var(--sub-text-color);border-radius:50%;position:relative}.radio-label input:checked+.radio-custom{border-color:var(--primary-color)}.radio-label input:checked+.radio-custom:after{content:"";width:10px;height:10px;background:var(--primary-color);border-radius:50%;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.evaluations-grid{display:flex;flex-direction:column;gap:10px;margin-bottom:1.5rem;max-height:400px;overflow-y:auto;overflow-x:hidden;padding-right:5px}.evaluations-grid::-webkit-scrollbar{width:8px}.evaluations-grid::-webkit-scrollbar-track{background:var(--input-background-color);border-radius:10px}.evaluations-grid::-webkit-scrollbar-thumb{background:var(--primary-color);border-radius:10px;opacity:.5}.evaluations-grid::-webkit-scrollbar-thumb:hover{opacity:.8}.evaluation-item{display:flex;align-items:flex-end;gap:1rem;background-color:var(--input-background-color);padding:10px;border-radius:10px}.input-col{display:flex;flex-direction:column;gap:5px}.input-col label{font-size:.75rem;color:var(--sub-text-color);font-weight:600}.name-col{flex:2}.weight-col{flex:1}.btn-remove-col{background:#ffe5e5;color:#e74c3c;border:none;width:40px;height:40px;border-radius:8px;cursor:pointer;display:flex;align-items:center;justify-content:center;font-size:1.2rem;transition:.2s;margin-bottom:2px}.btn-remove-col:hover{background:#e74c3c;color:#fff}.config-actions{display:flex;justify-content:space-between;align-items:center}.btn-add-col{background:transparent;border:1px dashed var(--primary-color);color:var(--primary-color);padding:8px 16px;border-radius:8px;cursor:pointer;font-weight:600;font-size:.9rem;display:flex;align-items:center;gap:5px}.btn-add-col:hover{background:#695cfe1a}.right-actions{display:flex;align-items:center;gap:15px}.weight-total{font-size:.9rem;color:var(--text-color)}.btn-save-weights{background-color:var(--second-color);color:#fff;border:none;padding:10px 24px;border-radius:10px;font-weight:600;cursor:pointer}@keyframes slideDown{0%{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:translateY(0)}}.table-responsive{overflow-x:auto}.grades-table{width:100%;border-collapse:collapse;min-width:800px}.grades-table th{background-color:var(--sidebar-color);color:var(--sub-text-color);font-weight:600;text-transform:uppercase;font-size:.75rem;padding:15px 20px;text-align:center;border-bottom:2px solid var(--border-color);vertical-align:bottom}.grades-table th:first-child{text-align:left}.col-header-content{display:flex;flex-direction:column;align-items:center;gap:4px}.weight-badge{background-color:#695cfe1a;color:var(--primary-color);font-size:.65rem;padding:2px 6px;border-radius:4px;display:inline-block}.grades-table td{padding:12px 20px;vertical-align:middle;border-bottom:1px solid var(--border-color)}.grades-table tr:hover{background-color:var(--input-background-color)}.student-profile{display:flex;align-items:center;gap:12px}.avatar{width:40px;height:40px;border-radius:50%;background-color:var(--primary-color);color:#fff;display:flex;align-items:center;justify-content:center;font-weight:700;font-size:1rem;flex-shrink:0}.student-details{display:flex;flex-direction:column}.student-name{font-weight:600;color:var(--text-color);font-size:.95rem}.student-meta{font-size:.75rem;color:var(--sub-text-color);margin-top:2px}.grade-input{width:60px;height:40px;text-align:center;border-radius:8px;border:1px solid var(--border-color);background-color:var(--sidebar-color);color:var(--text-color);font-weight:600;transition:.2s;margin:0 auto;display:block}.grade-input:focus{border-color:var(--primary-color);box-shadow:0 0 0 3px #695cfe1a;outline:none}.grade-input.modified{background:#695cfe1a;border-color:var(--primary-color)}.grade-input.invalid{border-color:#e74c3c;background:#e74c3c1a}.grade-display{font-weight:700;text-align:center;padding:5px 10px;border-radius:8px;width:fit-content;margin:0 auto}.grade-display.good-grade{color:#27ae60;background-color:#27ae601a}.grade-display.low-grade{color:#e74c3c;background-color:#e74c3c1a}.abs-input{background-color:#fff3cd;border-color:transparent;color:#856404}.abs-input:focus{border-color:#f1c40f;box-shadow:none}.form-footer{padding:1.5rem 2rem;border-top:1px solid var(--border-color);display:flex;justify-content:flex-end;gap:1rem}.btn-save{padding:12px 30px;border-radius:10px;border:none;background-color:var(--primary-color);color:#fff;font-weight:600;cursor:pointer;display:flex;align-items:center;gap:8px;transition:.3s}.btn-save:hover{opacity:.9;transform:translateY(-2px);box-shadow:0 5px 15px var(--box-shadow)}.btn-cancel{padding:12px 20px;border-radius:10px;border:2px solid transparent;background:transparent;color:var(--sub-text-color);font-weight:600;cursor:pointer}.btn-cancel:hover{color:var(--text-color);background-color:var(--input-background-color)}@media(max-width:900px){.notas-filter-section .filter-grid{grid-template-columns:1fr 1fr}}@media(max-width:768px){.notas-filter-section .filter-grid{grid-template-columns:1fr;gap:1rem}.button-group{margin-top:10px}.grades-table th,.grades-table td{padding:10px}.student-meta{display:none}.class-header,.config-options-row{flex-direction:column;align-items:flex-start}}body.dark .grade-input{border-color:transparent;background-color:var(--input-background-color)}body.dark .class-header{background-color:var(--body-color)}body.dark .abs-input{background-color:#f1c40f1a;color:#f1c40f}body.dark .weights-panel{background-color:var(--input-background-color)}body.dark .evaluation-item{background-color:var(--sidebar-color)}*{margin:0;padding:0;box-sizing:border-box;font-family:Poppins,sans-serif}.home-content{padding:2rem 3rem 6rem;transition:var(--tran-05)}body.sidebar-open .home-content{margin-left:260px}@media(max-width:768px){.home-content{margin-left:0;padding:1rem 1rem 120px}body.sidebar-open .home-content{margin-left:0}}.page-header{margin-bottom:2rem}.page-header h1{font-size:2rem;font-weight:700;color:var(--text-color)}.page-header p{color:var(--sub-text-color)}.content-card{background-color:var(--sidebar-color);border-radius:24px;box-shadow:0 10px 40px var(--box-shadow);padding:2rem;margin-bottom:2rem}.card-header-internal{display:flex;align-items:center;gap:10px;margin-bottom:1.5rem;color:var(--primary-color);border-bottom:2px solid var(--body-color);padding-bottom:1rem}.card-header-internal h2{font-size:1.2rem;font-weight:600;color:var(--text-color)}.card-header-internal span{font-size:1.5rem}.filter-grid{display:grid;grid-template-columns:1fr 2fr 1fr;gap:1.5rem;align-items:end;margin-bottom:1rem}.input-group{display:flex;flex-direction:column;gap:8px}.input-group label{font-size:.85rem;font-weight:600;color:var(--text-color)}.custom-input{width:100%;padding:12px 15px;border-radius:10px;border:2px solid transparent;background-color:var(--input-background-color);color:var(--text-color);font-size:.9rem;transition:var(--tran-03);outline:none;appearance:none;cursor:pointer;min-height:44px}.custom-input:focus{background-color:#fff;border-color:var(--primary-color);box-shadow:0 4px 15px #0000000d}.arrow-icon{position:absolute;right:15px;top:50%;transform:translateY(-50%);color:var(--primary-color);pointer-events:none}.custom-select option{background-color:var(--sidebar-color)}.btn-search{width:100%;height:48px;border-radius:10px;border:none;background-color:var(--primary-color);color:#fff;font-weight:600;cursor:pointer;display:flex;align-items:center;justify-content:center;gap:8px;transition:.3s}.btn-search:hover{opacity:.9;transform:translateY(-2px);box-shadow:0 5px 15px var(--box-shadow)}.btn-search:disabled{opacity:.5;cursor:not-allowed;transform:none}.info-alert{background-color:#e3f2fd;color:#1976d2;padding:12px;border-radius:12px;font-size:.85rem;display:flex;align-items:center;gap:10px;margin-top:1rem}.progression-list{margin-bottom:100px}.list-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:1rem}.list-header h3{font-size:1.1rem;color:var(--text-color)}.actions-header{display:flex;align-items:center;gap:10px}.btn-text{background:none;border:none;color:var(--primary-color);font-weight:600;cursor:pointer;font-size:.85rem}.btn-text.danger{color:#e74c3c}.btn-text:hover{text-decoration:underline}.divider-v{width:1px;height:15px;background:var(--border-color)}#students-grid,.students-grid{display:flex;flex-direction:column;gap:1rem}.student-card{background-color:var(--sidebar-color);border-radius:16px;padding:1.5rem;box-shadow:0 4px 15px #00000008;display:flex;align-items:center;justify-content:space-between;border:1px solid transparent;transition:.3s;flex-wrap:wrap;gap:1rem;position:relative}.student-card:hover{border-color:var(--primary-color);transform:translate(5px)}.student-card-checkbox{display:none;position:absolute;top:1rem;right:1rem;width:24px;height:24px;cursor:pointer;z-index:10;accent-color:var(--primary-color)}.student-info{display:flex;align-items:center;gap:15px;min-width:250px}.avatar{width:45px;height:45px;border-radius:50%;background-color:var(--primary-color);color:#fff;display:flex;align-items:center;justify-content:center;font-weight:700;font-size:1rem;flex-shrink:0}.avatar img{width:100%;height:100%;border-radius:50%;object-fit:cover}.student-info h4{font-size:1rem;color:var(--text-color);margin-bottom:2px}.student-meta{display:block;font-size:.75rem;color:var(--sub-text-color);margin-bottom:5px}.btn-view-report{background:none;border:none;color:var(--sub-text-color);font-size:.8rem;cursor:pointer;display:flex;align-items:center;gap:5px;transition:.2s;padding:0}.btn-view-report:hover{color:var(--primary-color)}.action-area{display:flex;align-items:center;gap:2rem;flex:1;justify-content:flex-end}.toggle-wrapper{position:relative;width:140px;height:40px}.toggle-input{display:none}.toggle-label{position:absolute;top:0;left:0;height:100%;background-color:#ffe5e5;border-radius:30px;cursor:pointer;display:flex;align-items:center;justify-content:space-between;padding:0 15px;transition:.3s;box-shadow:inset 0 2px 5px #0000001a}.status-text{font-size:.75rem;font-weight:700;z-index:2;text-transform:uppercase;-webkit-user-select:none;user-select:none}.status-text.approved{color:#fff;opacity:0;transition:.3s}.status-text.retained{color:#e74c3c;opacity:1;transition:.3s}.slider{position:absolute;top:4px;left:4px;width:32px;height:32px;background-color:#fff;border-radius:50%;transition:.3s;z-index:1;box-shadow:0 2px 5px #0003}.toggle-input:checked+.toggle-label{background-color:#27ae60}.toggle-input:checked+.toggle-label .slider{left:calc(100% - 36px)}.toggle-input:checked+.toggle-label .status-text.approved{opacity:1}.toggle-input:checked+.toggle-label .status-text.retained{opacity:0}.destination-box{min-width:200px;text-align:right}.auto-allocation-hint{display:flex;align-items:center;gap:6px;margin-top:8px;font-size:.75rem;color:var(--sub-text-color);opacity:.8}.auto-allocation-hint i{font-size:.875rem;color:var(--primary-color)}.dest-approved,.dest-retained{display:block}.label{font-size:.75rem;color:var(--sub-text-color);display:block;margin-bottom:4px}.dest-value.success{color:#27ae60;font-size:.95rem;display:flex;align-items:center;justify-content:flex-end;gap:5px}.select-wrapper-small{position:relative;display:inline-block;width:100%}.custom-select-small{width:100%;padding:8px 30px 8px 10px;border-radius:8px;border:1px solid #e74c3c;background-color:#fff;color:#e74c3c;font-weight:600;font-size:.85rem;cursor:pointer;appearance:none}.select-wrapper-small i{position:absolute;right:10px;top:50%;transform:translateY(-50%);color:#e74c3c;pointer-events:none}.fixed-footer{position:fixed;bottom:0;right:0;width:calc(100% - 80px);background-color:var(--sidebar-color);padding:1.5rem 3rem;box-shadow:0 -5px 20px #0000000d;display:flex;justify-content:space-between;align-items:center;transition:width .5s ease;z-index:90}body.sidebar-open .fixed-footer{width:calc(100% - 260px)}.footer-info{display:flex;gap:20px;font-size:.9rem;color:var(--sub-text-color)}.footer-info strong{color:var(--text-color);font-size:1.1rem}.btn-save{padding:12px 30px;border-radius:50px;border:none;background-color:var(--primary-color);color:#fff;font-weight:600;cursor:pointer;display:flex;align-items:center;gap:8px;transition:.3s;box-shadow:0 4px 15px #695cfe4d}.btn-save:hover{opacity:.9;transform:translateY(-2px)}.btn-save:disabled{opacity:.5;cursor:not-allowed;transform:none}.modal-overlay{position:fixed;top:0;left:0;width:100%;height:100%;background:#00000080;z-index:200;display:flex;align-items:center;justify-content:center;opacity:0;visibility:hidden;transition:.3s}.modal-overlay.active{opacity:1;visibility:visible}.modal-content{background:var(--sidebar-color);width:500px;border-radius:20px;padding:2rem;transform:translateY(20px);transition:.3s;max-height:90vh;overflow-y:auto}.modal-overlay.active .modal-content{transform:translateY(0)}.modal-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:1.5rem}.modal-header h2{font-size:1.2rem;color:var(--text-color)}.modal-header p{font-size:.8rem;color:var(--sub-text-color)}.close-modal{cursor:pointer;font-size:1.5rem;color:var(--sub-text-color)}.close-modal:hover{color:var(--text-color)}.kpi-row{display:flex;gap:1rem;margin-bottom:1.5rem}.kpi-mini{flex:1;padding:10px;border-radius:10px;text-align:center}.kpi-mini span{display:block;font-size:.7rem;text-transform:uppercase;color:#fff}.kpi-mini strong{font-size:1.2rem;color:#fff}.kpi-mini.green{background-color:#27ae60}.kpi-mini.red{background-color:#e74c3c}.mini-table{width:100%;border-collapse:collapse}.mini-table th{text-align:left;font-size:.8rem;color:var(--sub-text-color);padding-bottom:5px;border-bottom:1px solid var(--border-color)}.mini-table td{padding:10px 0;font-size:.9rem;color:var(--text-color);border-bottom:1px solid var(--body-color)}.skeleton-loader{display:flex;flex-direction:column;gap:1rem;padding:1rem 0}.skeleton-row{display:flex;align-items:center;gap:1rem;padding:1rem;background-color:var(--input-background-color);border-radius:12px}.skeleton-avatar{width:45px;height:45px;border-radius:50%;background:linear-gradient(90deg,var(--input-background-color) 25%,var(--body-color) 50%,var(--input-background-color) 75%);background-size:200% 100%;animation:skeleton-loading 1.5s infinite}.skeleton-text{flex:1;height:20px;border-radius:4px;background:linear-gradient(90deg,var(--input-background-color) 25%,var(--body-color) 50%,var(--input-background-color) 75%);background-size:200% 100%;animation:skeleton-loading 1.5s infinite}.skeleton-badge{width:100px;height:24px;border-radius:12px;background:linear-gradient(90deg,var(--input-background-color) 25%,var(--body-color) 50%,var(--input-background-color) 75%);background-size:200% 100%;animation:skeleton-loading 1.5s infinite}@keyframes skeleton-loading{0%{background-position:200% 0}to{background-position:-200% 0}}@media(max-width:768px){.page-header h1{font-size:1.5rem}.page-header p{font-size:.9rem}.content-card{padding:1.5rem 1rem;border-radius:16px}.card-header-internal h2{font-size:1rem}.filter-grid{grid-template-columns:1fr;gap:1rem}.input-group label{font-size:.8rem}.custom-input{font-size:1rem;min-height:44px}.btn-search{min-height:48px;font-size:1rem}.info-alert{font-size:.8rem;padding:10px}.list-header{flex-direction:column;align-items:flex-start;gap:1rem}.list-header h3{font-size:1rem}.actions-header{width:100%;justify-content:space-between}.btn-text{font-size:.85rem;padding:8px 0}.student-card{flex-direction:column;align-items:stretch;padding:1rem;gap:1rem}.student-card:hover{transform:none}.student-card-checkbox{position:absolute;top:.75rem;right:.75rem;width:28px;height:28px}.student-info{min-width:auto;width:100%;padding-right:2.5rem}.student-info h4{font-size:1rem;margin-bottom:4px}.student-meta{font-size:.8rem;margin-bottom:8px}.btn-view-report{font-size:.85rem;padding:8px 0;width:100%;justify-content:center;margin-top:8px;border-top:1px solid var(--border-color)}.action-area{width:100%;flex-direction:column;gap:1.25rem;align-items:stretch;border-top:1px solid var(--border-color);padding-top:1rem;margin-top:.5rem}.toggle-wrapper{width:100%;height:44px}.destination-box{min-width:auto;width:100%;text-align:left}.dest-approved,.dest-retained{width:100%}.custom-select-small{width:100%;min-height:44px;font-size:1rem}.fixed-footer{width:100%!important;left:0;right:0;padding:1rem;flex-direction:column;gap:1rem;box-shadow:0 -5px 20px #00000026}.footer-info{width:100%;justify-content:space-between;font-size:.85rem}.btn-save{width:100%;min-height:48px;font-size:1rem;justify-content:center;border-radius:12px}.modal-overlay{align-items:flex-end;padding:0}.modal-content{width:100%;max-width:100%;border-radius:24px 24px 0 0;max-height:90vh;transform:translateY(100%);padding:1.5rem 1rem}.modal-overlay.active .modal-content{transform:translateY(0)}.modal-header{margin-bottom:1rem}.modal-header h2{font-size:1.1rem}.kpi-row{flex-direction:column;gap:.75rem}.kpi-mini{width:100%}.mini-table{font-size:.85rem}.mini-table th,.mini-table td{padding:8px 0}}@media(min-width:769px)and (max-width:1024px){.home-content{padding:1.5rem 2rem 6rem}.filter-grid{grid-template-columns:1fr 1.5fr 1fr;gap:1rem}.student-card{padding:1.25rem}.action-area{gap:1.5rem}}body.dark .info-alert{background-color:#1976d21a;color:#64b5f6}body.dark .student-card{background-color:var(--body-color)}body.dark .custom-select-small{background-color:var(--input-background-color);color:#e74c3c}@media(max-width:768px){button,.btn-text,.btn-view-report,.toggle-label,.custom-select-small,select{-webkit-tap-highlight-color:rgba(105,92,254,.2);touch-action:manipulation}.student-card{font-size:.95rem}.students-grid{gap:1.25rem}.student-card-checkbox{filter:drop-shadow(0 2px 4px rgba(0,0,0,.1))}.modal-content{overflow-x:hidden}.progression-list{margin-bottom:140px}}.two-factor-setup{padding:2rem;max-width:500px;margin:0 auto}.modal-overlay.active{z-index:10000!important}.two-factor-header{text-align:center;margin-bottom:2rem}.two-factor-header h2{font-size:1.5rem;margin-bottom:.5rem;color:var(--text-color)}.two-factor-header p{color:var(--text-color-secondary);font-size:.9rem}.qr-code-container{display:flex;flex-direction:column;align-items:center;margin:2rem 0}.qr-code-wrapper{padding:1rem;background:#fff;border-radius:12px;box-shadow:0 2px 8px #0000001a;margin-bottom:1.5rem}.qr-code-placeholder{width:256px;height:256px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:1rem;background:#f5f5f5;border-radius:12px;color:var(--text-color-secondary)}.qr-code-placeholder p{margin:0;font-size:.9rem}.secret-backup{text-align:center;margin-top:1rem}.secret-label{font-size:.85rem;color:var(--text-color-secondary);margin-bottom:.5rem}.secret-code{display:inline-block;padding:.75rem 1.5rem;background:#f5f5f5;border-radius:8px;font-family:Courier New,monospace;font-size:.9rem;letter-spacing:2px;word-break:break-all;max-width:100%}.verification-section{margin:2rem 0}.verification-section label{display:block;margin-bottom:.5rem;font-weight:500;color:var(--text-color)}.verification-input{width:100%;padding:1rem;font-size:1.5rem;text-align:center;letter-spacing:.5rem;border:2px solid var(--border-color);border-radius:8px;background:var(--bg-color);color:var(--text-color);font-family:Courier New,monospace;transition:border-color .3s}.verification-input:focus{outline:none;border-color:var(--primary-color)}.two-factor-actions{display:flex;gap:1rem;justify-content:flex-end;margin-top:2rem}.two-factor-setup .btn-primary{display:inline-flex;align-items:center;justify-content:center;gap:.625rem;padding:1rem 2rem;font-size:1rem;font-weight:600;border-radius:12px;border:none;background:var(--primary-color);color:#fff;cursor:pointer;transition:all .3s cubic-bezier(.4,0,.2,1);box-shadow:0 4px 12px #00000026;width:100%;min-height:48px}.two-factor-setup .btn-primary:hover:not(:disabled){opacity:.95;transform:translateY(-2px);box-shadow:0 6px 16px #0003}.two-factor-setup .btn-primary:active:not(:disabled){transform:translateY(0);box-shadow:0 2px 8px #00000026}.two-factor-setup .btn-primary:disabled{opacity:.6;cursor:not-allowed;transform:none;box-shadow:0 2px 4px #0000001a}.two-factor-setup .btn-primary i{font-size:1.2rem}.two-factor-setup .btn-secondary{display:inline-flex;align-items:center;justify-content:center;gap:.625rem;padding:.875rem 1.5rem;font-size:.95rem;font-weight:600;border-radius:10px;border:2px solid var(--border-color);background:var(--bg-color-secondary);color:var(--text-color);cursor:pointer;transition:all .3s cubic-bezier(.4,0,.2,1);box-shadow:0 2px 6px #00000014}.two-factor-setup .btn-secondary:hover:not(:disabled){background:var(--bg-color-secondary);border-color:var(--primary-color);color:var(--primary-color);transform:translateY(-2px);box-shadow:0 4px 12px #0000001f}.two-factor-setup .btn-secondary:active:not(:disabled){transform:translateY(0);box-shadow:0 2px 6px #0000001a}.two-factor-setup .btn-secondary:disabled{opacity:.6;cursor:not-allowed;transform:none}.two-factor-setup .btn-secondary i{font-size:1.1rem}.error-message{padding:.75rem;background:#fee;color:#c33;border-radius:6px;margin-top:1rem;font-size:.9rem}.backup-codes-modal{max-width:600px;max-height:90vh;overflow-y:auto}.backup-codes-warning{display:flex;gap:1rem;padding:1rem;background:#fff3cd;border:1px solid #ffc107;border-radius:8px;margin-bottom:1.5rem}.backup-codes-warning i{font-size:1.5rem;color:#ffc107;flex-shrink:0}.backup-codes-warning p{margin:0;color:#856404;font-size:.9rem}.backup-codes-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:1rem;margin:1.5rem 0}.backup-code-item{padding:1rem;background:#f5f5f5;border-radius:8px;text-align:center}.backup-code-item code{font-family:Courier New,monospace;font-size:1.1rem;font-weight:600;letter-spacing:2px;color:var(--text-color)}.backup-codes-actions{display:flex;gap:1rem;margin-top:1rem}.btn-copy-codes,.btn-download-codes{flex:1;display:inline-flex;align-items:center;justify-content:center;gap:.5rem;padding:.875rem 1.5rem;font-size:.95rem;font-weight:600;border-radius:10px;border:2px solid var(--border-color);background:var(--bg-color-secondary);color:var(--text-color);cursor:pointer;transition:all .3s ease;box-shadow:0 2px 8px #00000014}.btn-copy-codes:hover,.btn-download-codes:hover{background:var(--primary-color);color:#fff;border-color:var(--primary-color);transform:translateY(-2px);box-shadow:0 4px 12px #00000026}.btn-copy-codes:active,.btn-download-codes:active{transform:translateY(0);box-shadow:0 2px 6px #0000001a}.btn-copy-codes i,.btn-download-codes i{font-size:1.1rem}.confirm-checkbox{display:flex;align-items:center;gap:.5rem;margin-bottom:1rem;cursor:pointer}.confirm-checkbox input[type=checkbox]{width:18px;height:18px;cursor:pointer}.confirm-checkbox span{font-size:.9rem;color:var(--text-color)}.security-section{margin-top:2rem}.two-factor-status{display:flex;align-items:center;justify-content:space-between;padding:1.5rem;background:var(--bg-color-secondary);border-radius:12px;margin-bottom:1.5rem}.two-factor-status-info{flex:1}.two-factor-status-info h3{margin:0 0 .5rem;font-size:1.1rem;color:var(--text-color)}.two-factor-status-info p{margin:0;font-size:.9rem;color:var(--text-color-secondary)}.two-factor-status-badge{display:inline-flex;align-items:center;gap:.5rem;padding:.5rem 1rem;border-radius:20px;font-size:.85rem;font-weight:600}.two-factor-status-badge.enabled{background:#d4edda;color:#155724}.two-factor-status-badge.disabled{background:#f8d7da;color:#721c24}.two-factor-actions-inline{display:flex;gap:1rem}.btn-danger{background:#dc3545;color:#fff;border:none;padding:.75rem 1.5rem;border-radius:8px;cursor:pointer;font-weight:500;transition:background .3s}.btn-danger:hover:not(:disabled){background:#c82333}.btn-danger:disabled{opacity:.6;cursor:not-allowed}.two-factor-token-modal{max-width:450px}.modal-message{margin-bottom:1.5rem;color:var(--text-color-secondary);font-size:.9rem;line-height:1.5}.modal-footer{display:flex;gap:1rem;justify-content:flex-end;margin-top:1.5rem;padding-top:1.5rem;border-top:1px solid var(--border-color)}.modal-footer .btn-primary,.modal-footer .btn-secondary{display:inline-flex;align-items:center;justify-content:center;gap:.5rem;padding:.875rem 1.75rem;font-size:.95rem;font-weight:600;border-radius:10px;border:none;cursor:pointer;transition:all .3s ease;box-shadow:0 2px 8px #0000001a;min-width:120px}.modal-footer .btn-primary{background:var(--primary-color);color:#fff}.modal-footer .btn-primary:hover:not(:disabled){opacity:.9;transform:translateY(-2px);box-shadow:0 4px 12px #00000026}.modal-footer .btn-primary:active:not(:disabled){transform:translateY(0);box-shadow:0 2px 6px #0000001a}.modal-footer .btn-primary:disabled{opacity:.6;cursor:not-allowed;transform:none}.modal-footer .btn-secondary{background:var(--bg-color-secondary);color:var(--text-color);border:2px solid var(--border-color)}.modal-footer .btn-secondary:hover:not(:disabled){background:var(--bg-color-secondary);border-color:var(--primary-color);color:var(--primary-color);transform:translateY(-2px);box-shadow:0 4px 12px #0000001a}.modal-footer .btn-secondary:active:not(:disabled){transform:translateY(0);box-shadow:0 2px 6px #0000001a}.modal-footer .btn-secondary:disabled{opacity:.6;cursor:not-allowed;transform:none}.modal-footer .btn-primary i,.modal-footer .btn-secondary i{font-size:1.1rem}.help-text{margin-top:.5rem;font-size:.85rem;color:var(--text-color-secondary);text-align:center}.financial-config-section{background:var(--bg-color-secondary);border-radius:12px;padding:2rem;margin-bottom:2rem}.financial-config-header{margin-bottom:2rem}.financial-config-header h2{font-size:1.5rem;margin:.5rem 0;color:var(--text-color);display:flex;align-items:center;gap:.75rem}.financial-config-header i{font-size:1.75rem;color:var(--primary-color)}.financial-config-subtitle{color:var(--text-color-secondary, #6b7280);font-size:.875rem;margin:0 0 1.5rem}.financial-config-form{display:flex;flex-direction:column;gap:1.5rem}.form-group{display:flex;flex-direction:column;gap:.5rem}.form-row{display:grid;grid-template-columns:repeat(2,1fr);gap:1.5rem}@media(max-width:768px){.form-row{grid-template-columns:1fr}}.form-group label{font-weight:600;color:var(--text-color);font-size:.95rem}.required{color:#dc3545}.form-input{padding:.875rem;border:2px solid var(--border-color);border-radius:8px;background:var(--bg-color);color:var(--text-color);font-size:1rem;transition:border-color .3s}.form-input:focus{outline:none;border-color:var(--primary-color)}.asaas-badge{display:flex;align-items:center;gap:.5rem;font-size:.8rem;font-weight:300;color:var(--sub-text-color, #6b7280);letter-spacing:.02em}.asaas-logo{height:20px;width:auto;max-width:72px;object-fit:contain;object-position:left center;vertical-align:middle;display:inline-block}.form-group small{color:var(--text-color-secondary);font-size:.85rem}.checkbox-label-group{padding:1rem;background:var(--bg-color);border-radius:8px;border:2px solid var(--border-color)}.checkbox-label{display:flex;align-items:center;gap:.75rem;cursor:pointer;font-weight:500}.checkbox-label input[type=checkbox]{width:20px;height:20px;cursor:pointer}.financial-checkbox-help{font-size:.875rem;line-height:1.4;color:var(--text-color-secondary, #6b7280);margin:.5rem 0 0;display:block}.financial-legal-notice{font-size:.875rem;line-height:1.4;color:#dc2626;margin:.75rem 0 0;padding-left:1.75rem;max-width:100%}.alert{padding:1rem;border-radius:8px;display:flex;align-items:center;gap:.75rem;font-size:.95rem}.alert-error{background:#fee;color:#c33;border:1px solid #fcc}.alert-success{background:#efe;color:#3c3;border:1px solid #cfc}.form-actions{display:flex;justify-content:flex-end;margin-top:1rem}.btn-primary{display:inline-flex;align-items:center;gap:.625rem;padding:1rem 2rem;font-size:1rem;font-weight:600;border-radius:12px;border:none;background:var(--primary-color);color:#fff;cursor:pointer;transition:all .3s cubic-bezier(.4,0,.2,1);box-shadow:0 4px 12px #00000026}.btn-primary:hover:not(:disabled){opacity:.95;transform:translateY(-2px);box-shadow:0 6px 16px #0003}.btn-primary:disabled{opacity:.6;cursor:not-allowed;transform:none}.loading-spinner{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:3rem;gap:1rem;color:var(--text-color-secondary)}.loading-spinner i{font-size:2rem;color:var(--primary-color)}.time-slots-config{padding:1.5rem}.time-slots-error{background:#e74c3c1a;border:2px solid #e74c3c;border-radius:8px;padding:1rem;margin-bottom:1.5rem;color:#e74c3c;display:flex;align-items:center;gap:.5rem}.time-slots-tabs{display:flex;gap:1rem;margin-bottom:2rem;border-bottom:2px solid var(--border-color)}.time-slots-tab{padding:.75rem 1.5rem;background:none;border:none;border-bottom:3px solid transparent;color:var(--sub-text-color);font-size:.95rem;font-weight:500;cursor:pointer;display:flex;align-items:center;gap:.5rem;transition:all .2s;font-family:Poppins,sans-serif}.time-slots-tab:hover{color:var(--text-color);background:var(--body-color)}.time-slots-tab.active{color:var(--primary-color);border-bottom-color:var(--primary-color)}.time-slots-tab-new{color:var(--primary-color);border-bottom-color:transparent}.time-slots-tab-new:hover{color:var(--primary-color);border-bottom-color:var(--primary-color)}.time-slots-tabs-loading{padding:.75rem 1rem;color:var(--sub-text-color);font-size:.9rem}.time-slots-modal-overlay{position:fixed;inset:0;background:#0006;display:flex;align-items:center;justify-content:center;z-index:1000}.time-slots-modal{background:var(--sidebar-color);border-radius:16px;padding:1.5rem 2rem;min-width:320px;box-shadow:0 10px 40px var(--box-shadow)}.time-slots-modal h3{margin:0 0 1rem;color:var(--primary-color);font-size:1.2rem}.time-slots-modal-form{display:flex;flex-direction:column;gap:.5rem;margin-bottom:1.5rem}.time-slots-modal-form label{font-size:.85rem;font-weight:600;color:var(--text-color)}.time-slots-modal-form input{padding:.5rem .75rem;border:1px solid var(--border-color);border-radius:8px;font-family:inherit}.time-slots-modal-actions{display:flex;gap:.75rem;justify-content:flex-end}.time-slots-loading{text-align:center;padding:3rem;color:var(--sub-text-color)}.time-slots-loading i{font-size:2rem;margin-bottom:1rem}.time-slots-list{display:flex;flex-direction:column;gap:1rem}.time-slot-item{background:var(--sidebar-color);border:2px solid var(--border-color);border-radius:12px;padding:1.5rem;display:flex;justify-content:space-between;align-items:center;transition:all .2s}.time-slot-item:hover{border-color:var(--primary-color);box-shadow:0 2px 8px #695cfe1a}.time-slot-item.is-break{background:var(--body-color);opacity:.8}.time-slot-item.editing{border-color:var(--primary-color);box-shadow:0 0 0 3px #695cfe1a}.time-slot-info{display:flex;align-items:center;gap:1rem;flex:1}.time-slot-order{width:40px;height:40px;border-radius:50%;background:var(--primary-color);color:#fff;display:flex;align-items:center;justify-content:center;font-weight:600;font-size:.9rem}.time-slot-details{flex:1}.time-slot-name{font-weight:600;font-size:1rem;color:var(--text-color);margin-bottom:.25rem;display:flex;align-items:center;gap:.5rem}.break-badge{background:var(--sub-text-color);color:#fff;padding:.25rem .5rem;border-radius:4px;font-size:.75rem;font-weight:500}.time-slot-time{font-size:.85rem;color:var(--sub-text-color)}.time-slot-edit-form{display:flex;align-items:center;gap:1rem;flex:1;flex-wrap:wrap}.time-slot-input{padding:.75rem;border:2px solid var(--border-color);border-radius:8px;background:var(--input-background-color);color:var(--text-color);font-size:.95rem;font-family:Poppins,sans-serif;transition:all .2s}.time-slot-input:focus{outline:none;border-color:var(--primary-color);box-shadow:0 0 0 3px #695cfe1a}.time-slot-input.time-input{width:120px}.time-slot-input:first-of-type{flex:1;min-width:200px}.time-separator{color:var(--sub-text-color);font-weight:600}.time-slot-checkbox{display:flex;align-items:center;gap:.5rem;color:var(--text-color);font-size:.9rem;cursor:pointer}.time-slot-checkbox input[type=checkbox]{width:18px;height:18px;cursor:pointer;accent-color:var(--primary-color)}.time-slot-actions{display:flex;gap:.5rem;margin-left:1rem}.btn-edit,.btn-delete,.btn-save,.btn-cancel{padding:.5rem 1rem;border:none;border-radius:8px;font-size:.9rem;font-weight:600;cursor:pointer;transition:all .2s;display:flex;align-items:center;gap:.5rem;font-family:Poppins,sans-serif}.btn-edit{background:var(--primary-color);color:#fff}.btn-edit:hover:not(:disabled){background:var(--second-color);transform:translateY(-2px)}.btn-delete{background:#e74c3c;color:#fff}.btn-delete:hover:not(:disabled){background:#c0392b;transform:translateY(-2px)}.btn-save{background:var(--primary-color);color:#fff}.btn-save:hover:not(:disabled){background:var(--second-color)}.btn-cancel{background:var(--button-color);color:var(--text-color);border:2px solid var(--border-color)}.btn-cancel:hover:not(:disabled){background:var(--body-color)}.btn-edit:disabled,.btn-delete:disabled{opacity:.5;cursor:not-allowed;transform:none!important}.time-slot-add-button{width:100%;padding:1.5rem;background:var(--body-color);border:2px dashed var(--border-color);border-radius:12px;color:var(--text-color);font-size:1rem;font-weight:600;cursor:pointer;display:flex;align-items:center;justify-content:center;gap:.5rem;transition:all .2s;font-family:Poppins,sans-serif}.time-slot-add-button:hover{border-color:var(--primary-color);background:var(--sidebar-color);color:var(--primary-color)}.time-slot-add-form{border-style:solid;border-color:var(--primary-color)}@media(max-width:768px){.time-slot-edit-form{flex-direction:column;align-items:stretch}.time-slot-actions{margin-left:0;margin-top:1rem;width:100%}.btn-edit,.btn-delete,.btn-save,.btn-cancel{flex:1}}.configuracoes-content-card *{max-width:100%;box-sizing:border-box}.configuracoes-content-card{background-color:var(--sidebar-color);border-radius:24px;box-shadow:0 10px 40px var(--box-shadow);padding:2.5rem;margin-bottom:2rem;width:100%;max-width:100%;box-sizing:border-box;overflow-x:hidden}.configuracoes-card-header-internal{display:flex;align-items:center;gap:10px;margin-bottom:2rem;color:var(--primary-color);border-bottom:2px solid var(--body-color);padding-bottom:1rem}.configuracoes-card-header-internal h2{font-size:1.2rem;font-weight:600;color:var(--text-color)}.configuracoes-card-header-internal span{font-size:1.5rem}.configuracoes-finance-wrapper{background-color:#fff;border-radius:1rem;box-shadow:0 1px 3px #0000001a,0 1px 2px -1px #0000001a;padding:2.5rem}.configuracoes-finance-wrapper .financial-config-section{background:transparent;border-radius:0;box-shadow:none;margin-bottom:0;padding:0}.visual-grid{display:grid;grid-template-columns:1fr 1fr;gap:3rem;margin-bottom:2rem}.upload-area h3,.colors-area h3{font-size:1rem;color:var(--text-color);margin-bottom:10px}.upload-area p{font-size:.8rem;color:var(--sub-text-color);margin-bottom:1.5rem}.upload-row{display:flex;gap:2rem;align-items:flex-start;flex-wrap:wrap;width:100%;max-width:100%;box-sizing:border-box}.upload-box{display:flex;flex-direction:column;gap:10px;align-items:center;width:100%;max-width:100%;box-sizing:border-box}.upload-box label{font-size:.85rem;font-weight:600;color:var(--text-color)}.preview-container{width:200px;max-width:100%;height:100px;border:2px dashed var(--border-color);border-radius:12px;display:flex;align-items:center;justify-content:center;position:relative;overflow:hidden;cursor:pointer;transition:.3s;background-color:var(--input-background-color)}.preview-container.small{width:80px;height:80px}.preview-container img{max-width:90%;max-height:90%;object-fit:contain}.overlay-upload{position:absolute;top:0;left:0;width:100%;height:100%;background:#00000080;display:flex;align-items:center;justify-content:center;opacity:0;transition:.3s;color:#fff;font-size:2rem}.preview-container:hover .overlay-upload{opacity:1}.preview-container input{position:absolute;top:0;left:0;width:100%;height:100%;opacity:0;cursor:pointer}.file-name{font-size:.75rem;color:var(--sub-text-color);max-width:100%;width:100%;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.btn-delete-logo{margin-top:10px;padding:8px 16px;background-color:#ef4444;color:#fff;border:none;border-radius:8px;font-size:.85rem;font-weight:600;cursor:pointer;display:flex;align-items:center;gap:6px;transition:all .3s ease;width:100%;justify-content:center}.btn-delete-logo:hover{background-color:#dc2626;transform:translateY(-1px);box-shadow:0 4px 8px #ef44444d}.btn-delete-logo:active{transform:translateY(0)}.btn-delete-logo i{font-size:1rem}.colors-area{display:flex;flex-direction:column}.color-row-wrapper{display:flex;gap:2rem;margin-bottom:1.5rem;flex-wrap:wrap;width:100%;max-width:100%;box-sizing:border-box}.color-set{flex:1;min-width:200px}.color-set.hidden{display:none}.theme-label{font-size:.85rem;color:var(--sub-text-color);margin-bottom:10px;display:flex;align-items:center;gap:5px}.color-inputs{display:flex;flex-direction:column;gap:1rem}.color-picker-wrapper{display:flex;align-items:center;gap:10px}input[type=color]{width:50px;height:50px;border:none;border-radius:12px;cursor:pointer;background:none;padding:0}.theme-preview-box{background-color:var(--input-background-color);padding:1rem;border-radius:12px;margin-top:auto;display:flex;flex-direction:row;gap:10px;height:330px;width:100%;max-width:100%;overflow:hidden}.svg-folder{width:50%;height:100%;background-color:#fff;border:1px dashed var(--border-color);display:flex;align-items:center;justify-content:center;margin-top:5px;color:#ccc;font-size:.8rem;border-radius:8px;margin-bottom:5px}.svg-folder svg{width:100%;height:100%;object-fit:contain}.svg-folder svg .primary-color-light:is(rect,path){stroke:var(--primary-color-light);fill:var(--primary-color-light)}.svg-folder svg .primary-color-light:is(stop){stop-color:var(--primary-color-light)}.svg-folder svg .second-color-light:is(rect,path){stroke:var(--second-color-light);fill:var(--second-color-light)}.svg-folder svg .second-color-light:is(stop){stop-color:var(--second-color-light)}.svg-folder svg .primary-color-dark:is(rect,path){stroke:var(--primary-color-dark);fill:var(--primary-color-dark)}.svg-folder svg .primary-color-dark:is(stop){stop-color:var(--primary-color-dark)}.svg-folder svg .second-color-dark:is(rect,path){stroke:var(--second-color-dark);fill:var(--second-color-dark)}.svg-folder svg .second-color-dark:is(stop){stop-color:var(--second-color-dark)}s .svg-folder.dark{background-color:#333;border-color:#555}.row{display:grid;grid-template-columns:1fr 1fr;gap:1.5rem}.input-box{display:flex;flex-direction:column;gap:8px}.input-box label{font-size:.85rem;font-weight:600;color:var(--text-color)}.input-with-icon{position:relative}.input-with-icon i{position:absolute;right:15px;top:50%;transform:translateY(-50%);color:var(--sub-text-color)}.custom-input{width:100%;padding:12px 15px;border-radius:10px;border:2px solid transparent;background-color:var(--input-background-color);color:var(--text-color);font-size:.95rem;transition:var(--tran-03);outline:none}.custom-input:focus{background-color:#fff;border-color:var(--primary-color)}.help-text{font-size:.75rem;color:var(--sub-text-color)}.academic-config{display:flex;flex-direction:column;gap:2rem}.config-block{padding-bottom:1.5rem;border-bottom:1px dashed var(--border-color)}.config-block.border-none{border-bottom:none}.config-block:last-child{border-bottom:none}.block-label{font-size:1rem;font-weight:600;color:var(--text-color);display:block;margin-bottom:1rem}.scope-content{display:none;animation:fadeIn .4s ease}.scope-content.active{display:block}.section-desc{font-size:.9rem;color:var(--sub-text-color);margin-bottom:1.5rem}.mb-15{margin-bottom:1.5rem}.radio-group-modern{display:flex;gap:1rem;flex-wrap:wrap}.radio-card{cursor:pointer;position:relative;flex:1;min-width:120px}.radio-card input{display:none}.radio-card .content{display:flex;flex-direction:column;align-items:center;justify-content:center;height:100px;background-color:var(--input-background-color);border:2px solid transparent;border-radius:16px;transition:.3s;color:var(--sub-text-color);text-align:center;padding:10px}.radio-card .content i{font-size:1.8rem;margin-bottom:5px}.radio-card .content span{font-weight:600;font-size:.9rem}.radio-card .content small{font-size:.7rem;font-weight:400}.radio-card input:checked+.content{background-color:#fff;border-color:var(--primary-color);color:var(--primary-color);box-shadow:0 4px 15px #695cfe33}.stage-item{background-color:var(--input-background-color);border-radius:12px;margin-bottom:10px}.stage-item summary{padding:15px;font-weight:600;cursor:pointer;color:var(--text-color);outline:none}.stage-body{padding:15px;border-top:1px solid var(--border-color)}.toggle-switch-label{display:flex;align-items:center;gap:10px;cursor:pointer}.toggle-switch-label input{display:none}.toggle-switch-label .slider{width:44px;height:24px;background-color:#ccc;border-radius:20px;position:relative;transition:.3s}.toggle-switch-label .slider:before{content:"";position:absolute;top:3px;left:3px;width:18px;height:18px;background-color:#fff;border-radius:50%;transition:.3s}.toggle-switch-label input:checked+.slider{background-color:var(--primary-color)}.toggle-switch-label input:checked+.slider:before{transform:translate(20px)}.label-text{font-weight:600;color:var(--text-color);font-size:.9rem}.select-wrapper{position:relative}.select-wrapper .arrow-icon{position:absolute;right:15px;top:50%;transform:translateY(-50%);color:var(--primary-color);pointer-events:none}.custom-select{appearance:none;cursor:pointer}.form-footer-fixed{position:fixed;bottom:0;right:0;width:calc(100% - 80px);background-color:var(--sidebar-color);padding:1.5rem;box-shadow:0 -4px 20px #0000000d;display:flex;justify-content:flex-end;z-index:90;transition:width .5s}body.sidebar-open .form-footer-fixed{width:calc(100% - 260px)}.configuracoes-btn-save-all{background-color:var(--primary-color);color:#fff;border:none;padding:12px 30px;border-radius:50px;font-weight:700;font-size:1rem;cursor:pointer;display:flex;gap:10px;align-items:center;box-shadow:0 4px 15px #695cfe4d;transition:.3s}.configuracoes-btn-save-all:hover{transform:translateY(-2px);opacity:.9}.concept-config{margin-top:1rem}.concept-list{margin-bottom:1rem}.concept-table{width:100%;border-collapse:collapse;margin-bottom:1rem;background-color:var(--sidebar-color);border-radius:8px;overflow:hidden}.concept-table thead{background-color:var(--primary-color);color:#fff}.concept-table th{padding:12px;text-align:left;font-weight:600;font-size:.9rem}.concept-table td{padding:10px 12px;border-bottom:1px solid var(--border-color)}.concept-table tbody tr:last-child td{border-bottom:none}.concept-table tbody tr:hover{background-color:var(--input-background-color)}.concept-table input,.concept-table select{width:100%;padding:8px;border:1px solid var(--border-color);border-radius:6px;background-color:var(--input-background-color);color:var(--text-color);font-size:.9rem}.concept-table input:focus,.concept-table select:focus{outline:none;border-color:var(--primary-color)}.btn-add-concept{background-color:var(--primary-color);color:#fff;border:none;padding:10px 20px;border-radius:8px;font-weight:600;font-size:.9rem;cursor:pointer;display:inline-flex;align-items:center;gap:8px;transition:all .3s}.btn-add-concept:hover{background-color:var(--primary-color);opacity:.9;transform:translateY(-1px)}.btn-remove-concept{background-color:#ef4444;color:#fff;border:none;padding:6px 12px;border-radius:6px;cursor:pointer;display:inline-flex;align-items:center;justify-content:center;transition:all .3s;font-size:1rem}.btn-remove-concept:hover{background-color:#dc2626;transform:scale(1.05)}.add-concept-form{display:flex;gap:1rem;align-items:flex-end;flex-wrap:wrap;margin-top:1rem;padding:1rem;background-color:var(--input-background-color);border-radius:8px;border:1px solid var(--border-color)}.add-concept-form .input-box{flex:1 1 auto;min-width:120px}.add-concept-form .input-box:first-child{flex:0 0 100px}.add-concept-form .input-box:last-of-type{flex:0 0 120px}.btn-add-concept{background:none;border:1px dashed var(--border-color);color:var(--primary-color);padding:10px 20px;border-radius:8px;cursor:pointer;display:flex;align-items:center;gap:5px;font-weight:600;transition:.3s}.btn-add-concept:hover{border-color:var(--primary-color);background-color:#695cfe1a}@media(max-width:900px){.visual-grid{grid-template-columns:1fr;gap:2rem}.form-footer-fixed{width:100%;justify-content:center}.theme-preview-box{flex-direction:column;height:auto;min-height:330px;width:100%;max-width:100%}.svg-folder{width:100%;height:300px}.color-row-wrapper{flex-direction:column}.color-set{min-width:100%}}@media(max-width:768px){.configuracoes-content-card{padding:1.5rem;border-radius:16px}.home-content{padding:1.5rem;margin-left:0}.row{grid-template-columns:1fr;gap:1rem}.upload-row{flex-direction:column;gap:1.5rem}.upload-box{width:100%}.preview-container{width:100%;max-width:300px}.preview-container.small{width:100%;max-width:150px}.file-name{max-width:100%}.color-row-wrapper{flex-direction:column;gap:1.5rem}.color-set{min-width:100%}.color-picker-wrapper{flex-wrap:wrap}.theme-preview-box{flex-direction:column;height:auto;padding:.75rem}.svg-folder{width:100%;height:250px;margin-bottom:10px}.svg-folder svg{max-width:100%;height:auto}.visual-grid{grid-template-columns:1fr;gap:1.5rem}.form-footer-fixed{width:100%;padding:1rem;justify-content:center}.configuracoes-btn-save-all{width:100%;justify-content:center;padding:14px 20px}.radio-group-modern{flex-direction:column}.radio-card{min-width:100%}.input-box,.custom-input{width:100%}}@media(max-width:480px){.configuracoes-content-card{padding:1rem;margin-bottom:1rem}.configuracoes-card-header-internal{flex-direction:column;align-items:flex-start;gap:.5rem}.configuracoes-card-header-internal h2{font-size:1rem}.upload-area h3,.colors-area h3{font-size:.9rem}.preview-container{height:80px}.preview-container.small{height:60px}.svg-folder{height:200px}.theme-preview-box{padding:.5rem}.color-picker-wrapper{flex-direction:column;align-items:stretch}input[type=color]{width:100%;max-width:100px;height:50px}.form-footer-fixed{padding:.75rem;width:100%!important;left:0;right:0}body.sidebar-open .form-footer-fixed{width:100%!important}.configuracoes-btn-save-all{font-size:.9rem;padding:12px 16px}}@keyframes fadeIn{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}@keyframes slideIn{0%{opacity:0;transform:translate(100%)}to{opacity:1;transform:translate(0)}}@keyframes slideOut{0%{opacity:1;transform:translate(0)}to{opacity:0;transform:translate(100%)}}body.dark .custom-input{border-color:transparent}body.dark .custom-input:focus{background-color:var(--body-color);border-color:var(--primary-color)}body.dark .radio-card .content{background-color:var(--input-background-color)}body.dark .radio-card input:checked+.content{background-color:#2d2d3f}body.dark .stage-item{background-color:var(--sidebar-color)}.modal-overlay{position:fixed;top:0;left:0;width:100%;height:100%;background-color:#00000080;display:flex;align-items:center;justify-content:center;z-index:10000}.modal-content{background-color:var(--sidebar-color);border-radius:16px;padding:2rem;max-width:500px;width:90%;box-shadow:0 10px 40px #0000004d}.modal-header h3{margin:0 0 1rem;color:var(--text-color);font-size:1.2rem}.modal-body{margin-bottom:1.5rem}.modal-body p{color:var(--sub-text-color);line-height:1.6;margin-bottom:1rem}.modal-footer{display:flex;gap:1rem;justify-content:flex-end}.btn-cancel,.btn-confirm{padding:10px 20px;border-radius:8px;border:none;font-weight:600;cursor:pointer;transition:.3s}.btn-cancel{background-color:var(--input-background-color);color:var(--text-color)}.btn-cancel:hover{background-color:var(--border-color)}.btn-confirm{background-color:var(--primary-color);color:#fff}.btn-confirm:hover{opacity:.9;transform:translateY(-1px)}.table-wrapper{margin-top:1rem;border-radius:12px;overflow:hidden;border:1px solid var(--border-color)}.series-regras-table{width:100%;border-collapse:collapse;background-color:var(--sidebar-color)}.series-regras-table thead{background-color:var(--input-background-color)}.series-regras-table th{padding:12px 16px;text-align:left;font-weight:600;color:var(--text-color);font-size:.9rem;border-bottom:2px solid var(--border-color)}.series-regras-table td{padding:12px 16px;color:var(--text-color);border-bottom:1px solid var(--border-color)}.series-regras-table tbody tr:hover{background-color:var(--input-background-color)}.series-regras-table .select-wrapper{min-width:250px}.charge-detail-modal-overlay{position:fixed;inset:0;background:#0009;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);display:flex;align-items:center;justify-content:center;z-index:10000;padding:1rem;animation:fadeIn .2s ease-out}.charge-detail-modal-content{background:var(--sidebar-color);border-radius:16px;box-shadow:0 20px 60px #0000004d;width:100%;max-width:600px;max-height:90vh;display:flex;flex-direction:column;animation:slideUp .3s ease-out;overflow:hidden}.charge-detail-modal-content .modal-header{display:flex;align-items:center;justify-content:space-between;padding:1.5rem;border-bottom:2px solid var(--border-color);background:var(--sidebar-color)}.charge-detail-modal-content .modal-header h2{margin:0;font-size:1.5rem;color:var(--text-color);display:flex;align-items:center;gap:.75rem}.charge-detail-modal-content .modal-header h2 i{font-size:1.75rem;color:var(--primary-color)}.charge-detail-modal-content .modal-close{background:transparent;border:none;font-size:1.75rem;color:var(--sub-text-color);cursor:pointer;padding:.5rem;border-radius:8px;transition:all .2s;display:flex;align-items:center;justify-content:center;width:36px;height:36px}.charge-detail-modal-content .modal-close:hover{background:var(--border-color);color:var(--text-color)}.charge-detail-modal-content .modal-body{flex:1;overflow-y:auto;padding:1.5rem}.detail-section{display:flex;flex-direction:column;gap:1rem;margin-bottom:1.5rem}.detail-row{display:flex;align-items:center;gap:1rem;padding:.75rem 0;border-bottom:1px solid var(--border-color)}.detail-row:last-child{border-bottom:none}.detail-label{font-weight:600;color:var(--sub-text-color);min-width:140px;font-size:.9rem}.detail-value{color:var(--text-color);font-size:1rem}.detail-value.highlight{font-weight:700;font-size:1.2rem;color:var(--primary-color)}.actions-section{margin-top:1.5rem;padding-top:1.5rem;border-top:2px solid var(--border-color)}.actions-section h3{margin:0 0 1rem;font-size:1.1rem;color:var(--text-color)}.action-buttons{display:flex;gap:1rem;flex-wrap:wrap}.btn-action{padding:.75rem 1.5rem;border-radius:10px;font-weight:600;font-size:.95rem;cursor:pointer;transition:all .3s;display:flex;align-items:center;gap:.5rem;border:none}.btn-action.btn-pdf{background:var(--danger-color);color:#fff}.btn-action.btn-pdf:hover{background:#c82333;transform:translateY(-2px);box-shadow:0 4px 12px #dc35454d}.btn-action.btn-pdf.btn-pdf-canceled{background:#4b5563;color:#f3f4f6}.btn-action.btn-pdf.btn-pdf-canceled:hover{background:#374151;color:#fff}.btn-action.btn-pix{background:var(--primary-color);color:#fff}.btn-action.btn-pix:hover{background:var(--primary-dark-color);transform:translateY(-2px);box-shadow:0 4px 12px #1c4ade4d}.info-section{margin-top:1.5rem;padding:1rem;background:var(--input-background-color);border-radius:10px;display:flex;align-items:center;gap:.75rem;color:var(--sub-text-color)}.info-section i{font-size:1.5rem;color:var(--primary-color)}.info-section p{margin:0;font-size:.9rem}.charge-detail-modal-content .modal-footer{display:flex;justify-content:flex-end;gap:1rem;padding:1.5rem;border-top:2px solid var(--border-color);background:var(--sidebar-color)}.charge-detail-modal-content .modal-footer .btn-primary,.charge-detail-modal-content .modal-footer .btn-secondary,.charge-detail-modal-content .modal-footer .btn-danger{padding:.75rem 1.5rem;border-radius:10px;font-weight:600;font-size:.95rem;cursor:pointer;transition:all .3s;display:flex;align-items:center;gap:.5rem;border:none}.charge-detail-modal-content .modal-footer .btn-primary{background:var(--primary-color);color:#fff}.charge-detail-modal-content .modal-footer .btn-primary:hover{background:var(--primary-dark-color);transform:translateY(-2px)}.charge-detail-modal-content .modal-footer .btn-secondary{background:var(--input-background-color);color:var(--text-color);border:2px solid var(--border-color)}.charge-detail-modal-content .modal-footer .btn-secondary:hover{background:var(--body-color);border-color:var(--primary-color);color:var(--primary-color)}.charge-detail-modal-content .modal-footer .btn-danger{background:var(--danger-color);color:#fff}.charge-detail-modal-content .modal-footer .btn-danger:hover{background:#c82333;transform:translateY(-2px)}.charge-detail-modal-content .modal-footer .btn-danger:disabled{opacity:.6;cursor:not-allowed}.badge{display:inline-block;padding:.4rem .8rem;border-radius:20px;font-size:.8rem;font-weight:700;text-transform:uppercase;letter-spacing:.5px}.home-content{padding:2rem 3rem;transition:var(--tran-05);position:relative;overflow:visible}.filters-section{margin-bottom:1.5rem}.filter-pills{display:flex;flex-wrap:wrap;gap:.75rem;padding:1rem;background:var(--sidebar-color);border-radius:12px;border:1px solid var(--border-color)}.filter-pill{padding:.5rem 1rem;border-radius:20px;font-size:.9rem;font-weight:600;cursor:pointer;transition:all .3s;border:2px solid var(--border-color);background:var(--input-background-color);color:var(--text-color)}.filter-pill:hover{border-color:var(--primary-color);transform:translateY(-2px)}.filter-pill.active{background:var(--primary-color);color:#fff;border-color:var(--primary-color)}.charges-container{background:var(--sidebar-color);border-radius:20px;padding:1.5rem;box-shadow:0 4px 20px #00000008;border:1px solid var(--border-color)}.charges-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:1.5rem;padding-bottom:1rem;border-bottom:2px solid var(--border-color)}.charges-header h2{font-size:1.5rem;font-weight:700;color:var(--text-color);margin:0 0 .5rem;display:flex;align-items:center;gap:.75rem}.charges-header h2 i{color:var(--primary-color);font-size:1.75rem}.selected-name{font-size:1.1rem;font-weight:600;color:var(--primary-color);margin:.25rem 0}.total-pagar{font-size:.95rem;color:var(--sub-text-color);margin:.5rem 0 0}.total-pagar strong{font-size:1.3rem;color:var(--danger-color);font-weight:800}.table-container{overflow-x:auto;border-radius:12px;border:1px solid var(--border-color)}.charges-table{width:100%;border-collapse:collapse;background:var(--sidebar-color)}.charges-table tbody tr{border-bottom:1px solid var(--border-color);transition:var(--tran-03);cursor:pointer}.charges-table td.date-cell{text-align:center}.charges-table td.value-cell{text-align:right;font-weight:600}.charges-table td.actions-cell{text-align:center;width:120px}.btn-action{background:transparent;border:none;color:var(--primary-color);font-size:1.2rem;cursor:pointer;padding:.5rem;border-radius:8px;transition:all .3s;display:inline-flex;align-items:center;justify-content:center}.btn-action:hover{background:var(--input-background-color);transform:scale(1.1)}.btn-action.btn-icon{width:36px;height:36px}.badge{display:inline-block;padding:.4rem .8rem;border-radius:20px;font-size:.75rem;font-weight:700;text-transform:uppercase;letter-spacing:.5px}.badge-pending{background:#ffc10726;color:#ffc107}.badge-paid{background:#28a74526;color:#28a745}.badge-overdue{background:#dc354526;color:#dc3545}.badge-canceled{background:#6c757d26;color:#6c757d}.badge-estornado,.badge-estorno-solicitado,.badge-estorno-parcial,.badge-pagamento-analise,.badge-chargeback{background:#17a2b826;color:#17a2b8}.loading-state,.empty-state{text-align:center;padding:3rem 2rem;color:var(--sub-text-color)}.loading-state i,.empty-state i{font-size:3rem;margin-bottom:1rem;color:var(--primary-color);opacity:.5;display:block}.loading-state i{animation:spin 1s linear infinite}.empty-state p{font-size:1.1rem;font-weight:600;color:var(--text-color);margin:0}.search-section-modern{margin-bottom:2rem;position:relative;z-index:1}.search-card{background-color:var(--sidebar-color);border-radius:20px;padding:1.5rem;box-shadow:0 4px 20px #00000008;border:1px solid var(--border-color);display:flex;gap:1rem;align-items:center;position:relative;overflow:visible}.search-input-wrapper{flex:1;position:relative}.search-input-wrapper i{position:absolute;left:1rem;top:50%;transform:translateY(-50%);color:var(--sub-text-color);font-size:1.2rem;pointer-events:none}.search-input-modern{width:100%;padding:.875rem 1rem .875rem 3rem;border:2px solid var(--border-color);border-radius:12px;background-color:var(--input-background-color);color:var(--text-color);font-size:1rem;transition:var(--tran-03)}.search-input-modern:focus{outline:none;border-color:var(--primary-color);box-shadow:0 0 0 3px #1c4ade1a}.search-input-modern::placeholder{color:var(--sub-text-color);opacity:.6}.search-results-dropdown{position:absolute;top:calc(100% + .5rem);left:0;right:0;background:var(--sidebar-color);border:2px solid var(--border-color);border-radius:12px;box-shadow:0 8px 24px #00000026;max-height:400px;overflow-y:auto;z-index:10000;margin-top:.5rem}.search-results-dropdown::-webkit-scrollbar{width:6px}.search-results-dropdown::-webkit-scrollbar-track{background:var(--body-color);border-radius:3px}.search-results-dropdown::-webkit-scrollbar-thumb{background:var(--sub-text-color);border-radius:3px}.search-result-item{display:flex;align-items:center;gap:1rem;padding:1rem;cursor:pointer;transition:var(--tran-03);border-bottom:1px solid var(--border-color)}.search-result-item:last-child{border-bottom:none}.search-result-item:hover{background:var(--input-background-color)}.result-icon{width:40px;height:40px;border-radius:10px;background:var(--input-background-color);display:flex;align-items:center;justify-content:center;font-size:1.3rem;color:var(--primary-color);flex-shrink:0}.result-info{flex:1;min-width:0}.result-name{font-weight:600;color:var(--text-color);font-size:.95rem;margin-bottom:.25rem;display:flex;align-items:center;gap:.5rem}.result-type-badge{font-size:.7rem;padding:.2rem .5rem;border-radius:6px;background:var(--primary-color);color:#fff;font-weight:600;text-transform:uppercase;letter-spacing:.5px}.result-details{display:flex;flex-wrap:wrap;gap:.75rem;font-size:.8rem;color:var(--sub-text-color)}.result-details span{display:inline-block}.result-action{color:var(--sub-text-color);font-size:1.2rem;flex-shrink:0}.search-result-empty{padding:3rem 2rem;text-align:center;color:var(--sub-text-color)}.search-result-empty i{font-size:3rem;margin-bottom:1rem;color:var(--primary-color);opacity:.5;display:block}.search-result-empty p{font-weight:600;margin-bottom:.5rem;color:var(--text-color)}.search-result-empty small{font-size:.85rem;color:var(--sub-text-color)}.btn-search-modern{padding:.875rem 2rem;background:var(--primary-color);color:#fff;border:none;border-radius:12px;font-weight:600;font-size:1rem;cursor:pointer;transition:var(--tran-03);display:flex;align-items:center;gap:.5rem;box-shadow:0 4px 12px #1c4ade4d}.btn-search-modern:hover{transform:translateY(-2px);box-shadow:0 6px 16px #1c4ade66}.btn-search-modern i{font-size:1.1rem}.extrato-container-modern{background-color:var(--sidebar-color);border-radius:20px;padding:2rem;box-shadow:0 4px 20px #00000008;border:1px solid var(--border-color)}.extrato-header-modern{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:2rem;padding-bottom:1.5rem;border-bottom:2px solid var(--body-color)}.extrato-header-modern h2{display:flex;align-items:center;gap:.75rem;font-size:1.5rem;font-weight:700;color:var(--text-color);margin:0 0 .5rem}.extrato-header-modern h2 i{color:var(--primary-color);font-size:1.6rem}.student-name{font-size:1rem;color:var(--sub-text-color);margin:0;font-weight:500}.btn-primary-modern{padding:.875rem 1.75rem;background:var(--primary-color);color:#fff;border:none;border-radius:12px;font-weight:600;font-size:1rem;cursor:pointer;transition:var(--tran-03);display:flex;align-items:center;gap:.5rem;box-shadow:0 4px 12px #1c4ade4d}.btn-primary-modern:hover{transform:translateY(-2px);box-shadow:0 6px 16px #1c4ade66}.btn-primary-modern i{font-size:1.2rem}.floating-actions{position:fixed;bottom:2rem;right:2rem;display:flex;flex-direction:column;gap:1rem;z-index:1000}.floating-renegotiate-btn{display:flex;align-items:center;gap:.75rem;padding:1rem 2rem;background:var(--primary-color);color:#fff;border:none;border-radius:50px;font-weight:600;font-size:1rem;cursor:pointer;box-shadow:0 4px 20px #1c4ade66;transition:var(--tran-03)}.floating-renegotiate-btn:hover:not(:disabled){transform:translateY(-4px);box-shadow:0 6px 30px #1c4ade80}.floating-renegotiate-btn:disabled{opacity:.5;cursor:not-allowed;transform:none}.floating-renegotiate-btn i{font-size:1.25rem}.checkbox-label:hover{background:#1c4ade0d}.toolbar-actions{display:flex;gap:1rem;justify-content:flex-end;margin-top:1rem;padding-top:1rem;border-top:1px solid var(--border-color)}.btn-toolbar{padding:.75rem 1.5rem;border-radius:12px;font-size:.95rem;font-weight:600;cursor:pointer;transition:var(--tran-03);display:flex;align-items:center;gap:.5rem;border:none}.btn-toolbar-primary{background-color:var(--primary-color);color:#fff}.btn-toolbar-primary:hover{background-color:var(--primary-dark-color, #0d3cc4);transform:translateY(-2px);box-shadow:0 4px 12px #1c4ade4d}.btn-toolbar-secondary{background-color:var(--input-background-color);color:var(--text-color);border:2px solid var(--border-color)}.btn-toolbar-secondary:hover{background-color:var(--body-color);border-color:var(--primary-color);color:var(--primary-color);transform:translateY(-2px)}@media(max-width:768px){.home-content{padding:1.5rem}.search-card{flex-direction:column;align-items:stretch}.btn-search-modern{width:100%;justify-content:center}.extrato-header-modern{flex-direction:column;gap:1rem}.btn-primary-modern{width:100%;justify-content:center}.floating-renegotiate-btn{bottom:1rem;right:1rem;padding:.875rem 1.5rem;font-size:.9rem}}.home-content{padding:2rem 3rem;transition:var(--tran-05)}.page-header{display:flex;justify-content:space-between;margin-bottom:2.5rem}.page-header>div{width:100%}.page-header>div>div{display:flex;justify-content:space-between;align-items:center;width:100%;margin-top:.5rem}.overline{text-transform:uppercase;font-size:.8rem;font-weight:600;color:var(--sub-text-color);letter-spacing:1px}.page-header h1{font-size:2rem;font-weight:700;color:var(--text-color);line-height:1.2;margin:0}.page-header p{font-size:.95rem;color:var(--sub-text-color);margin:.5rem 0 0}.btn-link-to-geral{display:flex;align-items:center;gap:.5rem;padding:.6rem 1.2rem;background-color:var(--primary-color);color:#fff!important;border-radius:10px;text-decoration:none;font-size:.9rem;font-weight:600;transition:all .3s ease;box-shadow:0 2px 8px #1c4ade33;white-space:nowrap}.btn-link-to-geral:hover{background-color:var(--primary-dark-color, #0d3cc4);transform:translateY(-2px);box-shadow:0 4px 12px #1c4ade4d}.btn-link-to-geral i{font-size:1.1rem}.kpi-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:1.5rem;margin-bottom:2.5rem}.kpi-card{background-color:var(--sidebar-color);border-radius:24px;padding:1.5rem;display:flex;align-items:center;gap:1.2rem;box-shadow:0 4px 20px #00000008;transition:var(--tran-03);position:relative;border:1px solid transparent}.kpi-card:hover{transform:translateY(-5px);box-shadow:0 10px 30px var(--box-shadow);border-color:var(--primary-color)}.kpi-icon{width:55px;height:55px;border-radius:16px;display:flex;align-items:center;justify-content:center;font-size:1.8rem;flex-shrink:0}.kpi-icon.pending{background-color:#fef3c7;color:#f59e0b}body.dark .kpi-icon.pending{background-color:#f59e0b33;color:#fbbf24}.kpi-icon.overdue{background-color:#fee2e2;color:#ef4444}body.dark .kpi-icon.overdue{background-color:#ef444433;color:#f87171}.kpi-icon.paid{background-color:#d1fae5;color:#10b981}body.dark .kpi-icon.paid{background-color:#10b98133;color:#34d399}.kpi-icon.total{background-color:#dbeafe;color:#3b82f6}body.dark .kpi-icon.total{background-color:#3b82f633;color:#60a5fa}.kpi-content{flex:1;min-width:0}.kpi-value{font-size:1.6rem;font-weight:700;color:var(--text-color);line-height:1.1;margin:0}.kpi-label{font-size:.85rem;color:var(--sub-text-color);margin-top:.25rem;font-weight:500}.toolbar-header-right{display:flex;align-items:center}.asaas-badge{display:flex;align-items:center;gap:.5rem;font-size:.8rem;font-weight:300;color:var(--sub-text-color);letter-spacing:.02em}.asaas-logo{height:18px;width:auto;max-width:72px;object-fit:contain;object-position:left center;vertical-align:middle;display:inline-block}.toolbar-section{background-color:var(--sidebar-color);border-radius:20px;padding:1.5rem;margin-bottom:2rem;box-shadow:0 4px 20px #00000008;border:1px solid var(--border-color)}.toolbar-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:1.5rem;padding-bottom:1rem;border-bottom:2px solid var(--body-color)}.toolbar-header h3{display:flex;align-items:center;gap:.5rem;margin:0;font-size:1.1rem;font-weight:600;color:var(--text-color)}.toolbar-filters{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:1rem;margin-bottom:1rem}.filter-group{display:flex;flex-direction:column;gap:.5rem}.filter-group label{font-size:.85rem;font-weight:600;color:var(--text-color);text-transform:uppercase;letter-spacing:.5px}.filter-input-wrapper{position:relative}.filter-input-wrapper i{position:absolute;left:12px;top:50%;transform:translateY(-50%);color:var(--sub-text-color);font-size:1.1rem;pointer-events:none}.filter-input-wrapper input,.filter-input-wrapper select{width:100%;padding:.75rem 1rem .75rem 2.5rem;border:2px solid var(--border-color);border-radius:12px;background-color:var(--input-background-color);color:var(--text-color);font-size:.95rem;transition:var(--tran-03)}.filter-input-wrapper input:focus,.filter-input-wrapper select:focus{outline:none;border-color:var(--primary-color);box-shadow:0 0 0 3px #1c4ade1a}.filter-input-wrapper input::placeholder{color:var(--sub-text-color);opacity:.6}.multi-select-checkboxes{display:flex;flex-direction:column;gap:.5rem;max-height:200px;overflow-y:auto;padding:.75rem;background:var(--input-background-color);border-radius:12px;border:2px solid var(--border-color)}.multi-select-checkboxes::-webkit-scrollbar{width:6px}.multi-select-checkboxes::-webkit-scrollbar-track{background:var(--body-color);border-radius:3px}.multi-select-checkboxes::-webkit-scrollbar-thumb{background:var(--sub-text-color);border-radius:3px}.checkbox-label{display:flex;align-items:center;gap:.5rem;cursor:pointer;padding:.5rem;font-size:.9rem;color:var(--text-color);border-radius:8px;transition:var(--tran-03)}.checkbox-label:hover{background:var(--body-color)}.checkbox-label input[type=checkbox]{width:18px;height:18px;cursor:pointer;accent-color:var(--primary-color)}.toolbar-actions{display:flex;justify-content:flex-end;gap:1rem;margin-top:1rem;padding-top:1rem;border-top:1px solid var(--border-color)}.btn-toolbar{padding:.75rem 1.5rem;border-radius:12px;font-weight:600;font-size:.95rem;cursor:pointer;transition:var(--tran-03);display:flex;align-items:center;gap:.5rem;border:none}.btn-toolbar-primary{background:var(--primary-color);color:#fff;box-shadow:0 4px 12px #1c4ade4d}.btn-toolbar-primary:hover{transform:translateY(-2px);box-shadow:0 6px 16px #1c4ade66}.btn-toolbar-secondary{background:var(--input-background-color);color:var(--text-color);border:2px solid var(--border-color)}.btn-toolbar-secondary:hover{background:var(--body-color);border-color:var(--primary-color);color:var(--primary-color)}.table-container{background-color:var(--sidebar-color);border-radius:20px;padding:0;box-shadow:0 4px 20px #00000008;border:1px solid var(--border-color);overflow:hidden}.charges-table{width:100%;border-collapse:collapse}.charges-table thead{background:var(--input-background-color)}.charges-table th{padding:1.25rem 1rem;text-align:left;font-weight:700;color:var(--text-color);font-size:.85rem;text-transform:uppercase;letter-spacing:.5px;border-bottom:2px solid var(--border-color)}.charges-table tbody tr{border-bottom:1px solid var(--border-color);transition:var(--tran-03)}.charges-table tbody tr:last-child{border-bottom:none}.charges-table tbody tr:hover{background:var(--input-background-color);transform:scale(1.001)}.charges-table tbody tr.row-canceled{opacity:.65;background-color:#f9fafb;border-left:3px solid #d1d5db}.charges-table tbody tr.row-canceled td{color:var(--sub-text-color)}.charges-table tbody tr.row-canceled:hover{opacity:.8;background-color:#f3f4f6}body.dark .charges-table tbody tr.row-canceled{background-color:#37415159;border-left-color:#6b7280}body.dark .charges-table tbody tr.row-canceled:hover{background-color:#37415180}.charges-table td{padding:1.25rem 1rem;color:var(--text-color);font-size:.95rem}.value-cell{font-weight:700;color:var(--text-color);text-align:right;font-family:Inter,-apple-system,BlinkMacSystemFont,sans-serif}.date-cell{text-align:center;color:var(--sub-text-color)}.actions-cell{display:flex;gap:.5rem;align-items:center;justify-content:flex-end}.btn-icon{width:38px;height:38px;border:none;border-radius:10px;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:var(--tran-03);font-size:1.2rem;background:var(--input-background-color);color:var(--text-color)}.btn-icon:hover{transform:translateY(-2px);box-shadow:0 4px 8px #0000001a}.btn-icon[title*=PDF]{background:#dc35451a;color:#dc3545}.btn-icon[title*=PDF]:hover{background:#dc3545;color:#fff}.btn-icon[title*=PIX]{background:#1c4ade1a;color:var(--primary-color)}.btn-icon[title*=PIX]:hover{background:var(--primary-color);color:#fff}.disabled-actions{color:var(--sub-text-color);font-style:italic;font-size:.85rem}.badge{padding:.4rem .9rem;border-radius:20px;font-size:.75rem;font-weight:700;text-transform:uppercase;letter-spacing:.5px;display:inline-block}.badge-pending{background:#fbbf2426;color:#f59e0b}body.dark .badge-pending{background:#fbbf2440;color:#fbbf24}.badge-paid{background:#10b98126;color:#10b981}body.dark .badge-paid{background:#10b98140;color:#34d399}.badge-overdue{background:#ef444426;color:#ef4444}body.dark .badge-overdue{background:#ef444440;color:#f87171}.badge-canceled{background:#6b728026;color:#6b7280}body.dark .badge-canceled{background:#6b728040;color:#9ca3af}.badge-refunded{background:#8b5cf626;color:#8b5cf6}body.dark .badge-refunded{background:#8b5cf640;color:#a78bfa}.badge-warning{background:#f59e0b26;color:#f59e0b}body.dark .badge-warning{background:#f59e0b40;color:#fbbf24}.badge-info{background:#3b82f626;color:#3b82f6}body.dark .badge-info{background:#3b82f640;color:#60a5fa}.badge-danger{background:#dc354526;color:#dc3545}body.dark .badge-danger{background:#dc354540;color:#f87171}.badge-mensalidade{background:#1c4ade26;color:var(--primary-color)}body.dark .badge-mensalidade{background:#1c4ade40;color:#60a5fa}.badge-extra{background:#39a71b26;color:var(--second-color)}body.dark .badge-extra{background:#39a71b40;color:#4ade80}.pagination{display:flex;justify-content:center;align-items:center;gap:1.5rem;padding:2rem;background:var(--input-background-color);border-top:1px solid var(--border-color)}.pagination-info{color:var(--text-color);font-weight:600;font-size:.95rem}.btn-pagination{padding:.75rem 1.5rem;border:2px solid var(--border-color);border-radius:12px;background:var(--sidebar-color);color:var(--text-color);cursor:pointer;transition:var(--tran-03);display:flex;align-items:center;gap:.5rem;font-weight:600;font-size:.95rem}.btn-pagination:hover:not(:disabled){background:var(--primary-color);color:#fff;border-color:var(--primary-color);transform:translateY(-2px);box-shadow:0 4px 12px #1c4ade4d}.btn-pagination:disabled{opacity:.5;cursor:not-allowed;transform:none}.empty-table{text-align:center;padding:4rem 2rem!important;color:var(--sub-text-color)}.empty-table i{font-size:3rem;margin-bottom:1rem;display:block;color:var(--primary-color);opacity:.5}.loading-state{text-align:center;padding:4rem 2rem;color:var(--sub-text-color)}.loading-state i{font-size:3rem;margin-bottom:1rem;color:var(--primary-color);animation:spin 1s linear infinite}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.alert{padding:1rem 1.5rem;border-radius:12px;display:flex;align-items:center;gap:.75rem;font-size:.95rem;margin-bottom:1.5rem;border:2px solid}.alert-error{background:#dc35451a;color:#dc3545;border-color:#dc35454d}body.dark .alert-error{background:#dc354533;border-color:#dc354566}.alert i{font-size:1.25rem}@media(max-width:1200px){.toolbar-filters{grid-template-columns:repeat(auto-fit,minmax(180px,1fr))}}@media(max-width:768px){.home-content{padding:1.5rem}.kpi-grid,.toolbar-filters{grid-template-columns:1fr}.table-container{overflow-x:auto}.charges-table{min-width:800px}.pagination{flex-direction:column;gap:1rem}}.gse-calendar-container{display:grid;grid-template-columns:1.5fr 1fr;gap:3rem;background-color:var(--sidebar-color);border-radius:24px;box-shadow:0 10px 40px var(--box-shadow);padding:2rem}.gse-calendar-wrapper{display:flex;flex-direction:column;gap:1rem}.gse-calendar-header{display:flex;justify-content:center;margin-bottom:1rem}.gse-calendar-month-nav{display:flex;align-items:center;gap:15px}.gse-calendar-month-nav h3{font-size:1.2rem;font-weight:700;color:var(--text-color);width:160px;text-align:center}.gse-calendar-month-nav button{background:var(--input-background-color);border:none;font-size:1.5rem;color:var(--primary-color);cursor:pointer;border-radius:50%;width:35px;height:35px;display:flex;align-items:center;justify-content:center;transition:.2s}.gse-calendar-month-nav button:hover{background-color:var(--primary-color);color:#fff}.gse-calendar-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:8px;text-align:center}.gse-calendar-weekday{font-size:.8rem;font-weight:600;color:var(--sub-text-color);padding-bottom:10px;text-transform:uppercase}.gse-calendar-day{height:50px;display:flex;flex-direction:column;align-items:center;justify-content:center;border-radius:12px;font-size:.95rem;cursor:pointer;transition:.2s;position:relative;color:var(--text-color);border:1px solid transparent;background-color:var(--input-background-color)}.gse-calendar-day:hover:not(.prev-date):not(.next-date){border-color:var(--primary-color);background-color:#fff;color:var(--primary-color)}.gse-calendar-day.prev-date,.gse-calendar-day.next-date{color:var(--sub-text-color);opacity:.3;pointer-events:none;background:transparent}.gse-calendar-day.today{background-color:var(--primary-color);color:#fff;box-shadow:0 4px 10px var(--box-shadow)}.gse-calendar-day.selected{border-color:var(--primary-color);transform:scale(.95);background-color:transparent;box-shadow:inset 0 0 0 2px var(--primary-color)}.gse-calendar-day.selected .gse-calendar-day-number{color:var(--primary-color)!important}.gse-calendar-day-number{font-weight:600}.gse-calendar-dots-container{display:flex;gap:3px;margin-top:2px;align-items:center;justify-content:center;flex-wrap:wrap}.gse-calendar-event-dot{width:5px;height:5px;border-radius:50%}.gse-calendar-event-dot.exam{background-color:var(--primary-color)}.gse-calendar-event-dot.event{background-color:var(--second-color)}.gse-calendar-event-dot.holiday{background-color:#2e7d32}.gse-calendar-event-dot.aviso{background-color:#ff9800}.gse-calendar-day.today .gse-calendar-event-dot{background-color:#fff}.gse-calendar-event-more{font-size:.65rem;color:var(--sub-text-color);font-weight:600;margin-left:2px}.gse-calendar-legend{display:flex;gap:15px;justify-content:center;margin-top:1rem}.gse-calendar-legend-item{font-size:.75rem;display:flex;align-items:center;gap:5px;color:var(--sub-text-color)}.gse-calendar-legend-item:before{content:"";width:8px;height:8px;border-radius:50%;display:block}.gse-calendar-legend-item.exam:before{background-color:var(--primary-color)}.gse-calendar-legend-item.event:before{background-color:var(--second-color)}.gse-calendar-legend-item.holiday:before{background-color:#2e7d32}.gse-calendar-legend-item.aviso:before{background-color:#ff9800}.gse-calendar-events-panel{border-left:2px solid var(--body-color);padding-left:2rem;display:flex;flex-direction:column}.gse-calendar-panel-title{font-size:1rem;font-weight:700;color:var(--text-color);margin-bottom:1.5rem;text-transform:uppercase;letter-spacing:1px}.gse-calendar-no-events-msg{color:var(--sub-text-color);font-size:.9rem;display:flex;flex-direction:column;align-items:center;gap:10px;text-align:center;margin-top:20%}.gse-calendar-no-events-msg i{font-size:2rem;opacity:.5}.gse-calendar-date-title{font-size:1.1rem;color:var(--primary-color);font-weight:700;margin-bottom:1rem;border-bottom:1px solid var(--border-color);padding-bottom:5px}.gse-calendar-event-card-detail{background-color:var(--input-background-color);padding:15px;border-radius:12px;margin-bottom:1rem;border-left:5px solid;transition:.3s}.gse-calendar-event-card-detail.clickable{cursor:pointer}.gse-calendar-event-card-detail:hover{background-color:#fff;box-shadow:0 4px 10px #0000000d}.gse-calendar-event-card-detail.exam-border{border-left-color:var(--primary-color)}.gse-calendar-event-card-detail.event-border{border-left-color:var(--second-color)}.gse-calendar-event-card-detail.holiday-border{border-left-color:#2e7d32}.gse-calendar-event-card-detail.aviso-border{border-left-color:#ff9800}.gse-calendar-event-header-detail{display:flex;justify-content:space-between;align-items:center;margin-bottom:5px}.gse-calendar-event-badge{font-size:.7rem;font-weight:700;text-transform:uppercase;padding:2px 8px;border-radius:4px;color:#fff}.gse-calendar-event-badge.exam{background-color:var(--primary-color)}.gse-calendar-event-badge.event{background-color:var(--second-color)}.gse-calendar-event-badge.holiday{background-color:#2e7d32}.gse-calendar-event-badge.aviso{background-color:#ff9800}.gse-calendar-event-time{font-size:.75rem;color:var(--sub-text-color);font-weight:600}.gse-calendar-event-title-detail{font-size:.95rem;font-weight:600;color:var(--text-color);margin:0}.gse-calendar-event-description{font-size:.85rem;color:var(--sub-text-color);margin-top:5px;margin-bottom:0}.gse-calendar-no-events-container{color:var(--sub-text-color);font-size:.9rem;text-align:center}.gse-calendar-events-container{flex:1}@media(max-width:1024px){.gse-calendar-container{grid-template-columns:1fr;gap:2rem}.gse-calendar-events-panel{border-left:none;padding-left:0;border-top:2px solid var(--body-color);padding-top:2rem}.gse-calendar-no-events-msg{margin-top:10px;flex-direction:row}}body.dark .gse-calendar-day:hover,body.dark .gse-calendar-event-card-detail:hover{background-color:#333}.event-wizard-overlay{position:fixed;inset:0;background:#0009;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);display:flex;align-items:center;justify-content:center;z-index:10000;animation:fadeIn .2s ease}.event-wizard-overlay.event-wizard-hidden{display:none!important;pointer-events:none;opacity:0}.event-wizard-modal{background:var(--sidebar-color);border-radius:24px;box-shadow:0 20px 60px #0000004d;width:90%;max-width:600px;max-height:90vh;overflow-y:auto;animation:slideUp .3s ease;transition:all .3s ease}@keyframes slideUp{0%{transform:translateY(30px);opacity:0}to{transform:translateY(0);opacity:1}}.event-wizard-header{padding:2rem;border-bottom:2px solid var(--body-color);display:flex;justify-content:space-between;align-items:center;position:relative;transition:all .3s ease}.event-wizard-modal.wizard-prova .event-wizard-header{background:linear-gradient(135deg,var(--primary-color) 0%,rgba(105,92,254,.1) 100%);border-bottom-color:var(--primary-color)}.event-wizard-modal.wizard-feriado .event-wizard-header{background:linear-gradient(135deg,#27ae60,#27ae601a);border-bottom-color:#27ae60}.event-wizard-modal.wizard-evento .event-wizard-header{background:linear-gradient(135deg,var(--primary-color) 0%,rgba(105,92,254,.1) 100%);border-bottom-color:var(--primary-color)}.event-wizard-modal.wizard-aviso .event-wizard-header{background:linear-gradient(135deg,#f39c12,#f39c121a);border-bottom-color:#f39c12}.event-wizard-title{font-size:1.5rem;font-weight:700;color:var(--text-color);margin:0}.event-wizard-close{background:transparent;border:none;font-size:2rem;color:var(--sub-text-color);cursor:pointer;width:40px;height:40px;display:flex;align-items:center;justify-content:center;border-radius:50%;transition:all .2s ease}.event-wizard-close:hover{background:var(--input-background-color);color:var(--text-color);transform:rotate(90deg)}.event-wizard-body{padding:2rem}.event-type-selection{animation:fadeIn .3s ease}.event-type-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:1.5rem}.event-type-card{background:var(--input-background-color);border:2px solid transparent;border-radius:16px;padding:2rem;cursor:pointer;transition:all .3s cubic-bezier(.4,0,.2,1);text-align:center;position:relative;overflow:hidden}.event-type-card:before{content:"";position:absolute;top:0;left:0;right:0;height:4px;background:var(--card-color);transform:scaleX(0);transition:transform .3s ease}.event-type-card:hover{transform:translateY(-8px) scale(1.02);box-shadow:0 12px 30px #00000026;border-color:var(--card-color);background:#fff}.event-type-card:hover:before{transform:scaleX(1)}.event-type-card:active{transform:translateY(-4px) scale(1)}.event-type-icon{font-size:3rem;margin-bottom:1rem;display:block;animation:bounceIn .5s ease}@keyframes bounceIn{0%{transform:scale(0)}50%{transform:scale(1.2)}to{transform:scale(1)}}@keyframes slideIn{0%{transform:translate(400px);opacity:0}to{transform:translate(0);opacity:1}}@keyframes slideOut{0%{transform:translate(0);opacity:1}to{transform:translate(400px);opacity:0}}.event-type-label{font-size:1.2rem;font-weight:700;color:var(--text-color);margin:0 0 .5rem}.event-type-description{font-size:.9rem;color:var(--sub-text-color);margin:0}.event-wizard-form{animation:slideIn .3s ease}@keyframes slideIn{0%{opacity:0;transform:translate(-20px)}to{opacity:1;transform:translate(0)}}.form-group{margin-bottom:1.5rem}.form-group label{display:block;font-size:.95rem;font-weight:600;color:var(--text-color);margin-bottom:.5rem}.form-group .required{color:#e74c3c}.form-group input[type=text],.form-group input[type=date],.form-group input[type=time],.form-group select,.form-group textarea{width:100%;padding:.75rem;border:2px solid var(--border-color);border-radius:8px;background:var(--input-background-color);color:var(--text-color);font-size:.95rem;font-family:Poppins,sans-serif;transition:all .2s ease}.form-group input:focus,.form-group select:focus,.form-group textarea:focus{outline:none;border-color:var(--primary-color);box-shadow:0 0 0 3px #695cfe1a}.form-group select[multiple]{min-height:120px;padding:.5rem}.form-group textarea{resize:vertical;min-height:80px}.form-group small{display:block;margin-top:.5rem;font-size:.8rem;color:var(--sub-text-color)}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:1rem}.checkbox-group{display:flex;gap:1.5rem;flex-wrap:wrap}.checkbox-group label{display:flex;align-items:center;gap:.5rem;cursor:pointer;font-weight:500}.checkbox-group input[type=checkbox]{width:18px;height:18px;cursor:pointer;accent-color:var(--primary-color)}.form-loading{padding:1rem;text-align:center;color:var(--sub-text-color);font-size:.9rem}.event-wizard-error{background:#e74c3c1a;border:2px solid #e74c3c;border-radius:8px;padding:1rem;margin-bottom:1.5rem;color:#e74c3c;display:flex;align-items:center;gap:.5rem;font-size:.9rem;animation:shake .5s ease}@keyframes shake{0%,to{transform:translate(0)}25%{transform:translate(-10px)}75%{transform:translate(10px)}}.event-wizard-footer{display:flex;justify-content:space-between;gap:1rem;margin-top:2rem;padding-top:1.5rem;border-top:2px solid var(--body-color)}.btn-primary,.btn-secondary{padding:.75rem 1.5rem;border:none;border-radius:8px;font-size:.95rem;font-weight:600;cursor:pointer;display:flex;align-items:center;gap:.5rem;transition:all .2s ease;font-family:Poppins,sans-serif}.btn-primary:disabled{opacity:.6;cursor:not-allowed}.btn-secondary{background:var(--input-background-color);color:var(--text-color);border:2px solid var(--border-color)}.btn-secondary:hover{background:var(--body-color);border-color:var(--text-color)}@media(max-width:768px){.event-wizard-modal{width:95%;max-height:95vh}.event-type-grid,.form-row{grid-template-columns:1fr}.event-wizard-footer{flex-direction:column-reverse}.btn-primary,.btn-secondary{width:100%;justify-content:center}}body.dark .event-type-card:hover{background:#2d2d2d}body.dark .event-wizard-modal{background:var(--sidebar-color)}.calendar-container,.calendar-page{display:flex;flex-direction:column;height:100%;font-family:Poppins,sans-serif}.calendar-header{display:flex;justify-content:space-between;align-items:center;padding:var(--spacing-lg);background:var(--sidebar-color);border-bottom:1px solid var(--border-color);box-shadow:var(--shadow-sm)}.calendar-header-left{display:flex;align-items:center;gap:var(--spacing-md)}.calendar-title{font-size:var(--ff-4);font-weight:var(--fw-600);color:var(--text-color);margin:0}.calendar-nav{display:flex;gap:var(--spacing-sm)}.calendar-nav-btn{padding:var(--spacing-sm) var(--spacing-md);background:var(--button-color);border:1px solid var(--border-color);border-radius:var(--radius);color:var(--text-color);font-size:var(--ff-1);font-weight:var(--fw-500);cursor:pointer;transition:var(--tran-02)}.calendar-nav-btn:hover{background:var(--primary-color);color:#fff;transform:translateY(-2px);box-shadow:var(--shadow-md)}.calendar-nav-btn:active{transform:translateY(0)}.calendar-header-right{display:flex;gap:var(--spacing-md)}.calendar-create-btn{padding:var(--spacing-sm) var(--spacing-lg);background:var(--primary-color);border:none;border-radius:var(--radius);color:#fff;font-size:var(--ff-1);font-weight:var(--fw-600);cursor:pointer;transition:var(--tran-02);display:flex;align-items:center;gap:var(--spacing-sm)}.calendar-grid-container{flex:1;padding:var(--spacing-lg);overflow:auto}.calendar-month-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:1px;background:var(--border-color);border:1px solid var(--border-color);border-radius:var(--radius);overflow:hidden}.calendar-weekday-header{display:grid;grid-template-columns:repeat(7,1fr);gap:1px;background:var(--border-color);border:1px solid var(--border-color);border-top-left-radius:var(--radius);border-top-right-radius:var(--radius);overflow:hidden;margin-bottom:1px}.calendar-weekday{padding:var(--spacing-md);background:var(--sidebar-color);text-align:center;font-size:var(--ff-1);font-weight:var(--fw-600);color:var(--primary-color)}.calendar-day-cell{min-height:120px;background:#fff;padding:var(--spacing-sm);cursor:pointer;transition:var(--tran-02);position:relative;overflow:hidden}.calendar-day-cell:hover{background:var(--body-color);box-shadow:inset 0 0 0 2px var(--primary-color)}.calendar-day-cell.other-month{background:var(--body-color);opacity:.5}.calendar-day-cell.today{background:var(--body-color)}.calendar-day-cell.selected{box-shadow:inset 0 0 0 2px var(--primary-color);background-color:transparent}.calendar-day-cell.selected .calendar-day-number{color:var(--primary-color)!important}.calendar-day-number{font-size:var(--ff-1);font-weight:var(--fw-600);color:var(--text-color);margin-bottom:var(--spacing-sm)}.calendar-day-cell.today .calendar-day-number{display:inline-block;background:var(--primary-color);color:#fff;width:28px;height:28px;line-height:28px;text-align:center;border-radius:var(--radius-full)}.calendar-day-events{display:flex;flex-direction:column;gap:2px}.calendar-event-item{padding:2px 6px;border-radius:3px;font-size:11px;font-weight:var(--fw-500);color:#fff;cursor:pointer;transition:var(--tran-02);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;border-left:3px solid rgba(255,255,255,.5)}.calendar-event-item:hover{transform:translate(2px);box-shadow:var(--shadow-md)}.calendar-event-item.event-AULA{background:var(--primary-color)}.calendar-event-item.event-PROVA{background:var(--error-color)}.calendar-event-item.event-EVENTO{background:var(--info-color)}.calendar-event-item.event-FERIADO{background:var(--warning-color)}.calendar-event-item.event-MENSALIDADE{background:var(--success-color)}.calendar-event-item.event-AVISO{background:var(--sub-text-color)}.event-item.event-real{font-weight:var(--fw-600);border:1px solid rgba(0,0,0,.1);box-shadow:0 1px 2px #0000001a}.event-item.event-schedule{background:#e3f2fd!important;color:#1976d2;font-size:11px;font-weight:var(--fw-400);border:none;box-shadow:none;opacity:.85;padding:2px 4px}.event-item.event-schedule:hover{opacity:1;background:#bbdefb!important}.day-events{display:flex;flex-direction:column;gap:2px}.calendar-event-more{font-size:10px;color:var(--sub-text-color);margin-top:2px;font-weight:var(--fw-500)}.schedule-details{padding:var(--spacing-md)}.schedule-details p{margin:var(--spacing-md) 0;color:var(--text-color)}.schedule-details strong{color:var(--primary-color);font-weight:var(--fw-600)}.schedule-note{margin-top:var(--spacing-lg)!important;padding:var(--spacing-md);background:var(--button-color);border-left:3px solid var(--primary-color);border-radius:var(--radius);font-style:italic;color:var(--sub-text-color);font-size:var(--ff-1)}.calendar-modal-overlay{position:fixed;inset:0;background:#00000080;display:flex;align-items:center;justify-content:center;z-index:var(--z-modal);animation:fadeIn .2s ease}.calendar-modal{background:var(--sidebar-color);border-radius:var(--radius-lg);box-shadow:var(--shadow-xl);width:90%;max-width:600px;max-height:90vh;overflow:auto;animation:slideUp .3s ease}.calendar-modal-header{padding:var(--spacing-lg);border-bottom:1px solid var(--border-color);display:flex;justify-content:space-between;align-items:center}.calendar-modal-title{font-size:var(--ff-3);font-weight:var(--fw-600);color:var(--text-color);margin:0}.calendar-modal-close{background:none;border:none;font-size:var(--ff-4);color:var(--sub-text-color);cursor:pointer;padding:var(--spacing-sm);line-height:1;transition:var(--tran-02)}.calendar-modal-close:hover{color:var(--error-color);transform:rotate(90deg)}.calendar-modal-body{padding:var(--spacing-lg)}.calendar-form-group{margin-bottom:var(--spacing-lg)}.calendar-form-label{display:block;font-size:var(--ff-1);font-weight:var(--fw-500);color:var(--text-color);margin-bottom:var(--spacing-sm)}.calendar-form-label.required:after{content:" *";color:var(--error-color)}.calendar-form-input,.calendar-form-textarea,.calendar-form-select{width:100%;padding:var(--spacing-md);border:1px solid var(--border-color);border-radius:var(--radius);font-size:var(--ff-1);font-family:Poppins,sans-serif;color:var(--text-color);background:var(--button-color);transition:var(--tran-02)}.calendar-form-input:focus,.calendar-form-textarea:focus,.calendar-form-select:focus{outline:none;border-color:var(--primary-color);box-shadow:0 0 0 3px #695cfe1a}.calendar-form-textarea{min-height:100px;resize:vertical}.calendar-form-checkbox{display:flex;align-items:center;gap:var(--spacing-sm);margin-bottom:var(--spacing-sm)}.calendar-form-checkbox input[type=checkbox]{width:18px;height:18px;cursor:pointer}.calendar-modal-footer{padding:var(--spacing-lg);border-top:1px solid var(--border-color);display:flex;justify-content:flex-end;gap:var(--spacing-md)}.calendar-btn{padding:var(--spacing-sm) var(--spacing-lg);border:none;border-radius:var(--radius);font-size:var(--ff-1);font-weight:var(--fw-600);cursor:pointer;transition:var(--tran-02)}.calendar-btn-primary{background:var(--primary-color);color:#fff}.calendar-btn-primary:hover{background:var(--second-color);transform:translateY(-2px);box-shadow:var(--shadow-md)}.calendar-btn-secondary{background:var(--button-color);color:var(--text-color);border:1px solid var(--border-color)}.calendar-btn-secondary:hover{background:var(--body-color)}.calendar-btn-danger{background:var(--error-color);color:#fff}.calendar-btn-danger:hover{background:#dc2626;transform:translateY(-2px);box-shadow:var(--shadow-md)}.calendar-btn:disabled{opacity:.5;cursor:not-allowed;transform:none!important}.calendar-loading{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:var(--spacing-2xl);color:var(--sub-text-color)}.calendar-spinner{width:40px;height:40px;border:4px solid var(--body-color);border-top-color:var(--primary-color);border-radius:50%;animation:spin 1s linear infinite}.calendar-empty{text-align:center;padding:var(--spacing-2xl);color:var(--sub-text-color)}.calendar-empty-icon{font-size:48px;margin-bottom:var(--spacing-md);opacity:.5}.calendar-error{padding:var(--spacing-lg);background:var(--error-bg);border:1px solid var(--error-color);border-radius:var(--radius);color:var(--error-color);margin:var(--spacing-lg)}@media(max-width:768px){.calendar-header{flex-direction:column;gap:var(--spacing-md)}.calendar-header-left,.calendar-header-right{width:100%;justify-content:space-between}.calendar-day-cell{min-height:80px}.calendar-modal{width:95%;max-height:95vh}.calendar-weekday{font-size:12px;padding:var(--spacing-sm)}}body.dark .calendar-event-item{opacity:.9}body.dark .calendar-day-cell:hover{background:var(--button-color)}.calendar-page{padding:var(--spacing-lg)}.calendar-page .page-header{margin-bottom:var(--spacing-lg)}.page-header-top{display:flex;justify-content:space-between;align-items:flex-start;gap:var(--spacing-lg)}.calendar-page .page-header h1{font-size:2rem;font-weight:700;color:var(--text-color);margin-bottom:var(--spacing-sm)}.calendar-page .page-header p{color:var(--sub-text-color);font-size:var(--ff-1)}.calendar-create-btn{padding:var(--spacing-sm) var(--spacing-lg);background:var(--primary-color);border:none;border-radius:var(--radius);color:#fff;font-size:var(--ff-1);font-weight:var(--fw-600);cursor:pointer;transition:var(--tran-02);display:flex;align-items:center;gap:var(--spacing-sm);white-space:nowrap}.calendar-create-btn:hover{background:var(--second-color);transform:translateY(-2px);box-shadow:var(--shadow-lg)}.calendar-section-container{margin-bottom:2rem}.calendar-publico-alvo-text{color:var(--text-color)}.calendar-publico-alvo-badge{display:inline-block;padding:4px 10px;border-radius:var(--radius);font-size:var(--ff-1);font-weight:var(--fw-600)}.calendar-publico-alvo-all{background:var(--primary-color);color:#fff}@media(max-width:768px){.page-header-top{flex-direction:column}.calendar-create-btn{width:100%;justify-content:center}}.schedule-selector{margin-bottom:2rem;padding:1.5rem;background:var(--sidebar-color);border-radius:12px;box-shadow:0 2px 8px var(--box-shadow)}.schedule-selector label{display:block;margin-bottom:.5rem;font-weight:600;color:var(--text-color)}.schedule-select{width:100%;max-width:400px;padding:.75rem;border:2px solid var(--border-color);border-radius:8px;background:var(--input-background-color);color:var(--text-color);font-size:.95rem;font-family:Poppins,sans-serif}.schedule-select:focus{outline:none;border-color:var(--primary-color);box-shadow:0 0 0 3px #695cfe1a}.schedule-error{background:#e74c3c1a;border:2px solid #e74c3c;border-radius:8px;padding:1rem;margin-bottom:1.5rem;color:#e74c3c;display:flex;align-items:center;gap:.5rem}.schedule-loading,.schedule-empty-state{text-align:center;padding:3rem;color:var(--sub-text-color)}.schedule-loading i,.schedule-empty-state i{font-size:3rem;margin-bottom:1rem;opacity:.5}.schedule-matrix-container{overflow-x:auto;margin-top:2rem;background:var(--sidebar-color);border-radius:12px;box-shadow:0 2px 8px var(--box-shadow);padding:1.5rem}.schedule-matrix{width:100%;border-collapse:collapse;background:#fff;border-radius:8px;overflow:hidden}.schedule-matrix thead{background:var(--primary-color);color:#fff}.schedule-matrix th{padding:1rem;text-align:center;font-weight:600;font-size:.9rem;text-transform:uppercase;letter-spacing:.5px}.time-slot-header{min-width:150px;text-align:left!important}.day-header{min-width:200px}.schedule-matrix tbody tr{border-bottom:1px solid var(--border-color);transition:background .2s}.schedule-matrix tbody tr:hover{background:var(--body-color)}.time-slot-cell{padding:1rem;background:var(--input-background-color);font-weight:600;vertical-align:middle}.time-slot-info{display:flex;flex-direction:column;gap:.25rem}.time-slot-name{font-size:.95rem;color:var(--text-color)}.time-slot-time{font-size:.8rem;color:var(--sub-text-color);font-weight:400}.schedule-cell{padding:.75rem;min-height:80px;vertical-align:middle;cursor:pointer;transition:all .2s;border:2px solid transparent;position:relative}.schedule-cell.empty{background:var(--body-color)}.schedule-cell.empty:hover{background:var(--input-background-color);border-color:var(--primary-color)}.schedule-cell.filled{background:var(--input-background-color);border-color:var(--border-color)}.schedule-cell.filled:hover{border-color:var(--primary-color);box-shadow:0 0 0 2px #695cfe1a}.schedule-content{display:flex;flex-direction:column;gap:.5rem}.schedule-subject{font-weight:600;font-size:.9rem;color:var(--text-color)}.schedule-teacher{font-size:.75rem;color:var(--sub-text-color)}.schedule-empty{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:.5rem;color:var(--sub-text-color);font-size:.85rem;min-height:60px}.schedule-empty i{font-size:1.5rem;opacity:.5}.schedule-modal-overlay{position:fixed;inset:0;background:#00000080;display:flex;align-items:center;justify-content:center;z-index:1000;animation:fadeIn .2s ease}.schedule-modal{background:var(--sidebar-color);border-radius:16px;box-shadow:0 10px 40px #0003;width:90%;max-width:500px;max-height:90vh;overflow:auto;animation:slideUp .3s ease}.schedule-modal-header{padding:1.5rem;border-bottom:1px solid var(--border-color);display:flex;justify-content:space-between;align-items:center}.schedule-modal-header h2{margin:0;font-size:1.25rem;color:var(--text-color)}.schedule-modal-close{background:none;border:none;font-size:2rem;color:var(--sub-text-color);cursor:pointer;padding:0;width:32px;height:32px;display:flex;align-items:center;justify-content:center;border-radius:50%;transition:all .2s}.schedule-modal-close:hover{background:var(--body-color);color:var(--error-color)}.schedule-modal-body{padding:1.5rem}.schedule-form-group{margin-bottom:1.5rem}.schedule-form-group label{display:block;margin-bottom:.5rem;font-weight:600;color:var(--text-color)}.schedule-form-group .required{color:var(--error-color)}.schedule-hint{display:block;margin-top:.5rem;font-size:.8rem;color:var(--sub-text-color);font-style:italic}.schedule-modal-footer{padding:1.5rem;border-top:1px solid var(--border-color);display:flex;justify-content:space-between;align-items:center;gap:1rem}.btn-primary,.btn-secondary,.btn-danger{padding:.75rem 1.5rem;border:none;border-radius:8px;font-size:.95rem;font-weight:600;cursor:pointer;transition:all .2s;display:flex;align-items:center;gap:.5rem;font-family:Poppins,sans-serif}.btn-primary:hover:not(:disabled){background:var(--second-color);transform:translateY(-2px);box-shadow:0 4px 12px #695cfe4d}.btn-secondary{background:var(--button-color);color:var(--text-color);border:2px solid var(--border-color)}.btn-secondary:hover:not(:disabled){background:var(--body-color)}.btn-danger{background:#e74c3c;color:#fff}.btn-danger:hover:not(:disabled){background:#c0392b;transform:translateY(-2px);box-shadow:0 4px 12px #e74c3c4d}.btn-primary:disabled,.btn-secondary:disabled,.btn-danger:disabled{opacity:.5;cursor:not-allowed;transform:none!important}@media(max-width:1024px){.schedule-matrix-container{padding:1rem}.schedule-matrix{font-size:.85rem}.time-slot-header{min-width:120px}.day-header{min-width:150px}}:root{--primary-color-light: #695cfe;--second-color-light: #39a71b;--primary-color-dark: #695CFE;--second-color-dark: #39a71b;--primary-color: #695CFE;--second-color: #39a71b;--input-background-color: #695CFE10;--body-color: #695CFE10;--sidebar-color: #FFFFFF;--icon-theme-color: #F6F5FF;--toggle-color: #DDD;--button-color: #DDD;--select-background: #FFF;--textarea-background: #FFF;--title-background: #FFF;--box-background: #CCC;--switch-background: #CCC;--modal-background: #f1f1f1;--graphic-background: #e7eaf5;--message-background: #e7edf5;--text-color: #202020;--sub-text-color: #5c5c5c;--graphic-color: #202020;--border-color: #DDD;--box-shadow: #695CFE50;--success-color: #10b981;--success-bg: #d1fae5;--error-color: #ef4444;--error-bg: #fee2e2;--warning-color: #f59e0b;--warning-bg: #fef3c7;--info-color: #3b82f6;--info-bg: #dbeafe;--backgound-color-pop-up-excluir: #ff7878;--tran-01: all .25s ease-in-out;--tran-02: all .2s ease;--tran-03: all .3s ease;--tran-04: all .4s ease;--tran-05: all .5s ease;--ff-0-5: 8px;--ff-1: 16px;--ff-2: 18px;--ff-3: 20px;--ff-4: 24px;--ff-5: 28px;--ff-6: 32px;--ff-7: 48px;--fw-100: 100;--fw-200: 200;--fw-300: 300;--fw-400: 400;--fw-500: 500;--fw-600: 600;--fw-700: 700;--fw-800: 800;--fw-900: 900;--shadow-sm: 0 1px 2px 0 rgba(0, 0, 0, .05);--shadow: 0 1px 3px 0 rgba(0, 0, 0, .1), 0 1px 2px 0 rgba(0, 0, 0, .06);--shadow-md: 0 4px 6px -1px rgba(0, 0, 0, .1), 0 2px 4px -1px rgba(0, 0, 0, .06);--shadow-lg: 0 10px 15px -3px rgba(0, 0, 0, .1), 0 4px 6px -2px rgba(0, 0, 0, .05);--shadow-xl: 0 20px 25px -5px rgba(0, 0, 0, .1), 0 10px 10px -5px rgba(0, 0, 0, .04);--radius-sm: 4px;--radius: 8px;--radius-md: 12px;--radius-lg: 16px;--radius-xl: 20px;--radius-full: 9999px;--spacing-xs: 4px;--spacing-sm: 8px;--spacing-md: 16px;--spacing-lg: 24px;--spacing-xl: 32px;--spacing-2xl: 48px;--scroll-bgcolor: #FFF;--scroll-color: #DDD;--scroll-hover: #CCC;--table-body: #FFF;--table-color: #DDD;--table-color-dark: #cccccc;--table-color-light: #f4f5fc;--z-tooltip: 10;--z-fixed: 100;--z-modal: 1000;--header-height: 75px}body.dark{--primary-color: #695CFE;--second-color: #39a71b;--input-background-color: #695CFE10;--body-color: #252525;--sidebar-color: #303030;--icon-theme-color: #3a3b3c;--toggle-color: #fff;--text-color: #f5f5f5;--sub-text-color: #adadad;--box-shadow: #121212d5;--graphic-color: #f4f4f4;--message-background: #302f2f;--title-background: #1f2020;--box-background: #3c3e41;--select-background: #1f1f1f;--textarea-background: #1f1f1f;--border-color: #3a3b3c;--button-color: #555555;--scroll-bgcolor: #1a1a1a9a;--scroll-color: #4f4f4f;--scroll-hover: #a5a5a5;--switch-background: #18191a;--modal-background: #383838;--table-body: #1f1f1f;--table-color: #3a3b3c;--table-color-light: #313131;--table-color-dark: #242526}*{margin:0;padding:0;box-sizing:border-box;font-family:Montserrat,sans-serif}body{background-color:var(--body-color);color:var(--text-color);transition:var(--tran-02);min-height:100vh}::-webkit-scrollbar{width:10px;height:10px}::-webkit-scrollbar-track{background:var(--scroll-bgcolor)}::-webkit-scrollbar-thumb{background:var(--scroll-color);border-radius:5px}::-webkit-scrollbar-thumb:hover{background:var(--scroll-hover)}a{text-decoration:none;color:inherit;transition:var(--tran-02)}a:hover{opacity:.8}button{cursor:pointer;border:none;outline:none;font-family:inherit;transition:var(--tran-02)}button:disabled{opacity:.6;cursor:not-allowed}input,select,textarea{font-family:inherit;outline:none;transition:var(--tran-02)}input:focus,select:focus,textarea:focus{border-color:var(--primary-color)}ul,ol{list-style:none}img{max-width:100%;height:auto;display:block}h1,h2,h3,h4,h5,h6{font-weight:var(--fw-600);color:var(--text-color)}p{color:var(--sub-text-color);line-height:1.6}.container{max-width:1400px;margin:0 auto;padding:0 20px}.text-center{text-align:center}.text-right{text-align:right}.text-left{text-align:left}.mt-1{margin-top:8px}.mt-2{margin-top:16px}.mt-3{margin-top:24px}.mt-4{margin-top:32px}.mb-1{margin-bottom:8px}.mb-2{margin-bottom:16px}.mb-3{margin-bottom:24px}.mb-4{margin-bottom:32px}.flex{display:flex}.flex-column{flex-direction:column}.flex-center{display:flex;align-items:center;justify-content:center}.flex-between{display:flex;align-items:center;justify-content:space-between}.gap-1{gap:8px}.gap-2{gap:16px}.gap-3{gap:24px}.card{background:var(--sidebar-color);border-radius:12px;padding:20px;box-shadow:0 2px 10px var(--box-shadow);transition:var(--tran-02)}.card:hover{transform:translateY(-2px);box-shadow:0 4px 15px var(--box-shadow)}table{width:100%;border-collapse:collapse;background:var(--table-body);border-radius:8px;overflow:hidden}thead{background:var(--table-color)}th,td{padding:12px 16px;text-align:left;border-bottom:1px solid var(--border-color)}th{font-weight:var(--fw-600);color:var(--text-color)}tbody tr:hover{background:var(--table-color-light)}tbody tr:last-child td{border-bottom:none}.form-group{margin-bottom:20px}.form-label{display:block;margin-bottom:8px;font-weight:var(--fw-500);color:var(--text-color)}.form-input{width:100%;padding:12px 16px;border:1px solid var(--border-color);border-radius:8px;background:var(--input-background-color);color:var(--text-color);font-size:var(--ff-1)}.form-input::placeholder{color:var(--sub-text-color)}.form-select{width:100%;padding:12px 16px;border:1px solid var(--border-color);border-radius:8px;background:var(--select-background);color:var(--text-color);font-size:var(--ff-1);cursor:pointer}.form-textarea{width:100%;padding:12px 16px;border:1px solid var(--border-color);border-radius:8px;background:var(--textarea-background);color:var(--text-color);font-size:var(--ff-1);resize:vertical;min-height:100px}.btn{padding:12px 24px;border-radius:8px;font-size:var(--ff-1);font-weight:var(--fw-500);cursor:pointer;transition:var(--tran-02);display:inline-flex;align-items:center;justify-content:center;gap:8px}.btn-primary{background:var(--primary-color);color:#fff}.btn-primary:hover{opacity:.9;transform:translateY(-1px)}.btn-secondary{background:var(--second-color);color:#fff}.btn-secondary:hover{opacity:.9;transform:translateY(-1px)}.btn-outline{background:transparent;border:2px solid var(--primary-color);color:var(--primary-color)}.btn-outline:hover{background:var(--primary-color);color:#fff}.btn-danger{background:var(--backgound-color-pop-up-excluir);color:#fff}.btn-danger:hover{opacity:.9}.btn-sm{padding:8px 16px;font-size:14px}.btn-lg{padding:16px 32px;font-size:18px}.alert{padding:16px 20px;border-radius:8px;margin-bottom:20px;display:flex;align-items:center;gap:12px}.alert-success{background:#d4edda;color:#155724;border:1px solid #c3e6cb}.alert-error{background:#f8d7da;color:#721c24;border:1px solid #f5c6cb}.alert-warning{background:#fff3cd;color:#856404;border:1px solid #ffeaa7}.alert-info{background:#d1ecf1;color:#0c5460;border:1px solid #bee5eb}.loading{display:flex;align-items:center;justify-content:center;padding:40px}.spinner{width:40px;height:40px;border:4px solid var(--border-color);border-top-color:var(--primary-color);border-radius:50%;animation:spin 1s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.modal-overlay{position:fixed;inset:0;background:#00000080;display:flex;align-items:center;justify-content:center;z-index:1000;animation:fadeIn .2s ease}.modal-content{background:var(--modal-background);border-radius:12px;padding:24px;max-width:600px;width:90%;max-height:90vh;overflow-y:auto;animation:slideUp .3s ease}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes slideUp{0%{transform:translateY(20px);opacity:0}to{transform:translateY(0);opacity:1}}@media(max-width:768px){.container{padding:0 16px}.card{padding:16px}th,td{padding:8px 12px}.btn{padding:10px 20px;font-size:14px}}#root{width:100%;min-height:100vh}
