body{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,sans-serif}.App{padding:10px;text-align:center}@media (max-width:600px){.App{padding:5px}button,input{font-size:16px;width:90%}}.top-nav{background-color:#fff;box-shadow:0 2px 4px #0000001a;justify-content:space-between;left:0;padding:.5rem 1rem;position:fixed;right:0;top:0;z-index:1000}.nav-left,.top-nav{align-items:center;display:flex}.nav-left{gap:1rem}.nav-logo{height:40px;width:auto}.nav-left h1{color:#333;font-size:1rem;margin:0}.nav-right{position:relative}.user-info{align-items:center;border-radius:4px;cursor:pointer;display:flex;gap:.5rem;padding:.5rem 1rem;transition:background-color .3s}.user-info:hover{background-color:#f5f5f5}.arrow{font-size:.8rem;transition:transform .3s}.arrow.up{transform:rotate(180deg)}.dropdown-menu{background-color:#fff;border:1px solid #ddd;border-radius:4px;box-shadow:0 2px 4px #0000001a;margin-top:.5rem;min-width:150px;position:absolute;right:0;top:100%}.dropdown-menu button{background:none;border:none;color:#333;cursor:pointer;padding:.75rem 1rem;text-align:left;transition:background-color .3s;width:100%}.dropdown-menu button:hover,.main-container{background-color:#f5f5f5}.main-container{display:flex;flex-direction:column;font-family:Arial,sans-serif;margin-top:60px;min-height:100vh;position:relative}.content-wrapper{box-sizing:border-box;flex:1 1;margin-bottom:60px;max-width:100%;overflow-y:auto;padding:1rem;width:100%}.main-container h2{color:#333;font-size:24px;font-weight:600;margin-bottom:20px}.logo{border-radius:10px;box-shadow:0 4px 8px #0000001a;height:auto;margin-bottom:20px;width:150px}.main-container p{color:#333;font-size:16px;margin-top:20px}.bottom-nav{background-color:#fff;bottom:0;box-shadow:0 -2px 4px #0000001a;display:flex;justify-content:space-around;left:0;padding:1rem;position:fixed;right:0;z-index:1000}.bottom-nav a{border-radius:4px;color:#333;padding:.5rem 1rem;text-decoration:none;transition:background-color .3s}.bottom-nav a:hover{background-color:#f5f5f5}.bottom-nav a.active{background-color:#007bff;color:#fff}@media (max-width:600px){.content-wrapper{padding:0 0 60px}.logo{margin-bottom:15px;width:90px}.main-container{font-size:14px}.main-container h2{font-size:20px}.bottom-nav a{font-size:14px}.body{margin:0}}.scan-container{gap:1rem;padding:1rem}.scan-container h2{color:#333;font-size:24px;font-weight:600;margin-bottom:20px}.logo-qr{border-radius:75px;box-shadow:0 4px 8px #0000001a;height:auto;margin-bottom:20px;width:150px}.scanner-container{margin:1rem 0}button{background-color:#007bff;border-radius:4px;font-size:1rem;padding:.75rem 1.5rem;transition:background-color .3s}button:hover{background-color:#0056b3}.scan-container p{color:#333;font-size:16px;margin-top:20px}.scan-results-table{background:#fff;border-radius:8px;box-shadow:0 2px 4px #0000001a;margin-top:2rem;max-width:800px;overflow:hidden}.scan-results-table th{background-color:#f8f9fa;border-bottom:2px solid #dee2e6;color:#495057;font-weight:600;padding:12px;text-align:left}.scan-results-table td{border-bottom:1px solid #dee2e6;padding:12px}.scan-results-table tr:last-child td{border-bottom:none}.scan-results-table tr.success{background-color:#d4edda}.scan-results-table tr.error{background-color:#f8d7da}.spinner{height:20px;width:20px}#reader{position:relative}#reader>div:first-child{display:none!important}#reader:before{color:#333;content:"Quét mã QR";display:block;font-family:Arial,sans-serif;font-size:18px;margin-bottom:10px;text-align:center}#reader video{border:2px solid #000;border-radius:5px;max-width:500px;width:100%}@media (max-width:600px){.scan-container{padding:10px}.logo{margin-bottom:15px;width:90px}button{font-size:14px;padding:10px}.scan-container h2{font-size:20px}.scan-results-table{font-size:14px}.scan-results-table td,.scan-results-table th{padding:8px}}.scan-container{align-items:center;display:flex;flex-direction:column;margin:0 auto;max-width:600px;padding:20px}.logo-qr{margin-bottom:10px;width:100px}.scanner-container{margin-bottom:20px;max-width:500px}.scan-results-table{margin-top:20px;width:100%}.scan-results-table table{border-collapse:collapse;width:100%}.scan-results-table td,.scan-results-table th{border:1px solid #ddd;padding:8px;text-align:center}.scan-results-table th{background-color:#f2f2f2;font-weight:700}.scan-results-table tr.success{background-color:#e6ffe6}.scan-results-table tr.error{background-color:#ffe6e6}.scan-results-table tr.processing{background-color:#fff3cd}.spinner{border:2px solid #f3f3f3;display:inline-block;height:16px;width:16px}button{background-color:#4caf50;border:none;border-radius:5px;color:#fff;cursor:pointer;font-size:16px;padding:10px 20px}button:hover{background-color:#45a049}.block-list-container{margin:0 auto;max-width:100%;width:100%}.block-nav{background-color:#fff;box-shadow:0 2px 5px #0000001a;display:flex;justify-content:space-around;margin-bottom:10px}.block-nav a{background-color:initial;border:none;color:#333;cursor:pointer;flex:1 1;font-size:16px;font-weight:600;padding:10px;text-align:center;text-decoration:none;transition:background-color .3s}.block-nav a.active{background-color:#007bff;color:#fff}.block-nav a:hover{background-color:#e0e0e0}.block-nav a.disabled{background-color:#f5f5f5;cursor:not-allowed;opacity:.5;pointer-events:none}@media (max-width:600px){.block-nav a,.block-nav a.disabled{font-size:14px}}.class-list-container{margin:0 auto;max-width:100%;width:100%}.class-nav{background-color:#fff;box-shadow:0 2px 5px #0000001a;display:flex;justify-content:space-around;margin-bottom:20px;overflow-x:auto;white-space:nowrap}.class-nav a{background-color:initial;border:1px solid #ddd;box-sizing:border-box;color:#333;cursor:pointer;flex:1 1;font-size:14px;min-width:150px;padding:10px;text-align:center;text-decoration:none;transition:background-color .3s,border-color .3s}.class-nav a.active{background-color:#007bff;border-color:#007bff;color:#fff}.class-nav a:hover{background-color:#e0e0e0;border-color:#bbb}.class-nav a.disabled{background-color:#f5f5f5;border-color:#ddd;cursor:not-allowed;opacity:.5;pointer-events:none}@media (max-width:600px){.class-nav a{border:1px solid #ddd}.class-nav a,.class-nav a.disabled{font-size:12px;min-width:120px}}.class-content{text-align:center}.class-content h3{color:#333;font-size:20px;margin-bottom:10px}.class-content p{color:#666;font-size:16px}.button-group{margin-bottom:20px}.attendance-entry-button,.class-transcript-button,.refresh-button{border:none;border-radius:4px;cursor:pointer;font-size:16px;padding:10px 20px;transition:background-color .2s}.refresh-button{background-color:#007bff;color:#fff}.refresh-button:hover{background-color:#0056b3}.attendance-entry-button{background-color:#28a745;color:#fff}.attendance-entry-button:hover{background-color:#218838}.class-transcript-button{background-color:#4caf50;color:#fff}.class-transcript-button:hover{background-color:#138496}.table-wrapper{margin-bottom:20px;margin-top:10px}.student-table{border-collapse:collapse;width:100%}.student-table td,.student-table th{border:1px solid #ddd;padding:10px;text-align:left}.student-table th{background-color:#007bff;color:#fff}.student-table tr:nth-child(2n){background-color:#f9f9f9}.student-table tr:hover{background-color:#f1f1f1}.student-table select{background-color:#fff;border:1px solid #ccc;border-radius:4px;cursor:pointer;font-size:14px;padding:5px}.mobile-only{display:table-cell}.desktop-only{display:none}@media (max-width:600px){.student-table td,.student-table th{font-size:14px;padding:8px}.student-table select{font-size:12px}.desktop-only{display:none}.attendance-entry-button,.class-transcript-button,.refresh-button{font-size:14px;padding:8px 16px}.edit-icon{font-size:18px}}@media (min-width:601px){.mobile-only{display:none}.desktop-only{display:table-cell;text-align:center}.student-table{min-width:100%}.student-table td,.student-table th{font-size:16px;padding:14px}.class-content h3{font-size:28px}}.student-name-link{background:none;border:none;color:#000;cursor:pointer;font-weight:700;font:inherit;padding:0;text-align:left;transition:color .2s}.student-name-link:hover{background-color:#87cefa;text-decoration:underline}.modal-content{box-shadow:0 4px 8px #0003;width:100%}.modal-content h3{font-size:20px;margin-top:0}.student-info{border-bottom:1px solid #ddd;margin-bottom:15px;padding-bottom:10px}.student-info p{color:#333;font-size:14px;margin:5px 0}.student-info strong{color:#007bff}.modal-body{margin-bottom:20px}.modal-body label{display:block;font-size:16px;margin-bottom:10px;margin-top:10px}.modal-body input{border:1px solid #ccc;border-radius:4px;font-size:24px;padding:8px;width:100%}.modal-body-option{font-size:24px;padding:8px;white-space:nowrap;width:50%}.cancel-button,.save-button{border:none;border-radius:4px;cursor:pointer;font-size:14px;padding:8px 16px;transition:background-color .2s}.cancel-button{background-color:#dc3545}.cancel-button:hover{background-color:#c82333}.edit-icon{transition:color .2s}.date-format-note{color:#666;font-size:14px;line-height:1.5;margin-top:10px}.date-format-note strong{color:#333}.export-excel-button{background-color:#c82333}.export-excel-button:hover{background-color:#dc3545}.attendance-button{background:none;border:none;color:#007bff;cursor:pointer;padding:0}.attendance-button:hover{color:#0056b3}.attendance-chua-diem-danh{color:#dc3545}.attendance-co-xin-phep{color:#ffc107}.attendance-co-luc{color:#28a745}.tabs-nav ul{justify-content:center;margin:20px 0}.tabs-nav li{margin:0 10px}.nav-tab{background:#f1f1f1;transition:background-color .2s}.nav-tab:hover{background:#e0e0e0}.nav-tab.active{background:#007bff}.attendance-controls,.status-controls{display:flex;flex-direction:column;gap:10px}.attendance-controls label,.status-controls label{align-items:center;display:flex;font-size:16px;gap:5px}.class-transcript{padding:10px;text-align:center}.class-transcript h3{color:#333;font-size:20px;margin-bottom:10px}.class-transcript p{color:#666;font-size:16px}.decimal-instruction{color:#555;font-size:.9em;font-style:italic}.decimal-instruction,.validation-message.error{margin-bottom:10px;margin-left:auto;margin-right:auto;max-width:800px;text-align:left}.validation-message.error{background-color:#ffebeb;border:1px solid red;border-radius:4px;color:red;font-weight:700;padding:8px 12px}.controls-container{align-items:center;display:flex;flex-wrap:wrap;gap:15px;justify-content:space-between;margin-bottom:15px;margin-left:auto;margin-right:auto;max-width:95%}.table-wrapper{margin:10px auto 20px;max-height:700px;overflow-x:auto;overflow-y:auto;position:relative;width:95%}.transcript-table{border-collapse:collapse;width:100%}.transcript-table thead th{background-color:#007bff;border:1px solid #ddd;color:#fff;padding:10px;position:sticky;text-align:center;top:0;white-space:nowrap;z-index:10}.transcript-table thead tr:first-child th{position:sticky;top:0}.transcript-table thead tr:nth-child(2) th{background-color:#007bff;position:sticky;top:41px;z-index:10}.transcript-table td{background-color:#fff;border:1px solid #ddd;padding:10px;text-align:center}.transcript-table tbody tr:nth-child(2n) td{background-color:#f9f9f9}.transcript-table tbody tr:nth-child(2n) td.sticky-col{background-color:#e9e9e9}.transcript-table tbody tr:hover td{background-color:#f1f1f1}.transcript-table tbody tr:hover td.sticky-col{background-color:#e0e0e0}.transcript-table input,.transcript-table select{border:1px solid #ccc;border-radius:4px;box-sizing:border-box;font-size:14px;padding:5px;text-align:center;width:70px}.score-input{padding:4px;text-align:right;width:60px}.diligence-select{min-width:80px;padding:4px;width:auto}.average-cell,.rank-cell{font-weight:700;text-align:center;white-space:nowrap}@media (max-width:768px){.transcript-table td:nth-child(3){background-color:#f0f0f0;border-right:2px solid #ccc;left:0;min-width:80px;position:sticky;z-index:5}.transcript-table thead th:nth-child(3){background-color:#007bff;color:#fff;left:0;z-index:15}.transcript-table tbody tr:nth-child(2n) td:nth-child(3){background-color:#e9e9e9}.transcript-table tbody tr:nth-child(odd) td:nth-child(3){background-color:#f0f0f0}.transcript-table tbody tr:hover td:nth-child(3){background-color:#e0e0e0}.transcript-table td,.transcript-table thead th{font-size:12px;padding:8px 5px}.transcript-table thead tr:nth-child(2) th{top:32px}.transcript-table input,.transcript-table select{font-size:12px;width:55px}.score-input{width:50px}.diligence-select{min-width:70px}.back-button,.edit-button,.save-button{font-size:14px;padding:8px 16px}.class-transcript h3{font-size:18px}.controls-container{justify-content:center}.table-wrapper{margin:10px auto 20px;max-height:max-content;overflow-x:auto;overflow-y:auto;position:relative;width:95%}}@media (min-width:769px){.transcript-table td,.transcript-table thead th{font-size:14px;padding:12px 10px}.class-transcript h3{font-size:24px}.transcript-table thead tr:nth-child(2) th{top:41px}}.button-group{display:flex;gap:10px;justify-content:center;margin-top:20px}.button-group.main-buttons{margin-left:auto}.back-button,.edit-button,.save-button{border:none;border-radius:4px;cursor:pointer;font-size:16px;padding:10px 20px;transition:background-color .2s,opacity .2s}.save-button{background-color:#28a745;color:#fff}.save-button:hover{background-color:#218838}.edit-button{background-color:#ffc107;color:#000}.edit-button:hover{background-color:#e0a800}.back-button{background-color:#6c757d;color:#fff}.back-button:hover{background-color:#5a6268}.edit-button.disabled{cursor:not-allowed;opacity:.6}.edit-button.disabled,.edit-button.disabled:hover{background-color:#ccc;color:#666}.notification-popup{background-color:#0009;box-sizing:border-box;padding:20px}.notification-content{max-width:500px;min-width:280px;padding:25px 30px}.notification-popup p{color:#333;line-height:1.5;margin:10px 0 15px}.notification-popup.loading{background-color:#050}.notification-popup.loading .notification-content{background-color:#fffffff2}.notification-popup.success .notification-content{color:#155724}.notification-popup.error .notification-content{background-color:#f8d7da;border:1px solid #f5c6cb;color:#721c24}.confirm-button{font-size:15px;padding:10px 25px}.spinner{border:4px solid #f3f3f3;margin:0 auto 10px}.lock-toggle-container{align-items:center;display:flex;gap:10px;margin-bottom:0}.lock-toggle-label{align-items:center;cursor:pointer;display:flex;-webkit-user-select:none;user-select:none}.lock-toggle-switch{display:inline-block;height:40px;margin-right:10px;position:relative;width:90px}.lock-toggle-switch input{height:0;opacity:0;width:0;z-index:0}.lock-toggle-slider{background:#2c2;background-position:62px 5px;background-repeat:no-repeat;background-size:auto 5px;border:0;border-radius:50px;bottom:0;box-shadow:inset 0 10px 20px #0006,0 -1px 0 #0003,inset 0 -1px 0 #fff;cursor:pointer;display:inline-block;font-size:0;height:40px;left:0;position:absolute;right:0;top:0;transition:all .5s ease}.lock-toggle-slider:before{background-color:#fff3;background-position:0 0;background-repeat:repeat;background-size:30% auto;border-radius:50%;box-shadow:inset 0 -5px 25px #050,0 10px 20px #0006;content:"";display:block;height:30px;left:5px;position:absolute;top:6px;transition:all .5s ease;width:30px;z-index:2}.lock-toggle-switch input:checked+.lock-toggle-slider{background-color:#c22}.lock-toggle-switch input:checked+.lock-toggle-slider:before{background-position:150% 0;box-shadow:inset 0 -5px 25px #500,0 10px 20px #0006;left:calc(100% - 35px)}.lock-toggle-switch input:disabled+.lock-toggle-slider{cursor:not-allowed;opacity:.6}.lock-toggle-switch input:disabled+.lock-toggle-slider:before{opacity:.6}.lock-toggle-label input:disabled{cursor:not-allowed}.lock-toggle-text{color:#666;font-size:14px}.tabs-nav{background-color:#f8f9fa;border-bottom:1px solid #ddd;display:flex;justify-content:center;margin-bottom:20px;padding:10px 0}.tabs-nav li{margin:0}.nav-tab{background:none;border:none;border-radius:4px;color:#333;cursor:pointer;font-size:16px;transition:background-color .2s,color .2s}.nav-tab:hover{background-color:#e9ecef}.nav-tab.active{font-weight:700}@media (max-width:600px){.tabs-nav ul{gap:5px}.nav-tab{font-size:14px;padding:8px 16px;width:100%}}.download-button{background-color:#c82333;border:none;border-radius:4px;color:#fff;cursor:pointer;font-size:14px;margin-left:10px;padding:8px 16px;transition:background-color .3s}.download-button:hover{background-color:#dc3545}.download-button:disabled{background-color:#ccc;cursor:not-allowed}.recalculate-button{background-color:#4caf50;border:none;border-radius:4px;color:#fff;cursor:pointer;margin-right:10px;padding:8px 16px}.recalculate-button:hover{background-color:#45a049}.cancel-button{background-color:#f44336;color:#fff}.cancel-button:hover{background-color:#da190b}.diligence-select.empty-field,.diligence-select.empty-field option[value=""],.score-input.empty-field::placeholder{color:red}.diligence-select.empty-field,.score-input.empty-field{background-color:#ff00000d}.student-container{margin:0 auto;max-width:800px;padding:20px}.student-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:30px}.student-header h2{color:#333;margin:0}.student-header button{background-color:#f0f0f0;border:none;border-radius:4px;color:#333;cursor:pointer;padding:8px 16px;transition:background-color .2s;width:100px}.student-header button:hover{background-color:#e0e0e0}.student-info{background-color:#fff;border-radius:8px;box-shadow:0 2px 4px #0000001a;padding:20px}.info-section{margin-bottom:30px}.info-section h3{border-bottom:2px solid #eee;color:#444;margin-bottom:20px;padding-bottom:10px}.info-grid{grid-gap:20px;display:grid;gap:20px;grid-template-columns:repeat(auto-fit,minmax(250px,1fr))}.info-item{flex-direction:column}.info-item label{color:#666;margin-bottom:5px}.info-item span{color:#333;font-size:1.1em}.attendance-history{display:flex;flex-direction:column;gap:10px}.attendance-item{align-items:center;background-color:#f8f8f8;border-radius:4px;display:flex;justify-content:space-between;padding:10px;transition:background-color .2s}.attendance-item:hover{background-color:#f0f0f0}.attendance-item .date{color:#666;font-weight:500}.attendance-item .status{border-radius:4px;font-weight:500;padding:4px 8px}.attendance-item .status.present{background-color:#e6f4ea;color:#1e7e34}.attendance-item .status.absent{background-color:#fce8e6;color:#d93025}.attendance-item .status.permitted{background-color:#fff3cd;color:#856404}.qr-code-container{align-items:center;background-color:#f8f8f8;border-radius:8px;display:flex;justify-content:center;margin:20px 0;padding:20px}.qr-code-image{border-radius:4px;box-shadow:0 2px 4px #0000001a;height:auto;max-width:200px}.status-section{background-color:#f8f9fa;border-radius:8px;margin:1rem 0;padding:1rem}.status-section label{cursor:pointer;display:inline-block;margin-right:2rem}.status-section input[type=radio]{margin-right:.5rem}.status-section label:hover{color:#0056b3}.status-controls{align-items:center;display:flex;gap:1rem}.update-button{background-color:#e0e0e0;border:none;border-radius:4px;color:#666;cursor:not-allowed;padding:8px 16px;transition:all .3s ease;width:100px}.update-button.active{background-color:#007bff;color:#fff;cursor:pointer;width:100px}.update-button:disabled{cursor:not-allowed;opacity:.6;width:100px}@media (max-width:768px){.student-container{padding:15px}.info-grid{grid-template-columns:1fr}.attendance-item{align-items:flex-start;flex-direction:column;gap:5px}}.dob-display{align-items:center;display:flex;gap:10px}.edit-icon{color:#007bff;cursor:pointer;font-size:16px}.edit-icon:hover{color:#0056b3}.edit-dob{align-items:center;display:flex;gap:10px}.edit-dob input{border:1px solid #ccc;border-radius:4px;padding:5px}.save-dob-button{background-color:#28a745;border:none;border-radius:4px;color:#fff;cursor:pointer;padding:5px 10px}.save-dob-button:hover{background-color:#218838}.transcript-history{margin-top:20px}.transcript-section{margin-bottom:20px}.transcript-section h4{border-bottom:1px solid #eee;color:#444;margin-bottom:15px;padding-bottom:5px}.day-filters{display:flex;flex-wrap:wrap;gap:10px;margin-bottom:20px}.day-filter-item{cursor:pointer;display:inline-block;position:relative}.day-filter-item input[type=checkbox]{height:0;opacity:0;position:absolute;width:0}.day-filter-item span{background-color:#f0f0f0;border-radius:4px;color:#333;display:inline-block;font-size:14px;padding:8px 12px;transition:all .3s ease}.day-filter-item input[type=checkbox]:checked+span{background-color:#007bff;color:#fff}.day-filter-item:hover span{background-color:#e0e0e0}.day-filter-item input[type=checkbox]:checked+span:hover{background-color:#0056b3}.qr-scanner-lookup{margin:0 auto;max-width:400px;position:relative;width:100%}.qr-reader{height:400px;width:100%}.scanner-overlay{height:100%;left:0;pointer-events:none;position:absolute;top:0;width:100%}.scanner-line{animation:scan 2s infinite;background:#0f0;height:2px;position:absolute;top:50%;width:100%}.scanner-corners{height:100%;position:absolute;width:100%}.corner{border:2px solid #0f0;height:20px;position:absolute;width:20px}.top-left{border-right:none;left:10px}.top-left,.top-right{border-bottom:none;top:10px}.top-right{border-left:none;right:10px}.bottom-left{border-right:none;left:10px}.bottom-left,.bottom-right{border-top:none;bottom:10px}.bottom-right{border-left:none;right:10px}@keyframes scan{0%{top:10%}50%{top:90%}to{top:10%}}#qr-reader>div:not(:first-child){display:none!important}.parent-container{margin:0 auto;max-width:800px;padding:20px}.parent-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:30px}.parent-header h2{color:#333;margin:0}.logout-button{background-color:#f0f0f0;border:none;border-radius:4px;cursor:pointer;padding:8px 16px;transition:background-color .2s}.logout-button:hover{background-color:#e0e0e0}.search-section{background-color:#fff;border-radius:8px;box-shadow:0 2px 4px #0000001a;margin-bottom:30px;padding:20px}.search-form{display:flex;gap:10px;margin-bottom:20px}.search-input{border:1px solid #ddd;border-radius:4px;flex:1 1;font-size:16px;padding:10px}.search-button{background-color:#1a73e8;border:none;border-radius:4px;color:#fff;cursor:pointer;padding:10px 20px;transition:background-color .2s}.search-button:hover{background-color:#1557b0}.qr-section{align-items:center;display:flex;flex-direction:column;gap:20px}.qr-button{background-color:#34a853;border:none;border-radius:4px;color:#fff;cursor:pointer;padding:10px 20px;transition:background-color .2s}.qr-button:hover{background-color:#2d8a46}.scanner-container{margin:0 auto;max-width:400px;width:100%}.instructions{background-color:#f8f9fa;border-radius:8px;padding:20px}.instructions h3{color:#333;margin-top:0}.instructions ol{margin:0;padding-left:20px}.instructions li{color:#666;margin-bottom:10px}.loading-container{align-items:center;background-color:#f8f9fa;display:flex;flex-direction:column;justify-content:center;min-height:100vh;padding:20px;text-align:center}.welcome-message{color:#333;font-size:24px;font-weight:500;line-height:1.4;margin-bottom:30px;max-width:90%}.loading-bar-container{align-items:center;display:flex;flex-direction:column;gap:10px;max-width:400px;width:100%}.loading-bar{background-color:#e0e0e0;border-radius:4px;height:8px;overflow:hidden;position:relative;width:100%}.loading-bar:before{animation:loading 1.5s ease-in-out infinite;background-color:#1a73e8;content:"";height:100%;left:0;position:absolute;top:0;width:50%}.loading-text{color:#666;font-size:16px;margin:0}@keyframes loading{0%{transform:translateX(-100%)}50%{transform:translateX(100%)}to{transform:translateX(200%)}}.qr-button:disabled{cursor:not-allowed;opacity:.5}.parentView-container{background-color:initial;border-radius:100px;box-shadow:0 4px 8px #0000001a;height:auto;margin-bottom:30px;object-fit:fill;position:static;width:120px}@media (max-width:768px){.parent-container{padding:15px}.search-form{flex-direction:column}.search-button{width:100%}.welcome-message{font-size:20px}.loading-bar-container{max-width:300px}.loading-text{font-size:14px}}.search-name-section{margin-bottom:20px;position:relative}.search-name-input{box-sizing:border-box;width:100%}.suggestions-list{background-color:#fff;border:1px solid #ddd;border-radius:4px;box-shadow:0 2px 4px #0000001a;left:0;list-style:none;margin:0;max-height:200px;overflow-y:auto;padding:0;position:absolute;right:0;top:100%;z-index:10}.suggestion-item{border-bottom:1px solid #eee;cursor:pointer;padding:10px;transition:background-color .2s}.suggestion-item:last-child{border-bottom:none}.suggestion-item:hover{background-color:#f0f0f0}@media (max-width:768px){.search-name-section{margin-bottom:15px}.suggestions-list{max-height:150px}.suggestion-item{font-size:14px;padding:8px}}.notification-popup{position-area:center;animation:slideIn .3s ease-out}.notification-content{padding:15px}.notification-popup p{margin:0;text-align:center}.notification-popup.loading{background-color:#f8f9fa;border:1px solid #dee2e6}.notification-popup.loading p{color:#495057}.notification-popup.success{background-color:#d4edda;border:1px solid #c3e6cb}.notification-popup.success p{color:#155724}.notification-popup.error{background-color:#f8d7da;border:1px solid #f5c6cb}.notification-popup.error p{color:#721c24}@keyframes slideIn{0%{opacity:0;transform:translateX(100%)}to{opacity:1;transform:translateX(0)}}.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{box-shadow:0 2px 10px #0000001a}.modal-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:20px}.modal-header h3{color:#333;margin:0}.close-button{background:none;border:solid;color:#666;cursor:pointer;font-size:24px;height:40px;line-height:1;padding:0;width:100px}.close-button:hover{color:#333}.password-input-container{align-items:center;display:flex;position:relative}.password-input-container input{border:1px solid #ddd;border-radius:4px;font-size:16px;padding:8px 40px 8px 8px;width:100%}.toggle-password-button{align-items:center;background:none;border:none;color:#666;cursor:pointer;display:flex;font-size:16px;justify-content:center;padding:5px;position:absolute;right:5px;width:40px}.toggle-password-button:hover{color:#333}.modal-footer{display:flex;gap:10px;justify-content:flex-end;margin-top:20px}.cancel-button{background-color:#f0f0f0;border:none;border-radius:4px;cursor:pointer;padding:8px 16px;transition:background-color .2s}.cancel-button:hover{background-color:#e0e0e0}.submit-button{background-color:#1a73e8;padding:8px 16px;transition:background-color .2s}.submit-button:hover{background-color:#1557b0}.message{text-align:center}.catechist-profile{margin:0 auto;max-width:800px;padding:20px}.profile-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:30px}.profile-header h2{color:#333;margin:0}.back-button{background-color:#f0f0f0;border:none;border-radius:4px;color:#000;cursor:pointer;padding:8px 16px;transition:background-color .2s;width:100px}.back-button:hover{background-color:#e0e0e0}.profile-content{background-color:#fff;border-radius:8px;box-shadow:0 2px 4px #0000001a;padding:20px}.info-section,.password-section{margin-bottom:30px}.info-section h3,.password-section h3{color:#333;margin-bottom:20px;margin-top:0}.info-item{display:flex;gap:10px;margin-bottom:15px}.info-item label{font-weight:700;min-width:100px}.form-group{margin-bottom:20px}.form-group label{color:#333}.form-group input{border:1px solid #ddd;border-radius:4px;font-size:16px;padding:8px;width:100%}.change-password-button{background-color:#1a73e8;border:none;border-radius:4px;color:#fff;cursor:pointer;padding:10px 20px;transition:background-color .2s}.change-password-button:hover{background-color:#1557b0}.message{background-color:#e8f0fe;border-radius:4px;color:#1a73e8;margin-top:15px;padding:10px}@media (max-width:768px){.catechist-profile{padding:15px}.info-item{flex-direction:column;gap:5px}.info-item label{min-width:auto}}body{padding:0}.login-container,body{background-color:#f5f5f5}.login-container{align-items:center;display:flex;flex-direction:column;font-family:Arial,sans-serif;height:100vh;justify-content:center;padding:20px;position:relative}.login-container h2{color:#333;font-size:24px;font-weight:600;margin-bottom:30px}.login-container .logo{background-color:initial;border-radius:100px;box-shadow:0 4px 8px #0000001a;height:auto;margin-bottom:30px;object-fit:fill;position:static;width:120px}.background-image{height:auto;left:0;max-width:500px;opacity:.2;position:absolute;top:0;width:100%;z-index:-1}.login-container form{background:#fff;border-radius:10px;box-shadow:0 8px 16px #0000001a;display:flex;flex-direction:column;max-width:400px;padding:30px;width:100%}.login-container input{border:1px solid #ccc;border-radius:5px;font-size:16px;margin:10px 0;outline:none;padding:12px;transition:border-color .3s}.login-container input:focus{border-color:#007bff;box-shadow:0 0 5px #007bff80}.login-container label{align-items:center;color:#555;display:flex;font-size:14px;margin:10px 0}.login-container input[type=checkbox]{height:18px;margin-right:8px;width:18px}.login-container glv-button{background-color:#007bff;border:none;border-radius:5px;color:#fff;cursor:pointer;font-size:16px;margin-top:20px;padding:12px;transition:background-color .3s,transform .1s}.login-container button:hover{background-color:#0056b3;transform:translateY(-2px)}.login-container .error{color:#dc3545;font-size:14px;margin-top:10px;text-align:center}@media (max-width:600px){.login-container form{max-width:90%;padding:20px}.login-container .logo{margin-bottom:20px;width:100px}.login-container button,.login-container input{font-size:14px}.login-container h2{font-size:20px}}.parent-section{border-top:1px solid #eee;margin-top:30px;padding-top:20px;text-align:center}.parent-section p{color:#666;margin:0 0 15px}.parent-button{background-color:#34a853;border:none;border-radius:4px;color:#fff;cursor:pointer;font-size:16px;padding:10px 20px;transition:background-color .2s;width:fit-content}.parent-button:hover{background-color:#2d8a46}.notification-popup{align-items:center;animation:fadeIn .3s ease-out;background-color:#00000080;display:flex;height:100%;justify-content:center;left:0;position:fixed;top:0;width:100%;z-index:2000}.notification-content{background-color:#fff;border-radius:8px;box-shadow:0 4px 12px #00000026;margin:20px;min-width:300px;padding:20px;position:relative;text-align:center}.notification-popup p{font-size:16px;margin:10px 0}.notification-popup.loading{background-color:initial}.notification-popup.loading .notification-content{background-color:#ffffffe6}.notification-popup.success .notification-content{background-color:#d4edda;border:1px solid #c3e6cb}.confirm-button{background-color:#007bff;border:none;border-radius:4px;color:#fff;cursor:pointer;margin-top:15px;transition:background-color .3s}.confirm-button:hover{background-color:#0056b3}.spinner{animation:spin 1s linear infinite;border:3px solid #f3f3f3;border-radius:50%;border-top-color:#3498db;height:30px;margin:0 auto;width:30px}@keyframes spin{0%{transform:rotate(0deg)}to{transform:rotate(1turn)}}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.add-new-student-container{background-color:#fff;border-radius:8px;box-shadow:0 2px 5px #0000001a;margin:20px auto;max-width:600px;padding:20px}.add-new-student-container h2{color:#333;margin-bottom:20px;text-align:center}.form-group{margin-bottom:15px}.form-group label{color:#555;display:block;font-weight:700;margin-bottom:5px}.form-group input,.form-group select{border:1px solid #ddd;border-radius:4px;font-size:14px;padding:8px;width:100%}.submit-button{background-color:#007bff;border:none;border-radius:4px;color:#fff;cursor:pointer;display:block;font-size:16px;margin-top:20px;padding:10px;width:100%}.submit-button:hover{background-color:#0056b3}.error{color:red;margin-bottom:15px;text-align:center}.modal{align-items:center;background-color:#00000080;display:flex;height:100%;justify-content:center;left:0;position:fixed;top:0;width:100%;z-index:1000}.modal-content{background-color:#fff;border-radius:8px;max-width:400px;padding:20px;text-align:center;width:90%}.modal-content h3{color:#333;margin-bottom:20px}.modal-content p{margin:10px 0;text-align:left}.modal-content button{background-color:#007bff;border:none;border-radius:4px;color:#fff;cursor:pointer;margin-top:20px;padding:10px 20px}.modal-content button:hover{background-color:#0056b3}body{background-color:#f0f0f0;font-family:Arial,sans-serif;margin:0;padding:10px}.admin-container{margin-top:70px}table{border-collapse:collapse;margin-top:20px;width:100%}td,th{border:1px solid #ddd;padding:8px;text-align:center}th{background-color:#f2f2f2;font-weight:700}.sidebar{background-color:#fff;box-shadow:0 2px 5px #0000001a;font-family:Arial,sans-serif;width:256px}.sidebar ul{list-style:none;margin:0;padding:0}.sidebar li{border-bottom:1px solid #ddd}.sidebar button{background:none;border:none;color:#333;cursor:pointer;font-size:16px;padding:12px 16px;text-align:left;transition:background-color .2s;width:100%}.sidebar button:hover{background-color:#f2f2f2}.sidebar .block-button{align-items:center;display:flex;font-weight:700;justify-content:space-between}.sidebar .block-button .arrow{font-size:12px}.sidebar .submenu{background-color:#fafafa;padding-left:16px}.sidebar .submenu li{border-bottom:none}.sidebar .submenu button{color:#555;font-size:14px;padding:8px 16px}.sidebar .submenu button:hover{background-color:#e6e6e6}.sidebar .selected{background-color:#e7f3ff;color:#007bff;font-weight:700}.tabs-nav ul{display:flex;flex-wrap:wrap;gap:10px;list-style:none;margin:0;padding:0}.nav-tab{background-color:#e9ecef;border-radius:6px;color:#495057;font-size:14px;font-weight:500;padding:10px 20px;text-decoration:none;transition:all .3s ease}.nav-tab:hover{background-color:#dee2e6}.nav-tab.active{background-color:#007bff;box-shadow:0 2px 4px #0003;color:#fff}#card-container{display:flex;flex-wrap:wrap;gap:20px;justify-content:center}.card{background-image:url(/static/media/BackGround.8b308630de72bd3b2a3f.png);background-position:50%;background-size:cover;display:block;height:204px;margin:5px auto;overflow:hidden;position:relative;width:325px}.card.card-alt-bg{background-image:url(/static/media/BackGround2.832e7567a28d6e922e52.png);object-fit:cover}.card.card-bg-1{background-image:url(/static/media/BackGround.8b308630de72bd3b2a3f.png);object-fit:cover}.card.card-bg-2{background-image:url(/static/media/BackGround2.832e7567a28d6e922e52.png);object-fit:cover}.background-option,.card.card-bg-custom{background-position:50%;background-size:cover}.background-option{align-items:flex-end;border:2px solid #ccc;border-radius:8px;color:#fff;cursor:pointer;font-size:12px;font-weight:700;height:80px;padding:4px;text-shadow:0 1px 2px #00000080;transition:border-color .3s,transform .2s;width:120px}.background-option:hover{border-color:#007bff;transform:scale(1.05)}.background-option-selected{border-color:#007bff;box-shadow:0 0 8px #007bff80}.background-option.bg-1{background-image:url(/static/media/BackGround.8b308630de72bd3b2a3f.png)}.background-option.bg-2{background-image:url(/static/media/BackGround2.832e7567a28d6e922e52.png)}.header{color:#000;font-size:13px;font-weight:700;height:60px;line-height:1.2;padding-top:10px;position:relative;text-align:center;width:70%}.logo{background-color:#fff;border-radius:50%;height:80px;object-fit:cover;position:absolute;right:10px;top:10px;width:80px}.content{font-size:14px;padding-left:20px;position:relative;text-align:start}.content h2{font-size:16px;font-weight:700;margin-bottom:10px;margin-top:10px;text-align:left}.content-card p{font-size:11px;margin:4px 0;width:180px}.qr-code{align-items:center;bottom:1px;display:flex;flex-direction:column;height:80px;margin-bottom:10px;padding:10px;position:absolute;right:19px;width:84px}.qr-code img{display:block;height:60px;margin-bottom:5px;padding-top:3px;width:60px}.id-text{font-size:10px;font-weight:400;margin-top:0;text-align:center;width:100%}.content p b,.id-text b{color:#333;font-size:14px;font-weight:700}.background-option{align-items:center;border:2px solid #0000;display:flex;font-weight:500;justify-content:center;transition:all .2s ease-in-out}.bulk-actions{margin-top:20px;text-align:center}.bulk-actions button{background-color:#007bff;border:none;border-radius:4px;color:#fff;cursor:pointer;font-size:16px;padding:10px 20px;transition:background-color .2s}.bulk-actions button:disabled{background-color:#ccc;cursor:not-allowed}.bulk-actions button:hover:not(:disabled){background-color:#0056b3}#card-table{margin-top:1.25rem}
/*# sourceMappingURL=main.2d7cce8f.css.map*/