*{box-sizing:border-box;margin:0;padding:0}html,body,#root{color:#1e293b;background-color:#fff;width:100%;height:100%;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Arial,sans-serif;overflow:hidden auto}.app-container{background-color:#fff;width:100vw;height:100vh;display:flex}.toast-container{z-index:999999;pointer-events:none;flex-direction:column;gap:10px;display:flex;position:fixed;top:24px;right:24px}.toast-item{pointer-events:auto;background-color:#fff;border:1px solid #e2e8f0;border-radius:10px;align-items:center;gap:12px;min-width:300px;max-width:420px;padding:14px 16px;transition:all .2s;animation:.3s cubic-bezier(.16,1,.3,1) forwards toastSlideIn;display:flex;box-shadow:0 20px 30px -10px #0006,0 0 15px #00000026}@keyframes toastSlideIn{0%{opacity:0;transform:translate(110%)}to{opacity:1;transform:translate(0)}}@keyframes indeterminate-progress{0%{width:25%;margin-left:0%}50%{width:50%;margin-left:35%}to{width:25%;margin-left:100%}}.toast-success{border-left:4px solid #10b981}.toast-success .toast-icon{color:#10b981;flex-shrink:0}.toast-error{border-left:4px solid #ef4444}.toast-error .toast-icon{color:#ef4444;flex-shrink:0}.toast-info{border-left:4px solid #0284c7}.toast-info .toast-icon{color:#0284c7;flex-shrink:0}.toast-message{color:#1e293b;flex:1;font-size:13.5px;font-weight:500;line-height:1.4}.toast-close-btn{color:#94a3b8;cursor:pointer;background:0 0;border:none;border-radius:4px;justify-content:center;align-items:center;padding:4px;transition:color .15s;display:flex}.toast-close-btn:hover{color:#475569}.sidebar{background-color:#fff;border-right:1px solid #eef0f3;flex-direction:column;justify-content:space-between;width:260px;min-width:260px;height:100vh;padding:24px 16px;display:flex}.sidebar-top{flex-direction:column;gap:28px;display:flex}.logo-container{-webkit-user-select:none;user-select:none;align-items:center;gap:12px;padding-left:8px;display:flex}.logo-icon{color:#fff;background-color:#ea384c;border-radius:8px;justify-content:center;align-items:center;width:32px;height:32px;display:flex;box-shadow:0 2px 6px #ea384c40}.logo-text{color:#0b192c;letter-spacing:-.4px;font-size:19px;font-weight:800}.nav-menu{flex-direction:column;gap:20px;display:flex}.nav-category-group{flex-direction:column;gap:6px;display:flex}.nav-category-title{text-transform:uppercase;letter-spacing:.08em;color:#94a3b8;-webkit-user-select:none;user-select:none;padding:0 14px 2px;font-size:11px;font-weight:700}.nav-category-items{flex-direction:column;gap:4px;display:flex}.nav-button{color:#64748b;cursor:pointer;text-align:left;background:0 0;border:none;border-radius:8px;align-items:center;gap:12px;width:100%;padding:10px 14px;font-size:14.5px;font-weight:500;transition:all .15s ease-in-out;display:flex}.nav-button:hover{color:#1e293b;background-color:#f8fafc}.nav-button.active{color:#0284c7;background-color:#e0f2fe;font-weight:600}.nav-icon{width:18px;height:18px}.sidebar-footer{border-top:1px solid #f1f5f9;padding-top:16px}.user-profile{align-items:center;gap:12px;padding:4px 6px;display:flex;position:relative}.avatar{color:#fff;background-color:#7c3aed;border-radius:8px;flex-shrink:0;justify-content:center;align-items:center;width:36px;height:36px;font-size:16px;font-weight:700;display:flex;box-shadow:0 2px 5px #7c3aed40}.user-info{flex-direction:column;flex:1;display:flex;overflow:hidden}.user-name{color:#0f172a;font-size:13.5px;font-weight:600}.user-email{color:#64748b;white-space:nowrap;text-overflow:ellipsis;font-size:11.5px;overflow:hidden}.logout-button{color:#94a3b8;cursor:pointer;background:0 0;border:none;border-radius:6px;justify-content:center;align-items:center;padding:6px;transition:all .2s;display:flex}.logout-button:hover{color:#ef4444;background-color:#fee2e2}.main-content{background-color:#fff;flex:1;height:100vh;overflow-y:auto}.empty-white-screen{background-color:#fff;width:100%;height:100%}.login-split-page{background-color:#fff;width:100vw;height:100vh;display:flex;overflow:hidden}.login-form-side{background-color:#fff;flex:1;justify-content:center;align-items:center;padding:40px;display:flex}.login-form-container{width:100%;max-width:420px}.login-image-side{background:linear-gradient(135deg,#f0f4f8 0%,#e2e8f0 100%);flex:1.2;justify-content:center;align-items:center;padding:40px;display:flex;position:relative}.image-overlay-card{-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);background:#ffffffb3;border:1px solid #ffffffe6;border-radius:20px;width:100%;max-width:580px;transition:transform .3s;overflow:hidden;box-shadow:0 20px 35px -10px #00000014}.image-overlay-card:hover{transform:translateY(-2px)}.login-feature-img{object-fit:cover;border-bottom:1px solid #edf2f7;width:100%;height:auto;display:block}.image-caption{text-align:left;padding:24px}.image-caption h3{color:#0f172a;margin-bottom:6px;font-size:18px;font-weight:700}.image-caption p{color:#64748b;font-size:13.5px;line-height:1.5}@media (width<=900px){.login-image-side{display:none}}.text-left{text-align:left}.text-left .auth-logo-badge{margin:0 0 16px}.auth-page-container{box-sizing:border-box;background-color:#f8fafc;justify-content:center;align-items:center;width:100%;min-height:100%;padding:32px 16px 48px;display:flex;overflow-y:auto}.auth-card{background-color:#fff;border:1px solid #e2e8f0;border-radius:16px;width:100%;max-width:440px;margin:auto;padding:24px;box-shadow:0 10px 25px -5px #0000000d,0 8px 10px -6px #00000005}.auth-header{text-align:center;margin-bottom:18px}.auth-logo-badge{color:#fff;background-color:#ea384c;border-radius:12px;justify-content:center;align-items:center;width:40px;height:40px;margin:0 auto 10px;display:flex;box-shadow:0 4px 10px #ea384c4d}.auth-header h2{color:#0f172a;margin-bottom:4px;font-size:20px;font-weight:700}.auth-header p{color:#64748b;font-size:13px}.auth-error-banner{color:#b91c1c;background-color:#fef2f2;border:1px solid #fecaca;border-radius:8px;align-items:center;gap:8px;margin-bottom:16px;padding:10px 14px;font-size:13.5px;display:flex}.auth-dark-theme .auth-card{-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);color:#f8fafc;background-color:#0f172abf;border:1px solid #ffffff1f;box-shadow:0 20px 40px #00000080}.auth-dark-theme .auth-header h2{color:#f8fafc}.auth-dark-theme .auth-header p{color:#94a3b8}.auth-dark-theme .auth-header p strong{color:#f8fafc}.auth-dark-theme .form-group label{color:#e2e8f0}.auth-dark-theme .input-wrapper input,.auth-dark-theme .form-group .input-wrapper input{color:#f8fafc;background-color:#0f172aa6;border:1px solid #ffffff24}.auth-dark-theme .input-wrapper input::placeholder{color:#64748b}.auth-dark-theme .input-wrapper input:focus,.auth-dark-theme .form-group .input-wrapper input:focus{border-color:#38bdf8;box-shadow:0 0 0 3px #38bdf833}.auth-dark-theme .password-rules-card{background-color:#ffffff08;border:1px solid #ffffff14}.auth-dark-theme .rules-title{color:#cbd5e1}.auth-dark-theme .rule-unmet{color:#64748b}.auth-dark-theme .rule-met{color:#34d399}.auth-dark-theme .otp-code-input{color:#f8fafc!important;background-color:#0f172aa6!important;border:1px solid #ffffff24!important}.auth-dark-theme .text-btn{color:#38bdf8}.auth-dark-theme .toggle-pwd-btn{color:#94a3b8}.auth-dark-theme .toggle-pwd-btn:hover{color:#f8fafc}.auth-dark-theme .auth-submit-btn,.auth-dark-theme .auth-form .primary-btn{color:#fff;background:linear-gradient(135deg,#0284c7,#2563eb);border:none;font-weight:700;box-shadow:0 4px 14px #2563eb59}.auth-dark-theme .auth-submit-btn:hover,.auth-dark-theme .auth-form .primary-btn:hover{background:linear-gradient(135deg,#0369a1,#1d4ed8)}.auth-form{flex-direction:column;gap:14px;display:flex}.form-group{text-align:left;flex-direction:column;gap:6px;display:flex}.form-group label{color:#334155;font-size:13.5px;font-weight:600}.input-wrapper{align-items:center;width:100%;display:flex;position:relative}.input-icon{color:#94a3b8;pointer-events:none;z-index:2;justify-content:center;align-items:center;display:flex;position:absolute;top:50%;left:14px;transform:translateY(-50%)}.input-wrapper input,.form-group .input-wrapper input{color:#1e293b;background-color:#fff;border:1px solid #cbd5e1;border-radius:8px;outline:none;width:100%;font-size:14px;transition:border-color .2s,box-shadow .2s;padding:12px 46px!important}.form-group select{color:#1e293b;background-color:#fff;border:1px solid #cbd5e1;border-radius:8px;outline:none;width:100%;padding:10px 12px;font-size:14px;transition:border-color .2s}.input-wrapper input:focus,.form-group .input-wrapper input:focus,.form-group select:focus{border-color:#0284c7;box-shadow:0 0 0 3px #0284c71f}.toggle-password-btn{color:#94a3b8;cursor:pointer;z-index:2;background:0 0;border:none;justify-content:center;align-items:center;padding:4px;display:flex;position:absolute;top:50%;right:12px;transform:translateY(-50%)}.toggle-password-btn:hover{color:#475569}.auth-submit-btn,.primary-btn{color:#fff;cursor:pointer;background-color:#0284c7;border:none;border-radius:8px;justify-content:center;align-items:center;gap:8px;padding:11px 16px;font-size:14.5px;font-weight:600;text-decoration:none;transition:background-color .2s;display:flex}.auth-submit-btn:hover,.primary-btn:hover{background-color:#0369a1}.auth-submit-btn:disabled,.primary-btn:disabled{cursor:not-allowed;background-color:#94a3b8}.password-rules-card{background-color:#f8fafc;border:1px solid #e2e8f0;border-radius:8px;margin-top:6px;padding:8px 10px}.rules-title{color:#475569;margin-bottom:4px;font-size:11.5px;font-weight:600;display:block}.rules-list{flex-direction:column;gap:2px;margin:0;padding:0;list-style:none;display:flex}.rules-list li{align-items:center;gap:5px;font-size:11.5px;display:flex}.rule-met{color:#10b981}.rule-unmet{color:#94a3b8}.rule-bullet{font-size:13px;font-weight:700}.confirm-match-text{color:#10b981;margin-top:4px;font-size:12.5px;font-weight:600}.confirm-mismatch-text{color:#ef4444;margin-top:4px;font-size:12.5px;font-weight:500}.otp-container{flex-direction:column;align-items:center;gap:16px;margin:20px 0;display:flex}.otp-code-input{letter-spacing:8px;text-align:center;color:#0f172a;background-color:#f8fafc;border:2px solid #cbd5e1;border-radius:10px;outline:none;width:100%;max-width:260px;padding:12px 16px;font-size:28px;font-weight:700;transition:border-color .2s,box-shadow .2s}.otp-code-input:focus{background-color:#fff;border-color:#2563eb;box-shadow:0 0 0 3px #2563eb26}.otp-actions{justify-content:space-between;align-items:center;width:100%;margin-top:12px;display:flex}.text-btn{color:#2563eb;cursor:pointer;background:0 0;border:none;padding:4px 8px;font-size:13px;font-weight:600;transition:color .2s}.text-btn:hover{color:#1d4ed8;text-decoration:underline}.text-btn:disabled{color:#94a3b8;cursor:not-allowed;text-decoration:none}.users-page{max-width:1200px;margin:0 auto;padding:32px}.page-header{justify-content:space-between;align-items:center;margin-bottom:24px;display:flex}.page-header h2{color:#0f172a;font-size:22px;font-weight:700}.page-header p{color:#64748b;margin-top:2px;font-size:14px}.table-card{background-color:#fff;border:1px solid #e2e8f0;border-radius:12px;overflow:hidden;box-shadow:0 1px 3px #0000000d}.users-table{border-collapse:collapse;text-align:left;width:100%}.users-table th{color:#475569;text-transform:uppercase;letter-spacing:.5px;background-color:#f8fafc;border-bottom:1px solid #e2e8f0;padding:12px 16px;font-size:12.5px;font-weight:600}.users-table td{color:#1e293b;border-bottom:1px solid #f1f5f9;padding:14px 16px;font-size:14px}.users-table tr:last-child td{border-bottom:none}.font-semibold{font-weight:600}.text-secondary{color:#64748b}.badge{border-radius:9999px;padding:3px 9px;font-size:12px;font-weight:600;display:inline-block}.badge-superadmin{color:#7e22ce;background-color:#f3e8ff}.badge-admin{color:#0369a1;background-color:#e0f2fe}.badge-user{color:#475569;background-color:#f1f5f9}.badge-aluno{color:#4338ca;background-color:#e0e7ff}.badge-success{color:#15803d;background-color:#dcfce7;align-items:center;display:inline-flex}.badge-pending{color:#b45309;background-color:#fef3c7;align-items:center;display:inline-flex}.badge-expired{color:#b91c1c;background-color:#fee2e2;align-items:center;display:inline-flex}.text-danger{color:#ef4444;font-weight:500}.text-primary{color:#0284c7}.text-muted{color:#94a3b8;font-size:13px;font-style:italic}.sub-tabs-container,.backup-sub-tabs{border-bottom:1.5px solid #e2e8f0;flex-wrap:wrap;gap:10px;margin-bottom:24px;padding-bottom:10px;flex-direction:row!important;align-items:center!important;display:flex!important}.sub-tab-btn{color:#64748b;cursor:pointer;white-space:nowrap;background:0 0;border:1px solid #0000;border-radius:10px;align-items:center;gap:8px;padding:10px 18px;font-size:14px;font-weight:600;transition:all .2s cubic-bezier(.16,1,.3,1);display:inline-flex}.sub-tab-btn:hover{color:#1e293b;background-color:#f1f5f9}.sub-tab-btn.active{color:#0284c7;background-color:#e0f2fe;border-color:#bae6fd;box-shadow:0 2px 6px #0284c714}.table-actions-group{align-items:center;gap:8px;display:flex}.table-action-btn{color:#fff;cursor:pointer;background-color:#0f172a;border:none;border-radius:6px;align-items:center;gap:6px;padding:6px 10px;font-size:12.5px;font-weight:500;transition:all .2s;display:inline-flex}.table-action-btn:hover{opacity:.85}.btn-secondary{color:#334155;background-color:#f1f5f9;border:1px solid #cbd5e1}.btn-secondary:hover{background-color:#e2e8f0}.btn-reset{color:#dc2626;background-color:#fef2f2;border:1px solid #fecaca}.btn-reset:hover{background-color:#fee2e2}.btn-danger{color:#fff;background-color:#ef4444;border:1px solid #dc2626}.btn-danger:hover{background-color:#dc2626}.table-toolbar{background-color:#fff;border-bottom:1px solid #e2e8f0;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;padding:12px 16px;display:flex}.table-filter-group{align-items:center;gap:8px;display:flex}.table-filter-group select{color:#334155;background-color:#fff;border:1px solid #cbd5e1;border-radius:6px;outline:none;padding:6px 12px;font-size:13.5px}.table-filter-group select:focus{border-color:#0284c7}.bulk-actions-group{align-items:center;gap:10px;display:flex}.selected-count-badge{color:#475569;font-size:13px;font-weight:500}.table-checkbox{cursor:pointer;accent-color:#0284c7;width:16px;height:16px}.table-pagination-footer{color:#64748b;background-color:#f8fafc;border-top:1px solid #e2e8f0;justify-content:space-between;align-items:center;padding:12px 16px;font-size:13px;display:flex}.pagination-controls{align-items:center;gap:8px;display:flex}.pagination-btn{color:#334155;cursor:pointer;background-color:#fff;border:1px solid #cbd5e1;border-radius:6px;justify-content:center;align-items:center;padding:6px 10px;font-size:13px;font-weight:500;transition:all .2s;display:inline-flex}.pagination-btn:hover:not(:disabled){color:#0f172a;background-color:#f1f5f9;border-color:#94a3b8}.pagination-btn:disabled{opacity:.5;cursor:not-allowed}.pagination-page-indicator{color:#1e293b;font-weight:600}.user-details-summary{color:#334155;background-color:#f8fafc;border:1px solid #e2e8f0;border-radius:8px;flex-direction:column;gap:4px;padding:12px;font-size:13.5px;display:flex}.empty-table-state{text-align:center;color:#64748b;padding:40px;font-size:14px}.status-indicator{color:#166534;align-items:center;gap:6px;font-size:13px;display:flex}.dot{border-radius:50%;width:8px;height:8px}.dot-active{background-color:#22c55e}.modal-overlay{z-index:100;background-color:#0f172a80;justify-content:center;align-items:center;padding:20px;display:flex;position:fixed;inset:0}.modal-content{background:#fff;border-radius:14px;width:100%;max-width:480px;padding:24px;box-shadow:0 20px 25px -5px #0000001a}.modal-header{justify-content:space-between;align-items:center;margin-bottom:18px;display:flex}.modal-header h3{color:#0f172a;font-size:18px;font-weight:700}.close-modal-btn{color:#64748b;cursor:pointer;background:0 0;border:none;padding:4px}.modal-form{flex-direction:column;gap:16px;display:flex}.help-text{color:#94a3b8;margin-top:2px;font-size:12px}.modal-actions{justify-content:flex-end;gap:10px;margin-top:10px;display:flex}.cancel-btn{color:#475569;cursor:pointer;background:#f1f5f9;border:none;border-radius:8px;padding:10px 16px;font-size:14px;font-weight:600;text-decoration:none}.cancel-btn:hover{background:#e2e8f0}.generated-invite-view{flex-direction:column;gap:16px;display:flex}.invite-success-badge{text-align:center;color:#f8fafc;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#10b9811f;border:1px solid #10b98159;border-radius:10px;padding:16px}.invite-success-badge svg{color:#10b981;margin:0 auto 4px}.invite-success-badge h4{color:#34d399;margin:6px 0;font-size:15px;font-weight:700}.invite-success-badge p{color:#94a3b8;font-size:13px}.invite-success-badge p strong{color:#f8fafc}.invite-link-box{gap:8px;display:flex}.invite-link-box input{color:#334155;background-color:#f8fafc;border:1px solid #cbd5e1;border-radius:8px;flex:1;padding:8px 12px;font-size:13px}.copy-btn{color:#fff;cursor:pointer;background-color:#0f172a;border:none;border-radius:8px;align-items:center;gap:6px;padding:8px 14px;font-size:13px;font-weight:600;display:flex}.redirect-link-btn{font-size:13.5px}.confirm-delete-modal{text-align:center;max-width:440px;padding:32px 28px 24px;animation:.2s cubic-bezier(.16,1,.3,1) confirmModalFadeIn;box-shadow:0 25px 50px -12px #00000059}@keyframes confirmModalFadeIn{0%{opacity:0;transform:scale(.94)translateY(8px)}to{opacity:1;transform:scale(1)translateY(0)}}.confirm-delete-icon-wrapper{color:#dc2626;background-color:#fef2f2;border:4px solid #fee2e2;border-radius:50%;justify-content:center;align-items:center;width:64px;height:64px;margin:0 auto 18px;display:flex;box-shadow:0 4px 12px #dc262626}.confirm-delete-title{color:#0f172a;margin-bottom:8px;font-size:19px;font-weight:700}.confirm-delete-message{color:#64748b;margin-bottom:24px;font-size:14px;line-height:1.5}.confirm-delete-message strong{color:#0f172a}.confirm-delete-actions{justify-content:center;align-items:center;gap:12px;display:flex}.confirm-delete-actions .cancel-btn{flex:1;padding:11px 18px;font-size:14px}.confirm-delete-actions .confirm-danger-btn{color:#fff;cursor:pointer;background-color:#dc2626;border:none;border-radius:8px;flex:1;justify-content:center;align-items:center;gap:8px;padding:11px 18px;font-size:14px;font-weight:600;transition:all .2s;display:inline-flex;box-shadow:0 4px 10px #dc262640}.confirm-delete-actions .confirm-danger-btn:hover:not(:disabled){background-color:#b91c1c}.confirm-delete-actions .confirm-danger-btn:disabled{opacity:.7;cursor:not-allowed}.restricted-access-container{text-align:center;background-color:#f8fafc;flex-direction:column;justify-content:center;align-items:center;height:100%;padding:40px 20px;display:flex}.restricted-card{background-color:#fff;border:1px solid #e2e8f0;border-radius:16px;flex-direction:column;align-items:center;max-width:520px;padding:48px 36px;display:flex;box-shadow:0 10px 25px -5px #0000000d}.restricted-icon-box{color:#475569;background-color:#f1f5f9;border:4px solid #e2e8f0;border-radius:50%;justify-content:center;align-items:center;width:68px;height:68px;margin-bottom:20px;display:flex}.restricted-card h2{color:#0f172a;margin-bottom:10px;font-size:22px;font-weight:700}.restricted-card p{color:#64748b;margin-bottom:24px;font-size:14.5px;line-height:1.6}.restricted-user-badge{color:#334155;background-color:#f8fafc;border:1px solid #cbd5e1;border-radius:20px;align-items:center;gap:8px;padding:6px 14px;font-size:13px;font-weight:600;display:inline-flex}.user-welcome-card{border-radius:16px;max-width:480px;box-shadow:0 10px 30px -5px #0000000f}.user-welcome-icon-box{margin-bottom:18px}.welcome-avatar-badge{color:#fff;background:linear-gradient(135deg,#0284c7 0%,#0369a1 100%);border:3px solid #e0f2fe;border-radius:50%;justify-content:center;align-items:center;width:64px;height:64px;font-size:26px;font-weight:700;display:flex;box-shadow:0 4px 14px #0284c740}.welcome-subtext{color:#64748b;margin-bottom:24px;font-size:15px;line-height:1.5}.welcome-info-grid{text-align:left;background-color:#f8fafc;border:1px solid #e2e8f0;border-radius:12px;flex-direction:column;gap:12px;width:100%;padding:16px 20px;display:flex}.welcome-info-item{justify-content:space-between;align-items:center;font-size:13.5px;display:flex}.info-item-label{color:#64748b;font-weight:500}.info-item-value{color:#1e293b;font-weight:600}.info-item-badge.status-active{color:#15803d;background-color:#dcfce7;border-radius:20px;align-items:center;gap:6px;padding:3px 10px;font-size:12px;font-weight:600;display:inline-flex}.status-dot{background-color:#22c55e;border-radius:50%;width:6px;height:6px}.backup-page-container{max-width:1200px;margin:0 auto;padding:24px 32px}.backup-page-header{margin-bottom:24px}.backup-page-header h1{color:#0f172a;margin-bottom:4px;font-size:22px;font-weight:700}.backup-page-header p{color:#64748b;font-size:13.5px}.backup-metrics-grid{grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:16px;margin-bottom:28px;display:grid}.backup-metric-card{background-color:#fff;border:1px solid #e2e8f0;border-radius:12px;align-items:center;gap:16px;padding:16px 20px;transition:all .2s;display:flex;box-shadow:0 1px 3px #0000000a}.backup-metric-card:hover{border-color:#cbd5e1;box-shadow:0 4px 12px #0000000f}.backup-metric-icon{border-radius:10px;flex-shrink:0;justify-content:center;align-items:center;width:48px;height:48px;display:flex}.metric-blue{color:#0284c7;background-color:#e0f2fe}.metric-amber{color:#d97706;background-color:#fef3c7}.metric-emerald{color:#059669;background-color:#d1fae5}.metric-green{color:#16a34a;background-color:#dcfce7}.metric-red{color:#dc2626;background-color:#fee2e2}.backup-metric-info{flex-direction:column;display:flex;overflow:hidden}.metric-label{color:#64748b;margin-bottom:2px;font-size:12px;font-weight:500}.metric-value{color:#0f172a;white-space:nowrap;text-overflow:ellipsis;font-size:16px;font-weight:700;overflow:hidden}.metric-subtext{color:#94a3b8;white-space:nowrap;text-overflow:ellipsis;margin-top:2px;font-size:11.5px;overflow:hidden}.text-connected{color:#16a34a!important}.text-disconnected{color:#dc2626!important}.manual-backup-banner{background-color:#fff;border:1px solid #e2e8f0;border-radius:12px;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:20px;margin-bottom:24px;padding:20px 24px;display:flex;box-shadow:0 1px 3px #0000000a}.manual-backup-text{flex-direction:column;gap:4px;max-width:700px;display:flex}.manual-backup-title{color:#0f172a;align-items:center;gap:10px;font-size:16px;font-weight:700;display:flex}.manual-backup-desc{color:#64748b;font-size:13px;line-height:1.5}.trigger-backup-btn{color:#fff;cursor:pointer;white-space:nowrap;background-color:#0284c7;border:none;border-radius:8px;align-items:center;gap:10px;padding:12px 22px;font-size:14px;font-weight:600;transition:all .2s;display:inline-flex;box-shadow:0 4px 10px #0284c740}.trigger-backup-btn:hover:not(:disabled){background-color:#0369a1}.trigger-backup-btn:disabled{cursor:not-allowed;box-shadow:none;background-color:#94a3b8}.schedule-settings-card{background-color:#fff;border:1px solid #e2e8f0;border-radius:14px;max-width:720px;padding:32px 36px;box-shadow:0 1px 3px #0000000a}.schedule-settings-header{margin-bottom:24px}.schedule-settings-header h3{color:#0f172a;margin-bottom:4px;font-size:18px;font-weight:700}.schedule-settings-header p{color:#64748b;font-size:13.5px}.schedule-toggle-row{background-color:#f8fafc;border:1px solid #e2e8f0;border-radius:10px;justify-content:space-between;align-items:center;margin-bottom:24px;padding:16px 20px;display:flex}.toggle-label-group{flex-direction:column;gap:2px;display:flex}.toggle-main-label{color:#0f172a;font-size:14px;font-weight:600}.toggle-sub-label{color:#64748b;font-size:12px}.switch-toggle{width:52px;height:28px;display:inline-block;position:relative}.switch-toggle input{opacity:0;width:0;height:0}.switch-slider{cursor:pointer;background-color:#cbd5e1;border-radius:28px;transition:all .3s;position:absolute;inset:0}.switch-slider:before{content:"";background-color:#fff;border-radius:50%;width:20px;height:20px;transition:all .3s;position:absolute;bottom:4px;left:4px;box-shadow:0 1px 3px #0003}.switch-toggle input:checked+.switch-slider{background-color:#0284c7}.switch-toggle input:checked+.switch-slider:before{transform:translate(24px)}.dropzone-card{background-color:#fff;border:1px solid #e2e8f0;border-radius:14px;max-width:720px;padding:32px 36px;box-shadow:0 1px 3px #0000000a}.dropzone-header{margin-bottom:24px}.dropzone-header h3{color:#0f172a;margin-bottom:4px;font-size:18px;font-weight:700}.dropzone-header p{color:#64748b;font-size:13.5px}.dropzone-area{text-align:center;cursor:pointer;background-color:#f8fafc;border:2px dashed #cbd5e1;border-radius:12px;flex-direction:column;align-items:center;gap:12px;padding:44px 24px;transition:all .2s;display:flex}.dropzone-area:hover,.dropzone-area.drag-active{background-color:#f0f9ff;border-color:#0284c7}.dropzone-icon-circle{color:#0284c7;background-color:#e0f2fe;border-radius:50%;justify-content:center;align-items:center;width:56px;height:56px;display:flex}.dropzone-title{color:#0f172a;font-size:15px;font-weight:600}.dropzone-subtitle{color:#64748b;font-size:12.5px}.dropzone-formats-badge{color:#475569;background-color:#f1f5f9;border:1px solid #e2e8f0;border-radius:6px;margin-top:4px;padding:4px 10px;font-size:11px;font-weight:600}.dropzone-notes-card{background-color:#f8fafc;border:1px solid #e2e8f0;border-radius:10px;margin-top:24px;padding:16px 20px}.dropzone-notes-title{color:#0f172a;margin-bottom:8px;font-size:13px;font-weight:600}.dropzone-notes-list{color:#64748b;margin:0;padding-left:18px;font-size:12.5px;line-height:1.6}.badge-automatic{color:#d97706;background-color:#fef3c7}.badge-manual{color:#0284c7;background-color:#e0f2fe}.badge-imported{color:#7e22ce;background-color:#f3e8ff}.form-group input:not([type=checkbox]):not([type=radio]),.form-control-modern{color:#1e293b;background-color:#fff;border:1.5px solid #e2e8f0;border-radius:10px;outline:none;width:100%;padding:12px 16px;font-size:14px;font-weight:500;transition:all .2s cubic-bezier(.16,1,.3,1);box-shadow:0 1px 2px #00000008}.form-group input:not([type=checkbox]):not([type=radio]):hover,.form-control-modern:hover{background-color:#fafbfc;border-color:#cbd5e1}.form-group input:not([type=checkbox]):not([type=radio]):focus,.form-control-modern:focus{background-color:#fff;border-color:#0284c7;box-shadow:0 0 0 4px #0284c726,0 2px 4px #00000005}.form-group input:not([type=checkbox]):not([type=radio])::placeholder{color:#94a3b8;font-weight:400}.course-selection-list{flex-direction:column;gap:8px;max-height:200px;padding:2px;display:flex;overflow-y:auto}.course-selection-item{cursor:pointer;-webkit-user-select:none;user-select:none;background-color:#fff;border:1.5px solid #e2e8f0;border-radius:8px;justify-content:space-between;align-items:center;gap:12px;padding:9px 12px;transition:all .15s;display:flex}.course-selection-item:hover{background-color:#f8fafc;border-color:#93c5fd}.course-selection-item.selected{background-color:#eff6ff;border-color:#2563eb}.course-selection-info{flex:1;align-items:center;gap:10px;min-width:0;display:flex}.course-selection-thumb{object-fit:cover;border-radius:6px;flex-shrink:0;width:32px;height:32px}.course-selection-icon-placeholder{color:#64748b;background-color:#f1f5f9;border-radius:6px;flex-shrink:0;justify-content:center;align-items:center;width:32px;height:32px;display:flex}.course-selection-title{color:#1e293b;white-space:nowrap;text-overflow:ellipsis;font-size:13.5px;font-weight:600;overflow:hidden}.course-selection-item.selected .course-selection-title{color:#1d4ed8}.course-selection-checkbox{accent-color:#2563eb;cursor:pointer;flex-shrink:0;width:18px!important;height:18px!important;box-shadow:none!important;margin:0!important;padding:0!important}.form-group .input-wrapper input,.input-wrapper input{padding-left:46px!important;padding-right:46px!important}.courses-header-box{flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:16px;display:flex}.courses-grid{grid-template-columns:repeat(auto-fill,minmax(320px,1fr));gap:20px;display:grid}.course-card-thumb{background-color:#1e293b;justify-content:center;align-items:center;height:180px;display:flex;position:relative;overflow:hidden}.course-card-thumb img{object-fit:cover;width:100%;height:100%}.course-card-placeholder{text-align:center;color:#94a3b8}.course-card-body{flex-direction:column;flex:1;gap:8px;padding:18px;display:flex}.course-card-footer{border-top:1px solid #f1f5f9;justify-content:space-between;align-items:center;margin-top:10px;padding-top:14px;display:flex}.thumbnail-size-notice{color:#64748b;background-color:#f8fafc;border:1px dashed #cbd5e1;border-radius:6px;padding:8px 12px;font-size:12px;line-height:1.4}.thumbnail-preview-box{background-color:#0f172a;border:1px solid #e2e8f0;border-radius:8px;justify-content:center;align-items:center;height:140px;display:flex;overflow:hidden}.thumbnail-preview-box img{object-fit:cover;width:100%;height:100%}@media (width<=900px){.classroom-grid{grid-template-columns:1fr!important}}.secondary-btn{color:#334155;cursor:pointer;background-color:#f1f5f9;border:1px solid #cbd5e1;border-radius:8px;justify-content:center;align-items:center;gap:6px;padding:10px 18px;font-size:14px;font-weight:600;text-decoration:none;transition:all .2s;display:inline-flex}.secondary-btn:hover:not(:disabled){color:#0f172a;background-color:#e2e8f0}.secondary-btn:disabled{opacity:.5;cursor:not-allowed}.classroom-dark-theme .custom-modal-overlay>.table-card,.classroom-dark-theme .modal-overlay>.modal-content,.modal-overlay.classroom-dark-theme>.modal-content{background-color:var(--classroom-modal-bg,#0f172a)!important;color:#f8fafc!important;border:1px solid #ffffff24!important;box-shadow:0 25px 50px -12px #000000bf!important}.classroom-dark-theme .custom-modal-overlay h2,.classroom-dark-theme .custom-modal-overlay h3,.classroom-dark-theme .custom-modal-overlay h4,.classroom-dark-theme .custom-modal-overlay label,.classroom-dark-theme .modal-overlay h2,.classroom-dark-theme .modal-overlay h3,.classroom-dark-theme .modal-overlay h4,.classroom-dark-theme .modal-overlay label:not(.primary-btn),.modal-overlay.classroom-dark-theme h3,.modal-overlay.classroom-dark-theme label:not(.primary-btn){color:#f8fafc!important}.classroom-dark-theme .custom-modal-overlay p,.classroom-dark-theme .modal-overlay p,.modal-overlay.classroom-dark-theme p{color:#94a3b8!important}.classroom-dark-theme .custom-modal-overlay input:not([type=color]),.classroom-dark-theme .custom-modal-overlay textarea,.classroom-dark-theme .custom-modal-overlay select,.classroom-dark-theme .modal-overlay input:not([type=color]),.classroom-dark-theme .modal-overlay textarea,.classroom-dark-theme .modal-overlay select,.modal-overlay.classroom-dark-theme input:not([type=color]),.modal-overlay.classroom-dark-theme textarea,.modal-overlay.classroom-dark-theme select{border-radius:8px;padding:10px 12px;color:#f8fafc!important;background-color:#0f172ad9!important;border:1px solid #ffffff29!important}.classroom-dark-theme .thumbnail-size-notice,.modal-overlay.classroom-dark-theme .thumbnail-size-notice{color:#94a3b8!important;background-color:#0f172aa6!important;border-color:#ffffff29!important}.classroom-dark-theme .modal-header,.modal-overlay.classroom-dark-theme .modal-header,.classroom-dark-theme .modal-actions,.modal-overlay.classroom-dark-theme .modal-actions{border-color:#ffffff1a!important}.classroom-dark-theme .custom-modal-overlay .secondary-btn,.classroom-dark-theme .modal-overlay .secondary-btn,.modal-overlay.classroom-dark-theme .secondary-btn{color:#f8fafc!important;background-color:#ffffff14!important;border:1px solid #ffffff29!important}.classroom-dark-theme .custom-modal-overlay .secondary-btn:hover:not(:disabled),.classroom-dark-theme .modal-overlay .secondary-btn:hover:not(:disabled),.modal-overlay.classroom-dark-theme .secondary-btn:hover:not(:disabled){background-color:#ffffff26!important}.app-dark-theme .page-header h2,.app-dark-theme .backup-page-header h1,.app-dark-theme .metric-value,.app-dark-theme .manual-backup-title,.app-dark-theme .schedule-settings-header h3,.app-dark-theme .toggle-main-label,.app-dark-theme .dropzone-header h3,.app-dark-theme .dropzone-title,.app-dark-theme .dropzone-notes-title,.app-dark-theme .restricted-card h2,.app-dark-theme .confirm-delete-title,.app-dark-theme .confirm-delete-message strong{color:#f8fafc!important}.app-dark-theme .page-header p,.app-dark-theme .backup-page-header p,.app-dark-theme .metric-label,.app-dark-theme .metric-subtext,.app-dark-theme .manual-backup-desc,.app-dark-theme .schedule-settings-header p,.app-dark-theme .toggle-sub-label,.app-dark-theme .dropzone-header p,.app-dark-theme .dropzone-subtitle,.app-dark-theme .dropzone-notes-list,.app-dark-theme .restricted-card p,.app-dark-theme .confirm-delete-message,.app-dark-theme .text-secondary,.app-dark-theme .help-text{color:#94a3b8!important}.app-dark-theme .sub-tabs-container,.app-dark-theme .backup-sub-tabs{border-bottom-color:#ffffff1a!important}.app-dark-theme .sub-tab-btn{color:#94a3b8}.app-dark-theme .sub-tab-btn:hover{color:#f8fafc;background-color:#ffffff0f}.app-dark-theme .sub-tab-btn.active{color:#38bdf8;background-color:#38bdf826;border-color:#38bdf859;box-shadow:0 2px 10px #0284c726}.app-dark-theme .table-card,.app-dark-theme .backup-metric-card,.app-dark-theme .manual-backup-banner,.app-dark-theme .schedule-settings-card,.app-dark-theme .dropzone-card,.app-dark-theme .restricted-card{color:#f8fafc;background-color:#ffffff0a;border-color:#ffffff1a}.app-dark-theme .backup-metric-card:hover{border-color:#fff3}.app-dark-theme .table-toolbar,.app-dark-theme .table-pagination-footer{color:#94a3b8;background-color:#ffffff05;border-color:#ffffff14}.app-dark-theme .table-toolbar label,.app-dark-theme .table-filter-group label,.app-dark-theme .selected-count-badge,.app-dark-theme .pagination-page-indicator{color:#cbd5e1!important}.app-dark-theme .users-table th{color:#94a3b8;background-color:#0f172a8c;border-bottom-color:#ffffff1a}.app-dark-theme .users-table td{color:#f1f5f9;border-bottom-color:#ffffff0f}.app-dark-theme .empty-table-state{color:#94a3b8}.app-dark-theme .text-primary{color:#38bdf8}.app-dark-theme .status-indicator{color:#4ade80}.app-dark-theme .pagination-btn,.app-dark-theme .btn-secondary,.app-dark-theme .secondary-btn,.app-dark-theme .cancel-btn{color:#f8fafc;background-color:#ffffff12;border:1px solid #ffffff26}.app-dark-theme .pagination-btn:hover:not(:disabled),.app-dark-theme .btn-secondary:hover,.app-dark-theme .secondary-btn:hover:not(:disabled),.app-dark-theme .cancel-btn:hover{color:#fff;background-color:#ffffff24;border-color:#ffffff40}.app-dark-theme .schedule-toggle-row,.app-dark-theme .dropzone-area,.app-dark-theme .dropzone-notes-card,.app-dark-theme .user-details-summary,.app-dark-theme .welcome-info-grid{color:#e2e8f0;background-color:#0f172a8c;border-color:#ffffff1f}.app-dark-theme .dropzone-area:hover,.app-dark-theme .dropzone-area.drag-active{background-color:#38bdf814;border-color:#38bdf8}.app-dark-theme .dropzone-formats-badge{color:#cbd5e1;background-color:#ffffff14;border-color:#ffffff26}.app-dark-theme .form-group label{color:#e2e8f0}.app-dark-theme .form-group input:not([type=checkbox]):not([type=radio]):not([type=color]),.app-dark-theme .form-group select,.app-dark-theme .form-control-modern,.app-dark-theme .table-filter-group select,.app-dark-theme .table-toolbar input,.app-dark-theme .table-toolbar select,.app-dark-theme .invite-link-box input{color:#f8fafc!important;background-color:#0f172abf!important;border-color:#ffffff29!important}.app-dark-theme .course-selection-item{background-color:#0f172a99;border-color:#ffffff24}.app-dark-theme .course-selection-item:hover{background-color:#1e293bcc;border-color:#38bdf866}.app-dark-theme .course-selection-title{color:#f8fafc}.app-dark-theme .course-selection-item.selected{background-color:#2563eb38;border-color:#3b82f6}.app-dark-theme .course-selection-item.selected .course-selection-title{color:#60a5fa}.app-dark-theme .restricted-access-container{background-color:#0000}.mobile-header,.sidebar-close-btn,.sidebar-backdrop{display:none}@media (width<=900px){.classroom-layout-grid,.classroom-grid{grid-template-columns:1fr!important;gap:28px!important}}@media (width<=768px){.app-container{flex-direction:column;height:100vh;overflow-x:hidden}.mobile-header{background-color:inherit;z-index:100;border-bottom:1px solid #ffffff14;flex-shrink:0;justify-content:space-between;align-items:center;height:60px;padding:0 16px;display:flex}.app-container:not(.app-dark-theme) .mobile-header{border-bottom:1px solid #eef0f3}.mobile-menu-btn{color:#94a3b8;cursor:pointer;background:0 0;border:none;border-radius:8px;justify-content:center;align-items:center;padding:8px;transition:background-color .2s,color .2s;display:flex}.mobile-menu-btn:hover{color:#fff;background-color:#ffffff14}.mobile-header-brand{align-items:center;gap:10px;display:flex}.mobile-logo-icon{width:28px;height:28px}.mobile-header-title{letter-spacing:-.3px;font-size:16px;font-weight:800}.mobile-header-avatar{color:#fff;background-color:#7c3aed;border-radius:8px;flex-shrink:0;justify-content:center;align-items:center;width:32px;height:32px;font-size:14px;font-weight:700;display:flex}.sidebar{z-index:1100;width:280px;max-width:85vw;height:100vh;box-shadow:none;transition:transform .3s cubic-bezier(.16,1,.3,1);position:fixed;top:0;bottom:0;left:0;transform:translate(-100%)}.sidebar.mobile-open{transform:translate(0);box-shadow:6px 0 28px #00000080}.sidebar-backdrop{z-index:1050;-webkit-backdrop-filter:blur(4px);background-color:#000000a6;animation:.2s forwards fadeInBackdrop;display:block;position:fixed;inset:0}@keyframes fadeInBackdrop{0%{opacity:0}to{opacity:1}}.sidebar-close-btn{color:#94a3b8;cursor:pointer;background:0 0;border:none;border-radius:6px;justify-content:center;align-items:center;margin-left:auto;padding:6px;display:flex}.sidebar-close-btn:hover{color:#fff;background-color:#ffffff14}.main-content{flex:1;height:calc(100vh - 60px);overflow-x:hidden;width:100%!important;min-width:100%!important}.classroom-container{padding:16px 14px!important}.table-card,.table-container,.users-table-container,.data-table-container{-webkit-overflow-scrolling:touch;width:100%;overflow-x:auto!important}.users-table,.students-table,.data-table{min-width:620px}.table-toolbar,.student-filter-bar{flex-direction:column;align-items:stretch!important;gap:12px!important}}
