.toast{align-items:center;animation:slideInRight .3s ease-out;background:#fff;border-left:4px solid;border-radius:8px;box-shadow:0 4px 12px #00000026;display:flex;gap:12px;min-width:300px;padding:16px 20px;position:fixed;right:20px;top:20px;z-index:1000}.toast-success{background:#f0fdf4;background:var(--success-light);border-left-color:#10b981;border-left-color:var(--accent-green)}.toast-error{background:#fef2f2;background:var(--error-light);border-left-color:#ef4444;border-left-color:var(--red-danger)}.toast-warning{background:#fffbeb;background:var(--warning-light);border-left-color:#f59e0b;border-left-color:var(--accent-orange)}.toast-info{background:#eff6ff;background:var(--info-light);border-left-color:#6297f1f0;border-left-color:var(--accent-blue)}.toast-icon{flex-shrink:0;font-size:18px}.toast-message{color:#374151;color:var(--text-dark-secondary);flex:1 1;font-weight:500}.toast-close{align-items:center;background:none;border:none;border-radius:4px;color:#9ca3af;cursor:pointer;display:flex;font-size:20px;height:24px;justify-content:center;padding:0;transition:all .2s;width:24px}.toast-close:hover{background:#f3f4f6;background:var(--gray-light);color:#374151;color:var(--text-dark-secondary)}body{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif;margin:0}code{font-family:source-code-pro,Menlo,Monaco,Consolas,Courier New,monospace}.glass-form,.sidemenu{display:flex}.sidemenu{box-shadow:0 4px 6px #0000004d;flex-direction:column;flex-shrink:0;transition:transform .3s ease-in-out}@media(max-width:1599px){.sidemenu{transform:translateX(-100%)}}@media(min-width:1600px){.sidemenu{position:relative}}.sidemenu.open{transform:translateX(0)}.sidemenu-content{display:flex;flex:1 1;flex-direction:column;min-height:0;overflow:hidden}.sidemenu-header{background:#141414;background:var(--bg-dark-tertiary);border-bottom:1px solid #334155;border-bottom:1px solid var(--border-color);flex-shrink:0;padding:1.5rem}.sidemenu-header .logo{align-items:center;display:flex;gap:.75rem}.sidemenu-header .logo-icon{font-size:1.5rem}.sidemenu-header .logo-text{color:#fff;color:var(--text-light);font-size:1.25rem;font-weight:600}.sidemenu-nav{flex:1 1;min-height:0;overflow-y:auto;padding:1rem 0}.sidemenu-nav::-webkit-scrollbar{width:3px}.sidemenu-nav::-webkit-scrollbar-thumb{background:#334155;background:var(--border-color);border-radius:2px}.sidemenu-nav .menu-list{list-style:none;margin:0;padding:0}.sidemenu-nav .menu-item{margin:.25rem 0}.sidemenu-nav .menu-link{align-items:center;border-left:3px solid #0000;color:#b0b0b0;display:flex;padding:1rem 1.5rem;text-decoration:none;transition:all .3s ease}.sidemenu-nav .menu-link.active,.sidemenu-nav .menu-link:hover{background:#3b82f61a;background:var(--blue-transparent-sm);border-left-color:#6297f1f0;border-left-color:var(--accent-blue);color:#fff;color:var(--text-light)}.sidemenu-nav .menu-link.active{background:#3b82f626;background:var(--blue-transparent-md);font-weight:500}.sidemenu-nav .menu-link .menu-icon{font-size:1.125rem;margin-right:.875rem;text-align:center;width:20px}.sidemenu-nav .menu-link .menu-label{font-size:.875rem}.sidemenu-footer{background:#141414;background:var(--bg-dark-tertiary);border-top:1px solid #334155;border-top:1px solid var(--border-color);flex-shrink:0;padding:1rem}.sidemenu-footer .user-menu-dropdown{position:relative}.user-profile{align-items:center;border-radius:8px;cursor:pointer;display:flex;gap:.875rem;padding:.75rem;transition:background .2s ease}.user-profile:hover{background:#ffffff0d}.user-avatar{align-items:center;background:#6297f1f0;background:var(--accent-blue);border-radius:50%;display:flex;flex-shrink:0;font-weight:500;height:40px;justify-content:center;width:40px}.user-info{flex:1 1;min-width:0}.user-name{color:#fff;color:var(--text-light);display:block;font-size:.875rem;font-weight:500;overflow:hidden;text-overflow:ellipsis;text-transform:uppercase;white-space:nowrap}.user-role{color:#9ca3af;font-size:.75rem}.dropdown-arrow{border-bottom:5px solid #94a3b8;border-bottom:5px solid var(--text-muted);border-left:5px solid #0000;border-right:5px solid #0000;flex-shrink:0;height:0;transition:transform .3s ease;width:0}.dropdown-content{background:#1e293b;background:var(--bg-dark-secondary);border:1px solid #334155;border:1px solid var(--border-color);border-radius:8px;bottom:calc(100% + 10px);box-shadow:0 -4px 15px #0003;left:0;opacity:0;padding:.5rem;position:absolute;right:0;transform:translateY(10px);transition:opacity .3s ease,transform .3s ease,visibility .3s;visibility:hidden}.logout-btn{background:#ef44441a;background:var(--red-transparent-sm);border:1px solid #ef4444;border:1px solid var(--red-danger);border-radius:6px;color:#ef4444;color:var(--red-danger);cursor:pointer;font-weight:500;padding:.75rem;text-align:center;transition:background .2s ease,color .2s ease;width:100%}.logout-btn:hover{background:#ef4444;background:var(--red-danger);color:#fff}.user-menu-dropdown.active .dropdown-arrow{transform:rotate(180deg)}.user-menu-dropdown.active .dropdown-content{opacity:1;transform:translateY(0);visibility:visible}@media(max-width:480px){.sidemenu{width:min(280px,85vw)}}.confirm-modal-overlay{align-items:center;animation:fadeIn .2s ease-out;background:#00000080;bottom:0;display:flex;justify-content:center;left:0;position:fixed;right:0;top:0;z-index:2000}.confirm-modal{animation:scaleIn .2s ease-out;background:#fff;border-radius:12px;box-shadow:0 10px 25px #0003;max-width:400px;width:90%}.confirm-modal-header{padding:20px 20px 0}.confirm-modal-title{color:#111827;color:var(--text-dark);font-size:18px;font-weight:600;margin:0}.confirm-modal-body{padding:20px;text-align:center}.confirm-icon{font-size:48px;margin-bottom:16px}.confirm-message{color:#6b7280;line-height:1.6;margin:0}.confirm-modal-actions{display:flex;gap:12px;justify-content:flex-end;padding:0 20px 20px}.confirm-modal-actions .btn{border:none;border-radius:6px;cursor:pointer;font-weight:500;padding:10px 20px;transition:all .2s}.confirm-modal-actions .btn-secondary{background:#f3f4f6;background:var(--gray-light);color:#374151;color:var(--text-dark-secondary)}.confirm-modal-actions .btn-secondary:hover{background:#e5e7eb;background:var(--gray-medium)}.confirm-modal-actions .btn-danger{background:#ef4444;background:var(--red-danger);color:#fff}.confirm-modal-actions .btn-danger:hover{background:#dc2626;background:var(--red-dark-danger)}.btn-center{margin:auto}.class-manager-container{--glass-bg:#ffffff08;--glass-border:#ffffff14;--glass-blur:blur(12px);--accent-color:#3b82f6;--success-color:#10b981;--danger-color:#ef4444;--text-main:#e2e8f0;--text-muted:#94a3b8;animation:fadeIn .4s ease-out;color:var(--text-main);padding:1.5rem}.class-manager-container .manager-header{align-items:center;-webkit-backdrop-filter:var(--glass-blur);backdrop-filter:var(--glass-blur);background:var(--glass-bg);border:1px solid var(--glass-border);border-radius:16px;display:flex;flex-wrap:wrap;gap:1.5rem;justify-content:space-between;margin-bottom:2rem;padding:1.5rem}.class-manager-container .manager-header .title-wrapper{align-items:center;display:flex;gap:1rem}.class-manager-container .manager-header .title-wrapper .icon-box{align-items:center;background:linear-gradient(135deg,var(--accent-color),#1e40af);border-radius:10px;box-shadow:0 4px 12px #0003;display:flex;font-size:1.25rem;height:42px;justify-content:center;width:42px}.class-manager-container .manager-header .title-wrapper h2{font-size:1.25rem;font-weight:600;letter-spacing:-.02em;margin:0}.class-manager-container .manager-header .title-wrapper p{color:#94a3b8;color:var(--text-muted);font-size:.85rem;margin:0}.class-manager-container .archived-banner{background:#f59e0b1a;border:1px solid #f59e0b33;color:#fbbf24;font-size:.9rem;margin-bottom:1.5rem;padding:.75rem;text-align:center}.class-manager-container .add-glass-btn,.class-manager-container .archived-banner{-webkit-backdrop-filter:var(--glass-blur);backdrop-filter:var(--glass-blur);border-radius:10px}.class-manager-container .add-glass-btn{align-items:center;background:#3b82f626;border:1px solid #3b82f64d;color:#fff;cursor:pointer;display:flex;font-weight:500;gap:.5rem;padding:.6rem 1.2rem;transition:all .2s}.class-manager-container .add-glass-btn:hover:not(:disabled){background:var(--accent-color);box-shadow:0 4px 12px #3b82f633;transform:translateY(-1px)}.class-manager-container .add-glass-btn:disabled{cursor:not-allowed;opacity:.4}.class-manager-container .schedule-grid{grid-gap:1.2rem;display:grid;gap:1.2rem;grid-template-columns:repeat(auto-fill,minmax(280px,1fr))}.class-manager-container .schedule-card{align-items:flex-start;-webkit-backdrop-filter:var(--glass-blur);backdrop-filter:var(--glass-blur);background:var(--glass-bg);border:1px solid var(--glass-border);border-radius:16px;display:flex;gap:1rem;padding:1.25rem;transition:all .3s ease}.class-manager-container .schedule-card:hover{background:#ffffff0f;border-color:#ffffff26;transform:translateY(-3px)}.class-manager-container .schedule-card .card-index{background:#3b82f61a;border-radius:6px;color:var(--accent-color);font-size:.7rem;font-weight:800;padding:4px 10px}.class-manager-container .schedule-card .card-info{flex:1 1}.class-manager-container .schedule-card .card-info .time{color:#fff;display:block;font-size:1.1rem;font-weight:600}.class-manager-container .schedule-card .card-info .duration{color:#94a3b8;color:var(--text-muted);font-size:.85rem}.class-manager-container .schedule-card .card-info .margin-top-2{margin-top:.5rem}.class-manager-container .schedule-card .card-info .student-count{background:#0003;border:1px solid var(--glass-border);border-radius:6px;color:var(--text-main);font-size:.75rem;padding:4px 10px;width:-webkit-fit-content;width:fit-content}.class-manager-container .schedule-card .card-actions{display:flex;flex-direction:column;gap:6px}.class-manager-container .schedule-card .card-actions .action-btn{align-items:center;background:#0003;border:1px solid var(--glass-border);border-radius:8px;color:#94a3b8;color:var(--text-muted);cursor:pointer;display:flex;height:32px;justify-content:center;transition:all .2s;width:32px}.class-manager-container .schedule-card .card-actions .action-btn:hover.edit{background:var(--accent-color);border-color:var(--accent-color);color:#fff}.class-manager-container .schedule-card .card-actions .action-btn:hover.delete{background:var(--danger-color);border-color:var(--danger-color);color:#fff}.class-manager-container .no-data,.class-manager-container .state-message{background:var(--glass-bg);border:1px dashed var(--glass-border);border-radius:16px;color:#94a3b8;color:var(--text-muted);padding:4rem 2rem;text-align:center}.class-manager-container .glass-modal-overlay{align-items:center;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#0009;display:flex;inset:0;justify-content:center;position:fixed;z-index:1000}.class-manager-container .glass-modal-overlay .glass-modal{background:#0f172a;border:1px solid var(--glass-border);border-radius:16px;box-shadow:0 20px 40px #0006;max-width:400px;padding:2rem;width:90%}.class-manager-container .glass-modal-overlay .glass-modal h3{font-size:1.25rem;font-weight:600;margin:0 0 1.5rem}.class-manager-container .glass-modal-overlay .glass-modal .input-group{margin-bottom:1.25rem}.class-manager-container .glass-modal-overlay .glass-modal .input-group label{color:#94a3b8;color:var(--text-muted);display:block;font-size:.85rem;margin-bottom:.5rem}.class-manager-container .glass-modal-overlay .glass-modal .input-group input,.class-manager-container .glass-modal-overlay .glass-modal .input-group select{background:#0000004d;border:1px solid var(--glass-border);border-radius:10px;color:#fff;font-size:.95rem;outline:none;padding:.7rem 1rem;transition:all .2s;width:95%}.class-manager-container .glass-modal-overlay .glass-modal .input-group input:focus,.class-manager-container .glass-modal-overlay .glass-modal .input-group select:focus{border-color:var(--accent-color);box-shadow:0 0 0 3px #3b82f626}.class-manager-container .glass-modal-overlay .glass-modal .modal-footer{display:flex;gap:.75rem;justify-content:flex-end;margin-top:2rem}.class-manager-container .glass-modal-overlay .glass-modal .modal-footer button{border:none;border-radius:10px;cursor:pointer;font-weight:500;padding:.6rem 1.2rem;transition:all .2s}.class-manager-container .glass-modal-overlay .glass-modal .modal-footer .cancel-btn{background:#ffffff0d;border:1px solid var(--glass-border);color:#94a3b8;color:var(--text-muted)}.class-manager-container .glass-modal-overlay .glass-modal .modal-footer .cancel-btn:hover{background:#ffffff1a;color:#fff}.class-manager-container .glass-modal-overlay .glass-modal .modal-footer .confirm-btn{background:var(--accent-color);color:#fff}.class-manager-container .glass-modal-overlay .glass-modal .modal-footer .confirm-btn:hover{filter:brightness(1.1);transform:translateY(-1px)}.schedule-manager-container{--glass-bg:#ffffff08;--glass-border:#ffffff14;--accent-blue:#3b82f6;--accent-red:#ef4444;background:#1e293b;background:var(--bg-dark-secondary);border-radius:24px;color:#f1f5f9;min-height:400px;padding:2rem}.schedule-manager-container .manager-header{align-items:center;display:flex;gap:1rem;justify-content:space-between;margin-bottom:2.5rem}.schedule-manager-container .manager-header .title-wrapper{align-items:center;display:flex;gap:1.2rem}.schedule-manager-container .manager-header .title-wrapper .icon-box{align-items:center;background:linear-gradient(135deg,#6297f1f0,#1e40af);background:linear-gradient(135deg,var(--accent-blue),#1e40af);border-radius:14px;box-shadow:0 8px 20px #0000004d;display:flex;font-size:1.5rem;height:50px;justify-content:center;width:50px}.schedule-manager-container .manager-header .title-wrapper h2{font-size:1.4rem;font-weight:700;margin:0}.schedule-manager-container .manager-header .title-wrapper p{color:#94a3b8;font-size:.85rem;margin:0}.schedule-manager-container .add-glass-btn{-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px);background:#3b82f626;border:1px solid #3b82f64d;border-radius:12px;color:#fff;cursor:pointer;font-weight:600;padding:.8rem 1.4rem;transition:all .3s ease}.schedule-manager-container .add-glass-btn:hover{background:#6297f1f0;background:var(--accent-blue);box-shadow:0 4px 15px #3b82f64d;transform:translateY(-2px)}.schedule-manager-container .schedule-grid{grid-gap:1.2rem;display:grid;gap:1.2rem;grid-template-columns:1fr}.schedule-manager-container .schedule-card{align-items:center;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:var(--glass-bg);border:1px solid var(--glass-border);border-radius:18px;display:flex;gap:1rem;padding:.5rem;position:relative;transition:all .3s cubic-bezier(.4,0,.2,1)}.schedule-manager-container .schedule-card:hover{background:#ffffff0f;border-color:#ffffff26;transform:scale(1.02)}.schedule-manager-container .schedule-card .card-index{background:#3b82f61a;border-radius:6px;color:#6297f1f0;color:var(--accent-blue);font-size:.75rem;font-weight:800;padding:4px 8px}.schedule-manager-container .schedule-card .card-info{display:flex;flex:1 1;flex-direction:column}.schedule-manager-container .schedule-card .card-info .time{font-size:1.1rem;font-weight:600;letter-spacing:.5px}.schedule-manager-container .schedule-card .card-info .duration{color:#64748b;font-size:.8rem}.schedule-manager-container .schedule-card .card-actions{display:flex;flex-direction:row;gap:.5rem}.schedule-manager-container .schedule-card .card-actions .action-btn{align-items:center;background:#ffffff0d;border:none;border-radius:8px;cursor:pointer;display:flex;height:34px;justify-content:center;transition:all .2s;width:34px}.schedule-manager-container .schedule-card .card-actions .action-btn:hover.edit{background:#3b82f633;color:#fff}.schedule-manager-container .schedule-card .card-actions .action-btn:hover.delete{background:#ef444433;color:#fff}.schedule-manager-container .glass-modal-overlay{align-items:center;animation:fadeIn .3s ease;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#000000b3;display:flex;inset:0;justify-content:center;position:fixed;z-index:1000}.schedule-manager-container .glass-modal-overlay .glass-modal{background:#1e293bcc;border:1px solid var(--glass-border);border-radius:24px;box-shadow:0 25px 50px -12px #00000080;max-width:400px;padding:2rem;width:100%}.schedule-manager-container .glass-modal-overlay .glass-modal h3{margin-bottom:1.5rem;margin-top:0}.schedule-manager-container .glass-modal-overlay .glass-modal .input-group{margin-bottom:1.5rem}.schedule-manager-container .glass-modal-overlay .glass-modal .input-group label{color:#94a3b8;display:block;font-size:.9rem;margin-bottom:.5rem}.schedule-manager-container .glass-modal-overlay .glass-modal .input-group input{background:#0003;border:1px solid var(--glass-border);border-radius:10px;color:#fff;outline:none;padding:.8rem;width:100%}.schedule-manager-container .glass-modal-overlay .glass-modal .input-group input:focus{border-color:#6297f1f0;border-color:var(--accent-blue)}.schedule-manager-container .glass-modal-overlay .glass-modal .input-group .error-text{color:var(--accent-red);display:block;font-size:.8rem;margin-top:.5rem}.schedule-manager-container .glass-modal-overlay .glass-modal .modal-footer{display:flex;gap:1rem;justify-content:flex-end}.schedule-manager-container .glass-modal-overlay .glass-modal .modal-footer button{border:none;border-radius:10px;cursor:pointer;font-weight:500;padding:.7rem 1.2rem}.schedule-manager-container .glass-modal-overlay .glass-modal .modal-footer .confirm-btn{background:#6297f1f0;background:var(--accent-blue);color:#fff}.holidays-manager{display:flex;flex-direction:column;gap:2rem;width:100%}.holidays-manager .header-section{margin-bottom:1rem}.holidays-manager .header-section h2{align-items:center;color:#fff;color:var(--text-light);display:flex;font-size:1.5rem;font-weight:600;gap:.75rem;margin-bottom:.25rem}.holidays-manager .header-section .subtitle{color:#9ca3af;font-size:.9rem}.holidays-manager .main-grid{grid-gap:1.5rem;align-items:start;display:grid;gap:1.5rem;grid-template-columns:320px 1fr}@media(max-width:1100px){.holidays-manager .main-grid{grid-template-columns:1fr}}.holidays-manager .card{background:#1e293b;background:var(--bg-dark-secondary);border:1px solid #333;border-radius:12px;padding:1.5rem;transition:all .3s ease}.holidays-manager .card h3{border-bottom:1px solid #333;color:#fff;color:var(--text-light);font-size:1.1rem;font-weight:600;margin-bottom:1.25rem;padding-bottom:.75rem}.holidays-manager .custom-select-wrapper{margin-bottom:1.25rem}.holidays-manager .custom-select-wrapper label{color:#9ca3af;display:block;font-size:.8rem;letter-spacing:.5px;margin-bottom:.5rem;text-transform:uppercase}.holidays-manager .custom-select-wrapper .prolixe-select{background:#141414;background:var(--bg-dark-tertiary);border:1px solid #333;border-radius:8px;color:#fff;color:var(--text-light);cursor:pointer;outline:none;padding:.75rem;width:100%}.holidays-manager .custom-select-wrapper .prolixe-select:focus{border-color:#6297f1f0;border-color:var(--accent-blue)}.holidays-manager .upload-box input{display:none}.holidays-manager .upload-box .btn-upload{align-items:center;background:linear-gradient(135deg,#6297f1f0,#4174ffde);background:linear-gradient(135deg,var(--accent-blue),var(--accent-dark-blue));border:none;border-radius:8px;box-shadow:0 2px 8px #3b82f64d;color:#fff;cursor:pointer;display:flex;font-size:.875rem;font-weight:500;gap:.5rem;justify-content:center;padding:.75rem 1.5rem;transition:all .3s ease}.holidays-manager .upload-box .btn-upload:hover:not(:disabled){box-shadow:0 4px 12px #3b82f666;transform:translateY(-2px)}.holidays-manager .status-summary{margin-top:1.5rem}.holidays-manager .status-summary h4{color:#64748b;font-size:.75rem;margin-bottom:.75rem;text-transform:uppercase}.holidays-manager .status-summary ul{display:flex;flex-direction:column;gap:.5rem;list-style:none;padding:0}.holidays-manager .status-summary ul li{align-items:center;background:#ffffff05;border-radius:6px;color:#9ca3af;display:flex;font-size:.85rem;padding:.6rem .75rem}.holidays-manager .status-summary ul li:hover{background:#ffffff0f}.holidays-manager .status-summary ul li .dot{border-radius:50%;height:8px;margin-right:10px;width:8px}.holidays-manager .status-summary ul li strong{font-weight:500;margin-left:auto}.holidays-manager .status-summary ul li.status-done{color:#fff;color:var(--text-light)}.holidays-manager .status-summary ul li.status-done .dot{background:#10b981;background:var(--accent-green);box-shadow:0 0 8px #10b981;box-shadow:0 0 8px var(--accent-green)}.holidays-manager .status-summary ul li.status-empty .dot{background:#4b5563}.holidays-manager .table-responsive{border:1px solid #333;border-radius:8px;overflow:hidden}.holidays-manager .prolixe-table{border-collapse:collapse;font-size:.9rem;width:100%}.holidays-manager .prolixe-table th{background:#ffffff08;border-bottom:1px solid #333;color:#9ca3af;font-weight:500;padding:1rem;text-align:left}.holidays-manager .prolixe-table td{border-bottom:1px solid #ffffff08;color:#fff;color:var(--text-light);padding:1rem}.holidays-manager .prolixe-table tbody tr:hover{-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#3b82f614}.holidays-manager .prolixe-table tbody tr:hover td{color:#fff;color:var(--text-light)}.journal-manager{margin:0 auto;max-width:1200px;padding:1rem}.journal-manager .section-header{display:flex;flex-direction:column;gap:1.5rem;margin-bottom:2rem}.journal-manager .section-header h2{align-items:center;color:#fff;color:var(--text-light);display:flex;font-size:1.5rem;gap:.75rem;margin:0}@media(min-width:768px){.journal-manager .section-header{align-items:center;flex-direction:row;justify-content:space-between}}.journal-manager .controls-container{display:flex;flex-direction:column;gap:.75rem;width:100%}@media(min-width:600px){.journal-manager .controls-container{flex-direction:row;width:auto}}.journal-manager .import-box{align-items:center;background:#1e293b;background:var(--bg-dark-secondary);border:1px solid #334155;border:1px solid var(--border-color);border-radius:8px;display:flex;flex-wrap:wrap;gap:.25rem;padding:.25rem}.journal-manager .import-box .select-target{background:#0000;border:none;color:#fff;color:var(--text-light);font-size:.85rem;min-width:140px;outline:none;padding:.5rem}.journal-manager .import-box .file-label{align-items:center;background:#6297f1f0;background:var(--accent-blue);border-radius:6px;color:#fff;cursor:pointer;display:flex;font-size:.85rem;gap:.5rem;max-width:150px;padding:.5rem .8rem}.journal-manager .import-box .file-label span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.journal-manager .import-box .btn-run-import{background:#10b981;background:var(--accent-green);border:none;border-radius:6px;color:#fff;cursor:pointer;font-weight:700;padding:.5rem .8rem}.journal-manager .btn-add-journal{align-items:center;background:#6297f1f0;background:var(--accent-blue);border:none;border-radius:.5rem;color:#fff;cursor:pointer;display:inline-flex;display:flex;font-weight:500;gap:.5rem;height:42px;justify-content:center;padding:0 1.2rem;transition:all .3s ease}.journal-manager .btn-add-journal:hover{background:#4174ffde;background:var(--accent-dark-blue)}.journal-manager .journal-lists{grid-gap:2.5rem;display:grid;gap:2.5rem}.journal-manager .list-group h3{border-bottom:1px solid #334155;border-bottom:1px solid var(--border-color);color:#94a3b8;color:var(--text-muted);font-size:.85rem;letter-spacing:1px;margin-bottom:1rem;padding-bottom:.5rem;text-transform:uppercase}.journal-manager .list-group .empty-msg{color:#94a3b8;color:var(--text-muted);font-size:.9rem;font-style:italic}.journal-manager .journal-card{background:#1e293b;background:var(--bg-dark-secondary);border:1px solid #334155;border:1px solid var(--border-color);border-radius:10px;display:flex;flex-direction:column;gap:1.5rem;margin-bottom:1rem;padding:1.2rem;transition:all .2s ease}.journal-manager .journal-card:hover{border-color:#6297f1f0;border-color:var(--accent-blue)}.journal-manager .journal-card.current{border-left:5px solid #10b981;border-left:5px solid var(--accent-green)}.journal-manager .journal-card.archived{border-left:5px solid #94a3b8;border-left:5px solid var(--text-muted);opacity:.75}@media(min-width:850px){.journal-manager .journal-card{align-items:center;flex-direction:row;justify-content:space-between}}.journal-manager .journal-info .title-row{align-items:center;display:flex;gap:.8rem;margin-bottom:.4rem}.journal-manager .journal-info .title-row strong{color:#fff;color:var(--text-light);font-size:1.1rem}.journal-manager .journal-info .meta-row{align-items:center;display:flex;gap:1rem}.journal-manager .journal-info .meta-row span{color:#94a3b8;color:var(--text-muted);font-size:.9rem}.journal-manager .journal-info .meta-row small{color:#6297f1f0;color:var(--accent-blue);font-size:.8rem;font-weight:500}.journal-manager .journal-actions{grid-gap:.5rem;display:grid;gap:.5rem;grid-template-columns:repeat(2,1fr)}@media(min-width:500px){.journal-manager .journal-actions{display:flex;flex-wrap:wrap;justify-content:flex-start}}@media(min-width:850px){.journal-manager .journal-actions{justify-content:flex-end}}.journal-manager .journal-actions button{align-items:center;background:#0000;border:1px solid #334155;border:1px solid var(--border-color);border-radius:6px;color:#fff;color:var(--text-light);cursor:pointer;display:flex;font-size:.85rem;justify-content:center;padding:.6rem .8rem;transition:all .2s}.journal-manager .journal-actions button:disabled{cursor:not-allowed;opacity:.3}.journal-manager .journal-actions button:hover:not(:disabled){background:#ffffff0d}.journal-manager .journal-actions .btn-export-icon{border-color:#6297f1f0;border-color:var(--accent-blue);color:#6297f1f0;color:var(--accent-blue)}.journal-manager .journal-actions .btn-select{background:#6297f1f0;background:var(--accent-blue);border:none;color:#fff}.journal-manager .journal-actions .btn-clear{border-color:#f59e0b;border-color:var(--accent-orange);color:#f59e0b;color:var(--accent-orange)}.journal-manager .journal-actions .btn-delete{border-color:#ef4444;border-color:var(--red-danger);color:#ef4444;color:var(--red-danger)}.journal-manager .journal-actions .status-badge{border-radius:4px;font-size:.7rem;font-weight:700;grid-column:span 2;padding:.3rem;text-align:center}.journal-manager .journal-actions .status-badge.current{background:rgba(var(--accent-green-rgb),.1);color:#10b981;color:var(--accent-green)}.journal-manager .journal-actions .status-badge.selected{background:rgba(var(--accent-blue-rgb),.1);color:#6297f1f0;color:var(--accent-blue)}.modal-overlay{align-items:center;position:fixed;z-index:2000}.modal-overlay .modal-card{background:#1e293b;background:var(--bg-dark-secondary);border:1px solid #334155;border:1px solid var(--border-color);border-radius:12px;max-width:450px;padding:1.5rem;width:100%}.modal-overlay .modal-card .modal-header{display:flex;justify-content:space-between;margin-bottom:1.5rem}.modal-overlay .modal-card .modal-header h3{color:#fff;color:var(--text-light);margin:0}.modal-overlay .modal-card .modal-header .close-x{background:none;border:none;color:#94a3b8;color:var(--text-muted);cursor:pointer}.modal-overlay .modal-card .form-group{margin-bottom:1.2rem}.modal-overlay .modal-card .form-group label{color:#94a3b8;color:var(--text-muted);display:block;font-size:.9rem;margin-bottom:.5rem}.modal-overlay .modal-card .form-group input,.modal-overlay .modal-card .form-group select{background:var(--bg-dark);border:1px solid #334155;border:1px solid var(--border-color);border-radius:6px;color:#fff;color:var(--text-light);padding:.8rem;width:100%}.modal-overlay .modal-card .form-actions{display:flex;flex-direction:column;gap:.75rem;margin-top:1.5rem}@media(min-width:400px){.modal-overlay .modal-card .form-actions{flex-direction:row;justify-content:flex-end}}.modal-overlay .modal-card .form-actions button{border-radius:6px;cursor:pointer;font-weight:500;padding:.8rem 1.5rem}.modal-overlay .modal-card .form-actions .btn-cancel{background:#0000;border:1px solid #334155;border:1px solid var(--border-color);color:#94a3b8;color:var(--text-muted)}.modal-overlay .modal-card .form-actions .btn-submit{background:#6297f1f0;background:var(--accent-blue);border:none;color:#fff}.attribution-manager{--glass-bg:#ffffff08;--glass-border:#ffffff14;--glass-blur:blur(12px);--accent-color:#3b82f6;--danger-color:#ef4444;--text-main:#e2e8f0;--text-muted:#94a3b8;animation:fadeIn .4s ease-out;color:var(--text-main);padding:1.5rem}.attribution-manager .manager-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:2rem}.attribution-manager .manager-header .title-wrapper{align-items:center;display:flex;gap:1rem}.attribution-manager .manager-header .title-wrapper .icon-box{align-items:center;color:var(--accent-color);display:flex}.attribution-manager .manager-header .title-wrapper h2{font-size:1.25rem;font-weight:600;letter-spacing:-.02em;margin:0}.attribution-manager .manager-header .title-wrapper p{color:#94a3b8;color:var(--text-muted);font-size:.85rem;margin:.2rem 0 0}.attribution-manager .add-attribution-btn{align-items:center;-webkit-backdrop-filter:var(--glass-blur);backdrop-filter:var(--glass-blur);background:var(--glass-bg);border:1px solid var(--glass-border);border-radius:10px;color:#fff;cursor:pointer;display:flex;font-weight:600;gap:.5rem;padding:.7rem 1.25rem;transition:all .2s}.attribution-manager .add-attribution-btn:hover{background:#ffffff14;border-color:var(--accent-color);transform:translateY(-1px)}.attribution-manager .glass-modal-overlay{align-items:center;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#0009;display:flex;inset:0;justify-content:center;position:fixed;z-index:1000}.attribution-manager .glass-modal{-webkit-backdrop-filter:var(--glass-blur);backdrop-filter:var(--glass-blur);background:#111827;background-image:linear-gradient(to bottom right,#ffffff0d,#0000);border:1px solid var(--glass-border);border-radius:16px;box-shadow:0 20px 50px #00000080;max-width:500px;padding:2rem;width:90%}.attribution-manager .glass-modal h3{color:#fff;font-size:1.1rem;margin:0 0 1.5rem}.attribution-manager .div-container{display:flex;gap:4rem}.attribution-manager .input-group{margin-bottom:1.25rem}.attribution-manager .input-group label{color:#94a3b8;color:var(--text-muted);display:block;font-size:.85rem;margin-bottom:.5rem}.attribution-manager .input-group input,.attribution-manager .input-group select{background:#0000004d;border:1px solid var(--glass-border);border-radius:10px;color:#fff;outline:none;padding:.7rem 1rem;transition:all .2s;width:95%}.attribution-manager .input-group input:focus,.attribution-manager .input-group select:focus{border-color:var(--accent-color);box-shadow:0 0 0 3px #3b82f626}.attribution-manager .input-group input option,.attribution-manager .input-group select option{background:#1e293b}.attribution-manager .modal-footer{display:flex;gap:1rem;justify-content:flex-end;margin-top:2rem}.attribution-manager .modal-footer button{border-radius:10px;cursor:pointer;font-weight:600;padding:.7rem 1.5rem;transition:all .2s}.attribution-manager .modal-footer button.cancel-btn{background:#0000;border:1px solid var(--glass-border);color:#94a3b8;color:var(--text-muted)}.attribution-manager .modal-footer button.cancel-btn:hover{background:#ffffff0d;color:#fff}.attribution-manager .modal-footer button.confirm-btn{background:var(--accent-color);border:none;color:#fff}.attribution-manager .modal-footer button.confirm-btn:hover{filter:brightness(1.1);transform:translateY(-1px)}.attribution-manager .attribution-list .year-group{margin-bottom:2rem}.attribution-manager .attribution-list .year-group .year-title{align-items:center;color:var(--accent-color);display:flex;font-size:.9rem;font-weight:700;letter-spacing:.05em;margin-bottom:1rem;text-transform:uppercase}.attribution-manager .attribution-list .year-group .year-title:after{background:var(--glass-border);content:"";flex:1 1;height:1px;margin-left:1rem}.attribution-manager .attribution-list .attribution-item{align-items:center;-webkit-backdrop-filter:var(--glass-blur);backdrop-filter:var(--glass-blur);background:var(--glass-bg);border:1px solid var(--glass-border);border-radius:12px;display:flex;justify-content:space-between;margin-bottom:.75rem;padding:1rem 1.25rem;transition:all .2s}.attribution-manager .attribution-list .attribution-item:hover{background:#ffffff0f;border-color:#ffffff26;transform:translateX(4px)}.attribution-manager .attribution-list .attribution-item .item-details strong{color:#fff;font-size:1rem}.attribution-manager .attribution-list .attribution-item .item-details p{color:#94a3b8;color:var(--text-muted);font-size:.85rem;margin:.25rem 0}.attribution-manager .attribution-list .attribution-item .item-details .hours-pill{background:#3b82f61a;border:1px solid #3b82f633;border-radius:6px;color:var(--accent-color);display:inline-block;font-size:.75rem;margin-top:.4rem;padding:.2rem .6rem}.attribution-manager .attribution-list .attribution-item .item-actions{display:flex;gap:.6rem}.attribution-manager .attribution-list .attribution-item .item-actions button{align-items:center;background:#ffffff08;border:1px solid var(--glass-border);border-radius:8px;color:#94a3b8;color:var(--text-muted);cursor:pointer;display:flex;height:34px;justify-content:center;transition:all .2s;width:34px}.attribution-manager .attribution-list .attribution-item .item-actions button.btn-edit:hover{background:#3b82f60d;border-color:var(--accent-color);color:var(--accent-color)}.attribution-manager .attribution-list .attribution-item .item-actions button.btn-delete:hover{background:#ef44440d;border-color:var(--danger-color);color:var(--danger-color)}.state-message{color:#94a3b8;color:var(--text-muted);font-style:italic;padding:3rem;text-align:center}.student-manager{--glass-bg:#ffffff08;--glass-border:#ffffff14;--glass-blur:blur(12px);--accent-color:#3b82f6;--danger-color:#ef4444;--text-main:#e2e8f0;--text-muted:#94a3b8;animation:fadeIn .4s ease-out;color:var(--text-main);padding:1.5rem}.student-manager h2{align-items:center;display:flex;font-size:1.25rem;font-weight:600;gap:.75rem;letter-spacing:-.02em;margin:0 0 1.5rem}.student-manager h2 .icon-lucid{color:var(--accent-color)}.student-manager .current-year-info{-webkit-backdrop-filter:var(--glass-blur);backdrop-filter:var(--glass-blur);background:var(--glass-bg);border:1px solid var(--glass-border);border-radius:12px;color:#94a3b8;color:var(--text-muted);font-size:.9rem;margin-bottom:2rem;padding:1rem 1.25rem}.student-manager .current-year-info strong{color:var(--accent-color);font-weight:600}.student-manager .current-year-info .archived-tag{color:#fbbf24;font-weight:700;margin-left:5px}.student-manager .form-group{margin-bottom:1.5rem}.student-manager .form-group label{color:#94a3b8;color:var(--text-muted);display:block;font-size:.85rem;margin-bottom:.6rem}.student-manager .form-group .glass-input,.student-manager .form-group .glass-select{background:#0003;border:1px solid var(--glass-border);border-radius:10px;color:#fff;outline:none;padding:.7rem 1rem;transition:all .2s;width:100%}.student-manager .form-group .glass-input:focus,.student-manager .form-group .glass-select:focus{border-color:var(--accent-color);box-shadow:0 0 0 3px #3b82f626}.student-manager .form-group .glass-input:disabled,.student-manager .form-group .glass-select:disabled{cursor:not-allowed;opacity:.5}.student-manager .form-group .glass-input option,.student-manager .form-group .glass-select option{background:#1e293b}.student-manager .add-student-form{background:var(--glass-bg);border:1px solid var(--glass-border);border-radius:16px;display:flex;gap:.75rem;margin-bottom:2rem;padding:1.25rem}.student-manager .add-student-form input{background:#0003;border:0;border-radius:10px;color:#fff;flex:1 1;padding:.7rem 1rem}.student-manager .add-student-form .btn-primary{background:var(--accent-color);border:none;border-radius:10px;color:#fff;cursor:pointer;font-weight:600;padding:.7rem 1.5rem;transition:all .2s}.student-manager .add-student-form .btn-primary:hover{filter:brightness(1.1);transform:translateY(-1px)}.student-manager .student-list{display:flex;flex-direction:column;gap:.75rem}.student-manager .student-list .empty-text,.student-manager .student-list .loading-text{color:#94a3b8;color:var(--text-muted);font-style:italic;padding:2rem;text-align:center}.student-manager .student-item{align-items:center;-webkit-backdrop-filter:var(--glass-blur);backdrop-filter:var(--glass-blur);background:var(--glass-bg);border:1px solid var(--glass-border);border-radius:12px;display:flex;justify-content:space-between;padding:.85rem 1.25rem;transition:transform .2s}.student-manager .student-item:hover{background:#ffffff0d;transform:translateX(4px)}.student-manager .student-item span{font-weight:500;letter-spacing:.02em}.student-manager .student-item .btn-delete{align-items:center;background:#ef44441a;border:1px solid #ef444433;border-radius:8px;color:var(--danger-color);cursor:pointer;display:flex;font-size:.9rem;height:32px;justify-content:center;transition:all .2s;width:32px}.student-manager .student-item .btn-delete:hover{background:var(--danger-color);border-color:var(--danger-color);color:#fff;transform:scale(1.1)}.student-manager .error-message{background:#ef44441a;border:1px solid #ef444433;border-radius:10px;color:var(--danger-color);padding:1rem;text-align:center}.schedule-creator-glass{--glass-bg:#0f172abf;--glass-border:#ffffff1a;--glass-blur:blur(16px);--accent:#3b82f6;--success:#10b981;--danger:#ef4444;--text:#f1f5f9;--text-dim:#94a3b8;color:var(--text);font-family:Inter,sans-serif;padding:1.5rem}.schedule-creator-glass .glass-header{-webkit-backdrop-filter:var(--glass-blur);backdrop-filter:var(--glass-blur);background:var(--glass-bg);border:1px solid var(--glass-border);border-radius:16px;box-shadow:0 8px 32px #0000004d;margin-bottom:2rem;padding:1.5rem}.schedule-creator-glass .glass-header .header-main-row{align-items:center;display:flex;flex-wrap:wrap;gap:2rem;justify-content:space-between}.schedule-creator-glass .glass-header .header-info-row{align-items:center;border-top:1px solid var(--glass-border);display:flex;justify-content:space-between;margin-top:1.25rem;padding-top:1.25rem}.schedule-creator-glass .glass-header .button-group{display:flex;gap:.5rem}.schedule-creator-glass .glass-header .section-title{align-items:center;display:flex;gap:12px}.schedule-creator-glass .glass-header .section-title h2{font-size:1.4rem;font-weight:600;margin:0}.schedule-creator-glass .glass-header .section-title .accent-icon{color:var(--accent)}.schedule-creator-glass .glass-header .header-actions{align-items:center;display:flex;gap:1.5rem}.schedule-creator-glass .glass-header .header-actions .quick-create{display:flex;gap:8px}.schedule-creator-glass .glass-header .header-actions .quick-create .glass-input{transition:width .3s;width:220px}.schedule-creator-glass .glass-header .header-actions .quick-create .glass-input:focus{width:280px}.schedule-creator-glass .glass-header .header-actions .v-divider{background:var(--glass-border);height:32px;width:1px}.schedule-creator-glass .glass-input,.schedule-creator-glass .glass-select{background:#0000004d;border:1px solid var(--glass-border);border-radius:8px;color:#fff;font-size:.9rem;outline:none;padding:8px 14px}.schedule-creator-glass .glass-input:focus,.schedule-creator-glass .glass-select:focus{background:#0006;border-color:var(--accent)}.schedule-creator-glass .glass-input option,.schedule-creator-glass .glass-select option{background:#0f172a;color:#fff}.schedule-creator-glass .glass-btn{align-items:center;background:#ffffff0d;border:1px solid #0000;border-radius:8px;color:#fff;cursor:pointer;display:flex;font-weight:500;gap:8px;padding:8px 16px;transition:.2s}.schedule-creator-glass .glass-btn.primary{background:var(--accent)}.schedule-creator-glass .glass-btn.success{background:var(--success)}.schedule-creator-glass .glass-btn.danger-text{color:var(--danger)}.schedule-creator-glass .glass-btn.danger-text:hover{background:#ef444426}.schedule-creator-glass .glass-btn.circle{border-radius:50%;height:38px;justify-content:center;padding:0;width:38px}.schedule-creator-glass .glass-btn.secondary{background:#ffffff1a}.schedule-creator-glass .glass-btn:hover{filter:brightness(1.2);transform:translateY(-1px)}.schedule-creator-glass .glass-btn:disabled{cursor:not-allowed;opacity:.5;transform:none}.schedule-creator-glass .validity-badge{align-items:center;background:#3b82f61a;border-radius:20px;color:var(--accent);display:flex;font-size:.85rem;gap:8px;padding:6px 12px}.schedule-creator-glass .table-container{-webkit-backdrop-filter:var(--glass-blur);backdrop-filter:var(--glass-blur);background:var(--glass-bg);border:1px solid var(--glass-border);border-radius:16px;box-shadow:0 10px 40px #0006;overflow:hidden}.schedule-creator-glass .glass-table{border-collapse:collapse;width:100%}.schedule-creator-glass .glass-table th{background:#ffffff08;border-bottom:1px solid var(--glass-border);color:var(--text-dim);font-size:.75rem;letter-spacing:.05em;padding:16px;text-transform:uppercase}.schedule-creator-glass .glass-table .time-label{background:#0003;border-bottom:1px solid var(--glass-border);border-right:1px solid var(--glass-border);padding:15px;text-align:center;width:100px}.schedule-creator-glass .glass-table .time-label strong{color:var(--accent);display:block;font-size:1rem}.schedule-creator-glass .glass-table .time-label small{color:var(--text-dim);font-size:.75rem}.schedule-creator-glass .glass-table .grid-cell{border-bottom:1px solid var(--glass-border);border-right:1px solid var(--glass-border);min-width:160px;padding:8px;transition:background .3s}.schedule-creator-glass .glass-table .grid-cell:hover{background:#ffffff05}.schedule-creator-glass .glass-table .grid-cell .cell-content{display:flex;flex-direction:column;gap:6px}.schedule-creator-glass .glass-table .grid-cell .input-wrapper{align-items:center;background:#00000040;border:1px solid #0000;border-radius:6px;display:flex;gap:8px;padding:4px 10px}.schedule-creator-glass .glass-table .grid-cell .input-wrapper option{background:var(--bg-dark-blue);color:#fff}.schedule-creator-glass .glass-table .grid-cell .input-wrapper .icon{opacity:.4}.schedule-creator-glass .glass-table .grid-cell .input-wrapper input,.schedule-creator-glass .glass-table .grid-cell .input-wrapper select{background:#0000;border:none;color:#fff;font-size:.8rem;outline:none;width:100%}.schedule-creator-glass .glass-table .grid-cell .input-wrapper.main-sub{background:linear-gradient(90deg,#ffffff0d,#0000);border-left:3px solid var(--subject-color)}.schedule-creator-glass .glass-table .grid-cell .input-wrapper.main-sub select{color:var(--subject-color);filter:brightness(1.3);font-weight:600}.schedule-creator-glass .modal-overlay{align-items:center;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#000000b3;display:flex;inset:0;justify-content:center;position:fixed;z-index:1000}.schedule-creator-glass .glass-modal{background:#1e293b;border:1px solid var(--glass-border);border-radius:20px;box-shadow:0 20px 60px #00000080;max-width:450px;padding:2rem;width:100%}.schedule-creator-glass .glass-modal .modal-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:1.5rem}.schedule-creator-glass .glass-modal .modal-header h3{font-size:1.3rem;margin:0}.schedule-creator-glass .glass-modal .modal-header .close-btn{background:none;border:none;color:var(--text-dim);cursor:pointer}.schedule-creator-glass .glass-modal .modal-intro{color:var(--text-dim);margin-bottom:1.5rem}.schedule-creator-glass .glass-modal .form-grid{grid-gap:1rem;display:grid;gap:1rem;grid-template-columns:1fr 1fr;margin-bottom:2rem}.schedule-creator-glass .glass-modal .form-group{display:flex;flex-direction:column;gap:8px}.schedule-creator-glass .glass-modal .form-group label{color:var(--text-dim);font-size:.8rem}.schedule-creator-glass .glass-modal .modal-footer{display:flex;gap:12px;justify-content:flex-end}.schedule-creator-glass .empty-state{align-items:center;border:2px dashed var(--glass-border);border-radius:20px;color:var(--text-dim);display:flex;flex-direction:column;gap:1.5rem;padding:100px 20px;text-align:center}.schedule-creator-glass .empty-state .icon-circle{align-items:center;background:#ffffff08;border-radius:50%;display:flex;height:80px;justify-content:center;width:80px}.schedule-creator-glass .empty-state h3{color:#fff;margin:0}.schedule-creator-glass .glass-loader{align-items:center;color:var(--accent);display:flex;height:400px;justify-content:center}.btn-text-action{align-items:center;background:#10b9811a;border:none;border-radius:4px;color:#10b981;cursor:pointer;display:flex;font-size:.75rem;gap:4px;padding:4px 8px;transition:all .2s}.btn-text-action:hover{background:#10b981;color:#fff}.edit-meta-btn{align-items:center;background:#ffffff1a;border:none;border-radius:4px;color:#94a3b8;cursor:pointer;display:inline-flex;margin-left:8px;padding:4px;transition:.2s}.edit-meta-btn:hover{background:var(--accent);color:#fff}.label-with-action{align-items:center;display:flex;justify-content:space-between;margin-bottom:4px}.label-with-action label{margin-bottom:0!important}.btn-danger{align-items:center;background:#ef44441a!important;border:1px solid #ef444433!important;border-radius:8px;color:#ef4444!important;cursor:pointer;display:flex;font-weight:500;gap:6px;padding:8px 16px;transition:.2s}.btn-danger:hover{background:#ef4444!important;color:#fff!important}.btn-secondary{background:#334155;border-radius:8px;padding:8px 16px}.btn-secondary:hover{background:#475569}.btn-clear-slot{align-items:center;background:#ef44441a;border:1px solid #ffffff1a;border-radius:2rem;color:#ef4444;cursor:pointer;display:flex;justify-content:center;transition:all .2s ease-in-out;z-index:10}.btn-clear-slot:hover{background:#ef4444;box-shadow:0 0 10px #ef444466;color:#fff;transform:scale(1.1)}.btn-clear-slot svg{stroke-width:2.5px}.alert-modal{border:1px solid #ffc1074d;max-width:500px}.alert-modal .alert-title-group{align-items:center;display:flex;gap:12px}.alert-modal .alert-title-group .text-warning{color:#ffc107}.alert-modal .modal-footer.flex-col{display:flex;flex-direction:column;gap:10px}.alert-modal .modal-footer.flex-col .glass-btn{height:auto;line-height:1.4;padding:12px 16px}.alert-modal .modal-footer.flex-col .glass-btn strong{display:block;font-size:.9em;margin-bottom:2px;text-transform:uppercase}.warning-outline{background:#ffc1070d;border:1px solid #ffc10766}.warning-outline:hover{background:#ffc10726}.z-50{z-index:50}.subject-manager{display:flex;flex-direction:column;gap:2rem;position:relative}.subject-manager .edit-overlay{background:#0000;cursor:default;height:100vh;left:0;position:fixed;top:0;width:100vw;z-index:100}.subject-manager .header-section{margin-bottom:1rem}.subject-manager .header-section h2{align-items:center;color:#fff;color:var(--text-light);display:flex;font-size:1.5rem;font-weight:600;gap:.75rem;margin-bottom:.25rem}.subject-manager .header-section .subtitle{color:#9ca3af;font-size:.9rem}.subject-manager .main-grid{grid-gap:1.5rem;align-items:start;display:grid;gap:1.5rem;grid-template-columns:350px 1fr}@media(max-width:1100px){.subject-manager .main-grid{grid-template-columns:1fr}}.subject-manager .card{background:#1e293b;background:var(--bg-dark-secondary);border:1px solid #333;border-radius:12px;padding:1.5rem;transition:all .3s ease}.subject-manager .card h3{border-bottom:1px solid #333;color:#fff;color:var(--text-light);font-size:1.1rem;font-weight:600;margin-bottom:1.25rem;padding-bottom:.75rem}.subject-manager .is-editing-row{background:#3b82f60d!important;position:relative;z-index:101}.subject-manager .is-editing-row td{border-bottom:1px solid #6297f1f0!important;border-bottom:1px solid var(--accent-blue)!important}.subject-manager .edit-mode-content{align-items:center;display:flex;gap:10px;width:100%}.subject-manager .edit-mode-content .color-picker-mini{background:var(--selected-color);border:1px solid #fff3;border-radius:8px;cursor:pointer;flex-shrink:0;height:32px;overflow:hidden;position:relative;width:32px}.subject-manager .edit-mode-content .color-picker-mini input[type=color]{cursor:pointer;height:100%;left:0;opacity:0;position:absolute;top:0;width:100%}.subject-manager .edit-mode-content .edit-input{background:#141414;background:var(--bg-dark-tertiary);border:1px solid #444;border-radius:6px;color:#fff;flex:1 1;font-size:.9rem;outline:none;padding:5px 10px}.subject-manager .edit-mode-content .edit-input:focus{border-color:#6297f1f0;border-color:var(--accent-blue)}.subject-manager .subject-form{display:flex;flex-direction:column;gap:1.25rem}.subject-manager .subject-form .input-wrapper label{color:#9ca3af;display:block;font-size:.8rem;letter-spacing:.5px;margin-bottom:.5rem;text-transform:uppercase}.subject-manager .subject-form .input-wrapper input[type=text]{background:#141414;background:var(--bg-dark-tertiary);border:1px solid #333;border-radius:8px;color:#fff;color:var(--text-light);outline:none;padding:.75rem;width:91%}.subject-manager .subject-form .input-wrapper input[type=text]:focus{border-color:#6297f1f0;border-color:var(--accent-blue)}.subject-manager .subject-form .input-wrapper .color-selector{align-items:center;background:#141414;background:var(--bg-dark-tertiary);border:1px solid #333;border-radius:8px;display:flex;gap:1rem;padding:.5rem .75rem}.subject-manager .subject-form .input-wrapper .color-selector input[type=color]{background:none;border:none;cursor:pointer;height:30px;width:30px}.subject-manager .subject-form .input-wrapper .color-selector span{color:#9ca3af;font-size:.85rem}.subject-manager .subject-form .btn-submit{align-items:center;background:linear-gradient(135deg,#6297f1f0,#4174ffde);background:linear-gradient(135deg,var(--accent-blue),var(--accent-dark-blue));border:none;border-radius:8px;color:#fff;cursor:pointer;display:flex;font-weight:500;gap:.5rem;justify-content:center;padding:.75rem 1.5rem;transition:all .3s ease}.subject-manager .subject-form .btn-submit:hover:not(:disabled){box-shadow:0 4px 12px #3b82f666;transform:translateY(-2px)}.subject-manager .subject-form .btn-submit:disabled{cursor:not-allowed;opacity:.6}.subject-manager .table-responsive{border:1px solid #333;border-radius:8px;overflow:hidden}.subject-manager .prolixe-table{border-collapse:collapse;font-size:.9rem;width:100%}.subject-manager .prolixe-table th{background:#ffffff08;border-bottom:1px solid #333;color:#9ca3af;font-weight:500;padding:1rem;text-align:left}.subject-manager .prolixe-table td{border-bottom:1px solid #ffffff08;color:#fff;color:var(--text-light);padding:1rem}.subject-manager .prolixe-table td .color-dot{border-radius:50%;display:inline-block;height:10px;margin-right:10px;width:10px}.subject-manager .prolixe-table .action-btn{align-items:center;background:none;border:none;border-radius:4px;cursor:pointer;display:flex;justify-content:center;padding:5px;transition:all .2s}.subject-manager .prolixe-table .action-btn:hover{background:#ffffff0d}.subject-manager .prolixe-table .action-btn.save{color:#10b981}.subject-manager .prolixe-table .action-btn.cancel{color:#ef4444}.subject-manager .prolixe-table .btn-delete{background:none;border:none;color:#64748b;cursor:pointer;padding:5px;transition:color .2s}.subject-manager .prolixe-table .btn-delete:hover{color:#ef4444}.subject-manager .prolixe-table tbody tr:not(.is-editing-row):hover{background:#3b82f614}.subject-manager .prolixe-table tbody tr:not(.is-editing-row):hover td{color:#fff;color:var(--text-light)}.subject-manager .empty-state{color:#64748b;font-style:italic;padding:3rem;text-align:center}.settings-page{background-color:#0f172a;background-color:var(--bg-dark-blue);color:#fff;color:var(--text-light);padding:2rem 2rem 2rem 0;position:relative}@media(max-width:768px){.settings-page{padding:1rem}}.settings-header{margin-bottom:2rem}.settings-header h1{color:#fff;color:var(--text-light);font-size:2rem;font-weight:600}.settings-header p{color:#9ca3af}.settings-content{align-items:flex-start;display:flex;gap:2rem;max-width:1600px}.settings-sidebar{background:#141414;background:var(--bg-dark-tertiary);border:1px solid #333;border-radius:12px;flex-shrink:0;padding:1rem;position:-webkit-sticky;position:sticky;top:1rem;width:280px}@media(max-width:900px){.settings-sidebar{border-left:1px solid #444;border-radius:0;box-shadow:-10px 0 30px #00000080;height:100vh;position:fixed;right:0;top:0;transform:translateX(100%);transition:transform .4s cubic-bezier(.4,0,.2,1);z-index:2001}.settings-sidebar.active{transform:translateX(0)}}.settings-main{background:#141414;background:var(--bg-dark-tertiary);border:1px solid #333;border-radius:12px;flex:1 1;min-width:0;padding:2.5rem}@media(max-width:768px){.settings-main{padding:1.5rem}}.settings-mobile-trigger{display:none}@media(max-width:900px){.settings-mobile-trigger{align-items:center;background:#6297f1f0;background:var(--accent-blue);border:none;border-radius:50%;bottom:2rem;box-shadow:0 4px 15px #0006;color:#fff;cursor:pointer;display:flex;font-size:1.5rem;height:56px;justify-content:center;position:fixed;right:2rem;width:56px;z-index:2002}.settings-mobile-trigger:active{transform:scale(.9)}}.settings-nav{display:flex;flex-direction:column;gap:1.5rem}.settings-nav .nav-section .section-header-toggle{padding:.5rem 0}.settings-nav .nav-section .section-header-toggle .section-title{color:#94a3b8;color:var(--text-muted);font-size:.7rem;letter-spacing:1.5px;text-transform:uppercase}.settings-nav .nav-section .section-header-toggle .toggle-arrow{display:none}@media(max-width:900px){.settings-nav{padding-top:3rem}}.settings-tab{align-items:center;background:#0000;border:none;border-radius:10px;color:#9ca3af;cursor:pointer;display:flex;gap:1rem;margin-bottom:.25rem;padding:.85rem 1rem;transition:all .2s ease;width:100%}.settings-tab .tab-icon{font-size:1.2rem}.settings-tab:hover{background:#ffffff0d;color:#fff;color:var(--text-light)}.settings-tab.active{background:#6297f1f0;background:var(--accent-blue);color:#fff;font-weight:600}@media(max-width:900px){.settings-tab{font-size:1rem;padding:1.2rem 1rem}}.classes-grid{grid-gap:1.5rem;display:grid;gap:1.5rem;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));margin-top:1.5rem}@media(max-width:600px){.classes-grid{grid-template-columns:1fr}}.class-card{background:#1e293b;background:var(--bg-dark-secondary);border:1px solid #333;border-radius:12px;padding:1.5rem}.class-card:hover{border-color:#6297f1f0;border-color:var(--accent-blue);transform:translateY(-2px)}.form-row{grid-gap:1.5rem;display:grid;gap:1.5rem;grid-template-columns:1fr 1fr}@media(max-width:768px){.form-row{gap:0;grid-template-columns:1fr}}.btn-primary{align-items:center;background:#6297f1f0;background:var(--accent-blue);border:none;border-radius:.5rem;border-radius:8px;color:#fff;cursor:pointer;display:inline-flex;font-weight:500;font-weight:600;justify-content:center;padding:.8rem 1.5rem;transition:all .3s ease}.btn-primary:hover{background:#4174ffde;background:var(--accent-dark-blue)}.settings-mobile-overlay{display:none}@media(max-width:900px){.settings-mobile-overlay.active{-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);background:#0009;display:block;inset:0;position:fixed;z-index:2000}}h2{color:#fff}p{color:#aaa}.dashboard-page{background-color:#0a0e17;background-image:linear-gradient(#ffffff03 1px,#0000 0),linear-gradient(90deg,#ffffff03 1px,#0000 0);background-size:50px 50px;display:flex;flex-direction:column;gap:2rem;min-height:100vh;padding:2rem}@media(max-width:768px){.dashboard-page{gap:1.25rem;padding:1rem}}.dashboard-header{align-items:center;background:#111827;border:1px solid #ffffff12;border-radius:1.25rem;box-shadow:0 4px 20px #0003;display:flex;justify-content:space-between;padding:1.5rem 2rem}.dashboard-header h1{-webkit-text-fill-color:#0000;background:linear-gradient(135deg,#f1f5f9 70%,#14b8a6);-webkit-background-clip:text;background-clip:text;font-size:1.8rem;font-weight:800;margin:0}.dashboard-header p{color:#64748b;font-size:.95rem;margin:.25rem 0 0}.dashboard-header .journal-context-selector{display:flex;flex-direction:column;gap:.4rem}.dashboard-header .journal-context-selector .selector-label{color:#14b8a6;font-size:.7rem;font-weight:800;letter-spacing:.1em;text-transform:uppercase}.dashboard-header .journal-context-selector .custom-journal-select{background:#1a2235;border:1px solid #ffffff12;border-radius:.625rem;color:#f1f5f9;cursor:pointer;font-weight:600;outline:none;padding:.6rem 1rem}.dashboard-header .journal-context-selector .custom-journal-select:focus{border-color:#0d9488;box-shadow:0 0 0 2px #0d948826}@media(max-width:768px){.dashboard-header{align-items:flex-start;flex-direction:column;gap:.75rem;padding:1rem 1.25rem}.dashboard-header h1{font-size:1.5rem}}.dashboard-content{grid-gap:2rem;display:grid;gap:2rem;grid-template-columns:1fr;margin:1rem}@media(max-width:768px){.dashboard-content{gap:1rem;margin:0}}.dashboard-columns{grid-gap:2rem;align-items:start;display:grid;gap:2rem;grid-template-columns:1fr 380px}@media(max-width:1200px){.dashboard-columns{grid-template-columns:1fr}}.daily-schedule-section{background:#111827;border:1px solid #ffffff12;border-radius:1.25rem;padding:1.75rem}.daily-schedule-section h2{align-items:center;color:#f1f5f9;display:flex;font-size:1.1rem;font-weight:700;gap:.75rem;margin-bottom:1.5rem}.daily-schedule-section h2:before{background:#0d9488;border-radius:2px;content:"";height:1.2rem;width:4px}.daily-schedule-section .daily-schedule-list{display:flex;flex-direction:column;gap:.85rem}.daily-schedule-section .daily-journal-slot{background:#1a2235;border:1px solid #ffffff12;border-left:4px solid #0d9488;border-left:4px solid var(--subject-color,#0d9488);border-radius:.625rem;cursor:pointer;display:flex;flex-direction:column;gap:.5rem;padding:1.25rem;transition:all .2s ease}.daily-schedule-section .daily-journal-slot:hover{background:#232f42;box-shadow:0 4px 15px #0000004d;transform:translateX(6px)}.daily-schedule-section .daily-journal-slot .course-info-header{align-items:center;display:flex;justify-content:space-between}.daily-schedule-section .daily-journal-slot .course-info-header .course-class-display{color:#22d3ee;font-size:1.1rem;font-weight:800}.daily-schedule-section .daily-journal-slot .course-info-header .course-time-display{font-feature-settings:"tnum";color:#64748b;font-size:.85rem;font-variant-numeric:tabular-nums;font-weight:700}.daily-schedule-section .daily-journal-slot .course-details .course-title-display{color:#f1f5f9;font-size:1rem;font-weight:700}.daily-schedule-section .daily-journal-slot .course-details .course-room-display{color:#64748b;font-size:.8rem;margin-left:.5rem}.daily-schedule-section .daily-journal-slot.is-cancelled{background:#ef44440d;border-left-color:#ef4444!important}.daily-schedule-section .daily-journal-slot.is-cancelled .course-class-display{color:#ef4444;text-decoration:line-through}.daily-schedule-section .daily-journal-slot.is-interro{background:#8b5cf60d;border-left-color:#8b5cf6!important}@media(max-width:768px){.daily-schedule-section,.daily-schedule-section .daily-journal-slot{padding:1rem}}.journal-entry-preview{border-top:1px solid #ffffff12;font-size:.8rem;padding-top:.5rem}.journal-entry-preview.actual-work .preview-text{color:#22c55e}.journal-entry-preview.planned-work .preview-text{color:#64748b;font-style:italic}.holiday-info{align-items:center;display:flex;flex-direction:column;gap:.5rem;padding:2rem 1rem;text-align:center}.holiday-info .holiday-icon{font-size:2rem}.holiday-info .holiday-name{color:#f59e0b;font-size:1.1rem;font-weight:700}.stats-grid{grid-gap:1.5rem;display:grid;gap:1.5rem;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));margin-top:2rem}.stats-grid .stat-card{align-items:center;background:#111827;border:1px solid #ffffff12;border-radius:1.25rem;cursor:pointer;display:flex;gap:1.25rem;padding:1.5rem;transition:all .3s cubic-bezier(.4,0,.2,1)}.stats-grid .stat-card:hover{background:#1a2235;border-color:#ffffff1f;box-shadow:0 12px 30px #0006;transform:translateY(-5px)}.stats-grid .stat-card .stat-icon{align-items:center;background:#ffffff08;border-radius:10px;display:flex;flex-shrink:0;font-size:2rem;height:50px;justify-content:center;width:50px}.stats-grid .stat-card .stat-info{display:flex;flex-direction:column}.stats-grid .stat-card .stat-info .stat-value{color:#f5f5f5;font-size:1.5rem;font-weight:700;line-height:1}.stats-grid .stat-card .stat-info .stat-label{color:#636e72;font-size:.85rem;letter-spacing:.5px;margin-top:.25rem;text-transform:uppercase}.stats-grid .stat-card.primary{border-left:4px solid #0d9488}.stats-grid .stat-card.primary .stat-icon{color:#14b8a6}.stats-grid .stat-card.info{border-left:4px solid #22d3ee}.stats-grid .stat-card.info .stat-icon{color:#22d3ee}.stats-grid .stat-card.warning{border-left:4px solid #f59e0b}.stats-grid .stat-card.warning .stat-icon{color:#f59e0b}.stats-grid .stat-card.success{border-left:4px solid #5ba85b}.stats-grid .stat-card.success .stat-icon{color:#22c55e}@media(max-width:1024px){.stats-grid{gap:.8rem;grid-template-columns:repeat(2,1fr)}}@media(max-width:768px){.stats-grid{gap:.75rem;grid-template-columns:1fr}}.archive-banner{align-items:center;background:#f59e0b14;border:1px solid #f59e0b33;border-radius:1rem;color:#f59e0b;display:flex;gap:1rem;margin-bottom:1.5rem;padding:1.25rem}.archive-banner .icon{font-size:1.5rem}.archive-banner .banner-text strong{font-size:1rem}.archive-banner .banner-text p{font-size:.85rem;margin:0;opacity:.8}.no-journal-container{align-items:center;display:flex;justify-content:center;min-height:60vh}.no-journal-container .error-card{background:#111827;border:1px solid #ffffff12;border-radius:1.25rem;box-shadow:0 20px 50px #00000080;max-width:500px;padding:4rem 2rem;text-align:center}.no-journal-container .error-card .error-icon-wrapper{color:#ef4444;font-size:4rem;margin-bottom:1.5rem}.no-journal-container .error-card h2{color:#f1f5f9;font-weight:800}.no-journal-container .error-card p{color:#64748b;margin-bottom:2rem}@media(max-width:1024px){.dashboard-content{gap:1.5rem;grid-template-columns:1fr}.stats-grid{gap:.8rem;grid-template-columns:repeat(2,1fr)}}@media(max-width:768px){.dashboard-page{padding:1rem}.dashboard-header{margin-bottom:1.5rem}.dashboard-header h1{font-size:2rem}.stats-grid{gap:1rem;grid-template-columns:1fr}.daily-schedule-section,.note-section{padding:1rem}.note-header{gap:.5rem;grid-template-columns:1fr}.note-header .note-category,.note-header .note-date,.note-header .note-location,.note-header .note-time{justify-self:start;text-align:left;white-space:normal}}.notes-section{background:#111827;border:1px solid #ffffff12;border-radius:1rem;display:flex;flex-direction:column;gap:1.5rem;padding:1.75rem}.notes-section h2{align-items:center;color:#f1f5f9;display:flex;font-size:1.1rem;font-weight:700;gap:.75rem}.notes-section h2:before{background:#0d9488;border-radius:2px;content:"";flex-shrink:0;height:1.2rem;width:4px}.note-input-area,.note-item-edit-form{background:#1a2235;border:1px solid #ffffff12;border-radius:1rem;display:flex;flex-direction:column;gap:1rem;margin-bottom:2rem;padding:1.25rem}.note-input-area textarea,.note-item-edit-form textarea{background:#0000;border:none;border-bottom:1px solid #ffffff12;color:#f1f5f9;font-family:inherit;font-size:.95rem;min-height:60px;padding:.5rem 0;resize:none;width:100%}.note-input-area textarea::placeholder,.note-item-edit-form textarea::placeholder{color:#64748b}.note-input-area textarea:focus,.note-item-edit-form textarea:focus{border-bottom-color:#0d9488;outline:none}.note-input-area .note-controls,.note-input-area .note-form-grid,.note-item-edit-form .note-controls,.note-item-edit-form .note-form-grid{grid-gap:.75rem;align-items:center;display:grid;gap:.75rem}.note-input-area .note-controls input,.note-input-area .note-controls select,.note-input-area .note-form-grid input,.note-input-area .note-form-grid select,.note-item-edit-form .note-controls input,.note-item-edit-form .note-controls select,.note-item-edit-form .note-form-grid input,.note-item-edit-form .note-form-grid select{background:#232f42;border:1px solid #ffffff12;border-radius:.625rem;box-sizing:border-box;color:#f1f5f9;font-size:.85rem;height:38px;outline:none;padding:.5rem;transition:border-color .2s;width:100%}.note-input-area .note-controls input:focus,.note-input-area .note-controls select:focus,.note-input-area .note-form-grid input:focus,.note-input-area .note-form-grid select:focus,.note-item-edit-form .note-controls input:focus,.note-item-edit-form .note-controls select:focus,.note-item-edit-form .note-form-grid input:focus,.note-item-edit-form .note-form-grid select:focus{border-color:#0d9488}@media(max-width:768px){.note-input-area .note-controls,.note-input-area .note-form-grid,.note-item-edit-form .note-controls,.note-item-edit-form .note-form-grid{grid-template-columns:1fr 1fr}}@media(max-width:480px){.note-input-area .note-controls,.note-input-area .note-form-grid,.note-item-edit-form .note-controls,.note-item-edit-form .note-form-grid{grid-template-columns:1fr}}.note-input-area .state-select,.note-item-edit-form .state-select{background:#232f42;border:1px solid #ffffff12;border-radius:.625rem;box-sizing:border-box;color:#f1f5f9;cursor:pointer;font-size:.85rem;font-weight:600;outline:none;padding:.5rem;transition:border-color .2s;width:100%}.note-input-area .state-select:focus,.note-item-edit-form .state-select:focus{border-color:#0d9488}.note-input-area .state-select option,.note-item-edit-form .state-select option{background:#1a2235;color:#fff}.note-input-area .state-select option[value=todo],.note-item-edit-form .state-select option[value=todo]{color:#f59e0b}.note-input-area .state-select option[value=cap],.note-item-edit-form .state-select option[value=cap]{color:#10b981}.note-input-area .state-select option[value=conseil-de-classe],.note-item-edit-form .state-select option[value=conseil-de-classe]{color:#16a2f9}.note-input-area .state-select option[value=réunions-de-parents],.note-item-edit-form .state-select option[value=réunions-de-parents]{color:#ef4444}.note-input-area .state-select option[value=autre],.note-item-edit-form .state-select option[value=autre]{color:#64748b}.note-input-area .state-select.state-todo,.note-item-edit-form .state-select.state-todo{border-color:#f59e0b80;color:#f59e0b}.note-input-area .state-select.state-cap,.note-item-edit-form .state-select.state-cap{border-color:#10b98180;color:#10b981}.note-input-area .state-select.state-conseil-de-classe,.note-item-edit-form .state-select.state-conseil-de-classe{border-color:#16a2f980;color:#16a2f9}.note-input-area .state-select.state-réunions-de-parents,.note-item-edit-form .state-select.state-réunions-de-parents{border-color:#ef444480;color:#ef4444}.note-input-area .state-select.state-autre,.note-item-edit-form .state-select.state-autre{border-color:#ffffff12;color:#64748b}.add-note-btn{align-self:flex-end;background:#0d9488;border:none;border-radius:.625rem;color:#fff;cursor:pointer;font-size:.9rem;font-weight:700;padding:.6rem 1.5rem;transition:background .2s,opacity .2s}.add-note-btn:hover:not(:disabled){background:#14b8a6}.add-note-btn:disabled{background:#232f42;cursor:not-allowed;opacity:.45}.note-actions.form-group{display:flex;gap:.75rem;justify-content:flex-end}.note-actions.form-group .btn-actions{align-items:center;border:none;border-radius:.625rem;cursor:pointer;display:flex;font-size:.9rem;font-weight:600;gap:.5rem;padding:.6rem 1.2rem;transition:all .2s ease}.note-actions.form-group .btn-actions.save-btn{background:#0d9488;color:#fff}.note-actions.form-group .btn-actions.save-btn:hover{background:#14b8a6}.note-actions.form-group .btn-actions.cancel-btn{background:#ffffff0d;color:#64748b}.note-actions.form-group .btn-actions.cancel-btn:hover{background:#ffffff1a}.notes-list-container{display:flex;flex-direction:column;gap:.75rem;max-height:500px;overflow-y:auto;padding-right:4px;scrollbar-color:#ffffff1a #0000;scrollbar-width:thin}.notes-list-container::-webkit-scrollbar{width:4px}.notes-list-container::-webkit-scrollbar-thumb{background:#ffffff12;border-radius:4px}.note-item{background:#ffffff08;border-left:4px solid #6b7280;border-radius:.625rem;display:flex;gap:1rem;justify-content:space-between;padding:1rem;transition:all .2s ease}.note-item:hover{background:#ffffff0d}.note-item:hover .note-actions-buttons{opacity:1;pointer-events:auto}.note-item.state-todo{border-left-color:#f59e0b}.note-item.state-todo .note-category{background:#f59e0b33;color:#f59e0b}.note-item.state-cap{border-left-color:#10b981}.note-item.state-cap .note-category{background:#10b98133;color:#10b981}.note-item.state-conseil-de-classe{border-left-color:#16a2f9}.note-item.state-conseil-de-classe .note-category{background:#16a2f933;color:#16a2f9}.note-item.state-réunions-de-parents{border-left-color:#ef4444}.note-item.state-réunions-de-parents .note-category{background:#ef444433;color:#ef4444}.note-item .note-content-wrapper{flex:1 1;min-width:0}.note-item .note-content-wrapper .note-header{align-items:center;color:#94a3b8;display:flex;flex-wrap:wrap;font-size:.75rem;gap:.5rem;margin-bottom:.5rem}.note-item .note-content-wrapper .note-header .note-category{border-radius:4px;font-size:.65rem;font-weight:800;letter-spacing:.04em;padding:2px 8px;text-transform:uppercase}.note-item .note-content-wrapper .note-header .note-date,.note-item .note-content-wrapper .note-header .note-location,.note-item .note-content-wrapper .note-header .note-time{align-items:center;display:flex;gap:3px}.note-item .note-content-wrapper .note-text{color:#f1f5f9;font-size:.95rem;line-height:1.4;white-space:pre-wrap;word-break:break-word}.note-item .note-actions-buttons{align-items:flex-start;display:flex;flex-shrink:0;gap:.4rem;opacity:0;pointer-events:none;transition:opacity .2s}.edit-note-btn{align-items:center;background:#6495ed26;border:none;border-radius:6px;color:#6495ed;cursor:pointer;display:flex;margin-right:4px;padding:6px;transition:all .2s ease}.edit-note-btn:hover{background:var(--accent-blue);color:#fff}.delete-note-btn{align-items:center;background:#ef44441a;border:none;border-radius:6px;color:#ef4444;cursor:pointer;display:flex;padding:6px;transition:all .2s ease}.delete-note-btn:hover{background:#ef4444;color:#fff}@media(max-width:768px){.notes-section{padding:1.25rem}.note-item{flex-direction:column}.note-item .note-actions-buttons{flex-direction:row;opacity:1;pointer-events:auto}}.horaire-container{background-color:#0a0e17;color:#f1f5f9;display:flex;flex-direction:column;height:100vh;overflow:hidden;padding:.75rem 1rem}.horaire-container .horaire-header{align-items:center;display:flex;flex-shrink:0;justify-content:space-between;margin-bottom:.75rem}.horaire-container .horaire-header .title-wrapper{align-items:center;display:flex;gap:.75rem}.horaire-container .horaire-header .title-wrapper .header-icon{background:#0d94881a;border-radius:8px;color:#14b8a6;padding:.4rem}.horaire-container .horaire-header .title-wrapper h1{-webkit-text-fill-color:#0000;background:linear-gradient(90deg,#fff,#14b8a6);-webkit-background-clip:text;font-size:1.3rem;font-weight:800;margin:0}.select-container .custom-select-wrapper{align-items:center;display:flex;min-width:220px;position:relative}.select-container .custom-select-wrapper .custom-select{-webkit-appearance:none;appearance:none;background:#1a2235;border:1px solid #ffffff12;border-radius:8px;box-shadow:0 4px 6px -1px #0003;color:#f1f5f9;cursor:pointer;font-size:.85rem;font-weight:500;padding:.5rem 2.5rem .5rem 1rem;transition:all .2s ease;width:100%}.select-container .custom-select-wrapper .custom-select:hover{background:#232f42;border-color:#14b8a64d}.select-container .custom-select-wrapper .custom-select:focus{border-color:#14b8a6;box-shadow:0 0 0 3px #0d948826;outline:none}.select-container .custom-select-wrapper .custom-select option{background:#1a2235;color:#f1f5f9;padding:10px}.select-container .custom-select-wrapper .select-arrow{color:#14b8a6;height:16px;pointer-events:none;position:absolute;right:.8rem;width:16px}.horaire-grid-card{background:#111827;border:1px solid #ffffff12;border-radius:16px;display:flex;flex-direction:column;flex-grow:1;min-height:0;padding:.5rem}.horaire-grid-card .grid-responsive-wrapper{border-radius:4px;height:100%;overflow:auto}.horaire-grid-card .grid-responsive-wrapper::-webkit-scrollbar{height:6px;width:6px}.horaire-grid-card .grid-responsive-wrapper::-webkit-scrollbar-track{background:#0000}.horaire-grid-card .grid-responsive-wrapper::-webkit-scrollbar-thumb{background:#232f42;border-radius:10px}.horaire-grid{grid-gap:1px;background:#ffffff12;display:grid;gap:1px;grid-auto-rows:minmax(80px,1fr);min-width:1000px}.horaire-grid .grid-header-cell{background:#1a2235;border-bottom:1px solid #ffffff12;box-shadow:1px 0 0 0 #ffffff12;font-size:.7rem;font-weight:700;padding:.5rem;position:-webkit-sticky;position:sticky;text-align:center;text-transform:uppercase;top:0;z-index:20}.horaire-grid .time-label-cell{align-items:center;background:#1a2235;color:#64748b;display:flex;font-family:JetBrains Mono,monospace;font-size:1rem;justify-content:center;left:0;position:-webkit-sticky;position:sticky;z-index:5}.horaire-grid .slot-cell{background:#111827;display:flex;padding:3px}.horaire-grid .slot-cell .empty-mark{background:#64748b33;border-radius:50%;height:4px;margin:auto;width:4px}.assignment-card{backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);background:#1a223566;background:var(--course-bg,#1a223566);border:1px solid #ffffff12;border:1px solid var(--course-color,#ffffff12);border-radius:6px;display:flex;flex:1 1;flex-direction:column;gap:2px;overflow:hidden;padding:6px 8px;position:relative;transition:all .2s ease;width:100%}.assignment-card:hover{background:#1a223599;background:var(--course-bg-hover,#1a223599);box-shadow:0 4px 12px #0000004d;transform:translateY(-1px)}.assignment-card:before{background:#0d9488;background:var(--course-color,#0d9488);bottom:0;box-shadow:2px 0 10px #0d94884d;box-shadow:2px 0 10px var(--course-glow,#0d94884d);content:"";left:0;position:absolute;top:0;width:3px}.assignment-card .subject-name{color:#f1f5f9;color:var(--course-color,#f1f5f9);filter:brightness(1.3);font-size:.75rem;font-weight:800;line-height:1.2;text-shadow:0 0 10px #0000;text-shadow:0 0 10px var(--course-glow,#0000);word-break:break-word}.assignment-card .assignment-meta{display:flex;flex-direction:column;gap:1px;margin-top:auto}.assignment-card .assignment-meta .meta-item{align-items:center;color:#fff9;display:flex;font-size:.8rem;gap:4px}.assignment-card .assignment-meta .meta-item svg{color:var(--course-color);height:10px;opacity:.8;width:10px}.horaire-loader-container{align-items:center;color:#14b8a6;display:flex;flex-direction:column;gap:1rem;height:100vh;justify-content:center}.horaire-loader-container .spinner{animation:spin 1s linear infinite}@keyframes shimmer{0%{background-position:-200%}to{background-position:200%}}@keyframes pulseRing{0%,to{box-shadow:0 0 0 0 #0d948859}50%{box-shadow:0 0 0 4px #0000}}.journal-container{animation:fadeSlideIn .35s ease both;background-color:#0a0e17;background-image:linear-gradient(hsla(0,0%,100%,.015) 1px,#0000 0),linear-gradient(90deg,hsla(0,0%,100%,.015) 1px,#0000 0);background-size:40px 40px;min-height:100vh;padding:2rem;position:relative}.journal-loading,.loading-state{align-items:center;color:#94a3b8;display:flex;flex-direction:column;font-size:.95rem;gap:1rem;justify-content:center;min-height:40vh}.journal-loading .spinner,.loading-state .spinner{animation:spin .8s linear infinite;color:#14b8a6;height:28px;width:28px}.journal-header{align-items:center;border-bottom:1px solid #ffffff12;display:flex;gap:1rem;margin-bottom:2rem;padding-bottom:1.5rem}.journal-header .journal-title{align-items:center;display:flex;gap:.75rem}.journal-header .journal-title svg{color:#14b8a6;flex-shrink:0}.journal-header .journal-title h1{-webkit-text-fill-color:#0000;background:linear-gradient(135deg,#f1f5f9 60%,#14b8a6);-webkit-background-clip:text;background-clip:text;font-size:1.6rem;font-weight:700;letter-spacing:-.02em;margin:0}.no-journal-selected{align-items:center;color:#64748b;display:flex;flex-direction:column;gap:1rem;padding:4rem;text-align:center}.no-journal-selected svg{color:#0d948826;opacity:.5}.no-journal-selected p{font-size:1rem}.no-courses-day{color:#64748b;font-size:.8rem;font-style:italic;padding:12px;text-align:center}.error-box{align-items:center;background:#f59e0b14;border:1px solid #f59e0b40;border-radius:.625rem;color:#f59e0b;display:flex;font-size:.9rem;gap:.75rem;line-height:1.5;padding:1.25rem 1.5rem}.error-box svg{flex-shrink:0}.journal-view{animation:fadeSlideIn .3s ease both;display:flex;flex-direction:column;gap:1.75rem}.journal-controls{align-items:center;background:#1a2235;border:1px solid #ffffff12;border-radius:1rem;display:flex;flex-wrap:wrap;gap:1.5rem;padding:.875rem 1.25rem}.journal-controls .week-navigation{align-items:center;display:flex;gap:.375rem}.journal-controls .nav-btn{align-items:center;background:#232f42;border:1px solid #ffffff12;border-radius:.375rem;color:#94a3b8;cursor:pointer;display:inline-flex;font-weight:600;gap:.4rem;height:34px;justify-content:center;transition:all .18s ease;width:34px}.journal-controls .nav-btn svg{display:block}.journal-controls .nav-btn:hover:not(:disabled){background:#0d948826;border-color:#0d9488;color:#14b8a6}.journal-controls .nav-btn:disabled{cursor:not-allowed;opacity:.35}.journal-controls .today-btn{align-items:center;background:#0d9488;border:none;border-radius:.375rem;color:#fff;cursor:pointer;display:inline-flex;font-size:.85rem;font-weight:600;gap:.4rem;height:34px;letter-spacing:.02em;padding:0 1rem;transition:all .18s ease}.journal-controls .today-btn:hover{background:#14b8a6;box-shadow:0 4px 12px #0d948859;transform:translateY(-1px)}.journal-controls .current-range{align-items:center;color:#94a3b8;display:flex;font-size:.9rem;font-weight:500;gap:.5rem;margin-left:auto}.journal-controls .current-range svg{color:#0d9488;flex-shrink:0}.journal-controls .schedule-indicator{align-items:center;background:#22d3ee1f;border:1px solid #22d3ee33;border-radius:999px;color:#94a3b8;display:flex;font-size:.8rem;gap:.5rem;padding:.375rem .75rem;white-space:nowrap}.journal-controls .schedule-indicator svg{color:#22d3ee}.journal-controls .schedule-indicator strong{color:#22d3ee;font-weight:600}.journal-content{display:flex;flex-direction:column;gap:1.75rem}.weekly-section{background:#111827;border:1px solid #ffffff12;border-radius:1.25rem;overflow:hidden;padding:1.5rem}.weekly-section h2{align-items:center;color:#94a3b8;display:flex;font-size:1rem;font-weight:700;gap:.5rem;letter-spacing:.08em;margin:0 0 1.25rem;text-transform:uppercase}.weekly-section h2:before{background:#0d9488;border-radius:2px;content:"";display:block;height:1em;width:3px}.days-grid{grid-gap:1rem;align-items:start;display:grid;gap:1rem;grid-template-columns:repeat(auto-fit,minmax(200px,1fr))}.day-column{animation:fadeSlideIn .3s ease both;display:flex;flex-direction:column;gap:.75rem}.day-column:first-child{animation-delay:0s}.day-column:nth-child(2){animation-delay:.06s}.day-column:nth-child(3){animation-delay:.12s}.day-column:nth-child(4){animation-delay:.18s}.day-column:nth-child(5){animation-delay:.24s}.day-column .day-header{align-items:center;background:#1a2235;border:1px solid #ffffff12;border-radius:.625rem;display:flex;flex-direction:column;padding:.75rem .875rem;text-align:center}.day-column .day-header .day-name{color:#14b8a6;font-size:.65rem;font-weight:700;letter-spacing:.15em;text-transform:uppercase}.day-column .day-header .day-date{color:#f1f5f9;font-size:1.25rem;font-weight:800}.day-column .day-body{display:flex;flex-direction:column;gap:.625rem}.day-column.is-holiday-day .day-header{background:linear-gradient(135deg,#f59e0b33,#f59e0b14);border-color:#f59e0b4d}.day-column.is-holiday-day .day-header .day-name{color:#f59e0b}.holiday-card{align-items:center;background:#f59e0b08;border:1px dashed #f59e0b40;border-radius:.625rem;display:flex;flex-direction:column;gap:.5rem;justify-content:center;min-height:5rem;padding:2rem 1rem;text-align:center}.holiday-card .holiday-icon{font-size:1.75rem;line-height:1}.holiday-card .holiday-name{color:#f59e0b;font-size:.8rem;font-weight:600;line-height:1.3}.journal-slot{--subject-color:#0d9488;background:#1a2235;border:1px solid #ffffff12;border-left:4px solid var(--subject-color);border-radius:.625rem;cursor:pointer;display:flex;flex-direction:column;gap:.7rem;min-height:72px;overflow:hidden;padding:1rem;position:relative;transition:all .2s cubic-bezier(.4,0,.2,1)}.journal-slot:after{background:linear-gradient(90deg,#0000,#ffffff0f,#0000);content:"";height:1px;inset:0 0 auto;pointer-events:none;position:absolute}.journal-slot:hover{background:#232f42;box-shadow:0 10px 24px #0006,0 0 0 1px #ffffff1f;transform:translateY(-3px)}.journal-slot .course-header-row,.journal-slot .slot-meta{align-items:center;display:flex;gap:.5rem;justify-content:space-between}.journal-slot .course-time,.journal-slot .slot-time{font-feature-settings:"tnum";color:#64748b;font-size:.72rem;font-variant-numeric:tabular-nums;font-weight:600;letter-spacing:.04em}.journal-slot .course-class-badge,.journal-slot .slot-badge{border-radius:4px;flex-shrink:0;font-size:.68rem;font-weight:800;letter-spacing:.05em;padding:2px 8px;text-transform:uppercase;white-space:nowrap}.journal-slot .course-summary,.journal-slot .slot-content{display:flex;flex-direction:column;gap:.3rem}.journal-slot .course-subject,.journal-slot .slot-subject{color:#f1f5f9;font-size:.95rem;font-weight:700;line-height:1.25}.journal-slot .course-room,.journal-slot .slot-room{align-items:center;color:#64748b;display:flex;font-size:.75rem;gap:5px;margin-top:2px}.journal-slot .course-room svg,.journal-slot .slot-room svg{color:var(--subject-color);opacity:.7}.journal-slot .slot-footer{align-items:center;border-top:1px solid #ffffff12;display:flex;margin-top:.3rem;min-height:28px;padding-top:.6rem}.journal-slot .slot-footer .slot-preview{align-items:center;display:flex;font-size:.78rem;gap:6px;width:100%}.journal-slot .slot-footer .slot-preview .status-icon{flex-shrink:0;opacity:.7}.journal-slot .slot-footer .slot-preview .preview-text{line-height:1.4;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.journal-slot .slot-footer .slot-preview.is-actual{color:#22c55e;font-weight:500}.journal-slot .slot-footer .slot-preview.is-actual .status-icon{color:#22c55e}.journal-slot .slot-footer .slot-preview.is-actual .interro-label{color:#8b5cf6;font-weight:700}.journal-slot .slot-footer .slot-preview.is-planned{color:#64748b;font-style:italic;opacity:.8}.journal-slot .slot-footer .slot-preview.is-planned .status-icon{color:#64748b}.journal-slot .slot-footer .status-tag{border-radius:4px;font-size:.65rem;font-weight:800;padding:2px 6px;text-transform:uppercase}.journal-slot .slot-footer .status-tag.tag-red{background:#ef444426;color:#ef4444}.journal-slot .slot-footer .status-tag.tag-amber{background:#f59e0b26;color:#f59e0b}.journal-slot .slot-footer .add-hint{color:#64748b;font-size:.7rem;opacity:.4}.journal-slot .entry-preview{align-items:center;border-top:1px solid #ffffff12;display:flex;gap:.5rem;margin-top:.25rem;min-height:24px;padding-top:.6rem}.journal-slot .entry-preview .interro-dot{background:#8b5cf6;border-radius:50%;box-shadow:0 0 10px #8b5cf699;flex-shrink:0;height:8px;width:8px}.journal-slot .entry-preview .interro-badge{color:#8b5cf6;flex-shrink:0;font-size:.68rem;font-weight:700;letter-spacing:.05em;text-transform:uppercase}.journal-slot .entry-preview .preview-text{color:#94a3b8;color:var(--text-muted);font-size:.78rem;font-style:italic;line-height:1.4;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.journal-slot .entry-preview.planned-work .preview-text{color:#64748b;font-style:italic}.journal-slot .entry-preview.actual-work .preview-text{color:#22c55e;font-weight:500}.journal-slot .entry-preview .status-tag{border-radius:4px;font-size:.65rem;font-weight:800;padding:2px 6px;text-transform:uppercase}.journal-slot .entry-preview .status-tag.tag-red{background:#ef444426;color:#ef4444}.journal-slot .entry-preview .status-tag.tag-amber{background:#f59e0b26;color:#f59e0b}.journal-slot .entry-preview .add-hint{color:#64748b;font-size:.7rem;opacity:.4}.journal-slot .status-display{align-items:center;display:flex;flex-direction:column;gap:.3rem;justify-content:center;padding:.25rem 0;text-align:center}.journal-slot .status-display>span{font-size:1.4rem;line-height:1}.journal-slot .status-display .status-label{font-size:.72rem;font-weight:800;letter-spacing:.1em;text-transform:uppercase}.journal-slot .status-display .status-reason{color:#64748b;font-size:.72rem;line-height:1.3}.journal-slot .status-display.cancelled-display .status-label{color:#ef4444}.journal-slot .status-display.exam-display .status-label,.journal-slot .status-display.holiday-display .status-label{color:#f59e0b}.journal-slot.is-cancelled{background:linear-gradient(135deg,#ef44441f,#1a2235);border-left-color:#ef4444!important;filter:grayscale(.3);opacity:.85}.journal-slot.is-exam{background:linear-gradient(135deg,#f59e0b1f,#1a2235);border-left-color:#f59e0b!important;border-left-width:6px}.journal-slot.is-holiday-slot{background:linear-gradient(135deg,#f59e0b14,#1a2235);border-left-color:#f59e0b!important}.journal-slot.is-interro{background:linear-gradient(135deg,#8b5cf61f,#1a2235);border-left-color:#8b5cf6!important}.cancel-reason-text{color:#94a3b8;color:var(--text-muted);font-size:.75rem;font-style:italic;margin-left:4px}.assignments-section{background:#111827;border:1px solid #ffffff12;border-radius:1.25rem;margin-top:2rem;padding:1.5rem}.assignments-section .assignments-header{align-items:center;display:flex;gap:1rem;justify-content:space-between;margin-bottom:1.25rem}.assignments-section .assignments-header h2{align-items:center;color:#94a3b8;display:flex;font-size:1rem;font-weight:700;gap:.5rem;letter-spacing:.08em;margin:0 0 1.25rem;text-transform:uppercase}.assignments-section .assignments-header h2:before{background:#22d3ee;border-radius:2px;content:"";display:block;height:1em;width:3px}.assignments-section .assignments-header .btn-primary{align-items:center;background:#0d9488;border:none;border-radius:.375rem;color:#fff;cursor:pointer;display:inline-flex;font-size:.82rem;font-weight:600;gap:.4rem;letter-spacing:.02em;padding:.45rem 1rem;transition:all .18s ease;white-space:nowrap}.assignments-section .assignments-header .btn-primary svg{flex-shrink:0}.assignments-section .assignments-header .btn-primary:hover{background:#14b8a6;box-shadow:0 4px 12px #0d948859;transform:translateY(-1px)}.assignments-section .empty-note,.assignments-section .loading-small{border:1px dashed #ffffff12;border-radius:.625rem;color:#64748b;font-size:.88rem;padding:2rem 1rem;text-align:center}.assignments-section .assignment-list{display:flex;flex-direction:column;gap:.625rem}.assignments-section .assignment-item{align-items:center;animation:fadeSlideIn .25s ease both;background:#1a2235;border:1px solid #ffffff12;border-radius:.625rem;display:flex;gap:.875rem;padding:.875rem 1rem;transition:all .18s ease}.assignments-section .assignment-item:hover{background:#232f42;border-color:#ffffff1f}.assignments-section .assignment-item.fully-done{opacity:.5}.assignments-section .assignment-item.fully-done .assignment-details small,.assignments-section .assignment-item.fully-done .assignment-details strong{text-decoration:line-through}.assignments-section .assignment-item .check-btn{align-items:center;background:none;border:none;color:#64748b;cursor:pointer;display:flex;flex-shrink:0;justify-content:center;padding:0;transition:color .15s}.assignments-section .assignment-item .check-btn:hover:not(:disabled){color:#14b8a6}.assignments-section .assignment-item .check-btn:disabled{cursor:not-allowed;opacity:.4}.assignments-section .assignment-item .assignment-details{flex:1 1;min-width:0}.assignments-section .assignment-item .assignment-details strong{align-items:center;color:#f1f5f9;display:flex;font-size:.9rem;font-weight:600;gap:.5rem;margin-bottom:.2rem}.assignments-section .assignment-item .assignment-details small{color:#64748b;display:block;font-size:.78rem}.assignments-section .assignment-item .assignment-details .assign-desc{-webkit-line-clamp:2;-webkit-box-orient:vertical;color:#94a3b8;display:-webkit-box;font-size:.78rem;line-height:1.4;margin:.25rem 0 0;overflow:hidden}.assignments-section .assignment-item .type-badge{background:#0d948826;border:1px solid #0d948840;border-radius:999px;color:#14b8a6;font-size:.68rem;font-weight:700;letter-spacing:.06em;padding:.15rem .5rem;text-transform:uppercase;white-space:nowrap}.assignments-section .assignment-item .corrected-label{align-items:center;border-left:1px solid #ffffff12;color:#64748b;cursor:pointer;display:flex;font-size:.75rem;gap:.4rem;padding:.3rem .6rem;white-space:nowrap}.assignments-section .assignment-item .corrected-label input[type=checkbox]{accent-color:#14b8a6;cursor:pointer}.assignments-section .assignment-item .btn-icon{align-items:center;background:#232f42;border:1px solid #ffffff12;border-radius:.375rem;color:#94a3b8;cursor:pointer;display:flex;flex-shrink:0;height:30px;justify-content:center;transition:all .15s;width:30px}.assignments-section .assignment-item .btn-icon:hover{background:#22d3ee1f;border-color:#22d3ee4d;color:#22d3ee}.modal-overlay{align-items:flex-start;animation:fadeSlideIn .2s ease both;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#000000b3;display:flex;inset:0;justify-content:center;padding:1rem;padding-top:calc(var(--modal-offset) - 10rem);position:absolute;z-index:1000}.modal{animation:fadeSlideIn .25s ease both;background:#111827;border:1px solid #ffffff1f;border-radius:1.25rem;box-shadow:0 30px 64px #0009,0 0 0 1px #ffffff0a;display:flex;flex-direction:column;max-height:90vh;max-width:520px;overflow:hidden;width:100%}.modal:before{background:linear-gradient(90deg,#0d9488,#22d3ee,#0000);content:"";display:block;flex-shrink:0;height:3px}.modal-header{align-items:center;display:flex;flex-shrink:0;justify-content:space-between;padding:1.25rem 1.5rem 1rem}.modal-header h3{color:#f1f5f9;font-size:1rem;font-weight:700;line-height:1.3;margin:0}.modal-close{align-items:center;background:#232f42;border:1px solid #ffffff12;border-radius:.375rem;color:#64748b;cursor:pointer;display:flex;flex-shrink:0;height:30px;justify-content:center;transition:all .15s;width:30px}.modal-close:hover{background:#ef44441f;border-color:#ef44444d;color:#ef4444}.modal-body{flex:1 1;overflow-y:auto;padding:1rem 1.5rem 1.25rem;width:90%}.modal-body::-webkit-scrollbar{width:4px}.modal-body::-webkit-scrollbar-track{background:#0000}.modal-body::-webkit-scrollbar-thumb{background:#232f42;border-radius:2px}.modal-footer{align-items:center;background:#1a2235;border-top:1px solid #ffffff12;display:flex;flex-shrink:0;gap:.75rem;justify-content:flex-end;padding:1rem 1.5rem}.modal-footer .btn-primary{align-items:center;background:#0d9488;border:none;border-radius:.375rem;color:#fff;cursor:pointer;display:inline-flex;font-size:.85rem;font-weight:600;gap:.4rem;padding:.55rem 1.25rem;transition:all .18s ease}.modal-footer .btn-primary:hover:not(:disabled){background:#14b8a6;box-shadow:0 4px 12px #0d948859;transform:translateY(-1px)}.modal-footer .btn-primary:disabled{cursor:not-allowed;opacity:.4}.modal-footer .btn-secondary{align-items:center;background:#232f42;border:1px solid #ffffff12;border-radius:.375rem;color:#94a3b8;cursor:pointer;display:inline-flex;font-size:.85rem;font-weight:600;gap:.4rem;padding:.55rem 1.25rem;transition:all .18s ease}.modal-footer .btn-secondary:hover{background:#1a2235;border-color:#ffffff1f;color:#f1f5f9}.modal-footer .btn-danger{align-items:center;background:#0000;border:1px solid #ef44444d;border-radius:.375rem;color:#ef4444;cursor:pointer;display:inline-flex;font-size:.85rem;font-weight:600;gap:.4rem;margin-right:auto;padding:.55rem 1.25rem;transition:all .18s ease}.modal-footer .btn-danger:hover{background:#ef44441f;border-color:#ef4444}.btn-validate-planned{align-items:center;background:#22c55e1a;border:1px solid #22c55e4d;border-radius:4px;color:#22c55e;cursor:pointer;display:inline-flex;font-size:.72rem;font-weight:600;gap:.4rem;padding:.25rem .6rem;transition:all .2s ease}.btn-validate-planned:hover{background:#22c55e;box-shadow:0 2px 8px #22c55e66;color:#fff}.btn-validate-planned svg{flex-shrink:0}.form-group{display:flex;flex-direction:column;gap:.45rem;margin-bottom:1rem}.form-group label{color:#64748b;font-size:.78rem;font-weight:700;letter-spacing:.06em;text-transform:uppercase}.form-group input[type=text],.form-group select,.form-group textarea{background:#1a2235!important;border:1px solid #ffffff12!important;border-radius:.375rem!important;color:#f1f5f9!important;font-size:.9rem;line-height:1.4;padding:.6rem .75rem!important;resize:vertical;transition:border-color .15s;width:100%}.form-group input[type=text]::placeholder,.form-group select::placeholder,.form-group textarea::placeholder{color:#64748b}.form-group input[type=text]:focus,.form-group select:focus,.form-group textarea:focus{border-color:#0d9488!important;box-shadow:0 0 0 3px #0d948826!important;outline:none!important}.form-group textarea{min-height:80px}.form-group.checkbox-group{align-items:center;background:#1a2235;border:1px solid #ffffff12;border-radius:.375rem;cursor:pointer;flex-direction:row;gap:.6rem;margin-bottom:.75rem;padding:.6rem .75rem;transition:border-color .15s}.form-group.checkbox-group:hover{border-color:#0d9488}.form-group.checkbox-group input[type=checkbox]{accent-color:#14b8a6;background:none!important;border:none!important;box-shadow:none!important;flex-shrink:0;height:16px!important;margin:0!important;padding:0!important;width:16px!important}.form-group.checkbox-group label{color:#94a3b8;cursor:pointer;font-size:.85rem;font-weight:500;letter-spacing:0;margin:0;text-transform:none}select.status-select option[value=cancelled]{color:#ef4444}select.status-select option[value=exam],select.status-select option[value=holiday]{color:#f59e0b}.btn-reset-day{align-items:center;background:#0000;border:1px solid #e2e8f0;border-radius:6px;color:#64748b;cursor:pointer;display:flex;justify-content:center;padding:8px;transition:all .2s}.btn-reset-day:hover{background-color:#f1f5f9;border-color:#cbd5e1;color:#0f172a}.btn-reset-day:active{transform:scale(.95)}@media(max-width:1024px){.days-grid{gap:.75rem;grid-template-columns:repeat(auto-fit,minmax(160px,1fr))}}@media(max-width:768px){.journal-container{padding:1rem}.journal-header{flex-direction:column;gap:.5rem;padding:0 0 1rem;text-align:center}.journal-header h1{font-size:1.3rem}.journal-controls{flex-wrap:wrap;gap:.75rem;padding:.75rem}.journal-controls .current-range,.journal-controls .week-navigation{justify-content:center;width:100%}.journal-controls .current-range{margin-left:0;order:3}.journal-controls .schedule-indicator{justify-content:center;order:4;width:100%}.days-grid{grid-template-columns:1fr}.day-column{border:none;border-bottom:1px solid #ffffff12;min-width:100%;padding-bottom:1rem}.day-column:last-child{border-bottom:none}.day-column .day-header{border-radius:.5rem .5rem 0 0}.day-column.is-holiday-day .day-header{border-bottom:none}.holiday-card{border-radius:0 0 .5rem .5rem}.modal{border-radius:1rem 1rem 0 0;max-height:95vh;max-width:100%}.assignment-item{flex-wrap:wrap;gap:.5rem}.assignment-item .assignment-details{flex:1 1 200px;min-width:0}.assignment-item .corrected-label{border-left:none;padding-left:0}}.login-container{background-color:#0f172a;background-color:var(--bg-dark-blue);color:#fff;color:var(--text-light);display:grid;min-height:100vh;place-items:center;width:100%}.login-card{background:#1e293b;background:var(--bg-dark-secondary);border:1px solid #334155;border:1px solid var(--border-color);border-radius:1rem;box-shadow:0 10px 30px #00000080;height:auto;max-width:40rem;overflow:overlay;padding:2.5rem 3rem;text-align:center;transition:transform .2s ease,box-shadow .2s ease;width:90%}@media(max-width:768px){.login-card{padding:1.5rem}}.login-header{margin-bottom:2rem}.login-header h1{color:#fff;color:var(--text-light);font-size:2.2rem;font-weight:700;margin:0 0 .75rem}.login-header p{color:#94a3b8;color:var(--text-muted);font-size:1rem;margin:0}.login-form{display:flex;flex-direction:column;gap:1.25rem}.login-form .form-group{margin-bottom:0;text-align:left}.login-form .form-group label{color:#d1d5db;color:var(--text-secondary);display:block;font-size:.95rem;font-weight:500;margin-bottom:.5rem}.login-form .form-group input{background:#141414;background:var(--bg-dark-tertiary);border:1px solid #334155;border:1px solid var(--border-color);border-radius:.5rem;color:#fff;color:var(--text-light);font-size:1rem;padding:.85rem;transition:all .3s ease;width:95%}.login-form .form-group input:focus{border-color:#6297f1f0;border-color:var(--accent-blue);box-shadow:0 0 0 3px #3b82f61a;box-shadow:0 0 0 3px var(--blue-transparent-sm);outline:none}.login-form .remember-me-group{align-items:center;display:flex;gap:.5rem;margin-top:-.5rem}.login-form .remember-me-group input[type=checkbox]{-webkit-appearance:none;appearance:none;background-color:#141414;background-color:var(--bg-dark-tertiary);border:2px solid #334155;border:2px solid var(--border-color);border-radius:.25rem;cursor:pointer;height:1.2rem;position:relative;transition:background-color .2s ease,border-color .2s ease;width:1.2rem}.login-form .remember-me-group input[type=checkbox]:checked{background-color:#6297f1f0;background-color:var(--accent-blue);border-color:#6297f1f0;border-color:var(--accent-blue)}.login-form .remember-me-group input[type=checkbox]:checked:after{color:#fff;content:"✓";font-size:1rem;left:50%;position:absolute;top:50%;transform:translate(-50%,-50%)}.login-form .remember-me-group input[type=checkbox]:focus{box-shadow:0 0 0 3px #3b82f61a;box-shadow:0 0 0 3px var(--blue-transparent-sm)}.login-form .remember-me-group label{color:#d1d5db;color:var(--text-secondary);cursor:pointer;display:inline-block;margin:0}.login-form .login-btn{align-items:center;background:#6297f1f0;background:var(--accent-blue);border:none;border-radius:.5rem;box-shadow:0 4px 10px rgba(var(--accent-blue-rgb),.3);color:#fff;cursor:pointer;display:inline-flex;font-size:1.1rem;font-weight:500;font-weight:600;justify-content:center;margin-top:1.5rem;padding:.9rem;transition:all .3s ease;width:100%}.login-form .login-btn:hover{background:#4174ffde;background:var(--accent-dark-blue);box-shadow:0 6px 15px rgba(var(--accent-blue-rgb),.4);transform:translateY(-2px)}.register-container{background-color:#0f172a;background-color:var(--bg-dark-blue);color:#fff;color:var(--text-light);display:grid;min-height:100vh;place-items:center;width:100%}.register-card{background:#1e293b;background:var(--bg-dark-secondary);border:1px solid #334155;border:1px solid var(--border-color);border-radius:1rem;box-shadow:0 10px 30px #00000080;max-width:40rem;overflow:overlay;padding:2.5rem 3rem;text-align:center;transition:transform .2s ease,box-shadow .2s ease;width:90%}@media(max-width:768px){.register-card{padding:1.5rem}}.register-card h2{color:#fff;color:var(--text-light);font-size:2.2rem;font-weight:700;margin:0 0 2rem}.register-card form{display:flex;flex-direction:column;gap:1.5rem;margin-top:1rem}.register-card .input-group{text-align:left}.register-card .input-group label{color:#d1d5db;color:var(--text-secondary);display:block;font-size:.9rem;font-weight:600;letter-spacing:.05em;margin-bottom:.5rem;text-transform:uppercase}.register-card .input-group input{background:#141414;background:var(--bg-dark-tertiary);border:1px solid #334155;border:1px solid var(--border-color);border-radius:.5rem;box-sizing:border-box;color:#fff;color:var(--text-light);font-size:1rem;padding:1rem;transition:all .2s ease-in-out;width:100%}.register-card .input-group input::placeholder{color:#94a3b8;color:var(--text-muted)}.register-card .input-group input:focus{background:#1e293b;background:var(--bg-dark-secondary);border-color:#6297f1f0;border-color:var(--accent-blue);box-shadow:0 0 0 3px #3b82f61a;box-shadow:0 0 0 3px var(--blue-transparent-sm);outline:none}.register-card .register-button{align-items:center;background:#6297f1f0;background:var(--accent-blue);border:none;border-radius:.5rem;box-shadow:0 4px 10px rgba(var(--accent-blue-rgb),.3);color:#fff;cursor:pointer;display:inline-flex;font-size:1.1rem;font-weight:500;font-weight:600;justify-content:center;margin-top:1.5rem;padding:1rem;transition:all .3s ease;width:100%}.register-card .register-button:hover{background:#4174ffde;background:var(--accent-dark-blue);box-shadow:0 6px 15px rgba(var(--accent-blue-rgb),.4);transform:translateY(-2px)}.register-card>p{color:#94a3b8;color:var(--text-muted);margin-top:2rem}.register-card>p a{color:#6297f1f0;color:var(--accent-blue);font-weight:600;text-decoration:none}.register-card>p a:hover{text-decoration:underline}.evaluation-modal{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#1e293b;background:var(--bg-dark-secondary);border:1px solid #334155;border:1px solid var(--border-color);border-radius:1rem;max-width:1000px;overflow:overlay;overflow:hidden;padding:0;transition:transform .2s ease,box-shadow .2s ease;width:95%}.evaluation-modal .modal-header{align-items:center;border-bottom:1px solid #334155;border-bottom:1px solid var(--border-color);display:flex;justify-content:space-between;padding:1.5rem 2rem}.evaluation-modal .modal-header h2{color:#fff;color:var(--text-light);font-size:2.5rem;font-size:1.5rem;font-weight:700;margin:0}.evaluation-modal .modal-header .close-btn{background:none;border:none;color:#94a3b8;color:var(--text-muted);cursor:pointer;transition:color .2s}.evaluation-modal .modal-header .close-btn:hover{color:#fff;color:var(--text-light)}.evaluation-modal .modal-body{max-height:70vh;overflow-y:auto;padding:2rem}.evaluation-modal .modal-body .form-grid{grid-gap:1.5rem;display:grid;gap:1.5rem;grid-template-columns:1fr 1fr;margin-bottom:2rem}.evaluation-modal .modal-body .form-group{display:flex;flex-direction:column;gap:.5rem}.evaluation-modal .modal-body .form-group label{color:#06b6d4;color:var(--accent-cyan);font-size:.85rem;font-weight:600;text-transform:uppercase}.evaluation-modal .modal-body .form-group input,.evaluation-modal .modal-body .form-group select{background:#141414;background:var(--bg-dark-tertiary);border:1px solid #334155;border:1px solid var(--border-color);border-radius:.5rem;color:#fff;color:var(--text-light);font-size:1rem;padding:.75rem}.evaluation-modal .modal-body .form-group input:focus,.evaluation-modal .modal-body .form-group select:focus{border-color:#06b6d4;border-color:var(--accent-cyan);box-shadow:0 0 0 2px rgba(var(--accent-cyan-rgb),.2);outline:none}.evaluation-modal .modal-body .form-group input:disabled,.evaluation-modal .modal-body .form-group select:disabled{cursor:not-allowed;opacity:.5}.evaluation-modal .criteria-section-editor .section-header{align-items:center;border-bottom:1px solid var(--border-color-light);display:flex;justify-content:space-between;margin-bottom:1.5rem;padding-bottom:.5rem}.evaluation-modal .criteria-section-editor .section-header h3{color:#fff;color:var(--text-light);font-size:1.1rem;margin:0}.evaluation-modal .criteria-section-editor .section-header .btn-add-crit{align-items:center;background:#6b7280;background:var(--gray-button);background:#0000;border:1px dashed #06b6d4;border:1px dashed var(--accent-cyan);border-radius:.5rem;color:#fff;color:#06b6d4;color:var(--accent-cyan);cursor:pointer;display:inline-flex;display:flex;font-size:.85rem;font-weight:500;gap:.5rem;justify-content:center;padding:.5rem 1rem;transition:all .3s ease}.evaluation-modal .criteria-section-editor .section-header .btn-add-crit:hover{background:#4b5563;background:var(--gray-button-hover);background:rgba(var(--accent-cyan-rgb),.1);border-style:solid}.evaluation-modal .sortable-list{display:flex;flex-direction:column;gap:.75rem}.evaluation-modal .sortable-criterion-item{align-items:center;background:#141414;background:var(--bg-dark-tertiary);border:1px solid #334155;border:1px solid var(--border-color);border-radius:.75rem;display:flex;gap:1rem;padding:.5rem 1rem;transition:transform .1s,box-shadow .2s}.evaluation-modal .sortable-criterion-item:hover{border-color:#94a3b8;border-color:var(--text-muted)}.evaluation-modal .sortable-criterion-item .drag-handle{color:#94a3b8;color:var(--text-muted);cursor:grab;display:flex;padding:.5rem 0}.evaluation-modal .sortable-criterion-item .drag-handle:active{cursor:grabbing}.evaluation-modal .sortable-criterion-item .drag-handle:hover{color:#06b6d4;color:var(--accent-cyan)}.evaluation-modal .sortable-criterion-item .criterion-inputs-row{align-items:center;display:flex;flex:1 1;gap:1rem}.evaluation-modal .sortable-criterion-item .criterion-inputs-row input,.evaluation-modal .sortable-criterion-item .criterion-inputs-row select{background:#0000;border:none;border-bottom:1px solid #0000;color:#fff;color:var(--text-light);font-size:.95rem;padding:.5rem}.evaluation-modal .sortable-criterion-item .criterion-inputs-row input:focus,.evaluation-modal .sortable-criterion-item .criterion-inputs-row select:focus{border-bottom-color:#06b6d4;border-bottom-color:var(--accent-cyan);outline:none}.evaluation-modal .sortable-criterion-item .criterion-inputs-row .section-field{width:200px}.evaluation-modal .sortable-criterion-item .criterion-inputs-row .section-field .input-with-toggle{align-items:center;background:#1e293b;background:var(--bg-dark-secondary);border:1px solid rgba(var(--accent-orange-rgb),.3);border-radius:.4rem;display:flex;overflow:hidden;transition:all .2s ease}.evaluation-modal .sortable-criterion-item .criterion-inputs-row .section-field .input-with-toggle:hover{background:#ffffff0d;border-color:#f59e0b;border-color:var(--accent-orange)}.evaluation-modal .sortable-criterion-item .criterion-inputs-row .section-field .input-with-toggle:focus-within{border-color:#f59e0b;border-color:var(--accent-orange);box-shadow:0 0 0 1px rgba(var(--accent-orange-rgb),.2)}.evaluation-modal .sortable-criterion-item .criterion-inputs-row .section-field .input-with-toggle .select-section{background:linear-gradient(180deg,#ffffff0d,#0000);border:none;border-left:3px solid #f59e0b;border-left:3px solid var(--accent-orange);color:#f59e0b;color:var(--accent-orange);cursor:pointer;flex:1 1;font-size:.85rem;font-weight:700;padding:.45rem .6rem;width:100%}.evaluation-modal .sortable-criterion-item .criterion-inputs-row .section-field .input-with-toggle .select-section:focus{outline:none}.evaluation-modal .sortable-criterion-item .criterion-inputs-row .section-field .input-with-toggle .select-section option{background:#1e293b;background:var(--bg-dark-secondary);color:#fff;color:var(--text-light)}.evaluation-modal .sortable-criterion-item .criterion-inputs-row .section-field .input-with-toggle .input-text-custom{background:#0000;border:none;border-left:3px solid rgba(var(--accent-orange-rgb),.3);color:#f59e0b;color:var(--accent-orange);flex:1 1;font-weight:700;padding:.45rem .6rem}.evaluation-modal .sortable-criterion-item .criterion-inputs-row .section-field .input-with-toggle .toggle-btn{align-items:center;background:rgba(var(--accent-orange-rgb),.1);border:none;border-left:1px solid rgba(var(--accent-orange-rgb),.2);color:#f59e0b;color:var(--accent-orange);cursor:pointer;display:flex;height:100%;padding:.5rem;transition:all .2s}.evaluation-modal .sortable-criterion-item .criterion-inputs-row .section-field .input-with-toggle .toggle-btn:hover{background:#f59e0b;background:var(--accent-orange);color:var(--bg-dark-primary)}.evaluation-modal .sortable-criterion-item .criterion-inputs-row .name-field{flex:1 1}.evaluation-modal .sortable-criterion-item .criterion-inputs-row .name-field .input-name{border-bottom:1px solid #334155;border-bottom:1px solid var(--border-color);width:100%}.evaluation-modal .sortable-criterion-item .criterion-inputs-row .points-field{width:80px}.evaluation-modal .sortable-criterion-item .criterion-inputs-row .points-field .input-points{background:rgba(var(--accent-cyan-rgb),.05);border:1px solid #334155;border:1px solid var(--border-color);border-radius:.4rem;color:#06b6d4;color:var(--accent-cyan);font-weight:700;text-align:center;width:100%}.evaluation-modal .sortable-criterion-item .btn-delete-criterion{align-items:center;background:none;border:none;border-radius:.5rem;color:#ef4444;color:var(--red-danger);cursor:pointer;display:flex;padding:.6rem;transition:all .2s}.evaluation-modal .sortable-criterion-item .btn-delete-criterion:hover{background:#ef44441a;background:var(--red-transparent-sm);transform:scale(1.1)}.evaluation-modal .modal-footer{border-top:1px solid #334155;border-top:1px solid var(--border-color);display:flex;gap:1rem;justify-content:flex-end;padding:1.5rem 2rem}.evaluation-modal .modal-footer .btn-cancel{align-items:center;background:#6b7280;background:var(--gray-button);border:none;border-radius:.5rem;color:#fff;cursor:pointer;display:inline-flex;font-weight:500;justify-content:center;padding:.75rem 1.5rem;transition:all .3s ease}.evaluation-modal .modal-footer .btn-cancel:hover{background:#4b5563;background:var(--gray-button-hover)}.evaluation-modal .modal-footer .btn-save{align-items:center;background:#6297f1f0;background:var(--accent-blue);border:none;border-radius:.5rem;color:#fff;cursor:pointer;display:inline-flex;font-weight:500;justify-content:center;padding:.75rem 1.5rem;transition:all .3s ease}.evaluation-modal .modal-footer .btn-save:hover{background:#4174ffde;background:var(--accent-dark-blue)}.correction-list-view .evaluations-container{grid-gap:1.5rem;display:grid;gap:1.5rem;grid-template-columns:repeat(auto-fill,minmax(320px,1fr))}.correction-list-view .evaluation-card .card-header .card-actions .btn-copy,.correction-list-view .evaluation-card .card-header .card-actions .btn-delete,.correction-list-view .evaluation-card .card-header .card-actions .btn-edit,.correction-list-view .evaluation-card .card-header .card-actions .btn-export{color:#fff}.correction-list-view .evaluation-card .card-header .card-actions .btn-edit{color:#10b981;color:var(--accent-green)}.correction-list-view .evaluation-card .card-header .card-actions .btn-edit:hover{border-color:#10b981;border-color:var(--accent-green)}.correction-list-view{background-color:#0f172a;background-color:var(--bg-dark-blue);color:#fff;color:var(--text-light);padding:2rem 2rem 2rem 0}.correction-list-view .correction-header{align-items:center;background:linear-gradient(135deg,#1e293b,#334155);background:linear-gradient(135deg,var(--bg-dark-secondary) 0,var(--border-color) 100%);border:1px solid #334155;border:1px solid var(--border-color);border-radius:1rem;display:flex;justify-content:space-between;margin-bottom:2rem;padding:2rem;text-align:center;text-align:left}.correction-list-view .correction-header .header-title h1{color:#fff;color:var(--text-light);font-size:2.5rem;font-weight:700;margin:0 0 .25rem}.correction-list-view .correction-header .header-title p{color:#94a3b8;color:var(--text-muted);font-size:1.1rem;margin:0}.correction-list-view .correction-header .header-actions{align-items:center;display:flex;gap:1rem}.correction-list-view .correction-header .header-actions .year-filter{align-items:center;background:#6b7280;background:var(--gray-button);background-color:#141414;background-color:var(--bg-dark-tertiary);border:1px solid #334155;border:1px solid var(--border-color);border-radius:.5rem;color:#fff;color:var(--text-light);cursor:pointer;display:inline-flex;font-weight:500;justify-content:center;padding:.75rem 1rem;transition:all .3s ease}.correction-list-view .correction-header .header-actions .year-filter:hover{background:#4b5563;background:var(--gray-button-hover)}.correction-list-view .correction-header .header-actions .btn-primary{align-items:center;background:#6297f1f0;background:var(--accent-blue);border:none;border-radius:.5rem;color:#fff;cursor:pointer;display:inline-flex;font-weight:500;justify-content:center;padding:.75rem 1.5rem;transition:all .3s ease}.correction-list-view .correction-header .header-actions .btn-primary:hover{background:#4174ffde;background:var(--accent-dark-blue)}.correction-list-view .evaluations-container{display:flex;flex-direction:column;gap:2rem;margin-top:2rem}.correction-list-view .class-group,.correction-list-view .folder-group{margin-bottom:20px}.correction-list-view .class-group:last-child,.correction-list-view .folder-group:last-child{margin-bottom:0}.correction-list-view .class-group>h2,.correction-list-view .folder-group>h2{border-bottom:1px solid #334155;border-bottom:1px solid var(--border-color);color:#fff;color:var(--text-light);font-size:1.5rem;font-weight:600;margin:0 0 1rem;padding-bottom:.5rem}.correction-list-view .class-group>h3,.correction-list-view .folder-group>h3{align-items:center;color:#d1d5db;color:var(--text-secondary);display:flex;font-size:1.1rem;font-weight:500;gap:10px;margin:0 0 1rem}.correction-list-view .class-group>h3 .fa-folder,.correction-list-view .folder-group>h3 .fa-folder{color:#f59e0b;color:var(--accent-orange)}.correction-list-view .evaluations-grid{grid-gap:1.5rem;display:grid;gap:1.5rem;grid-template-columns:repeat(auto-fill,minmax(320px,1fr))}.correction-list-view .evaluation-card{background:#1e293b;background:var(--bg-dark-secondary);border:1px solid #334155;border-left:4px solid #06b6d4;border:1px solid var(--border-color);border-left:4px solid var(--accent-cyan);border-radius:1rem;display:flex;flex-direction:column;justify-content:space-between;overflow:overlay;padding:1.5rem;position:relative;transition:transform .2s ease,box-shadow .2s ease}.correction-list-view .evaluation-card .card-link-area{color:inherit;display:flex;flex-direction:column;flex-grow:1;justify-content:space-between;text-decoration:none}.correction-list-view .evaluation-card .card-header{align-items:center;display:flex;gap:.5rem;justify-content:space-between;margin-bottom:1rem}.correction-list-view .evaluation-card .card-header h2{color:#fff;color:var(--text-light);flex-grow:1;font-size:1.25rem;margin:0;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.correction-list-view .evaluation-card .card-header .card-actions{display:flex;flex-shrink:0;gap:.5rem}.correction-list-view .evaluation-card .card-body p{color:#d1d5db;color:var(--text-secondary);margin:0}.correction-list-view .evaluation-card .card-footer{border-top:1px solid #334155;border-top:1px solid var(--border-color);color:#06b6d4;color:var(--accent-cyan);font-weight:600;margin-top:1.5rem;padding-top:1rem;text-align:right;transition:color .2s}.correction-list-view .evaluation-card:hover .card-footer{color:#fff;color:var(--text-light)}.correction-list-view .empty-state{background:#1e293b;background:var(--bg-dark-secondary);border:1px dashed #334155;border:1px dashed var(--border-color);border-radius:1rem;color:#94a3b8;color:var(--text-muted);grid-column:1/-1;padding:3rem;text-align:center}.correction-list-view .empty-state h3{color:#fff;color:var(--text-light);margin-bottom:.5rem}.correction-list-view .archive-warning{background-color:rgba(var(--accent-orange-rgb),.2);border:1px solid #f59e0b;border:1px solid var(--accent-orange);border-radius:.5rem;color:#f59e0b;color:var(--accent-orange);font-weight:500;margin-bottom:1.5rem;padding:1rem;text-align:center}.correction-list-view .evaluation-card .card-header .card-actions .btn-copy,.correction-list-view .evaluation-card .card-header .card-actions .btn-delete,.correction-list-view .evaluation-card .card-header .card-actions .btn-edit,.correction-list-view .evaluation-card .card-header .card-actions .btn-export{align-items:center;background:#0000;background-color:#ffffff1a;background-color:var(--white-transparent-md);border:1px solid #334155;border:1px solid var(--border-color);border-radius:6px;cursor:pointer;display:inline-flex;font-size:.875rem;font-size:.9rem;justify-content:center;padding:.4rem;transition:all .3s ease}.correction-list-view .evaluation-card .card-header .card-actions .btn-edit:hover{background:#3b82f61a;background:var(--blue-transparent-sm);border-color:#6297f1f0;border-color:var(--accent-blue)}.correction-list-view .evaluation-card .card-header .card-actions .btn-delete:hover{background:#ef44441a;background:var(--red-transparent-sm);border-color:#ef4444;border-color:var(--red-danger)}.correction-list-view .evaluation-card .card-header .card-actions .btn-copy{color:#06b6d4;color:var(--accent-cyan)}.correction-list-view .evaluation-card .card-header .card-actions .btn-copy:hover{background:rgba(var(--accent-cyan-rgb),.15);border-color:#06b6d4;border-color:var(--accent-cyan)}.correction-list-view .evaluation-card .card-header .card-actions .btn-export svg{fill:#f5383f;height:1rem;width:1rem}.correction-list-view .evaluation-card .card-header .card-actions .btn-export:hover{background:rgba(rgba(239,68,68,.1),.15);background:rgba(var(--red-transparent-sm),.15);border-color:#f59e0b;border-color:var(--accent-orange)}.correction-view-focused{background-color:#0f172a;background-color:var(--bg-dark-blue);color:#fff;color:var(--text-light);padding:2rem 2rem 120px 0}.correction-view-focused .correction-header{align-items:center;background:linear-gradient(135deg,#1e293b,#334155);background:linear-gradient(135deg,var(--bg-dark-secondary) 0,var(--border-color) 100%);border:1px solid #334155;border:1px solid var(--border-color);border-radius:1rem;display:flex;justify-content:space-between;margin-bottom:2rem;padding:2rem;text-align:center}.correction-view-focused .correction-header .header-title{text-align:left}.correction-view-focused .correction-header .header-title .back-link{align-items:center;color:#6297f1f0;color:var(--accent-blue);display:flex;font-size:.9rem;gap:.5rem;margin-bottom:.5rem;text-decoration:none}.correction-view-focused .correction-header .header-title .back-link:hover{text-decoration:underline}.correction-view-focused .correction-header .header-title h1{color:#fff;color:var(--text-light);font-size:2.5rem;font-size:1.8rem;font-weight:700;margin:0}.correction-view-focused .correction-header .header-title p{color:#94a3b8;color:var(--text-muted);font-size:1.1rem;font-size:.95rem;margin:.25rem 0 0;opacity:.8}.correction-view-focused .correction-layout{grid-gap:2rem;display:grid;gap:2rem;grid-template-columns:2fr 1fr}@media(max-width:1024px){.correction-view-focused .correction-layout{grid-template-columns:1fr}}.correction-view-focused .class-summary-panel,.correction-view-focused .student-correction-panel{background:#1e293b;background:var(--bg-dark-secondary);border:1px solid #334155;border:1px solid var(--border-color);border-radius:1rem;height:-webkit-fit-content;height:fit-content;overflow:overlay;padding:1.5rem;transition:transform .2s ease,box-shadow .2s ease}.correction-view-focused .student-selector-bar{align-items:center;border-bottom:1px solid #334155;border-bottom:1px solid var(--border-color);display:flex;gap:1.5rem;margin-bottom:2rem;padding-bottom:1rem}.correction-view-focused .student-selector-bar .select-wrapper{align-items:center;background:#141414;background:var(--bg-dark-tertiary);border:1px solid #334155;border:1px solid var(--border-color);border-radius:8px;display:flex;flex-grow:1;gap:.75rem;padding:0 1rem}.correction-view-focused .student-selector-bar .select-wrapper select{background:none;border:none;color:#fff;cursor:pointer;font-size:1.1rem;outline:none;padding:.8rem 0;width:100%}.correction-view-focused .student-selector-bar .select-wrapper select option{background-color:#141414;background-color:var(--bg-dark-tertiary)}.correction-view-focused .student-selector-bar .absent-checkbox{align-items:center;background:rgba(var(--red-danger-rgb),.05);border:1px solid #0000;border-radius:8px;cursor:pointer;display:flex;gap:.75rem;padding:.6rem 1.2rem;transition:all .2s}.correction-view-focused .student-selector-bar .absent-checkbox:hover{background:rgba(var(--red-danger-rgb),.1);border-color:rgba(var(--red-danger-rgb),.3)}.correction-view-focused .student-selector-bar .absent-checkbox span{color:#94a3b8;color:var(--text-muted);font-size:.85rem;font-weight:700;text-transform:uppercase}.correction-view-focused .student-selector-bar .absent-checkbox input{accent-color:#ef4444;accent-color:var(--red-danger);cursor:pointer;height:20px;width:20px}.correction-view-focused .section-title{align-items:center;color:#6297f1f0;color:var(--accent-blue);display:flex;gap:.5rem;margin-bottom:1rem}.correction-view-focused .section-title h4{font-size:.85rem;letter-spacing:.5px;margin:0;text-transform:uppercase}.correction-view-focused .criteria-list{display:flex;flex-direction:column;gap:1.25rem}.correction-view-focused .criterion-row{background:#ffffff05;border:1px solid #334155;border:1px solid var(--border-color);border-radius:.75rem;margin-bottom:1rem;padding:1.25rem;transition:transform .2s}.correction-view-focused .criterion-row:hover{border-color:var(--accent-blue-transparent)}.correction-view-focused .criterion-row.disabled{filter:grayscale(1);opacity:.3;pointer-events:none}.correction-view-focused .criterion-main{align-items:center;display:flex;justify-content:space-between;margin-bottom:1rem}.correction-view-focused .criterion-name{color:#fff;color:var(--text-light);font-size:1.05rem;font-weight:500}.correction-view-focused .grade-input-group{align-items:center;background:#141414;background:var(--bg-dark-tertiary);border:1px solid #334155;border:1px solid var(--border-color);border-radius:8px;display:flex;gap:.5rem;padding:.5rem 1rem}.correction-view-focused .grade-input-group input{background:none;border:none;color:#10b981;color:var(--accent-green);font-size:1.2rem;font-weight:800;outline:none;text-align:right;width:80px}.correction-view-focused .grade-input-group .max-points{color:#94a3b8;color:var(--text-muted);font-size:.9rem;font-weight:500}.correction-view-focused .criterion-comment{border-top:1px solid #ffffff0d;padding-top:1rem}.correction-view-focused .criterion-comment textarea{background:#141414;background:var(--bg-dark-tertiary);border:1px solid #6297f1f0;border:1px solid var(--accent-blue);border-radius:6px;color:#fff;color:var(--text-light);font-family:inherit;line-height:1.5;min-height:90px;padding:.8rem;width:100%}.correction-view-focused .criterion-comment .comment-preview{border-radius:4px;color:#94a3b8;color:var(--text-muted);font-size:.9rem;font-style:italic;padding:.5rem}.correction-view-focused .criterion-comment .comment-preview:hover{background:#ffffff08}.correction-view-focused .global-student-comment{background:rgba(var(--accent-blue-rgb),.03);border:1px solid #334155;border:1px solid var(--border-color);border-radius:12px;margin-bottom:2rem;padding:1.25rem}.correction-view-focused .global-student-comment.disabled{opacity:.3;pointer-events:none}.correction-view-focused .global-student-comment .global-textarea{background:#141414;background:var(--bg-dark-tertiary);border:1px solid #6297f1f0;border:1px solid var(--accent-blue);border-radius:8px;color:#fff;line-height:1.6;min-height:120px;padding:1rem;width:100%}.correction-view-focused .navigation-footer{align-items:center;background:#2d3748;bottom:20px;box-shadow:0 10px 15px -3px #0000004d;color:#fff;display:flex;justify-content:space-between;margin-top:40px;padding:15px 30px;position:-webkit-sticky;position:sticky;z-index:1000}.correction-view-focused .navigation-footer .student-total-display{align-items:baseline;display:flex;gap:.75rem}.correction-view-focused .navigation-footer .student-total-display span{color:#d1d5db;color:var(--text-secondary);font-weight:500}.correction-view-focused .navigation-footer .student-total-display strong{color:#10b981;color:var(--accent-green);font-size:1.8rem;font-weight:800}.correction-view-focused .navigation-footer .btn-next-student{align-items:center;background:#4dabf7;border:none;border-radius:25px;color:#fff;cursor:pointer;display:flex;font-weight:700;gap:10px;padding:10px 25px;transition:transform .2s}.correction-view-focused .navigation-footer .btn-next-student:hover:not(:disabled){background:#339af0;transform:translateX(5px)}.correction-view-focused .navigation-footer .btn-next-student:disabled{cursor:not-allowed;opacity:.5}.correction-view-focused .class-summary-panel h3{color:#d1d5db;color:var(--text-secondary);font-size:1.1rem;margin-bottom:1.5rem;margin-top:0}.correction-view-focused .class-summary-panel .summary-list{display:flex;flex-direction:column;gap:.5rem;max-height:70vh;overflow-y:auto}.correction-view-focused .class-summary-panel .summary-item{align-items:center;background:#ffffff05;border:1px solid #0000;border-radius:8px;cursor:pointer;display:flex;justify-content:space-between;padding:.8rem 1rem;transition:all .2s}.correction-view-focused .class-summary-panel .summary-item .student-info{align-items:center;display:flex;gap:.75rem}.correction-view-focused .class-summary-panel .summary-item.is-pending{border-left:3px solid #ffd43b;border-left:3px solid var(--accent-warning,#ffd43b)}.correction-view-focused .class-summary-panel .summary-item.is-pending .student-name{color:#fff;font-weight:500}.correction-view-focused .class-summary-panel .summary-item.is-pending .status-marker .icon-todo{background:#ffd43b;background:var(--accent-warning,#ffd43b);border-radius:50%;box-shadow:0 0 8px #ffd43b66;height:8px;width:8px}.correction-view-focused .class-summary-panel .summary-item.is-corrected{background:#ffffff03;opacity:.7}.correction-view-focused .class-summary-panel .summary-item.is-corrected .student-name{color:#94a3b8;color:var(--text-muted)}.correction-view-focused .class-summary-panel .summary-item.is-corrected .status-marker .icon-done{color:#10b981;color:var(--accent-green)}.correction-view-focused .class-summary-panel .summary-item.is-corrected:hover{opacity:1}.correction-view-focused .class-summary-panel .summary-item.active{background:rgba(var(--accent-blue-rgb),.15)!important;border-color:#06b6d4!important;border-color:var(--accent-cyan)!important;opacity:1!important}.correction-view-focused .class-summary-panel .summary-item.active .student-name{color:#fff!important;font-weight:700}.correction-view-focused .class-summary-panel .summary-item:hover:not(.active){background:#ffffff0d}.grade-input-group{transition:all .25s}.grade-input-group.score-fail{background:#ff6b6b1f;border-color:#ff6b6b59}.grade-input-group.score-fail input{color:#ff6b6b}.grade-input-group.score-fail .max-points{color:#ff6b6b99}.grade-input-group.score-warning{background:#ffd43b1a;border-color:#ffd43b59}.grade-input-group.score-warning input{color:#ffd43b}.grade-input-group.score-warning .max-points{color:#ffd43b99}.grade-input-group.score-success{background:#51cf661a;border-color:#51cf6659}.grade-input-group.score-success input{color:#51cf66}.grade-input-group.score-success .max-points{color:#51cf6699}.student-total-display strong.score-fail{color:#ff6b6b}.student-total-display strong.score-warning{color:#ffd43b}.student-total-display strong.score-success{color:#51cf66}.summary-item .student-score{border-radius:20px;font-family:Fira Code,monospace;font-size:.85rem;font-weight:700;padding:2px 8px}.summary-item .student-score.score-fail{background:#ff6b6b1f;color:#ff6b6b}.summary-item .student-score.score-warning{background:#ffd43b1a;color:#ffd43b}.summary-item .student-score.score-success{background:#51cf661a;color:#51cf66}.summary-item .student-score.score-absent{color:#94a3b8;color:var(--text-muted);font-style:italic}.btn-secondary{align-items:center;background:#6297f1f0;background:var(--accent-blue);border:none;border-radius:.5rem;color:#fff;cursor:pointer;display:inline-flex;font-weight:500;justify-content:center;padding:.75rem 1.5rem;transition:all .3s ease}.btn-secondary:hover{background:#4174ffde;background:var(--accent-dark-blue)}b{color:#fff;font-size:2rem;text-decoration:underline}code{color:#06b6d4;color:var(--accent-cyan)}.criteria-section .section-divider{background:#f1f3f5;border-left:5px solid #4dabf7;border-radius:6px;color:#2c3e50;font-size:.95rem;margin-bottom:1rem;padding:10px 15px;text-transform:uppercase}.document-generator-container{display:flex;flex-direction:column;gap:1.5rem;margin:0 auto;max-width:800px;padding:2rem}.document-generator-container .document-generator__textarea{border:1px solid #334155;border:1px solid var(--border-color,#ddd);border-radius:8px;box-shadow:0 2px 4px #0000001a;box-shadow:0 2px 4px var(--shadow-light,#0000001a);font-size:1rem;min-height:400px;padding:1rem;resize:vertical;transition:all .3s ease;width:100%}.document-generator-container .document-generator__textarea:focus{border-color:#4174ffde;border-color:var(--accent-dark-blue);box-shadow:0 0 8px #3f51b566;outline:none}.document-generator-container .document-generator__options{display:flex;gap:1.5rem;justify-content:center}.document-generator-container .document-generator__options label{align-items:center;background-color:#f8f9fa;background-color:var(--background-light,#f8f9fa);border:2px solid #334155;border:2px solid var(--border-color,#ddd);border-radius:12px;color:#666;color:var(--text-color-light,#666);cursor:pointer;display:flex;flex:1 1;flex-direction:column;font-size:1.1em;font-weight:500;justify-content:center;text-align:center;transition:all .3s ease}.document-generator-container .document-generator__options label input[type=radio]{display:none}.document-generator-container .document-generator__options label .icon{color:#333;color:var(--text-color-primary,#333);font-size:2.5em;margin-bottom:.5rem;transition:color .3s ease}.document-generator-container .document-generator__options label:hover{background-color:#f0f2f5;background-color:var(--background-hover,#f0f2f5);border-color:#4174ffde;border-color:var(--accent-dark-blue);box-shadow:0 4px 12px #00000014}.document-generator-container .document-generator__options label.selected{background-color:#4174ffde;background-color:var(--accent-dark-blue);border-color:#4174ffde;border-color:var(--accent-dark-blue);box-shadow:0 4px 12px #3f51b540;color:#fff}.document-generator-container .document-generator__options label.selected .icon{color:#fff}.document-generator-container .document-generator__error{animation:fadeIn .5s ease-out;background-color:#ef4444;background-color:var(--red-danger);border-radius:8px;color:#fff;font-weight:700;padding:.75rem 1rem;text-align:center}.document-generator-container .document-generator__button{background-color:#6297f1f0;background-color:var(--accent-blue);border:none;border-radius:50px;color:#fff;cursor:pointer;font-size:1.1em;padding:12px 25px;transition:background-color .3s ease,transform .2s ease,box-shadow .3s ease}.document-generator-container .document-generator__button:hover:not(:disabled){background-color:#4174ffde;background-color:var(--accent-dark-blue);box-shadow:0 4px 10px #0003;transform:translateY(-2px)}.document-generator-container .document-generator__button:disabled{background-color:#ccc;box-shadow:none;cursor:not-allowed;transform:none}.conseil-de-classe{--glass-bg:#ffffff08;--glass-border:#ffffff14;--accent-blue:#3b82f6;--accent-red:#ef4444;--accent-green:#10b981;--bg-input:#0003;background:#1e293b;background:var(--bg-dark-secondary);border-radius:24px;box-shadow:0 20px 50px #0000004d;color:#f1f5f9;min-height:500px;padding:2rem}.conseil-de-classe .page-header{margin-bottom:2.5rem}.conseil-de-classe .page-header .header-top{align-items:center;display:flex;justify-content:space-between;margin-bottom:2rem}.conseil-de-classe .page-header .header-top h2{-webkit-text-fill-color:#0000;background:linear-gradient(90deg,#fff,#94a3b8);-webkit-background-clip:text;font-size:1.6rem;font-weight:700;margin:0}.conseil-de-classe .page-header .selectors-container{background:var(--glass-bg);border:1px solid var(--glass-border);border-radius:18px;display:flex;gap:1.5rem;padding:1.2rem}.conseil-de-classe .page-header .selectors-container .input-group{display:flex;flex:1 1;flex-direction:column;gap:.5rem}.conseil-de-classe .page-header .selectors-container .input-group label{align-items:center;color:#94a3b8;display:flex;font-size:.85rem;font-weight:500;gap:.5rem}.conseil-de-classe .page-header .selectors-container .input-group select{background:var(--bg-input);border:1px solid var(--glass-border);border-radius:10px;color:#fff;cursor:pointer;outline:none;padding:.7rem;transition:all .2s}.conseil-de-classe .page-header .selectors-container .input-group select:focus{border-color:#6297f1f0;border-color:var(--accent-blue)}.conseil-de-classe .page-header .selectors-container .input-group select option{background:#1e293b;color:#fff}.conseil-de-classe .session-manager-view{animation:fadeIn .4s ease}.conseil-de-classe .session-manager-view h3{color:#cbd5e1;margin-bottom:1.5rem}.conseil-de-classe .session-manager-view .add-session-form{display:flex;gap:1rem;margin-bottom:2rem}.conseil-de-classe .session-manager-view .add-session-form input{background:var(--bg-input);border:1px solid var(--glass-border);border-radius:12px;color:#fff;flex:1 1;outline:none;padding:.8rem 1.2rem}.conseil-de-classe .session-manager-view .add-session-form input:focus{border-color:#6297f1f0;border-color:var(--accent-blue)}.conseil-de-classe .session-manager-view .schedule-grid{grid-gap:1rem;display:grid;gap:1rem;grid-template-columns:repeat(auto-fill,minmax(300px,1fr))}.conseil-de-classe .session-manager-view .schedule-card{align-items:center;background:var(--glass-bg);border:1px solid var(--glass-border);border-radius:16px;display:flex;gap:1rem;padding:1rem;transition:transform .2s}.conseil-de-classe .session-manager-view .schedule-card:hover{background:#ffffff0d;transform:translateY(-3px)}.conseil-de-classe .session-manager-view .schedule-card .card-index{background:#3b82f61a;border-radius:8px;color:#6297f1f0;color:var(--accent-blue);font-size:.8rem;font-weight:700;padding:5px 10px}.conseil-de-classe .session-manager-view .schedule-card .card-info{flex:1 1;font-weight:500}.conseil-de-classe .session-manager-view .schedule-card .action-btn.delete{background:#ef44441a;border:none;border-radius:8px;color:var(--accent-red);cursor:pointer;padding:8px}.conseil-de-classe .session-manager-view .schedule-card .action-btn.delete:hover{background:var(--accent-red);color:#fff}.conseil-de-classe .student-table{border-collapse:initial;border-spacing:0 8px;margin-top:1rem;width:100%}.conseil-de-classe .student-table th{color:#64748b;font-size:.85rem;letter-spacing:1px;padding:1rem;text-align:left;text-transform:uppercase}.conseil-de-classe .student-table td{background:var(--glass-bg);border-bottom:1px solid var(--glass-border);border-top:1px solid var(--glass-border);padding:1rem}.conseil-de-classe .student-table td:first-child{border-left:1px solid var(--glass-border);border-radius:14px 0 0 14px}.conseil-de-classe .student-table td:last-child{border-radius:0 14px 14px 0;border-right:1px solid var(--glass-border)}.conseil-de-classe .student-table select,.conseil-de-classe .student-table textarea{background:#00000040;border:1px solid var(--glass-border);border-radius:8px;color:#f1f5f9;outline:none;padding:.6rem;transition:all .2s;width:100%}.conseil-de-classe .student-table select:focus,.conseil-de-classe .student-table textarea:focus{background:#0006;border-color:#6297f1f0;border-color:var(--accent-blue)}.conseil-de-classe .student-table textarea{font-family:inherit;font-size:.9rem;min-height:80px;resize:none}.conseil-de-classe .saving-indicator{align-items:center;background:#3b82f61a;border-radius:20px;color:#6297f1f0;color:var(--accent-blue);display:inline-flex;font-size:.75rem;font-weight:600;padding:4px 12px}.conseil-de-classe .saving-indicator.saved{background:#10b9811a;color:#10b981;color:var(--accent-green)}.conseil-de-classe .saving-indicator.error{background:#ef44441a;color:var(--accent-red)}.conseil-de-classe .placeholder-text{color:#64748b;font-style:italic;padding:4rem;text-align:center}.conseil-de-classe .add-glass-btn{align-items:center;background:#ffffff0d;border:1px solid var(--glass-border);border-radius:12px;color:#fff;cursor:pointer;display:flex;gap:.6rem;padding:.6rem 1.2rem;transition:all .3s}.conseil-de-classe .add-glass-btn:hover{background:#6297f1f0;background:var(--accent-blue);border-color:#6297f1f0;border-color:var(--accent-blue)}.conseil-de-classe .confirm-btn{background:#6297f1f0;background:var(--accent-blue);border:none;border-radius:12px;color:#fff;cursor:pointer;font-weight:600;padding:.8rem 1.5rem}.conseil-de-classe .confirm-btn:hover{opacity:.9;transform:translateY(-1px)}:root{--bg-dark-blue:#0f172a;--bg-dark-secondary:#1e293b;--bg-dark-tertiary:#141414;--border-color:#334155;--text-light:#fff;--text-muted:#94a3b8;--text-secondary:#d1d5db;--text-gray:#64748b;--accent-blue:#6297f1f0;--accent-dark-blue:#4174ffde;--accent-cyan:#06b6d4;--accent-dark-cyan:#0891b2;--accent-orange:#f59e0b;--accent-dark-orange:#d97706;--accent-green:#10b981;--accent-dark-green:#059669;--red-danger:#ef4444;--red-dark-danger:#dc2626;--gray-button:#6b7280;--gray-button-hover:#4b5563;--white-transparent-sm:#ffffff0d;--white-transparent-md:#ffffff1a;--blue-transparent-sm:#3b82f61a;--blue-transparent-md:#3b82f626;--blue-transparent-lg:#8fb1e187;--red-transparent-sm:#ef44441a;--gray-light:#f3f4f6;--gray-medium:#e5e7eb;--text-dark:#111827;--text-dark-secondary:#374151;--text-dark-tertiary:#4a5568;--light-border:#e2e8f0;--light-bg-secondary:#f7fafc;--light-bg-tertiary:#edf2f7;--light-border-hover:#cbd5e0;--success-light:#f0fdf4;--error-light:#fef2f2;--warning-light:#fffbeb;--info-light:#eff6ff}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes scaleIn{0%{opacity:0;transform:scale(.95)}to{opacity:1;transform:scale(1)}}@keyframes slideInRight{0%{opacity:0;transform:translateX(100%)}to{opacity:1;transform:translateX(0)}}@keyframes fadeSlideIn{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:translateY(0)}}@keyframes spin{to{transform:rotate(1turn)}}.text-center{text-align:center}.font-bold{font-weight:700}.font-semibold{font-weight:600}.font-medium{font-weight:500}.text-sm{font-size:.875rem}.text-md{font-size:1rem}.text-lg{font-size:1.125rem}.text-xl{font-size:1.25rem}.text-2xl{font-size:1.5rem}.margin-bottom-sm{margin-bottom:.5rem}.margin-bottom-md{margin-bottom:1rem}.margin-bottom-lg{margin-bottom:1.5rem}.pb-1{padding-bottom:1rem}.icon-lucid{margin-right:.5rem}::-webkit-scrollbar{height:8px;width:8px}::-webkit-scrollbar-track{background:#0f172a;background:var(--bg-dark-blue);border-radius:4px}::-webkit-scrollbar-thumb{background:#334155;background:var(--border-color);border-radius:4px}::-webkit-scrollbar-thumb:hover{background:#475569}.app{background-color:#0f172a;background-color:var(--bg-dark-blue);display:flex;min-height:100vh}@media(min-width:1600px){.app.menu-open{padding-left:280px}}.main-content{flex-grow:1;overflow-y:auto;padding:2rem;position:relative;transition:padding .3s ease;width:100%}.sidemenu-overlay{background:#000000b3;display:none;inset:0;position:fixed;z-index:999}.menu-toggle-button{background:#6297f1f0;background:var(--accent-blue);border:none;border-radius:.5rem;color:#fff;cursor:pointer;display:none;font-size:1.5rem;left:1rem;padding:.5rem .8rem;position:fixed;top:1rem;transition:all .3s ease;z-index:1001}.menu-toggle-button:hover{background:#4174ffde;background:var(--accent-dark-blue)}.app.menu-open .menu-toggle-button{left:calc(280px + 1rem)}.sidemenu{background:#1e293b;background:var(--bg-dark-secondary);border-right:1px solid #334155;border-right:1px solid var(--border-color);height:100vh;left:0;position:fixed;top:0;transition:transform .3s cubic-bezier(.4,0,.2,1);width:280px;z-index:1000}.sidemenu .sidemenu-header{background:#141414;background:var(--bg-dark-tertiary);border-bottom:1px solid #334155;border-bottom:1px solid var(--border-color);padding:1.5rem}.sidemenu .logo{align-items:center;display:flex;gap:.75rem}.sidemenu .logo-icon{font-size:1.5rem}.sidemenu .logo-text{color:#fff;color:var(--text-light);font-size:1.25rem;font-weight:600}.sidemenu .sidemenu-nav{flex:1 1;padding:1.5rem 0}.sidemenu .menu-list{list-style:none;margin:0;padding:0}.sidemenu .menu-item{margin:.25rem 0}.sidemenu .menu-link{align-items:center;border-left:3px solid #0000;color:#b0b0b0;display:flex;padding:1rem 1.5rem;text-decoration:none;transition:all .3s ease}.sidemenu .menu-link.active,.sidemenu .menu-link:hover{background:#3b82f61a;background:var(--blue-transparent-sm);border-left-color:#6297f1f0;border-left-color:var(--accent-blue);color:#fff;color:var(--text-light)}.sidemenu .menu-link.active{background:#3b82f626;background:var(--blue-transparent-md);font-weight:500}.sidemenu .menu-icon{font-size:1.125rem;margin-right:.875rem;text-align:center;width:20px}.sidemenu .menu-label{font-size:.875rem}.sidemenu .sidemenu-footer{background:#141414;background:var(--bg-dark-tertiary);border-top:1px solid #334155;border-top:1px solid var(--border-color);padding:1.5rem}.sidemenu .user-profile{align-items:center;background:#ffffff0d;background:var(--white-transparent-sm);border:1px solid #ffffff1a;border:1px solid var(--white-transparent-md);border-radius:8px;color:#fff;color:var(--text-light);display:flex;gap:.875rem;padding:.75rem;transition:all .3s ease}.sidemenu .user-profile:hover{background:#ffffff0d;transform:translateY(-1px)}.sidemenu .user-avatar{align-items:center;background:linear-gradient(135deg,#6297f1f0,#4174ffde);background:linear-gradient(135deg,var(--accent-blue),var(--accent-dark-blue));border-radius:50%;color:#fff;color:var(--text-light);display:flex;font-size:1.125rem;height:40px;justify-content:center;width:40px}.sidemenu .user-info{display:flex;flex:1 1;flex-direction:column}.sidemenu .user-name{color:#fff;color:var(--text-light);font-size:.875rem;font-weight:500}.sidemenu .user-role{color:#9ca3af;font-size:.75rem;margin-top:.125rem}.toast-container{display:flex;flex-direction:column;gap:.75rem;position:fixed;right:1.5rem;top:1.5rem;width:clamp(300px,90vw,400px);z-index:9999}.loading-fullscreen{align-items:center;background-color:#0f172a;background-color:var(--bg-dark-blue);color:#fff;color:var(--text-light);display:flex;font-size:1.5rem;height:100vh;justify-content:center}@media(max-width:1599px){.sidemenu{transform:translateX(-100%)}.sidemenu.open{transform:translateX(0)}.main-content{padding-left:1rem;padding-right:1rem;padding-top:5rem}.menu-toggle-button{display:block}}@media(max-width:768px){.main-content{padding:5rem 1rem 1rem}.toast-container{bottom:1rem;left:1rem;right:1rem;top:auto;width:auto}.menu-toggle-button{font-size:1.25rem;left:.75rem;padding:.4rem .65rem;top:.75rem}.app.menu-open .menu-toggle-button{left:auto;right:1rem}}.reset-password-container{background-color:#0a0e17;background-image:linear-gradient(hsla(0,0%,100%,.015) 1px,#0000 0),linear-gradient(90deg,hsla(0,0%,100%,.015) 1px,#0000 0);background-size:40px 40px;color:#fff;color:var(--text-light);display:grid;min-height:100vh;padding:1.5rem;place-items:center;width:100%}.reset-password-card{background:#1e293b;background:var(--bg-dark-secondary);background:#111827;border:1px solid #ffffff12;border-radius:1rem;border-radius:1.25rem;box-shadow:0 25px 50px -12px #00000080;max-width:28rem;overflow:overlay;overflow:hidden;padding:2.5rem;position:relative;transition:transform .2s ease,box-shadow .2s ease;width:100%}.reset-password-card:before{background:linear-gradient(90deg,#0d9488,#22d3ee);content:"";height:4px;left:0;position:absolute;right:0;top:0}.reset-header{margin-bottom:2rem;text-align:center}.reset-header h2{-webkit-text-fill-color:#0000;background:linear-gradient(135deg,#fff 60%,#14b8a6);-webkit-background-clip:text;font-size:1.75rem;font-weight:700;margin-bottom:.5rem}.reset-header p{color:#94a3b8;color:var(--text-muted);font-size:.95rem}.reset-form{display:flex;flex-direction:column;gap:1.5rem}.reset-form .form-group{display:flex;flex-direction:column;gap:.5rem}.reset-form .form-group label{color:#d1d5db;color:var(--text-secondary);font-size:.85rem;font-weight:600;letter-spacing:.05em;text-transform:uppercase}.reset-form .form-group input{background:#1a2235;border:1px solid #ffffff12;border-radius:.625rem;color:#fff;font-size:1rem;padding:.85rem 1rem;transition:all .2s ease;width:100%}.reset-form .form-group input:focus{background:#111827;border-color:#0d9488;box-shadow:0 0 0 3px #0d948826;outline:none}.reset-form .reset-btn{align-items:center;background:#6297f1f0;background:var(--accent-blue);background:#0d9488;border:none;border-radius:.5rem;border-radius:.625rem;color:#fff;cursor:pointer;display:inline-flex;font-size:1rem;font-weight:500;font-weight:700;justify-content:center;margin-top:1rem;padding:.9rem;transition:all .3s ease;transition:all .2s ease}.reset-form .reset-btn:hover{background:#4174ffde;background:var(--accent-dark-blue);background:#14b8a6;box-shadow:0 10px 20px #0d948859;transform:translateY(-2px)}.reset-form .reset-btn:active{transform:translateY(0)}.error-message{background:#ef44441a;border:1px solid #ef444433;border-radius:.5rem;color:#f87171;font-size:.85rem;margin-bottom:1rem;padding:.75rem;text-align:center}