:root{--primary-color:#304162;--secondary-color:#6c757d;--tertiary-color:#ced4da;--background-color:#f8f9fa;--text-color:#212529;--header-color:#fff;--error-color:#dc3545;--link-color:#7bd5f6;--hover-color:#6c757d59;--border-color:#ced4da;--action-btn-bg:#f8f9fa;--action-btn-hover:#e9ecef;--scrollbar-thumb-color:#ced4da;--scrollbar-track-color:#f8f9fa;--card-background:#fff;--card-shadow:0 2px 5px #0000001a;--grid-gap:20px}body{background-color:#f8f9fa;background-color:var(--background-color);color:#212529;color:var(--text-color);display:flex;flex-direction:column;min-height:100vh;padding:0}body.login-page{display:block}body.login-page .app-container{height:100vh}.app-container{display:flex;min-height:100vh}.main-content{flex-grow:1;padding:30px;transition:margin-left .3s ease}.app-container.sidebar-open .main-content{margin-left:250px;transition:margin-left .3s ease}.app-container.sidebar-closed .main-content{margin-left:80px;transition:margin-left .3s ease}.print-button{background-color:#304162;border-radius:5px;padding:10px 20px;position:absolute;right:10px;top:10px}.print-button:hover{background-color:#6c757d59;background-color:var(--hover-color)}@media print{body{font-family:Arial,sans-serif}.student-details,body{width:100%}}.login-container{align-items:center;background-color:var(--background-color);bottom:0;display:flex;height:100vh;justify-content:center;left:0;margin:0;padding:0;position:absolute;right:0;top:0;width:100%;z-index:1!important}.app-container.sidebar-closed .login-container,.app-container.sidebar-open .login-container{margin-left:0!important}.login-form{background-color:var(--header-color);border-radius:8px;box-shadow:0 4px 6px #0000001a;margin:0 auto;max-width:320px;padding:20px;width:85%}.login-form h2{color:var(--text-color);font-size:1.5rem;margin-bottom:20px;text-align:center}.login-form input[type=password],.login-form input[type=text]{border:1px solid var(--border-color);border-radius:4px;font-size:1rem;margin-bottom:15px;padding:15px;width:calc(100% - 30px)}.login-form button{background-color:var(--primary-color);border:none;border-radius:4px;color:var(--header-color);cursor:pointer;font-size:1rem;padding:15px;transition:background-color .2s ease;width:100%}.login-form button:hover{background-color:var(--secondary-color)}.error-message{font-size:.9rem;text-align:center}@media (max-width:480px){body.login-page{height:100%;overflow:hidden;width:100%}.login-container{align-items:center;background-color:var(--background-color);box-sizing:border-box;display:flex;height:100vh!important;justify-content:center;left:0!important;margin:0!important;padding:0!important;position:fixed;top:0!important;width:100vw!important;z-index:1!important}.app-container .login-container{left:0!important;margin-left:0!important;padding:0!important}.login-form{box-shadow:0 4px 10px #00000026;margin:0 auto;max-width:280px;padding:25px 20px;width:85%}.login-form h2{margin-bottom:25px}.login-form input[type=password],.login-form input[type=text]{font-size:16px;padding:12px;width:calc(100% - 24px)}.login-form button{margin-top:10px;padding:14px}.polo-modal-overlay{z-index:99999!important}.polo-modal{z-index:100000!important}}.polo-modal{background-color:#fff;border-radius:8px;box-shadow:0 2px 10px #0000001a;left:50%;max-width:400px;outline:none;padding:1.5rem;position:absolute;top:50%;transform:translate(-50%,-50%);width:90%;z-index:100000!important}.polo-modal-overlay{align-items:center;background-color:#00000080;bottom:0;display:flex;justify-content:center;left:0;position:fixed;right:0;top:0;z-index:99999!important}.polo-selector-container h2{color:#333;margin-bottom:1rem;text-align:center}.polo-button{background-color:#fff;border:1px solid #ddd;border-radius:4px;cursor:pointer;font-size:.9rem;margin-bottom:.5rem;padding:.8rem;transition:background-color .2s;width:100%}.polo-button:hover{background-color:#f5f5f5}.polo-exit-button{background-color:#f44;border:none;border-radius:4px;color:#fff;cursor:pointer;font-size:.9rem;margin-top:1rem;padding:.8rem;transition:background-color .2s;width:100%}.polo-exit-button:hover{background-color:#c00}.pagination{gap:.5rem;margin-top:1rem}.pagination button{padding:.5rem 1rem}.pagination button.active{background-color:#f0f0f0;font-weight:700}.pagination button:disabled{opacity:.5}.loading-container{align-items:center;background-color:#00000080;display:flex;height:100%;justify-content:center;left:0;position:fixed;top:0;width:100%;z-index:1000}.lds-ripple{display:inline-block;height:80px;position:relative;width:80px}.lds-ripple div{animation:lds-ripple 1s cubic-bezier(0,.2,.8,1) infinite;border:4px solid var(--primary-color);border-radius:50%;opacity:1;position:absolute}.lds-ripple div:nth-child(2){animation-delay:-.5s}@keyframes lds-ripple{0%{height:0;left:36px;opacity:0;top:36px;width:0}4.9%{height:0;left:36px;opacity:0;top:36px;width:0}5%{height:0;left:36px;opacity:1;top:36px;width:0}to{height:72px;left:0;opacity:0;top:0;width:72px}}.dashboard-modern.sidebar-closed{margin-left:60px;overflow:auto;width:calc(100% - 60px)}.dashboard-header{flex-shrink:0;margin-bottom:.5rem}.dashboard-grid{display:flex;flex-direction:column;gap:.5rem;height:100%;overflow-y:hidden;padding:0;position:relative}.modal-content-alert{background:var(--background-color);border-radius:var(--border-radius);max-height:90vh;max-width:100%;overflow-y:auto;padding:var(--spacing-lg);width:1200px}.modal-content-alert button{background-color:var(--secondary-color);border:none;border-radius:5px;color:var(--header-color);cursor:pointer;padding:10px 20px;transition:background-color .3s}.modal-content-alert button:hover{background-color:var(--tertiary-color);color:var(--text-color)}.metrics-alerts-section{flex:0 0 auto;margin-left:0;padding-left:0}.metrics-grid{grid-gap:.5rem;display:grid;gap:.5rem;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));margin-bottom:.5rem;width:100%}.metric-card{align-items:center;background:var(--card-background);border-radius:.75rem;box-shadow:var(--card-shadow);display:flex;flex-direction:row;gap:.75rem;min-height:120px;padding:1rem;transition:all .3s ease}.metric-card:hover{box-shadow:0 4px 6px #0000001a;transform:translateY(-2px)}.metric-card.alert-card{animation:pulse 2s infinite;background:linear-gradient(135deg,#fef2f2,#fee2e2);border:1px solid var(--error-color);cursor:pointer}@keyframes pulse{0%{box-shadow:0 0 0 0 #ef444466}70%{box-shadow:0 0 0 10px #ef444400}to{box-shadow:0 0 0 0 #ef444400}}.alert-card .metric-content h3,.alert-card .metric-content p,.alert-card .metric-icon{color:var(--error-color)}.metric-header{align-items:center;display:flex;flex-shrink:0;justify-content:center;margin:0}.metric-icon{border-radius:.5rem;font-size:1.5rem;padding:.75rem}.metric-content{display:flex;flex:1 1;flex-direction:column;justify-content:center}.metric-content h3{color:var(--text-color);font-size:1.5rem;font-weight:600;line-height:1.2;margin:0}.metric-content p{color:var(--secondary-color);font-size:.75rem;margin:.125rem 0 0}.metric-details{display:flex;flex-direction:column;gap:.125rem;margin-top:.5rem}.metric-sub{color:var(--secondary-color);font-size:.875rem}.metric-sub.success{color:#22c55e;font-weight:500}.main-section{flex:1 1;margin:0;min-height:0;overflow:hidden;padding:0;width:100%}.classes-grid{grid-gap:.5rem;display:grid;gap:.5rem;grid-template-columns:minmax(300px,1fr) minmax(300px,1fr);height:100%}.attendance-container{display:flex;flex-direction:column;gap:1rem;height:100%}.attendance-card{background:var(--card-background);border-radius:16px;box-shadow:var(--card-shadow);gap:.75rem;padding:1rem}.attendance-card-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:.5rem}.attendance-period{background:var(--primary-color);border-radius:20px;color:#fff;font-size:.85rem;padding:.35rem 1rem}.attendance-card-body{display:flex;gap:.75rem;padding:.5rem}.attendance-circle{height:80px;width:80px}.circular-chart{height:100%;width:100%}.circle-bg{fill:none;stroke:var(--tertiary-color);stroke-width:3.8}.circle{fill:none;stroke:var(--primary-color);stroke-width:3.8;stroke-linecap:round;animation:progress 1s ease-out forwards}.percentage{fill:var(--primary-color);text-anchor:middle;font-size:.5em;font-weight:700}.attendance-stats-grid{grid-gap:.5rem;display:grid;gap:.5rem;grid-template-columns:repeat(3,1fr)}.stat-item{background:var(--background-color);border-radius:12px;padding:.5rem;text-align:center}.stat-value{color:var(--text-color);display:block;font-size:1.15rem;margin-bottom:.25rem}.stat-label{color:var(--secondary-color);font-size:.75rem}.attendance-divider{background:var(--border-color);height:1px;margin:.5rem 0}.classes-tabs{border-bottom:2px solid var(--border-color);display:flex;gap:1rem;margin-bottom:.5rem;padding:0 .5rem}.tab-button-dashboard{align-items:center;background:none;border:none;color:var(--secondary-color);cursor:pointer;display:flex;font-size:.875rem;font-weight:500;gap:.5rem;padding:.5rem 1rem;position:relative;transition:all .3s ease}.tab-button-dashboard.active,.tab-button-dashboard:hover{color:var(--primary-color)}.tab-button-dashboard.active:after{background-color:var(--primary-color);bottom:-2px;content:"";height:2px;left:0;position:absolute;right:0}.tab-count{align-items:center;background-color:var(--tertiary-color);border-radius:10px;color:var(--secondary-color);display:inline-flex;font-size:.75rem;font-weight:600;height:20px;justify-content:center;min-width:20px;padding:0 6px}.tab-button-dashboard.active .tab-count{background-color:var(--primary-color);color:var(--header-color)}.classes-container{display:flex;flex-direction:column;gap:1rem;height:100%}.past-classes-card{background:var(--card-background);border-radius:16px;box-shadow:var(--card-shadow);height:100%;overflow:hidden;padding:.75rem}.past-classes-grid{grid-gap:var(--grid-gap);display:grid;gap:var(--grid-gap);grid-template-columns:repeat(3,1fr);height:250px;min-height:250px;overflow-y:auto;padding:.5rem}.past-classes-grid.no-scroll{overflow-y:hidden}.past-class-item{background:var(--background-color);border-left:3px solid var(--primary-color);border-radius:12px;display:flex;flex-direction:column;gap:.25rem;height:-webkit-fit-content;height:fit-content;min-height:100px;padding:.75rem;transition:transform .2s ease}.past-class-time{align-items:center;border-bottom:1px solid #e5e7eb;color:var(--primary-color);display:flex;font-size:1rem;font-weight:600;gap:.5rem;padding-bottom:.5rem}.past-class-content{display:flex;flex-direction:column;gap:.5rem}.past-class-content h4{color:var(--text-color);font-size:1rem;margin:0}.past-class-details{font-size:.875rem}.no-classes-message,.past-class-details{color:var(--secondary-color);display:flex;gap:1rem}.no-classes-message{align-items:center;background-color:var(--card-background);border-radius:12px;flex-direction:column;grid-column:1/-1;height:100%;justify-content:center;padding:2rem;text-align:center}.no-classes-message i{color:var(--primary-color);font-size:2.5rem;opacity:.7}.no-classes-message p{font-size:1.1rem;font-weight:500}@keyframes progress{0%{stroke-dasharray:0 100}}.performance-grid{grid-gap:.5rem;display:grid;gap:.5rem;grid-template-columns:repeat(3,1fr);padding:0}.performance-card{background:var(--card-background);border-radius:12px;box-shadow:0 2px 4px #0000001a;padding:12px}.performance-card h3{color:var(--text-color);font-size:1rem;margin-bottom:8px}.performance-list{max-height:120px;overflow:hidden;overflow-y:auto}.performance-list .performance-item{align-items:center;display:flex;margin-bottom:1px;overflow:hidden;padding:9px}.performance-item .course-name{color:var(--text-color);font-size:.9rem;width:80px}.progress-bar{background:var(--tertiary-color);border-radius:4px;flex:1 1;height:8px;margin:0 10px}.progress-bar .progress{background:var(--primary-color);border-radius:4px;height:100%}.performance-item .percentage{color:var(--secondary-color);font-size:.9rem;width:40px}.distribution-grid{grid-gap:15px;display:grid;gap:15px;grid-template-columns:repeat(3,1fr);padding:4px 0;text-align:center}.distribution-item{align-items:center;display:flex;flex-direction:column}.distribution-item .period{color:var(--secondary-color);font-size:.9rem}.distribution-item .count{color:var(--primary-color);font-size:1.3rem;font-weight:700;margin:3px 0}.distribution-item .label{color:var(--secondary-color);font-size:.8rem}.events-list{display:flex;flex-direction:column;gap:15px}.event-item{align-items:center;background:var(--background-color);border-radius:8px;display:flex;padding:10px}.event-date{background:var(--primary-color);border-radius:6px;color:var(--header-color);font-size:.9rem;min-width:70px;padding:8px;text-align:center}.event-details{margin-left:15px}.event-details h4{color:var(--text-color);font-size:.95rem;margin:0}.event-details p{color:var(--secondary-color);font-size:.85rem;margin:5px 0 0}.notifications-card{background:var(--card-background);border-radius:12px;padding:20px}.notifications-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:15px}.notification-counter{background:var(--tertiary-color);border-radius:20px;color:var(--primary-color);font-size:.8rem;font-weight:500;padding:4px 12px}.notifications-list{display:flex;flex-direction:column;gap:12px;max-height:120px;overflow-y:auto;padding-right:5px}.notifications-list::-webkit-scrollbar{width:4px}.notifications-list::-webkit-scrollbar-track{background:#f1f1f1;border-radius:4px}.notifications-list::-webkit-scrollbar-thumb{background:#ccc;border-radius:4px}.notification-item{background:var(--background-color);border-left:3px solid #0000;border-radius:8px;display:flex;gap:12px;margin-bottom:4px;padding:6px 8px;transition:transform .2s ease}.notification-item.unread{background:var(--card-background);border-left:3px solid var(--primary-color);box-shadow:0 2px 4px #0000000d}.notification-icon{align-items:center;border-radius:50%;display:flex;flex-shrink:0;height:28px;justify-content:center;width:28px}.notification-icon.warning{background:var(--tertiary-color);color:var(--error-color)}.notification-icon.info,.notification-icon.success{background:var(--tertiary-color);color:var(--primary-color)}.notification-icon i{font-size:1rem}.notification-content{flex:1 1}.notification-content p{color:var(--text-color);font-size:.85rem;line-height:1.4;margin:0}.notification-time{color:var(--secondary-color);display:block;font-size:.75rem;margin-top:4px}.notification-item:hover{transform:translateX(4px)}.multiple-classes{display:flex;flex-direction:column;gap:4px;max-height:120px;overflow-y:auto;scrollbar-color:var(--primary-color) var(--background-color);scrollbar-width:thin}.multiple-classes::-webkit-scrollbar{width:4px}.multiple-classes::-webkit-scrollbar-track{background:var(--background-color);border-radius:4px}.multiple-classes::-webkit-scrollbar-thumb{background:var(--primary-color);border-radius:4px}.class-time{background:var(--card-background);border-radius:4px;box-shadow:0 2px 4px #0000001a;color:#2c3e50;font-size:.9rem;font-weight:600;margin-bottom:4px;padding:8px;position:-webkit-sticky;position:sticky;top:0;z-index:1}.class-list{display:flex;flex-direction:column;gap:4px;margin-left:8px;padding-right:4px}.class-item{align-items:center;background:#f8f9fa;border-left:3px solid #3498db;border-radius:0 4px 4px 0;color:#34495e;display:flex;font-size:.85rem;padding:8px}.class-item:hover{background:#edf2f7;transform:translateX(2px);transition:all .2s ease}@media screen and (max-width:1200px){.metrics-grid{grid-template-columns:repeat(2,1fr)}.classes-grid{gap:1rem;grid-template-columns:1fr}.past-classes-grid,.performance-grid{grid-template-columns:repeat(2,1fr)}}@media screen and (max-width:768px){.dashboard-grid{padding:.5em}.metrics-grid{grid-template-columns:1fr}.metric-card{min-height:100px}.past-classes-grid,.performance-grid{grid-template-columns:1fr}.attendance-stats-grid{grid-template-columns:repeat(2,1fr)}.distribution-grid{gap:10px;grid-template-columns:1fr}.modal-content-alert{padding:var(--spacing-md);width:95%}}@media screen and (max-width:480px){.dashboard-grid{box-sizing:border-box;margin-left:0;margin-right:0;overflow-x:hidden;padding:.25em;width:100%}.dashboard-modern,.dashboard-modern.sidebar-closed{box-sizing:border-box;margin-left:0!important;padding:0 10px;width:100%!important}.dashboard-header{margin-bottom:.25rem;padding:0 5px}.main-section,.metrics-alerts-section{box-sizing:border-box;margin-left:0;padding-left:0;width:100%}.metric-card{align-items:flex-start;flex-direction:column;min-height:auto;padding:10px;text-align:center}.metric-icon{align-self:center}.metric-content{align-items:center}.attendance-card-body{align-items:center;flex-direction:column}.attendance-circle{height:60px;width:60px}.attendance-stats-grid{grid-template-columns:1fr}.tab-button-dashboard{font-size:.75rem;padding:.5rem}.tab-count{font-size:.7rem;height:16px;min-width:16px}.event-item{align-items:flex-start;flex-direction:column;gap:10px}.event-date{width:100%}.event-details{margin-left:0}.notification-item{align-items:flex-start;flex-direction:column}.notification-icon{margin-bottom:8px}}.sidebar{background-color:#2c3e50;color:#ecf0f1;display:flex;flex-direction:column;height:100vh;justify-content:space-between;overflow:hidden;position:fixed;transition:width .3s ease;width:250px}.sidebar.closed{width:80px}.sidebar-header{align-items:center;border-bottom:1px solid #34495e;display:flex;justify-content:space-between;padding:15px}.sidebar-logo{color:#ecf0f1;font-size:1.2rem;text-decoration:none}.sidebar-toggle{cursor:pointer;font-size:1.5rem}.sidebar-content{flex-grow:1;overflow-y:auto;padding:10px}.sidebar-menu{list-style:none;margin:0;padding:0}.sidebar-item{margin-bottom:5px}.sidebar-link{align-items:center;border-radius:5px;color:#ecf0f1;display:flex;justify-content:center;padding:10px;position:relative;text-decoration:none;transition:background-color .3s}.sidebar-link span{flex:1 1;margin-left:10px;text-align:left}.sidebar-link:hover{background-color:#34495e}.sidebar-link svg{font-size:1.2rem;margin-right:10px}.sidebar.closed .sidebar-link span{display:none}.sidebar.closed .sidebar-link{justify-content:center;padding:10px 0}.sidebar.closed .sidebar-link svg{margin-right:0}.sidebar-submenu{list-style:none;margin:0;max-height:0;overflow:hidden;padding:0;transition:max-height .3s ease-in-out}.sidebar-submenu.open{max-height:500px}.sidebar-submenu li{padding-left:20px}.sidebar-submenu a{align-items:center;border-radius:5px;color:#ecf0f1;display:flex;justify-content:center;padding:10px;text-decoration:none}.sidebar-submenu a span{flex:1 1;margin-left:10px;text-align:left}.sidebar-submenu a:hover{background-color:#34495e}.sidebar-submenu svg{font-size:1.2rem;margin-right:10px}.sidebar-footer{border-top:1px solid #34495e;padding:15px;text-align:center}.sidebar-link.has-requests{color:var(--error-color);font-weight:700}.bell-icon{transform-origin:top}.bell-animation{animation:bellRing 1s ease-in-out infinite;color:var(--error-color)}@keyframes bellRing{0%{transform:rotate(0)}20%{transform:rotate(15deg)}40%{transform:rotate(-15deg)}60%{transform:rotate(7deg)}80%{transform:rotate(-7deg)}to{transform:rotate(0)}}.notification-dot{background-color:var(--error-color);border-radius:50%;height:8px;position:absolute;right:5px;top:5px;width:8px}.sidebar.closed .notification-dot{right:10px;top:5px}@media screen and (max-width:1024px){.sidebar{height:100%;left:0;position:fixed;top:0;width:200px;z-index:1000}.sidebar.closed{width:60px}.sidebar-header{padding:10px}.sidebar-logo{font-size:1rem}}@media screen and (max-width:768px){.main-content{margin-left:0;transition:margin-left .3s ease;width:100%}.main-content.sidebar-open{margin-left:180px}}.header-user-container{display:flex;justify-content:flex-end;padding:10px;position:fixed;width:100%;z-index:1003}user-info img{height:30px;width:30px}.no-print{@media print{display:none}}.logo{height:auto;position:fixed;right:10px;top:10px;width:100px}.user-info{align-items:flex-end;display:flex;flex-direction:column;margin-right:120px;margin-top:5px;min-width:200px}.top-line{align-items:center;display:flex;gap:8px;justify-content:flex-end;margin-bottom:0;width:100%}.user-separator{color:var(--text-color);font-size:.85em}.user-info span{line-height:1.4;text-align:right}.polo-name{font-weight:700;margin-top:2px;padding-right:0;text-align:right;width:100%}.polo-name,.user-name{color:var(--text-color);font-size:.85em}.user-name{font-weight:600}.user-type{color:var(--text-secondary-color);font-size:.85em}.styled-logout-btn{background:#0000;border:1px solid var(--primary-color);border-radius:4px;box-shadow:none;color:var(--primary-color);cursor:pointer;display:block;font-size:1em;font-weight:600;margin:0 auto;padding:8px 0;transition:background .2s,color .2s;width:100%}.styled-logout-btn:hover{background:var(--primary-color);color:#fff}@media (max-width:768px){.styled-logout-btn{border-width:1.5px;font-size:1em;padding:10px 0}}.categories-list-container{background-color:var(--background-color);color:var(--text-color);font-family:sans-serif;padding:20px}.modal-overlay{height:100%;width:100%}.modal{background-color:var(--background-color);border-radius:5px;box-shadow:0 0 10px #00000080;max-width:90%;padding:.9%;width:500px}.modal-header{border-bottom:1px solid #ccc;padding-bottom:10px}.close-button{color:#666}.close-button:hover{color:#000}.modal-footer{margin-top:20px;text-align:right}.modal-cancel-button,.modal-save-button{border:none;border-radius:4px;cursor:pointer;font-size:1rem;margin-left:10px;padding:8px 15px}.modal-save-button{background-color:#4caf50;color:#fff}.modal-save-button:hover{background-color:#367c39}.modal-cancel-button{background-color:#f44336;color:#fff}.modal-cancel-button:hover{background-color:#da190b}.error-message{margin-top:10px}.table-container{margin:1rem 0;overflow-x:auto;width:100%}.custom-table{background:#fff;border-collapse:collapse;font-size:1rem;width:100%}.custom-table td,.custom-table th{border-bottom:1px solid #e0e0e0;padding:.75rem 1rem;text-align:left}.custom-table th.sortable{color:#1976d2;cursor:pointer;-webkit-user-select:none;user-select:none}.custom-table th .sort-indicator{font-size:.9em;margin-left:.3em}.table-loading{color:#1976d2}.table-error,.table-loading{padding:1rem;text-align:center}.table-error{color:#d32f2f}.no-data{color:#888;padding:1.5rem 0;text-align:center}.actions-cell{min-width:120px}.actions-menu{display:flex;gap:.5rem}.action-btn{background:#1976d2;border:none;border-radius:4px;color:#fff;cursor:pointer;font-size:.95em;padding:.3rem .7rem;transition:background .2s}.action-btn:hover{background:#125ea2}.filters-container{align-items:flex-end;background:#f7f9fb;border:2.5px solid #1976d2;border-radius:14px;box-shadow:0 2px 8px #1e3c5a0f;display:flex;flex-wrap:nowrap;gap:1rem;justify-content:flex-start;margin-left:auto;margin-right:auto;max-width:100%;min-width:0;overflow-x:auto;padding:1.2rem 1.5rem 1rem;position:relative;width:96%}.filters-container:before{background:#1976d2;border-radius:8px 8px 0 0;box-shadow:0 2px 8px #1e3c5a14;color:#fff;font-size:1.05rem;font-weight:600;left:24px;letter-spacing:.04em;padding:.15em 1.1em;position:absolute;top:-18px}.filter-group{display:flex;flex:1 1;flex-direction:column;margin-bottom:.5rem;max-width:100%;min-width:0}.filter-group fieldset{border:none;margin:0 0 .5rem;padding:0}.filter-group legend{color:#1a237e;font-size:1.05rem;font-weight:600;letter-spacing:.01em;margin-bottom:.4rem}.filter-group input,.filter-group select{background:#fff;border:1.5px solid #e3e7ed;border-radius:7px;box-shadow:0 1px 2px #1e3c5a08;font-size:1.05rem;padding:.6rem .9rem;transition:border .2s,box-shadow .2s}.filter-group input:focus,.filter-group select:focus{border-color:#1976d2;box-shadow:0 0 0 2px #1976d220;outline:none}.checkbox-container{align-items:center;color:#1976d2;display:flex;font-size:1rem;font-weight:400;gap:.5rem;height:100%;margin-bottom:2.5rem;margin-left:.5rem;-webkit-user-select:none;user-select:none}.checkbox-container input[type=checkbox]{accent-color:#1976d2;background:#fff;border:1.5px solid #e3e7ed;border:1.5px solid var(--primary-color,#e3e7ed);border-radius:3px;box-shadow:none;height:18px;margin-right:.2rem;transition:border .15s;width:18px}.checkbox-container input[type=checkbox]:focus{border:1.5px solid #125ea2;outline:none}.checkbox-container label{color:#1976d2;cursor:pointer;font-size:1rem;font-weight:400;letter-spacing:.01em;margin-bottom:0;padding-left:.1rem}.refresh-button{align-items:center;background:linear-gradient(90deg,#1976d2 60%,#2196f3);border:none;border-radius:7px;box-shadow:0 2px 6px #1e3c5a14;color:#fff;cursor:pointer;display:flex;font-size:1.08rem;font-weight:500;gap:.5rem;height:44px;margin-bottom:1.2rem;margin-left:1.2rem;min-width:120px;padding:2rem 1.5rem;transition:background .2s,box-shadow .2s}.refresh-button:disabled{background:#b0bec5;box-shadow:none;cursor:not-allowed}.refresh-button:hover:not(:disabled){background:linear-gradient(90deg,#125ea2 60%,#1976d2);box-shadow:0 4px 12px #1e3c5a21}.header-container{margin-bottom:1.5rem}.error-message{color:#d32f2f;margin-bottom:1rem;text-align:left}.actions-menu-dropdown{display:inline-block;position:relative}.main-action-btn{background:#1976d2;border:none;border-radius:4px;color:#fff;cursor:pointer;font-size:.97em;font-weight:500;min-width:90px;padding:.3rem 1.1rem;transition:background .2s}.main-action-btn:hover{background:#125ea2}.actions-dropdown-list{animation:fadeInDropdown .18s;background:#fff;border:1.5px solid #1976d2;border-radius:7px;box-shadow:0 4px 16px #1e3c5a21;display:flex;flex-direction:column;left:auto;min-width:140px;padding:.3rem 0;position:fixed;top:auto;z-index:9999}@keyframes fadeInDropdown{0%{opacity:0;transform:translateY(-8px)}to{opacity:1;transform:translateY(0)}}.dropdown-action-btn{background:none;border:none;border-radius:0;color:#1976d2;cursor:pointer;font-size:.97em;padding:.5rem 1.1rem;text-align:left;transition:background .18s,color .18s;width:100%}.dropdown-action-btn:hover{background:#e3f0fd;color:#125ea2}.filters-row-group{display:flex;flex-wrap:nowrap;gap:1rem}.filters-row-group .form-group{align-items:center;box-sizing:border-box;display:flex;flex:1 1;gap:.5rem;margin-bottom:0;max-width:100%;min-width:120px}.filters-row-group label{min-width:70px}.filters-row-group input[type=date],.filters-row-group input[type=time]{box-sizing:border-box;font-size:.95rem;min-width:0;padding:4px 6px;width:90px}.filters-container .form-group input,.filters-container .form-group select{font-size:.95rem;min-width:90px;padding:4px 6px}@media (max-width:900px){.filters-container{overflow-x:auto;padding:1rem .5rem}.filters-container,.filters-row-group{flex-wrap:nowrap;gap:.7rem}.filters-row-group .form-group{gap:.3rem;min-width:110px}}.create-category-container{border:1px solid #ccc;border-radius:5px;margin:20px auto;padding:20px;width:400px}.create-category-container h2{margin-bottom:20px;text-align:center}.create-category-container button{background-color:var(--primary-color);border:none;border-radius:5px;color:#fff;cursor:pointer;padding:10px 15px}.create-category-container .message{border-radius:5px;margin-bottom:15px;padding:10px}.create-category-container .message.success{background-color:#d4edda;border-color:#c3e6cb;color:#155724}.create-category-container .message.error{background-color:#f8d7da;border-color:#f5c6cb;color:#721c24}.create-course-container h2{color:var(--primary-color);font-size:1.8rem;font-weight:700;margin-bottom:20px;text-align:center}.create-course-container button{background-color:var(--primary-color);border:none;border-radius:5px;color:#fff;cursor:pointer;float:right;font-size:1rem;padding:10px 20px;transition:background-color .3s ease}.create-course-container button:hover{background-color:var(--hover-color)}.selected-students-preview-create{background-color:#f9f9f9;border:1px solid #ddd;border-radius:6px;box-shadow:0 2px 4px #0000001a;margin-bottom:15px;max-width:100%;overflow:visible!important;padding:12px;position:relative;transition:all .2s ease-in-out}.selected-students-preview-create ul{list-style:none;margin:0;padding:0}.selected-students-preview-create li{align-items:center;border-bottom:1px solid #eaeaea;color:#333;display:flex;font-size:14px;font-weight:500;justify-content:space-between;padding:8px 10px;transition:background-color .2s ease-in-out,box-shadow .2s ease-in-out}.selected-students-preview-create li:last-child{border-bottom:none}.selected-students-preview-create li:hover{background-color:#f1f1f1;box-shadow:0 2px 8px #0000001a}.selected-students-preview-create .student-name{color:#222;flex-grow:1;font-size:14px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.selected-students-preview-create .remove-student{background:#0000;border:none;border-radius:4px;color:#e74c3c;cursor:pointer;font-size:16px;padding:5px 10px;transition:transform .2s ease-in-out,color .2s ease-in-out,background-color .3s ease}.selected-students-preview-create .remove-student:hover{background-color:#c0392b;color:#fff;transform:scale(1.1)}.selected-students-preview-create .remove-student:focus{box-shadow:0 0 5px #e74c3cb3;outline:none}.selected-students-preview-create p{color:#666;font-style:italic;margin:0;text-align:center}fieldset{border:1px solid var(--border-color);border-radius:5px;margin-bottom:10px;padding:10px}.create-course-container form{display:flex;flex-direction:column;gap:1rem}.student-form input,.student-form select,.student-form textarea{text-align:center}.checkbox-label{border:1px solid #ddd;flex:1 1 220px;justify-content:flex-start;margin:0;max-width:260px;min-width:220px;transition:background-color .3s ease}.checkbox-label:hover{background-color:#eaeaea}.checkbox-label input[type=checkbox]{margin-right:8px}.student-age-badge{background:var(--secondary-color);border-radius:12px;color:#fff;display:inline-block;font-size:.85em;font-weight:700;margin-left:8px;padding:2px 8px;vertical-align:middle}.student-tooltip{cursor:pointer;display:inline-block;position:relative;z-index:10}.student-tooltip .tooltip-content{background-color:#333;border-radius:6px;box-shadow:0 2px 8px #00000040;color:#fff;font-size:.95em;left:0;opacity:0;padding:6px 10px;position:absolute;text-align:left;top:120%;transition:opacity .2s;visibility:hidden;white-space:pre-line;width:-webkit-max-content;width:max-content;z-index:99999}.student-tooltip:hover .tooltip-content{opacity:1;visibility:visible}.students-list{overflow:visible!important;padding:5px 0}.modal-edit{background-color:#fff;border-radius:5px;box-shadow:0 2px 10px #0003;height:100%;overflow-y:auto;width:70%}.close-button{color:#000}.modal-body{padding:20px}.checkbox-group{display:flex;flex-wrap:wrap;gap:10px}.checkbox-label{justify-content:center;text-align:center;width:100%}.checkbox-label input[type=checkbox]{margin-right:5px}.students-list{grid-gap:10px;border:1px solid #ccc;border-radius:4px;display:grid;grid-template-columns:repeat(5,1fr);max-height:250px;overflow-x:hidden;overflow-y:hidden;padding:5px}.selected-students-list{list-style:none;margin:0;padding:0}.selected-students-list li{align-items:center;border:1px solid #ccc;border-radius:4px;display:flex;justify-content:space-between;margin-bottom:5px;padding:5px}.remove-student{margin-left:10px;padding:0}.remove-student svg{color:red;font-size:16px}.btn{border:none;border-radius:4px;cursor:pointer;font-weight:700;padding:8px 15px;transition:background-color .2s ease}.btn-secondary{background-color:#ccc;color:#333;margin-right:10px}.btn-secondary:hover{background-color:#bbb}.btn-primary{background-color:#e71d36;color:#fff}.btn-primary:hover{background-color:#b70619}.selected-students-add-preview{background-color:#f5f5f5;border-radius:8px;margin-top:20px;max-height:200px;overflow-y:auto;padding:15px}.selected-students-add-preview h3{color:#333;font-size:1rem;margin-bottom:10px}.student-name{align-items:center;background-color:#fff;border-radius:4px;box-shadow:0 1px 3px #0000001a;display:flex;justify-content:space-between;margin-bottom:8px;padding:8px 12px}.student-name span{font-size:.9rem}.remove-student{align-items:center;background:none;border:none;color:#f44;cursor:pointer;display:flex;padding:4px;transition:color .2s}.students-list{box-sizing:border-box;display:flex;flex-wrap:wrap;gap:10px;width:100%}.checkbox-label{background:#fff;border:1px solid #eee;border-radius:6px;box-sizing:border-box;flex:1 1 45%;margin-bottom:8px;max-width:48%;min-width:180px;padding:8px}.search-container{margin-bottom:20px}.search-input{border:1px solid #ddd;padding:8px}.pagination button{background-color:#fff;border:1px solid #ddd;border-radius:4px;cursor:pointer;padding:5px 10px}.pagination button:disabled{background-color:#f5f5f5;cursor:not-allowed}.pagination span{font-size:14px}.details-modal{background-color:#fff;border-radius:12px;box-shadow:0 8px 24px #00000026;left:50%;max-height:85vh;padding:2.5rem;position:absolute;top:50%;transform:translate(-50%,-50%);width:95%}.course-details{.details-content{background-color:#f8f9fa;border-radius:8px;margin:1.5rem 0;padding:1rem}.course-info-grid{grid-gap:1rem;display:grid;gap:1rem;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));margin-bottom:1.5rem;padding:.5rem}.course-info-item{background-color:#fff;border-radius:6px;box-shadow:0 2px 4px #0000000d;padding:.8rem;text-align:center;transition:transform .2s ease}.course-info-item:hover{box-shadow:0 4px 8px #0000001a;transform:translateY(-2px)}h2{border-bottom:2px solid var(--primary-color);color:var(--primary-color);font-size:1.8rem;margin-bottom:1.5rem;padding-bottom:.5rem}h3{color:var(--text-color);font-size:1.3rem;margin:1.2rem 0 .8rem}p{font-size:1.1rem;line-height:1.6;margin:.8rem 0}strong{color:var(--primary-color)}ul{list-style:none;margin:1rem 0;padding-left:.5rem}li{background-color:#fff;border-radius:4px;box-shadow:0 2px 4px #0000000d;margin:.7rem 0;padding:.5rem}button{background-color:var(--primary-color);border:none;border-radius:6px;color:#fff;cursor:pointer;font-size:1rem;margin-top:1.5rem;padding:.8rem 1.5rem;transition:background-color .2s ease}button:hover{background-color:var(--hover-color);transform:translateY(-1px)}.professors-section ul,.students-section ul{grid-gap:1rem;display:grid;gap:1rem;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));padding:.5rem}.professors-section li,.students-section li{background-color:#fff;border-radius:6px;box-shadow:0 2px 4px #0000000d;padding:.8rem;text-align:center;transition:transform .2s ease}.professors-section li:hover,.students-section li:hover{box-shadow:0 4px 8px #0000001a;transform:translateY(-2px)}}@media screen and (max-width:768px){.course-details .details-content{font-size:.98rem;padding:8px 2px}.course-details .course-info-grid{gap:8px;grid-template-columns:1fr;padding:4px 0}.course-details .course-info-item{background:var(--card-background);border-radius:8px;box-shadow:var(--card-shadow);font-size:1rem;padding:10px 4px}.course-details h2{font-size:1.2rem;padding-bottom:.3rem}.course-details h3{font-size:1.05rem}.course-details ul{gap:4px;padding-left:0}.course-details li{background:var(--card-background);border-radius:6px;box-shadow:var(--card-shadow);font-size:.98rem;padding:8px 4px}.course-details button{background:var(--primary-color);border-radius:8px;color:var(--header-color);font-size:1rem;padding:12px 0;width:100%}}@media screen and (max-width:480px){.course-details .details-content{font-size:.95rem;padding:2px 0}.course-details .course-info-item{font-size:.95rem;padding:8px 2px}.course-details button{font-size:.95rem;padding:10px 0}}.course-details .course-info-item,.course-details li{background:var(--card-background);border-radius:8px;box-shadow:var(--card-shadow)}.course-details h2{border-bottom:2px solid var(--primary-color);color:var(--primary-color)}.course-details button{background:var(--primary-color);border:none;color:var(--header-color);transition:background .2s}.course-details button:hover{background:var(--hover-color);color:var(--primary-color)}.students-list-container{background-color:var(--background-color);color:var(--text-color);font-family:sans-serif;padding:20px}.header-container{align-items:flex-start;display:flex;flex-wrap:wrap;justify-content:space-between;margin-bottom:20px}.actions-column{width:90px}.actions-dropdown{cursor:pointer;display:inline-block;position:relative}.error-message{margin-bottom:20px}.items-per-page-selector{align-items:center;display:flex;justify-content:flex-end;margin-bottom:10px}.items-per-page-selector label{color:var(--text-color);font-size:14px;margin-right:10px}.items-per-page-selector select{background-color:var(--background-color);border:1px solid var(--border-color);border-radius:4px;color:var(--text-color);font-size:14px;padding:5px}.modal{position:relative}.close-button{border-radius:5px;font-size:1rem;padding:10px 20px}.close-button:hover{color:#fff}.resizer{background-color:var(--primary-color);cursor:col-resize;height:100%;opacity:0;position:absolute;right:0;top:0;touch-action:none;-webkit-user-select:none;user-select:none;width:5px;z-index:10}.data-table tr.deleted-student{background-color:#fdd;color:#a94442}.data-table tr.deleted-student:hover{background-color:#faa;cursor:default}input[type=checkbox]{appearance:none;-webkit-appearance:none;background-color:var(--header-color);border:2px solid var(--primary-color);border-radius:4px;cursor:pointer;display:inline-block;height:20px;outline:none;position:relative;width:20px}input[type=checkbox]:before{align-items:center;color:var(--primary-color);display:flex;font-size:16px;font-weight:700;height:100%;justify-content:center;left:0;position:absolute;top:0;visibility:visible;width:100%}input[type=checkbox]:checked:before{color:wheat;content:"✓"}input[type=checkbox]:checked{background-color:var(--primary-color);border-color:var(--secondary-color)}.iframe-modal-overlay{align-items:center;background-color:#00000080;display:flex;height:100%;justify-content:center;left:0;position:fixed;top:0;width:100%;z-index:1000}.iframe-modal-content{background-color:#fff;height:90vh;max-height:900px;max-width:1200px;width:100%}.iframe-modal-content iframe{border:none;height:100%;width:100%}.iframe-close-button{background-color:initial;border:none;cursor:pointer;font-size:20px;position:absolute;right:10px;top:10px}.modal-header{margin-bottom:20px}.modal-actions{gap:10px}.print-button{background-color:var(--primary-color);border:none;border-radius:4px;color:#fff;cursor:pointer;padding:8px 16px}.print-button:hover{background-color:var(--secondary-color)}@media print{.modal-actions{display:none}.details-content{padding:20px}}.responsibles-table td,.responsibles-table th{border:1px solid var(--border-color);padding:8px}.responsibles-table th{text-align:left}.details-modal,.responsibles-table th{background-color:var(--tertiary-color)}.details-modal{border-radius:8px;box-shadow:0 2px 10px #0000001a;max-height:90vh;max-width:800px;overflow-y:auto;padding:20px;width:80%}.details-modal-overlay{align-items:center;background-color:#00000080;bottom:0;display:flex;justify-content:center;left:0;position:fixed;right:0;top:0;z-index:1000}.student-details{max-height:80vh;overflow-y:auto;padding:0}.student-details h3{color:var(--text-color);margin-bottom:20px}.student-details fieldset{background-color:#f9f9f9;border:1px solid #e0e0e0;border-radius:5px;margin-bottom:20px;padding:15px}.student-details legend{color:#4a90e2;font-weight:600;padding:0 10px}.student-details ul{list-style:none;padding:0}.student-details ul li{line-height:1.5;margin-bottom:10px}.student-details ul li strong{color:#555;display:inline-block;min-width:140px}.student-details .details-row{display:flex;flex-wrap:wrap;gap:30px}.student-details .details-row ul{flex:1 1;list-style-type:none;margin:0;min-width:280px;padding:0}.student-details .details-row ul:last-child{margin-right:0}.student-details .responsibles-table{border-collapse:collapse;margin-top:10px;width:100%}.student-details .responsibles-table td,.student-details .responsibles-table th{border-bottom:1px solid #e0e0e0;padding:10px;text-align:left}.student-details .responsibles-table th{background-color:#f2f2f2;font-weight:500}.student-details .responsibles-table tr:hover{background-color:#f9f9f9}.modal-student-details{background:#fff;border-radius:10px;box-shadow:0 8px 24px #00000026;margin:40px auto;max-width:900px;outline:none;overflow:hidden;padding:0;width:90%}.modal-overlay-student-details{background-color:#0009;bottom:0;justify-content:center;left:0;overflow-y:auto;position:fixed;right:0;z-index:1000}.modal-overlay-student-details,.student-header{align-items:center;display:flex;padding:20px;top:0}.student-header{background:linear-gradient(to right,var(--primary-color),#6abdf7);box-shadow:0 2px 10px #0000001a;color:#fff;position:-webkit-sticky;position:sticky;z-index:10}.student-photo-container{background-color:#fff;border:4px solid #fff;box-shadow:0 4px 12px #0000004d;flex-shrink:0;margin-right:25px;transition:transform .3s ease,box-shadow .3s ease}.student-photo-container:hover{box-shadow:0 6px 16px #0006;transform:scale(1.05)}.student-detail-photo{background-color:#f9f9f9;height:100%;object-fit:cover;width:100%}.student-detail-photo-icon{background-color:var(--tertiary-color);border-radius:50%;color:var(--primary-color);display:block;font-size:100px!important;height:100px!important;margin-bottom:15px;padding:0;width:100px!important}.student-detail-photo-fallback{display:none!important}.student-title{flex:1 1}.student-title h2{font-size:18px;font-weight:500;margin:0 0 8px}.student-title h3{font-size:28px;font-weight:700;margin:0}.close-button,.print-button{border:none;border-radius:5px;cursor:pointer;font-weight:700;padding:8px 16px;transition:all .2s ease}.print-button{background-color:#fff;color:#4a90e2}.print-button:hover{background-color:#f0f0f0}.close-button{background-color:initial;border:1px solid #fff}.close-button:hover{background-color:#ffffff1a}.details-content{padding:20px}.details-content fieldset{background-color:#f9f9f9;border:1px solid #e0e0e0;border-radius:5px;margin-bottom:20px;padding:15px}.details-content legend{color:var(--primary-color);font-weight:600;padding:0 10px}.details-row{display:flex;flex-wrap:wrap;gap:30px}.details-row ul{flex:1 1;list-style-type:none;margin:0;min-width:280px;padding:0}.details-row li{line-height:1.5;margin-bottom:10px}.details-row li strong{color:#555;display:inline-block;min-width:140px}.responsibles-table{border-collapse:collapse;margin-top:10px;width:100%}.responsibles-table td,.responsibles-table th{border-bottom:1px solid #e0e0e0;padding:10px;text-align:left}.responsibles-table th{background-color:#f2f2f2;font-weight:500}.responsibles-table tr:hover{background-color:#f9f9f9}.table-photo-cell{max-width:48px;padding:4px!important;text-align:center;width:48px!important}.student-photo{background-color:#f9f9f9;border:2px solid #f0f0f0;border-radius:50%;box-shadow:0 2px 4px #0000001a;display:block;height:40px;object-fit:cover;position:relative;transition:transform .2s ease;width:40px}.student-photo:hover{transform:scale(1.15)}.student-photo-loading{animation:loading 1.5s infinite;background:linear-gradient(90deg,#f0f0f0 25%,#e0e0e0 50%,#f0f0f0 75%);background-size:200% 100%}@keyframes loading{0%{background-position:200% 0}to{background-position:-200% 0}}.student-photo-fallback{display:none!important;left:50%;position:absolute;top:50%;transform:translate(-50%,-50%)}.table-photo-cell{align-items:center;display:flex;height:40px;justify-content:center;position:relative;width:40px}.student-photo-icon{background-color:#f0f0f0;border-radius:50%;color:#aaa;display:block;font-size:34px!important;height:34px!important;margin:0 auto;padding:3px;width:34px!important}.data-table th[data-label=Foto]{max-width:40px;text-align:center;width:40px!important}.modal-student-details::-webkit-scrollbar{width:12px}.modal-student-details::-webkit-scrollbar-track{background:var(--background-color);border-radius:10px}.modal-student-details::-webkit-scrollbar-thumb{background-color:var(--primary-color);border:3px solid var(--background-color);border-radius:10px}.modal-student-details::-webkit-scrollbar-thumb:hover{background-color:var(--secondary-color)}@media screen and (max-width:768px){.student-photo{border:3px solid #f0f0f0!important;height:50px!important;width:50px!important}.student-photo-icon{font-size:44px!important;height:44px!important;width:44px!important}.student-detail-photo-icon{font-size:80px!important;height:80px!important;margin-bottom:10px!important;width:80px!important}.students-list-container td.actions{display:flex!important;justify-content:center!important;margin-top:10px!important;padding:20px 10px!important;text-align:center!important}.students-list-container .actions-btn{align-items:center!important;display:flex!important;height:56px!important;justify-content:center!important;margin:0 auto!important;position:relative!important;width:56px!important}.students-list-container .actions-btn:after{content:"⋮"!important;font-size:32px!important;line-height:1!important}.students-list-container .actions-menu button:nth-child(5){background-color:var(--secondary-color)!important;color:#fff!important;font-weight:700!important;position:relative!important}.students-list-container .actions-menu button:nth-child(5):before{content:"✏️"!important;font-size:18px!important;left:15px!important;position:absolute!important}.data-table td:before{color:#333;color:var(--text-color-dark,#333);content:attr(data-label);font-weight:600;margin-right:10px;min-width:120px}.data-table tr td:nth-child(2){margin-top:4px}.data-table tr td:nth-child(3){border-top:1px solid #0000000d;margin-top:48px}.data-table td{font-size:14px;line-height:1.4;padding:10px 16px}.table-photo-cell{align-items:center!important;background-color:#00000005;display:flex!important;justify-content:center!important;min-height:100px!important;padding:10px 0!important}.student-photo{border:3px solid var(--primary-color)!important;border-radius:50%!important;box-shadow:0 3px 8px #00000026!important;height:80px!important;margin:10px!important;object-fit:cover!important;transition:transform .3s ease!important;width:80px!important}.student-photo:active{transform:scale(.95)!important}.student-photo-icon{color:var(--primary-color)!important;font-size:80px!important;height:80px!important;opacity:.85!important;width:80px!important}.data-table td:not(.table-photo-cell):not(.actions){border-bottom:1px solid #0000000d!important;padding:12px 16px!important;position:relative!important}.data-table td[data-label="Nome Completo"]{color:var(--primary-color)!important;font-size:18px!important;font-weight:500!important}}@media screen and (max-width:480px){.student-photo,.student-photo-icon{height:70px!important;width:70px!important}.student-photo-icon{font-size:70px!important}}.edit-student-modal-edit{background-color:var(--card-background);border-radius:8px;box-shadow:0 2px 10px #0000001a;max-height:90vh;max-width:800px;overflow-y:auto;padding:20px;width:80%}.edit-student-modal-content{padding:20px}.edit-student-modal-content h2{color:var(--primary-color);margin-bottom:20px}.edit-student-form-group{margin-bottom:15px}.edit-student-form-group label{color:var(--text-color);display:block;font-weight:500;margin-bottom:5px}.edit-student-form-group input,.edit-student-form-group select{background-color:var(--background-color);border:1px solid var(--border-color);border-radius:4px;color:var(--text-color);padding:8px;width:100%}.edit-student-form-group-inline{display:flex;gap:20px}.edit-student-form-group-inline>div{flex:1 1}.responsible-table{border-collapse:collapse;font-family:Arial,sans-serif;font-size:15px;margin:10px 0;width:100%}.responsible-table th{background-color:var(--tertiary-color);color:var(--text-color);cursor:pointer;padding:10px;position:relative;text-align:left;-webkit-user-select:none;user-select:none}.responsible-table td{border-bottom:1px solid var(--border-color);padding:10px;text-align:left}.responsible-table tbody tr:nth-child(odd){background-color:var(--background-color)}.responsible-table tbody tr:hover,.responsible-table tbody tr:nth-child(2n){background-color:var(--hover-color)}.responsible-table input{background:#0000;border:none;color:var(--text-color);font-size:.9em;padding:4px;width:100%}.responsible-table input:focus{outline:1px solid var(--primary-color)}.button-remove{background-color:var(--error-color);border:none;border-radius:4px;color:var(--header-color);cursor:pointer;padding:4px 8px}.button-remove:hover{opacity:.9}.button-responsible{background-color:var(--secondary-color);border:none;border-radius:4px;color:var(--header-color);cursor:pointer;margin:5px 0;padding:8px 16px}.button-responsible:hover{opacity:.9}.edit-student-category-checkbox-group{grid-gap:10px;display:grid;gap:10px;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));margin:10px 0}.edit-student-category-checkbox-item{align-items:center;display:flex;gap:8px}.edit-student-pagination{display:flex;gap:5px;justify-content:center;list-style:none;margin:20px 0;padding:0}.edit-student-page-link{background-color:var(--action-btn-bg);border:1px solid var(--border-color);border-radius:4px;color:var(--text-color);cursor:pointer;padding:5px 10px}.edit-student-page-link:hover{background-color:var(--action-btn-hover)}.edit-student-modal-buttons{display:flex;gap:10px;justify-content:flex-end;margin-top:20px}.edit-student-modal-buttons button{border:none;border-radius:4px;cursor:pointer;padding:8px 16px}.edit-student-modal-buttons button[type=submit]{background-color:var(--primary-color);color:var(--header-color)}.edit-student-modal-buttons button[type=button]{background-color:var(--secondary-color);color:var(--header-color)}.edit-student-error-message{background-color:#dc35451a;border-radius:4px;color:var(--error-color);margin-bottom:15px;padding:10px}.edit-student-success-message{background-color:#28a7451a;border-radius:4px;color:#28a745;margin-bottom:15px;padding:10px}.page-link{background-color:var(--background-color);border:1px solid var(--border-color);border-radius:5px;cursor:pointer;padding:8px 12px}.page-link:hover{background-color:var(--hover-color)}.active.page-link{background-color:var(--primary-color);border-color:var(--primary-color);color:var(--header-color)}#disability-report,#disability-type,#has-disability{border:1px solid var(--border-color);border-radius:4px;font-size:1rem;padding:10px;width:100%}#disability-type,#has-disability{background-color:var(--background-color)}.file-label{background-color:var(--primary-color);color:var(--header-color);font-size:1rem;padding:10px 20px;text-align:center}.file-label:hover{background-color:var(--secondary-color)}.edit-photo-preview{align-items:center;display:flex;flex-direction:column;margin-bottom:20px}.photo-container{align-items:center;background-color:#f0f0f0;border:2px solid #ddd;border-radius:50%;box-shadow:0 4px 8px #00000026;display:flex;height:130px;justify-content:center;margin-bottom:15px;overflow:hidden;transition:transform .3s ease,box-shadow .3s ease;width:130px}.photo-container:hover{box-shadow:0 6px 12px #00000040;transform:scale(1.05)}.edit-photo-image{height:100%;object-fit:cover;width:100%}.photo-placeholder{color:#aaa;font-size:1.5em}.photo-upload-controls{display:flex;gap:10px;margin-top:10px}.photo-upload-btn{background-color:#4a90e2;border-radius:4px;color:#fff;cursor:pointer;font-size:14px;padding:6px 12px;transition:background-color .2s}.photo-upload-btn:hover{background-color:#3a80d2}.photo-remove-btn{background-color:#e74c3c;border:none;border-radius:4px;color:#fff;cursor:pointer;font-size:14px;padding:6px 12px;transition:background-color .2s}.photo-remove-btn:hover{background-color:#c0392b}.edit-photo-error{color:#e74c3c;font-size:12px;margin-top:5px}.contact-modal{background-color:#fff;border-radius:8px;left:50%;max-height:80vh;max-width:500px;overflow-y:auto;padding:20px;position:absolute;top:50%;transform:translate(-50%,-50%);width:90%}.contact-modal-overlay{align-items:center;background-color:#00000080;bottom:0;display:flex;justify-content:center;left:0;position:fixed;right:0;top:0}.contacts-list{display:flex;flex-direction:column;gap:15px;margin:20px 0}.contacts-section{background-color:#f8f9fa;border-radius:8px;padding:15px}.contacts-section-title{border-bottom:1px solid #dee2e6;color:#6c757d;font-size:14px;margin-bottom:10px;padding-bottom:5px}.contact-item{align-items:center;background-color:#fff;border-radius:4px;display:flex;justify-content:space-between;margin-bottom:8px;padding:10px}.contact-item:last-child{margin-bottom:0}.contact-info{align-items:center;display:flex;flex-direction:column;gap:10px}.contact-name{font-weight:500}.contact-relation{color:#6c757d;font-size:.9em}.contact-phone{color:#495057}.whatsapp-button{align-items:center;background-color:#25d366;border:none;border-radius:4px;color:#fff;cursor:pointer;display:flex;padding:8px 12px;transition:background-color .2s}.whatsapp-button:hover{background-color:#128c7e}.whatsapp-button:disabled{background-color:#ccc;cursor:not-allowed}.message-input{border:1px solid #dee2e6;border-radius:4px;margin-top:15px;padding:10px;resize:vertical;width:100%}.modal-footer{display:flex;justify-content:flex-end;margin-top:15px}.cancel-button{background-color:#6c757d;border:none;border-radius:4px;color:#fff;cursor:pointer;padding:8px 16px;transition:background-color .2s}.cancel-button:hover{background-color:#5a6268}.modal-actions{display:flex;justify-content:flex-end;margin-top:20px}.close-button{background-color:#f44336;border-radius:4px;padding:8px 16px}.modal-content h2{color:var(--text-color);font-size:1.8rem;font-weight:700;margin:0 0 20px;text-align:center}.modal-buttons{gap:15px;justify-content:space-between;margin-top:25px}.modal-buttons button{padding:12px 25px}.error-message{margin-bottom:15px}.close-button{font-size:1.8em;right:15px;top:15px}.add-student-container{align-items:center;background-color:var(--background-color);color:var(--text-color);display:flex;flex-direction:column;font-family:sans-serif;padding:20px}.add-student-container h1{color:var(--text-color);margin-bottom:20px}.student-form{background-color:var(--card-background);border:1px solid var(--border-color);border-radius:8px;box-shadow:var(--card-shadow);max-width:900px;padding:20px;width:80%}.student-form fieldset{border:1px solid var(--text-color);border-radius:8px;margin-bottom:20px;padding:15px}.student-form legend{background-color:var(--card-background);color:var(--text-color);font-weight:700;margin-bottom:10px;padding:0 10px}.form-group-inline{align-items:flex-end;display:flex;flex-wrap:wrap;gap:20px;margin-bottom:15px}.form-group{display:flex;flex:1 1;flex-direction:column;min-width:200px}.form-group label{color:var(--text-color);margin-bottom:5px}.form-group input,.form-group select,.form-group textarea{background-color:var(--tertiary-color);border:1px solid var(--border-color);border-radius:4px;color:var(--text-color);padding:8px}#birthdate,#disability-report,#disability-type{background-color:var(--tertiary-color)}#birthdate{border:1px solid var(--border-color);border-radius:4px;box-sizing:border-box;color:var(--text-color);margin-bottom:0;padding:8px;width:100%}.cep-input-group{display:flex}.cep-input-group input{border-bottom-right-radius:0;border-top-right-radius:0;flex-grow:1}.cep-input-group button{background-color:var(--action-btn-bg);border:1px solid var(--border-color);border-bottom-left-radius:0;border-left:none;border-top-left-radius:0;color:var(--text-color);cursor:pointer;padding:8px 12px}.cep-input-group button:hover{background-color:var(--action-btn-hover)}.add-responsible,.create-student{background-color:var(--secondary-color);border:none;border-radius:4px;color:#fff;cursor:pointer;margin-top:20px;padding:10px 15px}.add-responsible:hover,.create-student:hover{background-color:#232f4a}.responsibles-list{border:1px solid var(--text-color);border-radius:8px;margin-top:20px;padding:15px}.responsibles-list h3{color:var(--primary-color);margin-bottom:10px}.responsibles-list ul{list-style:none;padding:0}.responsibles-list li{align-items:center;display:flex;justify-content:space-between;margin-bottom:8px}.responsible-actions{display:flex;gap:5px}.responsible-actions button{background-color:var(--secondary-color);border:none;border-radius:4px;color:#fff;cursor:pointer;padding:5px 10px}.responsible-actions button:hover{background-color:#545b62}.category-checkbox-group{grid-gap:10px;display:grid;gap:10px;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));margin-bottom:20px}.category-checkbox-item{align-items:center;display:flex}.category-checkbox-item input[type=checkbox]{margin-right:5px}.student-page-info{color:var(--text-color);margin:0 10px}.student-file-info{align-items:center;box-sizing:border-box;display:flex;margin-top:5px;padding:0 15px;width:100%}.student-file-name{color:var(--text-color);flex-grow:1;margin-right:10px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.student-remove-file{background-color:var(--error-color);border:none;border-radius:4px;color:#fff;cursor:pointer;padding:8px 12px;transition:background-color .3s ease}.student-remove-file:hover{background-color:#c82333}.student-file-error{color:var(--error-color);margin-left:173px;margin-top:5px}.student-file-input{display:none}.file-label{background-color:var(--action-btn-bg);border:1px solid var(--border-color);border-radius:4px;color:var(--text-color);cursor:pointer;display:inline-block;margin-left:17px;padding:10px;transition:background-color .3s ease}.file-label:hover{background-color:var(--action-btn-hover)}.disability-section{background-color:var(--card-background);border-radius:8px;margin:15px 0;padding:15px}.disability-type-input{background-color:var(--tertiary-color);border:2px solid var(--border-color);border-radius:6px;color:var(--text-color);margin:8px 0;padding:10px;transition:border-color .3s ease;width:100%}.disability-type-input:focus{border-color:var(--primary-color);outline:none}.file-upload-section{margin:20px 0}.file-upload-label{background-color:var(--secondary-color);border-radius:6px;color:#fff;cursor:pointer;display:inline-block;margin-left:0;padding:12px 20px;transition:all .3s ease}.file-upload-label:hover{background-color:var(--action-btn-hover);transform:translateY(-1px)}.file-info-container{align-items:center;background-color:var(--tertiary-color);border-radius:6px;display:flex;gap:15px;margin:10px 0;max-width:100%;overflow:hidden;padding:10px}.file-name{color:var(--text-color);flex:1 1;margin-right:10px;max-width:calc(100% - 120px);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.remove-file-btn{background-color:var(--error-color);border:none;border-radius:4px;color:#fff;cursor:pointer;padding:8px 16px;transition:background-color .3s ease}.remove-file-btn:hover{background-color:#d32f2f}.file-error-message{background-color:#ff00001a;border-radius:4px;color:var(--error-color);display:inline-block;font-size:.9em;margin-top:8px;padding:5px 10px}.disability-select{background-color:var(--tertiary-color);border:2px solid var(--border-color);border-radius:6px;color:var(--text-color);cursor:pointer;padding:10px;width:100%}.disability-select:focus{border-color:var(--primary-color);outline:none}.student-photo-preview{align-items:center;display:flex;flex-direction:column;margin-bottom:20px}.student-photo-container{align-items:center;background-color:#f0f0f0;border:1px solid #ddd;border-radius:50%;display:flex;height:120px;justify-content:center;margin-bottom:10px;overflow:hidden;width:120px}.student-photo-image{height:100%;object-fit:cover;width:100%}.student-photo-placeholder{color:#aaa}.student-photo-upload-controls{display:flex;gap:10px;margin-top:10px}.student-photo-upload-btn{background-color:var(--primary-color);border-radius:4px;color:#fff;cursor:pointer;font-size:14px;padding:6px 12px;transition:background-color .2s}.student-photo-upload-btn:hover{background-color:var(--secondary-color)}.student-photo-remove-btn{background-color:var(--error-color);border:none;border-radius:4px;color:#fff;cursor:pointer;font-size:14px;padding:6px 12px;transition:background-color .2s}.student-photo-remove-btn:hover{background-color:#c0392b}.create-teacher-container{background-color:#f8f9fa;border:1px solid #ccc;border-radius:8px;box-shadow:0 2px 4px #0000001a;margin:30px auto;max-width:600px;padding:20px}.create-teacher-container h2{color:var(--primary-color);font-size:1.8rem;font-weight:700;margin-bottom:20px;text-align:center}.category-checkboxes{grid-gap:10px;display:grid;gap:10px;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));margin-top:5px}.checkbox-label{align-items:center;background-color:#f9f9f9;border:1px solid #ccc;border-radius:4px;cursor:pointer;display:flex;gap:10px;padding:10px;transition:background-color .2s}.create-teacher-container button{background-color:var(--primary-color);border:none;border-radius:5px;color:#fff;cursor:pointer;float:right;font-size:1rem;padding:10px 20px;transition:background-color .3s ease}.create-teacher-container button:hover{background-color:var(--secondary-color)}.error-message{background-color:#fdd;border:1px solid var(--error-color);color:var(--error-color);padding:10px}.success-message{background-color:#d4edda;border:1px solid green;color:green;margin-bottom:10px;padding:10px}.password-input-container{align-items:center;display:flex;position:relative}.password-input-container input{width:100%}.toggle-password{align-items:center;background:none;border:none;color:#666;cursor:pointer;display:flex;justify-content:center;padding:5px;position:absolute;right:10px}.toggle-password:hover{color:#333}.toggle-password:focus{outline:none}.modal-header h2{color:var(--primary-color);font-size:1.5rem;font-weight:700;margin:0;text-align:center}.close-button{align-items:center;background:none;background-color:var(--primary-color);border:none;border:2px solid var(--primary-color);border-radius:50%;color:var(--text-color);color:#fff;cursor:pointer;display:flex;font-size:1.5rem;height:30px;justify-content:center;line-height:1;padding:0;position:absolute;right:10px;top:10px;width:30px}.close-button:hover{background-color:var(--secondary-color);border-color:var(--secondary-color)}.modal-buttons button{border-radius:5px;font-size:1rem;margin-left:10px;padding:10px 20px}.modal-buttons button:first-child,.modal-buttons button:last-child{color:#fff}.error-message{color:red;margin-bottom:10px}.modal-content{background:var(--card-background);border-radius:8px;max-height:80vh;max-width:90vw;overflow-y:auto;width:90%;width:800px}.workshops-list{margin:20px 0;max-height:300px;overflow-y:auto}.workshop-item{border-bottom:1px solid var(--border-color);margin:10px 0;padding:8px}.workshop-item label{align-items:center;cursor:pointer;display:flex;gap:10px}.modal-buttons button[type=submit]{background-color:var(--primary-color);color:var(--header-color)}.modal-buttons button[type=submit]:disabled{background-color:var(--tertiary-color);color:var(--text-color);cursor:not-allowed}.modal-buttons button[type=button]{background-color:var(--error-color);color:var(--header-color)}.search-container{margin-bottom:15px;padding:0 10px}.search-input{background-color:var(--background-color);border:1px solid var(--border-color);border-radius:4px;color:var(--text-color);font-size:14px;outline:none;padding:8px 12px;transition:border-color .2s;width:100%}.search-input:focus{border-color:var(--primary-color);box-shadow:0 0 5px #30416233}.search-input::placeholder{color:var(--tertiary-color)}.category-item label.disabled{color:var(--tertiary-color);cursor:not-allowed}.category-item label.disabled input{cursor:not-allowed}.categories-grid{grid-gap:15px;display:grid;gap:15px;grid-template-columns:repeat(4,1fr);margin-bottom:20px;padding:15px}.category-grid-item{background:var(--card-background);border-radius:4px;padding:10px;transition:background-color .2s}.category-grid-item:hover{background:var(--hover-color)}.category-grid-item label{align-items:center;cursor:pointer;display:flex;gap:8px;width:100%}.category-name{font-size:14px;word-break:break-word}.pagination-controls{align-items:center;display:flex;gap:15px;justify-content:center;margin:20px 0}.pagination-controls button{background:var(--card-background);border:1px solid var(--border-color);border-radius:4px;color:var(--text-color);cursor:pointer;padding:5px 10px}.pagination-controls button:disabled{background:var(--tertiary-color);color:var(--text-color);cursor:not-allowed}.pagination-controls span{color:var(--text-color);font-size:14px}.professor-courses-modal{background:#fff;border-radius:8px;box-shadow:0 2px 16px #0003;margin:40px auto;max-width:500px;padding:24px;position:relative}.professor-courses-modal-overlay{background:#0000004d;bottom:0;left:0;position:fixed;right:0;top:0;z-index:1000}.modal-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:16px}.close-btn{background:none;border:none;cursor:pointer;font-size:1.5rem}.courses-tree{margin-top:8px}.course-item{border-bottom:1px solid #eee;padding:8px 0}.course-header{align-items:center;display:flex;gap:8px}.expand-btn{background:#f0f0f0;border:none;border-radius:50%;cursor:pointer;font-size:1.2rem;height:28px;margin-right:4px;width:28px}.course-name{font-weight:500}.students-count{color:#888;margin-left:8px}.students-list{list-style:disc inside;margin:8px 0 8px 36px;padding-left:0}.students-list-minimal{color:#222;display:flex;flex-wrap:wrap;font-size:.98rem;gap:4px;margin:8px 0 8px 36px;padding:0}.student-pill{background:#f5f5f5;border-radius:12px;display:inline-block;margin-bottom:2px;margin-right:2px;padding:2px 10px}.no-students{color:#888;font-style:italic}.lesson-plan-modal{background:#fff;border-radius:8px;left:50%;max-height:80vh;max-width:800px;overflow-y:auto;padding:20px;position:absolute;top:50%;transform:translate(-50%,-50%);width:90%}.lesson-plan-modal h2{color:#333;margin-bottom:20px}.lesson-plan-modal .unordered-list{list-style-type:disc;margin:10px 0;padding-left:20px}.lesson-plan-modal .ordered-list{list-style-type:decimal;margin:10px 0;padding-left:20px}.lesson-plan-modal .checklist{list-style-type:none;margin:10px 0;padding-left:20px}.lesson-plan-modal li{line-height:1.5;margin:5px 0}.lesson-plan-modal .checklist{list-style:none;padding:0}.lesson-plan-modal .checklist li{align-items:center;display:flex;gap:10px;margin-bottom:8px}.lesson-plan-modal .checklist input[type=checkbox]{margin-right:10px}.lesson-plan-modal-overlay{align-items:center;background-color:#0009;bottom:0;display:flex;justify-content:center;left:0;position:fixed;right:0;top:0}.lesson-info{background-color:#f5f5f5;border-radius:5px;margin-bottom:20px;padding:15px}.lesson-info p{font-size:14px;margin:5px 0}.lesson-info strong{color:#333}.request-modal{background-color:var(--background-color);border-radius:8px;box-shadow:0 2px 10px #0000001a;left:50%;max-width:500px;outline:none;padding:2rem;position:absolute;top:50%;transform:translate(-50%,-50%);width:90%}.request-modal h2{color:var(--primary-color);font-size:1.5rem;margin-bottom:1.5rem}.request-modal textarea{border:1px solid var(--border-color);border-radius:4px;font-family:inherit;font-size:1rem;margin-bottom:1.5rem;min-height:120px;padding:.8rem;resize:vertical;width:100%}.request-modal textarea:focus{border-color:var(--primary-color);box-shadow:0 0 0 2px rgba(var(--primary-color-rgb),.1);outline:none}.request-modal-overlay{align-items:center;background-color:#00000080;bottom:0;display:flex;justify-content:center;left:0;position:fixed;right:0;top:0;z-index:1000}.session-info{background-color:#f5f5f5;border:1px solid #ddd;border-radius:5px;margin-bottom:20px;padding:15px}.session-info p{margin:5px 0}.session-info strong{color:#666;margin-right:5px}.delete-plan-modal{max-height:90vh;max-width:800px}.requests-history{margin:20px 0;max-height:300px;overflow-y:auto;padding:10px}.request-item{background-color:#f5f5f5;border-radius:5px;margin-bottom:10px;padding:15px}.request-item p{margin:5px 0}.new-request-section{border-top:1px solid #ddd;margin-top:20px;padding-top:20px}.new-request-section h3{margin-bottom:10px}.new-request-section textarea{border:1px solid #ddd;border-radius:4px;margin-bottom:15px;min-height:100px;padding:10px;width:100%}.preview-content{background-color:#f9f9f9;border:1px solid var(--border-color);border-radius:4px;max-height:50vh;overflow-y:auto;padding:15px}.date-range{align-items:center;display:flex;gap:8px;width:100%}.date-separator{white-space:nowrap}.date-picker-compact{flex:1 1;min-width:0}.date-picker-compact input{box-sizing:border-box}.time-filters{align-items:center;display:flex;gap:8px;width:100%}.time-filters input{background-color:var(--background-color);border:1px solid var(--border-color);border-radius:6px;box-sizing:border-box;color:var(--text-color);flex:1 1;font-size:16px;min-width:0;padding:8px}.time-filters input:focus{border-color:var(--primary-color);box-shadow:0 0 0 2px rgba(var(--primary-color-rgb),.1);outline:none}.time-filters span{color:var(--text-color);font-size:14px;padding:0 4px;white-space:nowrap}.filter-group fieldset{display:flex;flex-direction:column;justify-content:space-between;min-height:80px}.filter-group fieldset legend{color:var(--text-color);font-weight:700;margin-bottom:8px}.tab-content{background:var(--card-background);border-radius:8px;box-shadow:var(--card-shadow)}.tab-content h2{color:var(--primary-color)}.tab-content .pagination button{background:var(--primary-color);border:none;border-radius:6px;color:var(--header-color);transition:background .2s}.tab-content .pagination button:hover{background:var(--hover-color);color:var(--primary-color)}.table-responsive-transition{box-sizing:border-box;max-width:calc(100vw - 100px);overflow-x:auto;transition:width .3s ease,margin-left .3s ease,max-width .3s ease;width:calc(100% - 20px)}.sidebar-open .table-responsive-transition{max-width:calc(100vw - 270px);width:calc(100% - 20px)}.sidebar-closed .table-responsive-transition{max-width:calc(100vw - 100px);width:calc(100% - 20px)}.attendance-records-container{max-width:100%;overflow-x:hidden}.attendance-records-container,.data-table-container{box-sizing:border-box;transition:all .3s ease;width:100%}.data-table-container{overflow-x:auto}.data-table-container .data-table{min-width:100%;transition:width .3s ease}.data-table td,.data-table th{overflow:hidden;text-overflow:ellipsis;transition:all .3s ease;white-space:nowrap}.main-content-responsive{box-sizing:border-box;transition:margin-left .3s ease,width .3s ease;width:100%}.prevent-layout-shift{contain:layout style;will-change:auto}.layout-stable{contain:layout;overflow-anchor:auto}.attendance-modal-overlay{align-items:center;background-color:#00000080;bottom:0;display:flex;justify-content:center;left:0;overscroll-behavior:none;position:fixed;right:0;top:0;z-index:1000}.attendance-modal{background-color:var(--card-background);border-radius:8px;box-shadow:var(--card-shadow);max-width:800px;padding:20px;position:relative;width:90%}.attendance-close-button{background:none;border:none;color:var(--text-color);cursor:pointer;font-size:24px;position:absolute;right:10px;top:10px}.attendance-modal-header{border-bottom:2px solid var(--border-color);margin-bottom:15px;padding-bottom:15px}.attendance-modal-header h2{font-size:24px;margin:0}.attendance-modal-body{margin-top:20px;max-height:70vh;overflow-y:auto}.attendance-table-container{margin-bottom:20px;max-width:100%;overflow-x:auto}.attendance-students-table{border-collapse:collapse;min-width:600px;width:100%}.attendance-students-table td,.attendance-students-table th{border:1px solid var(--border-color);min-width:120px;padding:12px;text-align:left}.attendance-students-table td:first-child,.attendance-students-table th:first-child{background-color:var(--card-background);box-shadow:2px 0 5px #0000001a;left:0;min-width:200px;position:-webkit-sticky;position:sticky;z-index:1}.attendance-students-table th{background-color:var(--background-color);position:-webkit-sticky;position:sticky;top:0;z-index:2}.attendance-students-table th:first-child{z-index:3}.attendance-student-item.focused{background-color:var(--hover-color)}.attendance-attendance-select{width:100%}.attendance-attendance-select,.attendance-comment-input{border:1px solid var(--border-color);border-radius:4px;padding:5px}.attendance-comment-input{width:96%!important}.attendance-cancel-button,.attendance-save-button{border:none;border-radius:4px;cursor:pointer;font-size:14px;padding:10px 20px}.attendance-save-button{background-color:#28a745;color:#fff}.attendance-cancel-button{background-color:#dc3545;color:#fff}.attendance-error-message{color:var(--error-color);margin-bottom:15px;text-align:center}@media screen and (max-width:768px){.attendance-modal{background-color:var(--background-color);display:flex;flex-direction:column;max-width:100%;overflow-y:auto}.attendance-modal,.mobile-view{border-radius:0;height:100%;padding:0;width:100%}.mobile-view{left:0;margin-top:50px;max-width:none;position:absolute;top:0}.mobile-attendance{display:flex;flex-direction:column;height:calc(100% - 50px);overflow:hidden}.workshop-details{background-color:var(--background-color);border-bottom-left-radius:16px;border-bottom-right-radius:16px;color:var(--text-color);padding:10px 16px}.workshop-details h2{color:var(--text-color);font-size:1.2rem;font-weight:600;margin-bottom:10px}.detail-item{align-items:center;display:flex;margin-bottom:10px}.detail-icon{background-color:var(--background-color);border-radius:8px;color:var(--primary-color);font-size:1.2rem;margin-right:12px;padding:8px}.detail-title{color:var(--text-color);font-size:.9rem;font-weight:600}.detail-subtitle{color:var(--secondary-color);font-size:.75rem;margin-top:2px}.attendance-divider{border-bottom:1px solid var(--border-color);padding:8px 16px}.attendance-divider h3{color:var(--text-color);font-size:1.1rem;margin:0}.mobile-students-list{-webkit-overflow-scrolling:touch;display:flex;flex-direction:column;flex-grow:1;height:100%;overflow-y:auto;padding:10px 16px 120px}.student-card{background-color:var(--card-background);border-radius:16px;box-shadow:var(--card-shadow);display:flex;flex-direction:column;margin-bottom:8px;overflow:hidden}.student-card-header{align-items:center;cursor:pointer;display:flex;padding:12px;position:relative;transition:background-color .2s ease}.student-card-header:active{background-color:var(--hover-color)}.student-card-header:after{background-color:#0009;border-radius:4px;bottom:-5px;color:#fff;content:"Toque para mudar o status";font-size:.7rem;left:50%;opacity:0;padding:4px 8px;pointer-events:none;position:absolute;transform:translateX(-50%);transition:opacity .3s ease,bottom .3s ease;white-space:nowrap;z-index:10}.student-card:first-of-type .student-card-header:after{animation:fadeInOut 5s ease forwards;bottom:-1px;opacity:1}@keyframes fadeInOut{0%{opacity:0}10%{opacity:1}90%{opacity:1}to{opacity:0}}.student-avatar{align-items:center;background-color:var(--background-color);border:2px solid var(--border-color);border-radius:50%;display:flex;height:46px;justify-content:center;margin-right:12px;min-height:46px;min-width:46px;overflow:hidden;position:relative;width:46px}.attendance-avatar-icon{color:var(--primary-color);font-size:28px}.student-photo{height:100%;object-fit:cover;object-position:center;width:100%}.student-info{flex-grow:1;overflow:hidden;padding-right:105px;text-overflow:ellipsis}.student-name{color:var(--text-color);font-size:.95rem;font-weight:600;margin-bottom:2px}.comments-preview,.student-name{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.comments-preview{color:var(--secondary-color);font-size:.75rem}.student-comments-container{background-color:var(--background-color);border-top:1px solid var(--border-color);padding:0}.student-comment-input{background-color:var(--card-background);border:0;border-radius:0;color:var(--text-color);font-size:.9rem;padding:10px 12px;width:100%}.student-comment-input::placeholder{color:var(--secondary-color);opacity:.7}.student-comment-input:focus{outline:none}.student-status{background-color:var(--primary-color);border-radius:20px;color:#fff;font-size:.75rem;font-weight:500;overflow:hidden;padding:6px 8px;position:absolute;right:12px;text-align:center;text-overflow:ellipsis;top:50%;transform:translateY(-50%);white-space:nowrap;width:95px}.mobile-action-buttons{background-color:var(--card-background);bottom:0;box-shadow:0 -4px 12px #0000001a;display:flex;flex-direction:row;gap:6px;justify-content:space-between;left:0;margin:0;padding:10px;position:fixed;right:0;z-index:1010}.mobile-action-button{border:none;border-radius:8px;cursor:pointer;flex:1 1;font-size:.85rem;font-weight:500;padding:8px 5px;transition:all .2s ease}.mobile-submit{background-color:var(--primary-color);color:#fff}.mobile-save{background-color:var(--link-color);color:#fff}.mobile-cancel{background-color:var(--error-color);color:#fff}.attendance-modal-body{flex:1 1;margin-top:20px;max-height:100%;overflow-y:auto;padding-bottom:60px}.attendance-students-table{display:block;min-width:auto}.attendance-students-table thead{display:none}.attendance-students-table tbody{display:flex;flex-direction:column;gap:8px}.attendance-students-table tr{background:var(--card-background);border-left:5px solid var(--primary-color);border-radius:12px;box-shadow:var(--card-shadow);display:flex;flex-direction:column;margin-bottom:8px;padding:10px}.attendance-students-table tr[data-status=F]{border-left-color:var(--error-color)}.attendance-students-table tr[data-status=FJ]{border-left-color:var(--secondary-color)}.attendance-students-table tr[data-status=PA]{border-left-color:var(--link-color)}.attendance-student-name{border-bottom:1px solid var(--border-color);color:var(--text-color);font-size:16px;font-weight:700;margin-bottom:8px;padding:4px 0}.attendance-mobile-status-buttons{grid-gap:6px;display:grid;gap:6px;grid-template-columns:repeat(2,1fr);margin:6px 0}.status-button{align-items:center;background:var(--card-background);border:2px solid var(--border-color);border-radius:8px;color:var(--text-color);display:flex;font-size:14px;font-weight:500;justify-content:center;min-height:40px;padding:8px 4px}.status-button span{display:block;text-align:center}.status-button.active{border-width:2px}.status-button.active[data-status=P]{background:var(--primary-color);border-color:var(--primary-color);color:var(--card-background)}.status-button.active[data-status=F]{background:var(--error-color);border-color:var(--error-color);color:var(--card-background)}.status-button.active[data-status=FJ]{background:var(--secondary-color);border-color:var(--secondary-color);color:var(--card-background)}.status-button.active[data-status=PA]{background:var(--link-color);border-color:var(--link-color);color:var(--card-background)}.attendance-comment-input{border:1px solid var(--border-color);border-radius:8px;font-size:14px;margin-top:8px;padding:8px;width:100%}.modal-buttons{background:var(--card-background);bottom:0;box-shadow:0 -4px 12px var(--hover-color);display:flex;flex-direction:row;gap:6px;justify-content:space-between;left:0;padding:8px;position:fixed;right:0;z-index:1000}.modal-buttons button{flex:1 1;font-size:14px;font-weight:500;margin:0;padding:10px 8px;width:100%}.attendance-save-button{background-color:var(--primary-color);border:none;border-radius:8px;color:var(--card-background)}.attendance-save-button:last-of-type{background-color:var(--link-color)}.attendance-cancel-button{background-color:var(--error-color);border:none;border-radius:8px;color:var(--card-background)}.swipe-indicator{align-items:center;color:#666;display:flex;font-size:12px;justify-content:center;padding:8px}.attendance-modal-header{margin-bottom:8px;padding:8px 0}.attendance-modal-header h2{font-size:18px;margin-bottom:4px}.attendance-form-group{font-size:14px;margin-bottom:4px}}.table-mobile-container{background:#fff;border-radius:0;box-sizing:border-box;margin:0 auto;max-width:480px;padding:0;width:100%}.table-mobile-filters{margin-bottom:8px;padding:0 8px}.table-mobile-empty,.table-mobile-error,.table-mobile-loading{color:#666;font-size:1em;padding:12px 0;text-align:center}.table-mobile-list{display:flex;flex-direction:column;gap:8px}.table-mobile-card{background:#f9f9f9;border:1px solid #ececec;border-radius:6px;box-shadow:none;display:flex;flex-direction:column;gap:4px;padding:10px 8px}.table-mobile-row{align-items:center;display:flex;justify-content:space-between;padding:1px 0}.table-mobile-label{color:#888;flex:1 1;font-size:.97em;font-weight:400;margin-right:6px;min-width:90px}.table-mobile-value{color:#222;flex:2 1;font-size:1em;text-align:right;word-break:break-word}.table-mobile-actions{display:flex;flex-wrap:wrap;gap:6px;margin-top:6px}.table-mobile-action-btn{background:#1976d2;border:none;border-radius:4px;color:#fff;cursor:pointer;font-size:.95em;padding:5px 10px;transition:background .2s}.table-mobile-action-btn:hover{background:#125ea2}.table-mobile-pagination{align-items:center;display:flex;gap:4px;justify-content:center;margin:12px 0 4px}.table-mobile-pagination button{background:#e3eafc;border:none;border-radius:3px;color:#1976d2;cursor:pointer;font-size:.98em;padding:3px 8px;transition:background .2s}.table-mobile-pagination button:disabled{background:#f3f3f3;color:#aaa;cursor:not-allowed}@media (max-width:480px){.table-mobile-container{border-radius:0;padding:0}.table-mobile-card{border-radius:4px;padding:8px 4px}.table-mobile-label{font-size:.93em;min-width:70px}.table-mobile-action-btn{font-size:.93em;padding:4px 8px}}.custom-datepicker{position:relative;width:100%}.custom-datepicker input{background-color:var(--background-color);border:1px solid var(--border-color);border-radius:4px;color:var(--text-color);cursor:text;font-size:13px;padding:9px 8px;width:100%}.custom-datepicker input::placeholder{color:var(--text-color-light);opacity:.6}.datepicker-dropdown{background:var(--background-color);border:1px solid var(--border-color);border-radius:4px;box-shadow:0 2px 10px #0000001a;left:0;margin-top:5px;position:absolute;top:100%;width:280px}.datepicker-header{align-items:center;border-bottom:1px solid var(--border-color);display:flex;justify-content:space-between;padding:10px}.datepicker-header button{background:none;border:none;color:var(--text-color);cursor:pointer;padding:5px 10px}.datepicker-weekdays{background-color:var(--background-color);border-bottom:1px solid var(--border-color);display:grid;grid-template-columns:repeat(7,1fr);padding:10px}.weekday{color:var(--text-color);font-size:12px;padding:5px;text-align:center}.datepicker-days{grid-gap:2px;display:grid;gap:2px;grid-template-columns:repeat(7,1fr);padding:10px}.datepicker-days button{background:none;border:none;border-radius:4px;color:var(--text-color);cursor:pointer;padding:8px}.datepicker-days button:hover{background-color:var(--hover-color)}.datepicker-days button.selected{background-color:var(--primary-color);color:#fff}.datepicker-footer{background:var(--background-color);border-top:1px solid var(--border-color);display:flex;justify-content:flex-end;padding:8px 10px 10px}.datepicker-today-btn{background:var(--primary-color);border:none;border-radius:4px;box-shadow:0 1px 4px #0000000f;color:#fff;cursor:pointer;font-size:14px;font-weight:500;padding:6px 18px;transition:background .2s,box-shadow .2s}.datepicker-today-btn:hover{background:#0056b3;background:var(--primary-color-dark,#0056b3);box-shadow:0 2px 8px #0000001a}@media screen and (max-width:768px){.datepicker-dropdown{left:50%;max-width:320px;position:fixed;top:50%;transform:translate(-50%,-50%);width:90%}.datepicker-days button{font-size:16px;padding:12px}.custom-datepicker input{font-size:14px;padding:6px}}.lesson-plan-container{display:flex;flex-direction:row;justify-content:space-between;min-height:600px;padding:20px}.lesson-plan-content{display:flex;flex-direction:row;width:100%}.plan-area{background:#fff;border-radius:8px;box-shadow:0 2px 4px #0000001a;flex:2 1;margin-right:20px;padding:20px}.plan-area textarea{border:1px solid #ddd;border-radius:4px;font-size:16px;height:500px;line-height:1.5;padding:15px;resize:none;width:100%}.calls-area{background:#fff;border-radius:8px;box-shadow:0 2px 4px #0000001a;display:flex;flex:1 1;flex-direction:column;padding:20px}.calls-list{margin-top:15px}.call-item{border-bottom:1px solid #eee;padding:10px}.call-item label{align-items:center;cursor:pointer;display:flex;gap:10px}.call-item input[type=checkbox]{margin:0}.call-item-disabled{color:var(--tertiary-color);text-decoration:line-through}h2{color:#333;font-size:1.5rem;margin-bottom:20px}.ck-editor__editable{border:1px solid #ccc}.ck-editor__editable,.editor-container{background-color:#fff;font-size:14px;line-height:1.5;max-height:500px;min-height:300px;overflow-y:auto;padding:10px}.editor-container{border:1px solid #ddd}.toolbar{margin-bottom:10px}.toolbar button{background-color:#f9f9f9;border:1px solid #ccc;cursor:pointer;margin-right:5px;padding:5px 10px}.toolbar button:hover{background-color:#e9e9e9}.color-picker-button{background-color:#f9f9f9;border:1px solid #ccc;cursor:pointer;margin-right:5px;padding:5px 10px}.color-picker-button:hover{background-color:#e9e9e9}.plan-actions{display:flex;gap:10px;justify-content:flex-end}.plan-actions button{background-color:var(--secondary-color);border:1px solid var(--border-color);border-radius:5px;color:var(--text-color);cursor:pointer;padding:10px 20px}.plan-actions button:hover{background-color:var(--action-btn-hover)}.plan-actions button:disabled{cursor:not-allowed;opacity:.5}.pagination{align-items:center;display:flex;justify-content:center;margin-top:20px}.pagination-button{margin:0 5px}.page-info{margin:0 10px}.char-warning{color:#ff6b6b;font-weight:700}.limit-reached{color:red;font-weight:700;margin-left:5px}.save-message{border-radius:4px;margin:10px 0;padding:10px;text-align:center}.save-message.error{background-color:#ffe6e6;border:1px solid #fcc;color:red}.save-message.success{background-color:#e6ffe6;border:1px solid #cfc;color:green}@media screen and (max-width:1024px){.lesson-plan-content{flex-direction:column}.plan-area{flex:none;margin-bottom:20px;margin-right:0;width:100%}.sidebar-area{width:100%}.filters-container{flex-direction:column;gap:10px}.filter-group,.filter-group select{width:100%}}@media screen and (max-width:768px){.lesson-plan-container{padding:10px}.plan-area textarea{height:300px}.editor-container{max-height:300px;min-height:200px}.calls-area{margin-top:20px;padding:15px}.call-item{padding:8px}.plan-actions button{margin-bottom:10px;width:100%}.plan-header{flex-direction:column}.plan-header-left{margin-bottom:15px}.filters-refresh-container{flex-direction:column}.refresh-button{margin-top:10px;width:100%}.pagination{flex-wrap:wrap;gap:5px}.pagination-button{padding:8px 12px}h2{font-size:1.2rem}}@media screen and (max-width:480px){.lesson-plan-container{padding:5px}.calls-area,.plan-area{padding:10px}.editor-container{font-size:12px;min-height:150px}.call-item label{align-items:flex-start}.call-item label,.plan-actions{flex-direction:column}.call-info{width:100%}.call-header{font-size:14px}.call-details{font-size:12px}.filters-container{gap:5px}.pagination-button{font-size:12px;padding:5px 8px}}@media screen and (max-width:768px){.lesson-plan-container{flex-direction:column;min-height:0;min-height:auto;padding:8px}.lesson-plan-content{flex-direction:column;gap:12px}.calls-area,.plan-area{background:var(--card-background);border-radius:10px;box-shadow:var(--card-shadow);margin:0 0 12px;padding:10px;width:100%}.editor-container,.plan-area textarea{font-size:15px;min-height:120px}.plan-actions{flex-direction:column;gap:8px}.plan-actions button{background:var(--primary-color);color:var(--header-color);font-size:1rem;margin-bottom:0;width:100%}.filters-container,.filters-refresh-container{flex-direction:column;gap:8px}.pagination{flex-wrap:wrap;gap:6px}.pagination-button{font-size:1rem;padding:10px 0;width:100%}}@media screen and (max-width:480px){.lesson-plan-container{padding:2px}.calls-area,.plan-area{font-size:.95rem;padding:4px}.plan-header h2,h2{font-size:1.1rem}.plan-actions button{font-size:.98rem;padding:10px 0}}.calls-area,.plan-area{background:var(--card-background);border-radius:10px;box-shadow:var(--card-shadow)}.plan-header h2,h2{color:var(--primary-color)}.plan-actions button{background:var(--primary-color);border:none;color:var(--header-color);transition:background .2s}.plan-actions button:hover{background:var(--hover-color);color:var(--primary-color)}.status-open{color:#2ecc40;font-weight:700}.status-closed{color:#ff4136;font-weight:700}.list-containet-tab{box-sizing:border-box;max-width:100%;padding:20px;width:100%}.tabs{display:flex;margin-bottom:20px}.tab-button{background-color:var(--secondary-color);border:none;border-bottom:2px solid #0000;border-top-left-radius:5px;border-top-right-radius:5px;cursor:pointer;font-size:1rem;padding:10px 20px}.tab-button.active{background-color:var(--primary-color);border-bottom-color:var(--text-color);font-weight:700}.tab-content{align-items:center;background-color:var(--background-color);border:1px solid #ccc;border-radius:5px;box-shadow:0 2px 5px #0000001a;box-sizing:border-box;display:flex;flex-direction:column;justify-content:flex-start;padding:20px;width:100%}@media (max-width:768px){.tab-content{margin-left:auto;margin-right:auto;max-width:420px;padding:0;width:100%}}.logout-professor-container{align-items:flex-start;display:flex;justify-content:flex-start;margin-bottom:16px;position:static;width:100%;z-index:1}.logout-professor-btn{background:#dc3545;border:none;border-radius:4px;color:#fff;cursor:pointer;font-size:1rem;font-weight:500;padding:8px 16px;transition:background .2s}.logout-professor-btn:hover{background:#b52a37}.tab-button.active,.tab-button:focus{background-color:var(--primary-color);border-bottom:2px solid var(--primary-color);color:var(--header-color)}.tab-button:hover{background-color:var(--hover-color)}.attendance-list-responsive{background:#fff;border-radius:0;box-sizing:border-box;margin:0 auto;max-width:480px;padding:0 2px;width:100%}.tabs-responsive{background:#fafbfc;border-bottom:1px solid #eee;display:flex;flex-wrap:nowrap;gap:2px;overflow-x:auto;padding:0 2px;width:100%}.tabs-responsive .tab-button{background:none;border:none;border-bottom:2px solid #0000;color:#1976d2;flex:1 0 auto;font-size:1em;min-width:100px;padding:8px 0;transition:border .2s,color .2s}.tabs-responsive .tab-button.active{background:#f3f7fa;border-bottom:2.5px solid #1976d2;color:#222;font-weight:600}@media (max-width:768px){.attendance-list-responsive{border-radius:0;max-width:100vw;padding:0 2px}.tabs-responsive{gap:0;padding:0 1px;width:100vw}.tabs-responsive .tab-button{font-size:.97em;min-width:80px;padding:7px 0}}.date-range-picker{background-color:var(--background-color);border:1px solid var(--border-color);border-radius:4px;color:var(--text-color);font-size:14px;padding:8px;width:200px}.date-range-picker:focus{border-color:var(--link-color);box-shadow:0 0 0 2px var(--primary-color);outline:none}.filter-group .date-range-picker,.filter-group input,.filter-group select{box-sizing:border-box;color:var(--text-color);font-size:14px;min-width:80px;width:100%}.filter-group .date-range-picker,.filter-group fieldset,.filter-group input,.filter-group select{background-color:var(--card-background);border:1px solid var(--border-color);border-radius:4px;padding:8px}.filter-group legend{color:var(--secondary-color);font-size:14px;padding:0 5px}.filter-group .react-datepicker-wrapper,.filter-group .react-datepicker__input-container{width:100%}.status-badge{border-radius:4px;font-weight:700;padding:4px 8px}.status-pending{background-color:var(--tertiary-color);color:var(--text-color)}.status-approved{background-color:var(--link-color);color:var(--card-background)}.status-rejected{background-color:var(--error-color);color:var(--card-background)}.modal-overlay{align-items:center;background-color:#00000080;bottom:0;display:flex;justify-content:center;left:0;position:fixed;right:0;top:0;z-index:1000}.modal-content{background-color:var(--card-background);border-radius:5px;box-shadow:var(--card-shadow);color:var(--text-color);max-width:500px;min-width:300px;padding:20px}.modal-buttons{display:flex;gap:10px;justify-content:flex-end;margin-top:20px}.modal-buttons button{border:none;border-radius:4px;cursor:pointer;padding:8px 16px;transition:background-color .3s ease}.modal-buttons button:first-child{background-color:var(--primary-color);color:var(--card-background)}.modal-buttons button:first-child:hover{background-color:var(--hover-color)}.modal-buttons button:last-child{background-color:var(--secondary-color);color:var(--card-background)}.modal-buttons button:last-child:hover{background-color:var(--hover-color)}.date-inputs{align-items:center;display:flex;gap:8px}.date-input{border:1px solid #ccc;border-radius:4px;font-size:14px;padding:6px}.date-input:focus{border-color:var(--primary-color);box-shadow:0 0 0 2px rgba(var(--primary-color-rgb),.1);outline:none}.date-separator{color:var(--text-color);font-size:14px;padding:0 4px}.date-picker-compact{width:calc(50% - 10px)}.date-picker-compact input{min-width:15px;width:100%}.date-error{background-color:#ff00001a;border-radius:4px;color:var(--error-color);font-size:12px;margin-top:4px;padding:4px}@media screen and (max-width:768px){.date-inputs{flex-direction:column;gap:10px}.date-input{font-size:16px;padding:8px;width:100%}.date-range{flex-direction:row}.date-picker-compact input{font-size:14px;padding:6px}}body{font-family:Segoe UI,Tahoma,Geneva,Verdana,sans-serif;margin:0}
/*# sourceMappingURL=main.5e65442a.css.map*/