:root{font-family:system-ui,Avenir,Helvetica,Arial,sans-serif;line-height:1.5;font-weight:400;color-scheme:light dark;color:#ffffffde;background-color:#242424;font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}a{font-weight:500;color:#646cff;text-decoration:inherit}a:hover{color:#535bf2}body{margin:0;display:flex;min-width:320px;min-height:100vh}h1{font-size:3.2em;line-height:1.1}button{border-radius:8px;border:1px solid transparent;padding:.6em 1.2em;font-size:1em;font-weight:500;font-family:inherit;background-color:#1a1a1a;cursor:pointer;transition:border-color .25s}button:hover{border-color:#646cff}button:focus,button:focus-visible{outline:4px auto -webkit-focus-ring-color}@media (prefers-color-scheme: light){:root{color:#213547;background-color:#fff}a:hover{color:#747bff}button{background-color:#f9f9f9}}.login-form-container{display:flex;justify-content:center;align-items:flex-start;min-height:100vh;padding:60px 20px 20px;background-color:#f5f5f5}.login-form{background:#fff;padding:2rem;border-radius:8px;box-shadow:0 2px 10px #0000001a;width:100%;max-width:400px}.login-form h2{text-align:center;margin-bottom:1.5rem;color:#333;font-size:1.5rem}.form-group .g-recaptcha{margin:0 auto;display:flex;justify-content:center}.form-group iframe[src*=recaptcha]{margin:0 auto;display:block}.form-group input{width:100%;padding:.75rem;border:1px solid #ddd;border-radius:4px;font-size:1rem;transition:border-color .3s ease;box-sizing:border-box}.form-group input:focus{outline:none;border-color:#007bff;box-shadow:0 0 0 2px #007bff40}.form-group input.error{border-color:#dc3545;box-shadow:0 0 0 2px #dc354540}.form-group input:disabled{background-color:#f8f9fa;cursor:not-allowed}.login-button{width:100%;padding:.75rem;background-color:#007bff;color:#fff;border:none;border-radius:4px;font-size:1rem;cursor:pointer;transition:background-color .3s ease;margin-top:.5rem}.login-button:hover:not(:disabled){background-color:#0056b3}.login-button:disabled{background-color:#6c757d;cursor:not-allowed}@media (max-width: 480px){.login-form-container{padding:10px}.login-form{padding:1.5rem}}.register-form-container{display:flex;justify-content:center;align-items:flex-start;min-height:100vh;padding:60px 20px 20px;background-color:#f5f5f5}.register-form{background:#fff;padding:2rem;border-radius:8px;box-shadow:0 2px 10px #0000001a;width:100%;max-width:400px}.register-form h2{text-align:center;margin-bottom:1.5rem;color:#333;font-size:1.5rem}.form-group label{display:block;margin-bottom:.5rem;color:#555;font-weight:500}.form-group input,.form-group select{width:100%;padding:.75rem;border:1px solid #ddd;border-radius:4px;font-size:1rem;transition:border-color .3s ease;box-sizing:border-box}.form-group input.error,.form-group select.error{border-color:#dc3545;box-shadow:0 0 0 2px #dc354540}.form-group input:disabled,.form-group select:disabled{background-color:#f8f9fa;cursor:not-allowed}.error-message{display:block;color:#dc3545;font-size:.875rem;margin-top:.25rem}.submit-error{background-color:#f8d7da;border:1px solid #f5c6cb;border-radius:4px;padding:.75rem;margin-bottom:1rem;text-align:center}.register-button{width:100%;padding:.75rem;background-color:#28a745;color:#fff;border:none;border-radius:4px;font-size:1rem;cursor:pointer;transition:background-color .3s ease;margin-top:.5rem}.register-button:hover:not(:disabled){background-color:#218838}.register-button:disabled{background-color:#6c757d;cursor:not-allowed}.form-footer{text-align:center;margin-top:1.5rem;padding-top:1rem;border-top:1px solid #eee}.form-footer p{margin:0;color:#666}.link-button{background:none;border:none;color:#007bff;cursor:pointer;text-decoration:underline;padding:0;font-size:inherit}.link-button:hover:not(:disabled){color:#0056b3}.link-button:disabled{color:#6c757d;cursor:not-allowed}@media (max-width: 480px){.register-form-container{padding:10px}.register-form{padding:1.5rem}}.loading-container{display:flex;justify-content:center;align-items:center;min-height:100vh;background-color:#f5f5f5}.loading-spinner{padding:2rem;background:#fff;border-radius:8px;box-shadow:0 2px 10px #0000001a;text-align:center;color:#666;font-size:1.1rem}.access-denied-container{display:flex;justify-content:center;align-items:center;min-height:100vh;padding:20px;background-color:#f5f5f5}.access-denied-message{background:#fff;padding:2rem;border-radius:8px;box-shadow:0 2px 10px #0000001a;text-align:center;max-width:500px;width:100%}.access-denied-message h2{color:#dc3545;margin-bottom:1rem;font-size:1.5rem}.access-denied-message p{margin-bottom:.5rem;color:#666;line-height:1.5}.access-denied-message p:last-child{margin-bottom:0}.access-denied-message strong{color:#333}.change-password-modal-overlay{position:fixed;inset:0;background-color:#00000080;display:flex;justify-content:center;align-items:center;z-index:1000;padding:20px}.change-password-modal{background:#fff;border-radius:8px;width:100%;max-width:500px;max-height:90vh;overflow-y:auto;box-shadow:0 4px 6px #0000001a,0 10px 20px #0003;animation:modalSlideIn .2s ease-out}@keyframes modalSlideIn{0%{transform:translateY(-50px);opacity:0}to{transform:translateY(0);opacity:1}}.change-password-modal-header{display:flex;justify-content:space-between;align-items:center;padding:20px 24px;border-bottom:1px solid #e0e0e0}.change-password-modal-header h3{margin:0;font-size:1.5rem;color:#333}.change-password-modal-close{background:none;border:none;font-size:2rem;color:#666;cursor:pointer;padding:0;width:32px;height:32px;display:flex;align-items:center;justify-content:center;border-radius:4px;transition:background-color .2s,color .2s}.change-password-modal-close:hover{background-color:#f5f5f5;color:#333}.change-password-modal-close:disabled{cursor:not-allowed;opacity:.5}.change-password-modal-body{padding:24px}.change-password-form-group{margin-bottom:20px}.change-password-form-group label{display:block;margin-bottom:6px;font-weight:500;color:#333;font-size:.95rem}.change-password-form-input{width:100%;padding:10px 12px;border:1px solid #d0d0d0;border-radius:4px;font-size:1rem;transition:border-color .2s,box-shadow .2s;box-sizing:border-box}.change-password-form-input:focus{outline:none;border-color:#4a90e2;box-shadow:0 0 0 3px #4a90e21a}.change-password-form-input:disabled{background-color:#f5f5f5;cursor:not-allowed}.change-password-form-error{padding:12px;background-color:#fee;color:#c00;border:1px solid #fcc;border-radius:4px;margin-bottom:16px;font-size:.9rem}.change-password-form-success{padding:12px;background-color:#e8f5e9;color:#2e7d32;border:1px solid #a5d6a7;border-radius:4px;margin-bottom:16px;font-size:.9rem;font-weight:500}.change-password-modal-actions{display:flex;justify-content:flex-end;gap:12px;margin-top:24px}.change-password-btn{padding:10px 20px;border:none;border-radius:4px;font-size:1rem;font-weight:500;cursor:pointer;transition:background-color .2s,transform .1s}.change-password-btn:hover:not(:disabled){transform:translateY(-1px)}.change-password-btn:active:not(:disabled){transform:translateY(0)}.change-password-btn:disabled{cursor:not-allowed;opacity:.6}.change-password-btn-cancel{background-color:#f5f5f5;color:#333}.change-password-btn-cancel:hover:not(:disabled){background-color:#e0e0e0}.change-password-btn-save{background-color:#4a90e2;color:#fff}.change-password-btn-save:hover:not(:disabled){background-color:#357abd}@media (max-width: 600px){.change-password-modal{max-width:100%;border-radius:0;max-height:100vh}.change-password-modal-header,.change-password-modal-body{padding:16px}.change-password-modal-actions{flex-direction:column-reverse}.change-password-btn{width:100%}}.user-info{display:flex;align-items:center;gap:1rem;padding:.5rem 1rem;background-color:#f8f9fa;border-radius:6px;border:1px solid #dee2e6}.user-details{display:flex;flex-direction:column;gap:.25rem;flex:1}.user-actions{display:flex;gap:.5rem}.user-name{font-weight:600;color:#333;font-size:.9rem}.user-role{font-size:.8rem;color:#666;font-style:italic}.change-password-button{background-color:#4a90e2;color:#fff;border:none;padding:.5rem 1rem;border-radius:4px;cursor:pointer;font-size:.875rem;transition:background-color .3s ease;white-space:nowrap}.change-password-button:hover{background-color:#357abd}.change-password-button:focus{outline:none;box-shadow:0 0 0 2px #4a90e240}.logout-button{background-color:#dc3545;color:#fff;border:none;padding:.5rem 1rem;border-radius:4px;cursor:pointer;font-size:.875rem;transition:background-color .3s ease;white-space:nowrap}.logout-button:hover{background-color:#c82333}.logout-button:focus{outline:none;box-shadow:0 0 0 2px #dc354540}@media (max-width: 768px){.user-info{padding:.4rem .8rem;gap:.75rem;flex-wrap:wrap}.user-details{width:100%}.user-actions{width:100%;gap:.5rem}.user-name{font-size:.85rem}.user-role{font-size:.75rem}.change-password-button,.logout-button{padding:.4rem .8rem;font-size:.8rem;flex:1}}.dashboard{min-height:100vh;background:linear-gradient(135deg,#f5f7fa,#c3cfe2);padding:2rem}.dashboard-header{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:.2rem;text-align:center;margin-bottom:2rem;padding:1.2rem .5rem 1rem;background:linear-gradient(90deg,#f5f7fa 60%,#e3eafc);border-radius:10px;box-shadow:0 2px 8px #0000000a;border:1px solid #e3eafc}.dashboard-header h1{color:#2a2a2a;font-size:2rem;margin:0 0 .2rem;font-weight:500;letter-spacing:.5px}.dashboard-header p{color:#4a4a4a;font-size:1rem;margin:0;font-weight:400;opacity:.85}.dashboard-content{max-width:1200px;margin:0 auto}.dashboard-section{margin-bottom:3rem}.dashboard-section h2{color:#333;font-size:1.8rem;margin-bottom:1.5rem;font-weight:400;border-left:4px solid #007bff;padding-left:1rem}.action-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:1.5rem;margin-bottom:2rem}.action-card{background:#fff;border-radius:12px;padding:1.5rem;box-shadow:0 2px 8px #00000014;transition:all .3s ease;cursor:pointer;display:flex;align-items:center;gap:1rem;position:relative;overflow:hidden}.action-card:hover{transform:translateY(-4px);box-shadow:0 8px 25px #00000026}.action-card.admin-card{border:2px solid #F44336;background:linear-gradient(135deg,#fff,#ffebee)}.action-icon{width:60px;height:60px;border-radius:12px;display:flex;align-items:center;justify-content:center;flex-shrink:0}.action-icon img{width:30px;height:30px;filter:brightness(0) invert(1)}.action-content{flex:1}.action-content h3{margin:0 0 .5rem;color:#333;font-size:1.2rem;font-weight:600}.action-content p{margin:0;color:#666;font-size:.9rem;line-height:1.4}.action-arrow{font-size:1.5rem;color:#ccc;transition:color .3s ease,transform .3s ease}.action-card:hover .action-arrow{color:#007bff;transform:translate(5px)}.stats-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:1.5rem}.stat-card{background:#fff;border-radius:12px;padding:2rem;text-align:center;box-shadow:0 2px 8px #00000014;transition:transform .3s ease}.stat-card:hover{transform:translateY(-2px)}.stat-card h3{color:#666;font-size:.9rem;margin:0 0 1rem;text-transform:uppercase;letter-spacing:.5px;font-weight:500}.stat-number{font-size:2.5rem;font-weight:700;color:#007bff;margin-bottom:.5rem}.stat-card p{color:#999;font-size:.8rem;margin:0}@media (max-width: 768px){.dashboard{padding:1rem}.dashboard-header{padding:1.5rem 1rem;margin-bottom:2rem}.dashboard-header h1{font-size:2rem}.action-grid{grid-template-columns:1fr;gap:1rem}.action-card{padding:1rem}.action-icon{width:50px;height:50px}.action-icon img{width:25px;height:25px}.stats-grid{grid-template-columns:1fr}.stat-card{padding:1.5rem}}@media (max-width: 480px){.dashboard-header h1{font-size:1.8rem}.dashboard-section h2{font-size:1.5rem}.action-card{flex-direction:column;text-align:center;gap:.8rem}.action-arrow{display:none}}.dashboard-section{animation:fadeInUp .6s ease-out}.dashboard-section:nth-child(2){animation-delay:.1s}.dashboard-section:nth-child(3){animation-delay:.2s}.dashboard-section:nth-child(4){animation-delay:.3s}@layer rdg{@layer Defaults,FocusSink,CheckboxInput,CheckboxIcon,CheckboxLabel,Cell,HeaderCell,SummaryCell,EditCell,Row,HeaderRow,SummaryRow,GroupedRow,Root;}@layer rdg.MeasuringCell{.mlln6zg7-0-0-beta-56{contain:strict;grid-row:1;visibility:hidden}}@layer rdg.Cell{.cj343x07-0-0-beta-56{position:relative;padding-block:0;padding-inline:8px;border-inline-end:1px solid var(--rdg-border-color);border-block-end:1px solid var(--rdg-border-color);grid-row-start:var(--rdg-grid-row-start);align-content:center;background-color:inherit;white-space:nowrap;overflow:clip;text-overflow:ellipsis;outline:none}.cj343x07-0-0-beta-56[aria-selected=true]{outline:2px solid var(--rdg-selection-color);outline-offset:-2px}}@layer rdg.Cell{.csofj7r7-0-0-beta-56{position:sticky;z-index:1}.csofj7r7-0-0-beta-56:nth-last-child(1 of.csofj7r7-0-0-beta-56){box-shadow:var(--rdg-cell-frozen-box-shadow)}}@layer rdg.DragHandle{.ch2wcw87-0-0-beta-56{--rdg-drag-handle-size: 8px;z-index:0;cursor:move;inline-size:var(--rdg-drag-handle-size);block-size:var(--rdg-drag-handle-size);background-color:var(--rdg-selection-color);place-self:end}.ch2wcw87-0-0-beta-56:hover{--rdg-drag-handle-size: 16px;border:2px solid var(--rdg-selection-color);background-color:var(--rdg-background-color)}}@layer rdg.DragHandle{.c1wvphzh7-0-0-beta-56{z-index:1;position:sticky}}@layer rdg.CheckboxInput{.c1bn88vv7-0-0-beta-56{display:block;margin:auto;inline-size:20px;block-size:20px}.c1bn88vv7-0-0-beta-56:focus-visible{outline:2px solid var(--rdg-checkbox-focus-color);outline-offset:-3px}.c1bn88vv7-0-0-beta-56:enabled{cursor:pointer}}@layer rdg.GroupCellContent{.g1s9ylgp7-0-0-beta-56{outline:none}}@layer rdg.GroupCellCaret{.cz54e4y7-0-0-beta-56{margin-inline-start:4px;stroke:currentColor;stroke-width:1.5px;fill:transparent;vertical-align:middle}.cz54e4y7-0-0-beta-56>path{transition:d .1s}}@layer rdg.SortableHeaderCell{.h44jtk67-0-0-beta-56{display:flex}}@layer rdg.SortableHeaderCellName{.hcgkhxz7-0-0-beta-56{flex-grow:1;overflow:clip;text-overflow:ellipsis}}@layer rdg.Cell{.c6ra8a37-0-0-beta-56{background-color:#ccf}}@layer rdg.EditCell{.cis5rrm7-0-0-beta-56{padding:0}}@layer rdg.HeaderCell{.c6l2wv17-0-0-beta-56{cursor:pointer}}@layer rdg.HeaderCell{.c1kqdw7y7-0-0-beta-56{touch-action:none}}@layer rdg.HeaderCell{.r1y6ywlx7-0-0-beta-56{cursor:col-resize;position:absolute;inset-block-start:0;inset-inline-end:0;inset-block-end:0;inline-size:10px}}@layer rdg.HeaderCell{.c1bezg5o7-0-0-beta-56{background-color:var(--rdg-header-draggable-background-color)}}@layer rdg.HeaderCell{.c1vc96037-0-0-beta-56{background-color:var(--rdg-header-draggable-background-color)}}@layer rdg.HeaderCell{.d8rwc9w7-0-0-beta-56{border-radius:4px;width:fit-content;outline:2px solid hsl(207,100%,50%);outline-offset:-2px}}@layer rdg.Row{.r1upfr807-0-0-beta-56{display:contents;background-color:var(--rdg-background-color)}.r1upfr807-0-0-beta-56:hover{background-color:var(--rdg-row-hover-background-color)}.r1upfr807-0-0-beta-56[aria-selected=true]{background-color:var(--rdg-row-selected-background-color)}.r1upfr807-0-0-beta-56[aria-selected=true]:hover{background-color:var(--rdg-row-selected-hover-background-color)}}@layer rdg.FocusSink{.r190mhd37-0-0-beta-56{outline:2px solid var(--rdg-selection-color);outline-offset:-2px}}@layer rdg.FocusSink{.r139qu9m7-0-0-beta-56:before{content:"";display:inline-block;block-size:100%;position:sticky;inset-inline-start:0;border-inline-start:2px solid var(--rdg-selection-color)}}@layer rdg.HeaderRow{.h10tskcx7-0-0-beta-56{display:contents;background-color:var(--rdg-header-background-color);font-weight:700}.h10tskcx7-0-0-beta-56>.cj343x07-0-0-beta-56{z-index:2;position:sticky}.h10tskcx7-0-0-beta-56>.csofj7r7-0-0-beta-56{z-index:3}}@layer rdg.SortIcon{.a3ejtar7-0-0-beta-56{fill:currentColor}.a3ejtar7-0-0-beta-56>path{transition:d .1s}}@layer rdg.Defaults{.rnvodz57-0-0-beta-56 *,.rnvodz57-0-0-beta-56 *:before,.rnvodz57-0-0-beta-56 *:after{box-sizing:inherit}}@layer rdg.Root{.rnvodz57-0-0-beta-56{--rdg-color: #000;--rdg-border-color: #ddd;--rdg-summary-border-color: #aaa;--rdg-background-color: hsl(0deg 0% 100%);--rdg-header-background-color: hsl(0deg 0% 97.5%);--rdg-header-draggable-background-color: hsl(0deg 0% 90.5%);--rdg-row-hover-background-color: hsl(0deg 0% 96%);--rdg-row-selected-background-color: hsl(207deg 76% 92%);--rdg-row-selected-hover-background-color: hsl(207deg 76% 88%);--rdg-checkbox-focus-color: hsl(207deg 100% 69%);--rdg-selection-color: hsl(207, 75%, 66%);--rdg-font-size: 14px;--rdg-cell-frozen-box-shadow: 2px 0 5px -2px rgba(136, 136, 136, .3);display:grid;color-scheme:var(--rdg-color-scheme, light dark);accent-color:light-dark(hsl(207deg 100% 29%),hsl(207deg 100% 79%));contain:content;content-visibility:auto;block-size:350px;border:1px solid var(--rdg-border-color);box-sizing:border-box;overflow:auto;background-color:var(--rdg-background-color);color:var(--rdg-color);font-size:var(--rdg-font-size)}.rnvodz57-0-0-beta-56:dir(rtl){--rdg-cell-frozen-box-shadow: -2px 0 5px -2px rgba(136, 136, 136, .3)}.rnvodz57-0-0-beta-56:before{content:"";grid-column:1/-1;grid-row:1/-1}.rnvodz57-0-0-beta-56.rdg-dark{--rdg-color-scheme: dark;--rdg-color: #ddd;--rdg-border-color: #444;--rdg-summary-border-color: #555;--rdg-background-color: hsl(0deg 0% 13%);--rdg-header-background-color: hsl(0deg 0% 10.5%);--rdg-header-draggable-background-color: hsl(0deg 0% 17.5%);--rdg-row-hover-background-color: hsl(0deg 0% 9%);--rdg-row-selected-background-color: hsl(207deg 76% 42%);--rdg-row-selected-hover-background-color: hsl(207deg 76% 38%);--rdg-checkbox-focus-color: hsl(207deg 100% 89%)}.rnvodz57-0-0-beta-56.rdg-light{--rdg-color-scheme: light}@media (prefers-color-scheme: dark){.rnvodz57-0-0-beta-56:not(.rdg-light){--rdg-color: #ddd;--rdg-border-color: #444;--rdg-summary-border-color: #555;--rdg-background-color: hsl(0deg 0% 13%);--rdg-header-background-color: hsl(0deg 0% 10.5%);--rdg-header-draggable-background-color: hsl(0deg 0% 17.5%);--rdg-row-hover-background-color: hsl(0deg 0% 9%);--rdg-row-selected-background-color: hsl(207deg 76% 42%);--rdg-row-selected-hover-background-color: hsl(207deg 76% 38%);--rdg-checkbox-focus-color: hsl(207deg 100% 89%)}}.rnvodz57-0-0-beta-56>:nth-last-child(1 of.rdg-top-summary-row)>.cj343x07-0-0-beta-56{border-block-end:2px solid var(--rdg-summary-border-color)}.rnvodz57-0-0-beta-56>:nth-child(1 of.rdg-bottom-summary-row)>.cj343x07-0-0-beta-56{border-block-start:2px solid var(--rdg-summary-border-color)}}@layer rdg.Root{.vlqv91k7-0-0-beta-56{-webkit-user-select:none;user-select:none}.vlqv91k7-0-0-beta-56 .r1upfr807-0-0-beta-56{cursor:move}}@layer rdg.FocusSink{.f1lsfrzw7-0-0-beta-56{grid-column:1/-1;pointer-events:none;z-index:1}}@layer rdg.FocusSink{.f1cte0lg7-0-0-beta-56{z-index:3}}@layer rdg.SummaryCell{.s8wc6fl7-0-0-beta-56{inset-block-start:var(--rdg-summary-row-top);inset-block-end:var(--rdg-summary-row-bottom)}}@layer rdg.SummaryRow{.skuhp557-0-0-beta-56>.cj343x07-0-0-beta-56{position:sticky}}@layer rdg.SummaryRow{.tf8l5ub7-0-0-beta-56>.cj343x07-0-0-beta-56{z-index:2}.tf8l5ub7-0-0-beta-56>.csofj7r7-0-0-beta-56{z-index:3}}@layer rdg.GroupedRow{.g1yxluv37-0-0-beta-56:not([aria-selected=true]){background-color:var(--rdg-header-background-color)}.g1yxluv37-0-0-beta-56>.cj343x07-0-0-beta-56:not(:last-child,.csofj7r7-0-0-beta-56),.g1yxluv37-0-0-beta-56>:nth-last-child(n+2 of.csofj7r7-0-0-beta-56){border-inline-end:none}}@layer rdg.TextEditor{.t7vyx3i7-0-0-beta-56{appearance:none;box-sizing:border-box;inline-size:100%;block-size:100%;padding-block:0;padding-inline:6px;border:2px solid #ccc;vertical-align:top;color:var(--rdg-color);background-color:var(--rdg-background-color);font-family:inherit;font-size:var(--rdg-font-size)}.t7vyx3i7-0-0-beta-56:focus{border-color:var(--rdg-selection-color);outline:none}.t7vyx3i7-0-0-beta-56::placeholder{color:#999;opacity:1}}.student-list-container{padding:1rem;height:calc(100vh - var(--header-height) - var(--navbar-height) - 40px);display:flex;flex-direction:column}.student-list-container h2{margin-bottom:20px}.custom-data-grid{flex-grow:1;width:100%;min-height:500px}.btn-primary{background-color:#007bff;color:#fff;border:none;padding:8px 16px;border-radius:4px;cursor:pointer;font-size:14px}.btn-primary:hover{background-color:#0056b3}.btn-danger{background-color:#dc3545;color:#fff;border:none;padding:4px 8px;border-radius:4px;cursor:pointer;font-size:12px}.student-list-actions{margin-top:1rem;display:flex;gap:1rem}.loading-state,.error-state{display:flex;justify-content:center;align-items:center;height:200px;font-size:16px}.error-state{color:#dc3545;background-color:#f8d7da;border:1px solid #f5c6cb;border-radius:4px;margin:1rem 0}.row-error{color:#dc3545!important;border-left:3px solid #dc3545!important}.row-error:hover{color:#dc3545!important}.validation-error{position:relative}.validation-error:after{content:"⚠️";position:absolute;right:4px;top:50%;transform:translateY(-50%);color:#dc3545;font-size:14px}.create-tutoring-lesson-modal{background:#fff;border-radius:8px;width:100%;max-width:600px;max-height:90vh;overflow-y:auto;box-shadow:0 10px 25px #0003}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:1rem}.form-group input,.form-group select,.form-group textarea{width:100%;padding:.5rem;border:1px solid #ced4da;border-radius:4px;font-size:1rem;box-sizing:border-box;font-family:inherit}.form-group textarea{resize:vertical;min-height:80px}.form-group input:focus,.form-group select:focus,.form-group textarea:focus{outline:none;border-color:#007bff;box-shadow:0 0 0 2px #007bff40}.form-group input:disabled,.form-group select:disabled,.form-group textarea:disabled{background-color:#f8f9fa;color:#6c757d;cursor:not-allowed}.autofilled-field{background-color:#f8f9fa!important;color:#6c757d!important;cursor:not-allowed!important;font-style:italic}.autofill-hint{margin-top:.5rem;padding:.5rem;background-color:#e7f3ff;border-left:3px solid #007bff;border-radius:4px;font-size:.875rem;color:#004085;line-height:1.4}.student-dropdown{position:absolute;top:100%;left:0;right:0;background:#fff;border:1px solid #ced4da;border-top:none;border-radius:0 0 4px 4px;max-height:200px;overflow-y:auto;z-index:1001;box-shadow:0 2px 8px #0000001a}.dropdown-item{padding:.5rem;cursor:pointer;border-bottom:1px solid #f1f3f4}.dropdown-item:hover{background-color:#f8f9fa}.dropdown-item.loading{cursor:default;color:#6c757d;font-style:italic;text-align:center}.selected-student{margin-top:.5rem;padding:.5rem;background-color:#d4edda;border:1px solid #c3e6cb;border-radius:4px;color:#155724;font-size:.875rem}.selected-student-fixed{padding:.5rem;background-color:#e7f3ff;border:1px solid #007bff;border-radius:4px;font-weight:500}.lesson-type-description{margin-top:.5rem;padding:.5rem;background-color:#e7f3ff;border-left:3px solid #007bff;border-radius:4px;font-size:.875rem;color:#004085}.lesson-type-description p{margin:0}.selected-students-list{display:flex;flex-wrap:wrap;gap:.5rem;margin-top:.5rem}.selected-student-chip{display:inline-flex;align-items:center;gap:.5rem;padding:.375rem .75rem;background-color:#d4edda;border:1px solid #c3e6cb;border-radius:20px;color:#155724;font-size:.875rem}.selected-student-chip span{font-weight:500}.remove-student-btn{background:none;border:none;font-size:1.25rem;color:#155724;cursor:pointer;padding:0;width:20px;height:20px;display:flex;align-items:center;justify-content:center;border-radius:50%;line-height:1}.remove-student-btn:hover:not(:disabled){background-color:#c3e6cb;color:#0c3d14}.remove-student-btn:disabled{opacity:.5;cursor:not-allowed}.field-hint{display:block;margin-top:.25rem;font-size:.75rem;color:#6c757d;font-style:italic}@media (max-width: 768px){.form-row{grid-template-columns:1fr}}@media (max-width: 576px){.create-tutoring-lesson-modal{margin:10px;max-width:none}.modal-header,.modal-body{padding:1rem}.modal-actions{flex-direction:column}.modal-actions button{width:100%}}.tutoring-lesson-search-bar{background:#f8f9fa;border:1px solid #e9ecef;border-radius:8px;padding:1.5rem;margin-bottom:1.5rem}.search-form{display:flex;flex-direction:column;gap:1rem}.search-fields{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:1rem}.search-field{display:flex;flex-direction:column}.search-field label{font-weight:500;color:#495057;margin-bottom:.5rem;font-size:.875rem}.search-field input{padding:.5rem;border:1px solid #ced4da;border-radius:4px;font-size:.875rem;transition:border-color .15s ease-in-out,box-shadow .15s ease-in-out}.search-field input:focus{outline:none;border-color:#007bff;box-shadow:0 0 0 2px #007bff40}.search-field input:disabled{background-color:#e9ecef;opacity:.65;cursor:not-allowed}.search-field input::placeholder{color:#6c757d;font-style:italic}.search-actions{display:flex;gap:.5rem;align-items:center;flex-wrap:wrap}.search-btn{background-color:#007bff;color:#fff;border:none;padding:.5rem 1rem;border-radius:4px;cursor:pointer;font-size:.875rem;font-weight:500;min-width:100px;transition:background-color .15s ease-in-out}.search-btn:hover:not(:disabled){background-color:#0056b3}.search-btn:disabled{background-color:#6c757d;cursor:not-allowed;opacity:.65}.clear-btn{background-color:#6c757d;color:#fff;border:none;padding:.5rem 1rem;border-radius:4px;cursor:pointer;font-size:.875rem;font-weight:500;transition:background-color .15s ease-in-out}.clear-btn:hover:not(:disabled){background-color:#545b62}.clear-btn:disabled{background-color:#adb5bd;cursor:not-allowed;opacity:.65}.active-filters{margin-top:1rem;padding-top:1rem;border-top:1px solid #dee2e6;display:flex;flex-wrap:wrap;align-items:center;gap:.5rem}.filter-label{font-weight:500;color:#495057;font-size:.875rem}.filter-tag{background-color:#007bff;color:#fff;padding:.25rem .5rem;border-radius:12px;font-size:.75rem;font-weight:500;white-space:nowrap}@media (max-width: 768px){.search-fields{grid-template-columns:1fr}.search-actions{flex-direction:column;align-items:stretch}.search-btn,.clear-btn{width:100%;justify-content:center}.active-filters{flex-direction:column;align-items:flex-start}.filter-tag{margin:.125rem 0}}@media (max-width: 576px){.tutoring-lesson-search-bar{padding:1rem;margin-bottom:1rem}.search-field label,.search-field input{font-size:.8rem}}.modal-content{background:#fff;border-radius:8px;box-shadow:0 4px 6px #0000001a;max-width:500px;width:90%;max-height:90vh;overflow-y:auto}.modal-header{display:flex;justify-content:space-between;align-items:center;padding:1.5rem;border-bottom:1px solid #e5e7eb}.modal-header h2{margin:0;font-size:1.25rem;font-weight:600;color:#111827}.modal-close{background:none;border:none;font-size:1.5rem;cursor:pointer;color:#6b7280;padding:0;width:2rem;height:2rem;display:flex;align-items:center;justify-content:center;border-radius:4px;transition:background-color .2s}.modal-close:hover{background-color:#f3f4f6}.form-group input[type=date]{width:100%;padding:.5rem;border:1px solid #d1d5db;border-radius:4px;font-size:1rem}.form-group input[type=date]:focus{outline:none;border-color:#3b82f6;box-shadow:0 0 0 3px #3b82f61a}.form-group input[type=date]:disabled{background-color:#f3f4f6;cursor:not-allowed}.required{color:#dc2626}.modal-footer{display:flex;justify-content:flex-end;gap:.75rem;padding:1.5rem;border-top:1px solid #e5e7eb}.btn-primary,.btn-secondary{padding:.5rem 1rem;border-radius:4px;font-size:.875rem;font-weight:500;cursor:pointer;transition:all .2s;border:none}.btn-primary{background-color:#3b82f6;color:#fff}.btn-primary:hover:not(:disabled){background-color:#2563eb}.btn-secondary{background-color:#f3f4f6;color:#374151}.btn-secondary:hover:not(:disabled){background-color:#e5e7eb}.btn-secondary:disabled{opacity:.5;cursor:not-allowed}.tutoring-lessons-page{min-height:calc(100vh - var(--header-height) - var(--navbar-height));background:#fff;padding:2rem}.tutoring-lessons-header{text-align:center;margin-bottom:2rem}.tutoring-lessons-title-section h1{color:#000;font-size:2.5rem;font-weight:700;margin-bottom:.5rem}.tutoring-lessons-subtitle{color:#6c757d;font-size:1.1rem;margin:0}.tutoring-lessons-content{max-width:1400px;margin:0 auto;background:#fff;border-radius:8px;padding:1.5rem;border:1px solid #dee2e6}.tutoring-lessons-content .student-list-container{background:transparent;padding:0;margin:0;box-shadow:none;border:none}.tutoring-lessons-content .student-list-container h2{color:#000;font-size:1.8rem;font-weight:600;margin-bottom:1.5rem;text-align:left}.tutoring-lessons-content .search-container{background:#f8f9fa;border-radius:8px;padding:1.5rem;margin-bottom:1.5rem;border:1px solid #dee2e6}.tutoring-lessons-content .search-container h3{color:#000;font-size:1.2rem;font-weight:600;margin-bottom:1rem}@media (max-width: 768px){.tutoring-lessons-page{padding:1rem}.tutoring-lessons-title-section h1{font-size:2rem}.tutoring-lessons-content{padding:1rem}}@media (max-width: 480px){.tutoring-lessons-title-section h1{font-size:1.75rem}.tutoring-lessons-content{padding:.75rem}}.modal-backdrop{position:fixed;top:0;left:0;width:100%;height:100%;background-color:#00000080;display:flex;justify-content:center;align-items:center;z-index:1000}.modal-content{background:#fff;border-radius:8px;padding:2rem;width:90%;max-width:600px;max-height:90vh;overflow-y:auto;box-shadow:0 4px 6px #0000001a}.modal-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:1.5rem;padding-bottom:1rem;border-bottom:1px solid #e5e7eb}.modal-title{font-size:1.5rem;font-weight:600;color:#111827;margin:0}.close-button{background:none;border:none;font-size:1.5rem;cursor:pointer;color:#6b7280;padding:.5rem;border-radius:4px;transition:background-color .2s}.close-button:hover{background-color:#f3f4f6}.form-group label{display:block;margin-bottom:.5rem;font-weight:500;color:#374151}.form-group input,.form-group select{width:100%;padding:.75rem;border:1px solid #d1d5db;border-radius:4px;font-size:1rem;transition:border-color .2s}.form-group input:focus,.form-group select:focus{outline:none;border-color:#3b82f6;box-shadow:0 0 0 3px #3b82f61a}.checkbox-group{display:flex;align-items:center;gap:.5rem;margin:.5rem 0}.checkbox-group input[type=checkbox]{width:auto;margin:0}.checkbox-group label{margin:0;font-weight:400;cursor:pointer}.modal-actions{display:flex;justify-content:flex-end;gap:1rem;margin-top:2rem;padding-top:1rem;border-top:1px solid #e5e7eb}.btn-secondary{padding:.75rem 1.5rem;border:1px solid #d1d5db;background-color:#fff;color:#374151;border-radius:4px;cursor:pointer;font-size:1rem;transition:all .2s}.btn-secondary:hover{background-color:#f9fafb;border-color:#9ca3af}.btn-primary{padding:.75rem 1.5rem;border:none;background-color:#3b82f6;color:#fff;border-radius:4px;cursor:pointer;font-size:1rem;transition:background-color .2s}.btn-primary:hover{background-color:#2563eb}.btn-primary:disabled{background-color:#9ca3af;cursor:not-allowed}.error-message{color:#dc2626;font-size:.875rem;margin-top:.25rem}.field-group{display:grid;grid-template-columns:1fr 1fr;gap:1rem;margin-bottom:1rem}.student-dropdown{position:absolute;top:100%;left:0;right:0;background:#fff;border:1px solid #d1d5db;border-top:none;border-radius:0 0 4px 4px;max-height:200px;overflow-y:auto;z-index:1001;box-shadow:0 2px 8px #0000001a}.dropdown-item{padding:.75rem;cursor:pointer;border-bottom:1px solid #f3f4f6;transition:background-color .2s}.dropdown-item:hover{background-color:#f9fafb}.dropdown-item:last-child{border-bottom:none}.dropdown-item.loading{cursor:default;color:#6b7280;font-style:italic;text-align:center}.selected-student{margin-top:.5rem;padding:.75rem;background-color:#d1fae5;border:1px solid #a7f3d0;border-radius:4px;color:#065f46;font-size:.875rem;font-weight:500}.import-modal{background:#fff;border-radius:12px;width:90%;max-width:700px;max-height:90vh;overflow-y:auto;box-shadow:0 20px 60px #0003;animation:modalSlideIn .3s ease-out}.csv-format-info{background:#f8f9fa;border:1px solid #e9ecef;border-radius:8px;padding:1.5rem;margin-bottom:1.5rem}.import-mode-selector{background:#f8f9fa;border:1px solid #e9ecef;border-radius:8px;padding:1.5rem;margin-bottom:2rem}.import-mode-selector h5{margin:0 0 1rem;color:#333;font-size:1.1rem;font-weight:600;display:flex;align-items:center;gap:.5rem}.mode-options{display:flex;flex-direction:column;gap:.75rem}.mode-option{display:flex;align-items:flex-start;gap:.75rem;padding:1rem;background:#fff;border:2px solid #dee2e6;border-radius:8px;cursor:pointer;transition:all .2s ease}.mode-option:hover{border-color:#007bff;background:#f8f9ff}.mode-option.selected{border-color:#007bff;background:#e7f3ff;box-shadow:0 2px 8px #007bff26}.mode-option input[type=radio]{margin-top:.25rem;cursor:pointer;width:18px;height:18px;flex-shrink:0}.mode-content{flex:1}.mode-title{display:flex;align-items:center;gap:.5rem;font-weight:600;color:#333;margin-bottom:.25rem;font-size:1rem}.mode-icon{font-size:1.2rem}.mode-description{color:#666;font-size:.9rem;line-height:1.4}.csv-example code{font-family:Courier New,monospace;font-size:.85rem;color:#495057;white-space:pre;line-height:1.4}.file-drop-zone{border:2px dashed #dee2e6;border-radius:8px;padding:2rem;text-align:center;cursor:pointer;transition:all .3s ease;margin-bottom:1.5rem;min-height:200px;display:flex;flex-direction:column;align-items:center;justify-content:center}.file-drop-zone:hover{border-color:#007bff;background:#f8f9ff}.file-drop-zone.drag-active{border-color:#007bff;background:#e7f3ff;border-style:solid}.file-drop-zone.file-selected{border-color:#28a745;background:#f8fff8}.drop-zone-content h4{color:#666;margin:0 0 .5rem;font-size:1.2rem;font-weight:600}.import-actions{display:flex;gap:1rem;justify-content:flex-end;margin-top:2rem}.btn-cancel,.btn-import{padding:.75rem 2rem;border:none;border-radius:6px;font-size:1rem;font-weight:500;cursor:pointer;transition:all .2s ease;display:flex;align-items:center;gap:.5rem}.btn-cancel:hover:not(:disabled){background:#5a6268;transform:translateY(-1px);box-shadow:0 4px 12px #6c757d4d}.btn-import{background:#28a745;color:#fff;display:flex;align-items:center;gap:.5rem}@media (max-width: 768px){.import-modal{width:95%;margin:1rem}.import-modal-header{padding:1rem 1.5rem}.import-modal-content{padding:1.5rem}.file-drop-zone{padding:1.5rem;min-height:150px}.selected-file-info{flex-direction:column;text-align:center;gap:.75rem}.mode-option{padding:.75rem}.mode-title{font-size:.95rem}.mode-description{font-size:.85rem}.import-actions{flex-direction:column;gap:.75rem}.btn-cancel,.btn-import{width:100%;justify-content:center}}.mode-badge{display:inline-flex;align-items:center;gap:.5rem;padding:.5rem 1rem;background:#e7f3ff;border:1px solid #007bff;border-radius:20px;font-size:.9rem;font-weight:600;color:#0056b3;margin-bottom:1rem}.result-summary{display:flex;align-items:flex-start;gap:1rem;padding:1.5rem;border-radius:8px;margin-bottom:1.5rem}.result-summary.warning{background:#fff3cd;border:1px solid #ffeaa7}.result-icon{font-size:2rem;flex-shrink:0}.result-details h4{margin:0 0 .5rem;color:#333;font-size:1.2rem;font-weight:600}.result-details p{margin:0;color:#666;line-height:1.5}.imported-results{background:#d4edda;border:1px solid #c3e6cb;border-radius:8px;padding:1.5rem;margin-bottom:1.5rem}.imported-results h5{margin:0 0 1rem;color:#155724;font-size:1.1rem;font-weight:600;display:flex;align-items:center;gap:.5rem}.results-list{max-height:300px;overflow-y:auto;background:#fff;border:1px solid #c3e6cb;border-radius:6px;padding:1rem}.result-item{display:flex;align-items:flex-start;gap:1rem;margin-bottom:1rem;padding:.75rem;background:#f8f9fa;border-radius:6px;border:1px solid #e9ecef}.result-item:last-child{margin-bottom:0}.result-number{background:#28a745;color:#fff;border-radius:50%;width:24px;height:24px;display:flex;align-items:center;justify-content:center;font-size:.875rem;font-weight:600;flex-shrink:0}.result-details{flex:1}.student-name{font-weight:600;color:#333;margin-bottom:.25rem}.class-info{color:#666;font-size:.875rem;margin-bottom:.5rem}.math-details,.german-details{display:flex;flex-direction:column;gap:.25rem;font-size:.875rem;color:#495057}.math-details span,.german-details span{background:#e7f3ff;padding:.25rem .5rem;border-radius:4px;border:1px solid #b8daff}.import-errors.force-mode{background:#fff3cd;border:1px solid #ffeaa7}.import-errors.force-mode h5{color:#856404}.force-mode-note{margin:0 0 1rem;padding:.75rem;background:#fff;border:1px solid #ffeaa7;border-radius:4px;color:#856404;font-size:.9rem;font-weight:500}.import-errors.force-mode .errors-list{border:1px solid #ffeaa7}.result-actions{display:flex;justify-content:flex-end;margin-top:2rem}.btn-close{background:#007bff;color:#fff;border:none;padding:.75rem 2rem;border-radius:6px;font-size:1rem;font-weight:500;cursor:pointer;transition:all .2s ease}@media (max-width: 768px){.result-modal{width:95%;margin:1rem}.result-modal-header{padding:1rem 1.5rem}.result-modal-content{padding:1.5rem}.result-item{flex-direction:column;align-items:flex-start;gap:.5rem}.result-number{align-self:flex-start}.math-details,.german-details{width:100%}}@media (max-width: 480px){.result-summary{flex-direction:column;align-items:center;text-align:center;gap:.75rem}.result-icon{font-size:1.5rem}.btn-close{width:100%}}.learning-level-search-section{background:#f8f9fa;border:1px solid #dee2e6;border-radius:8px;padding:1.5rem;margin-bottom:2rem}.learning-level-search-form{margin:0}.search-filters{display:flex;flex-direction:column;gap:1rem}.filter-row{display:flex;flex-wrap:wrap;gap:1rem;align-items:end}.filter-group{display:flex;flex-direction:column;min-width:200px;flex:1}.filter-group label{font-weight:500;margin-bottom:.5rem;color:#495057;font-size:.9rem}.search-input{padding:.75rem;border:1px solid #ced4da;border-radius:4px;font-size:1rem;transition:border-color .15s ease-in-out,box-shadow .15s ease-in-out;background:#fff}.search-input:focus{outline:none;border-color:#80bdff;box-shadow:0 0 0 .2rem #007bff40}.search-input:disabled{background-color:#e9ecef;opacity:1}.search-buttons{display:flex;gap:.5rem;flex-wrap:wrap}.btn-primary,.btn-secondary{padding:.75rem 1.5rem;border:none;border-radius:4px;font-size:.9rem;cursor:pointer;transition:all .15s ease-in-out;white-space:nowrap}.search-status{margin-top:1rem;padding:.75rem;background:#e3f2fd;border:1px solid #bbdefb;border-radius:4px}.search-indicator{color:#1565c0;font-size:.9rem}.search-indicator strong{font-weight:600}@media (max-width: 768px){.filter-row{flex-direction:column;align-items:stretch}.filter-group{min-width:auto}.search-buttons{justify-content:stretch}.btn-primary,.btn-secondary{flex:1;text-align:center}}@media (max-width: 480px){.learning-level-search-section{padding:1rem}.search-buttons{flex-direction:column}.btn-primary,.btn-secondary{width:100%}}.student-entry-level-tests-page{min-height:calc(100vh - var(--header-height) - var(--navbar-height));background:#fff;padding:2rem}.student-entry-level-tests-header{text-align:center;margin-bottom:2rem}.student-entry-level-tests-title-section h1{color:#000;font-size:2.5rem;font-weight:700;margin-bottom:.5rem}.student-entry-level-tests-subtitle{color:#6c757d;font-size:1.1rem;margin:0}.student-entry-level-tests-content{max-width:1400px;margin:0 auto;background:#fff;border-radius:8px;padding:1.5rem;border:1px solid #dee2e6}.student-entry-level-tests-content .student-list-container{background:transparent;padding:0;margin:0;box-shadow:none;border:none}.student-entry-level-tests-content .student-list-container h2{color:#000;font-size:1.8rem;font-weight:600;margin-bottom:1.5rem;text-align:left}.student-entry-level-tests-content .student-list-container h3{color:#000;font-size:1.4rem;font-weight:600;margin-top:2rem;margin-bottom:1rem;padding-bottom:.5rem;border-bottom:2px solid #dee2e6}@media (max-width: 768px){.student-entry-level-tests-page{padding:1rem}.student-entry-level-tests-title-section h1{font-size:2rem}.student-entry-level-tests-content{padding:1rem}}@media (max-width: 480px){.student-entry-level-tests-title-section h1{font-size:1.75rem}.student-entry-level-tests-content{padding:.75rem}}.modal-content{background:#fff;border-radius:8px;padding:0;min-width:400px;max-width:500px;max-height:90vh;overflow-y:auto;box-shadow:0 4px 20px #00000026}.modal-header{display:flex;justify-content:space-between;align-items:center;padding:1.5rem;border-bottom:1px solid #e9ecef}.modal-header h2{margin:0;font-size:1.25rem;color:#333}.modal-close{background:none;border:none;font-size:1.5rem;cursor:pointer;color:#999;padding:0;width:30px;height:30px;display:flex;align-items:center;justify-content:center}.modal-close:hover{color:#333}.modal-content form{padding:1.5rem}.form-group label{display:block;margin-bottom:.5rem;font-weight:500;color:#333}.form-control{width:100%;padding:.75rem;border:1px solid #ddd;border-radius:4px;font-size:1rem;box-sizing:border-box}.form-control:focus{outline:none;border-color:#007bff;box-shadow:0 0 0 2px #007bff40}.form-control:disabled{background-color:#f8f9fa;color:#6c757d}.error-message{background-color:#f8d7da;color:#721c24;padding:.75rem;border-radius:4px;margin-bottom:1rem;border:1px solid #f5c6cb}.btn-primary,.btn-secondary{padding:.75rem 1.5rem;border:none;border-radius:4px;font-size:1rem;cursor:pointer;transition:background-color .2s}.btn-primary:disabled,.btn-secondary:disabled{opacity:.6;cursor:not-allowed}.stundenplan-page{min-height:calc(100vh - var(--header-height) - var(--navbar-height));background:#fff;padding:2rem}.stundenplan-header{text-align:center;margin-bottom:2rem}.stundenplan-title-section h1{color:#000;font-size:2.5rem;font-weight:700;margin-bottom:.5rem}.stundenplan-subtitle{color:#6c757d;font-size:1.1rem;margin:0}.stundenplan-content{max-width:1400px;margin:0 auto;background:#fff;border-radius:8px;padding:1.5rem;border:1px solid #dee2e6}.stundenplan-content .student-list-container{background:transparent;padding:0;margin:0;box-shadow:none;border:none}.stundenplan-content .student-list-container h2{color:#000;font-size:1.8rem;font-weight:600;margin-bottom:1.5rem;text-align:left}.stundenplan-content .custom-data-grid{border-radius:8px;overflow:auto;border:1px solid #dee2e6}@media (max-width: 768px){.stundenplan-page{padding:1rem}.stundenplan-title-section h1{font-size:2rem}.stundenplan-content{padding:1rem}}@media (max-width: 480px){.stundenplan-title-section h1{font-size:1.75rem}.stundenplan-content{padding:.75rem}}.students-page{min-height:calc(100vh - var(--header-height) - var(--navbar-height));background:#fff!important;background-image:none!important;padding:2rem}.students-header{text-align:center;margin-bottom:2rem;background:transparent!important;background-image:none!important}.students-title-section h1{color:#000;font-size:2.5rem;font-weight:700;margin-bottom:.5rem;background:transparent!important;background-image:none!important}.students-subtitle{color:#6c757d;font-size:1.1rem;margin:0}.students-content{max-width:1400px;margin:0 auto;background:transparent!important;background-image:none!important}.search-section{background:#f8f9fa!important;background-image:none!important;border-radius:8px;padding:2rem;margin-bottom:2rem;border:1px solid #dee2e6}.search-form{width:100%;background:transparent!important;background-image:none!important}.search-input{padding:.75rem;border:2px solid #e9ecef;border-radius:8px;font-size:1rem;transition:all .3s ease;background:#fff;color:#495057}.search-input:focus{outline:none;border-color:#007bff;box-shadow:0 0 0 3px #007bff1a}.search-info{margin-top:1rem;padding:.75rem 1rem;background:#e7f3ff;color:#06c;border-radius:8px;font-size:.9rem;border-left:4px solid #007bff}.students-table-section{background:#fff!important;background-image:none!important;border-radius:8px;padding:1.5rem;border:1px solid #dee2e6}.btn-create,.btn-search,.btn-clear{padding:.75rem 1.5rem;border:none;border-radius:8px;cursor:pointer;font-weight:500;transition:all .3s ease;display:flex;align-items:center;gap:.5rem}.btn-create{background:#28a745;color:#fff}.btn-create:hover{background:#218838}.btn-search{background:#007bff;color:#fff}.btn-search:hover:not(:disabled){background:#0056b3}.btn-search:disabled{background:#6c757d;cursor:not-allowed}.btn-clear{background:#6c757d;color:#fff}.btn-clear:hover{background:#5a6268}.btn-danger{background-color:#dc3545;color:#fff;border:none;padding:4px 8px;border-radius:6px;cursor:pointer;font-size:12px;font-weight:500;transition:all .3s ease}.btn-danger:hover{background-color:#c82333}.loading-state,.error-state{display:flex;justify-content:center;align-items:center;height:200px;font-size:16px;border-radius:8px}.error-state{color:#dc3545;background-color:#f8d7da;border:1px solid #f5c6cb;margin:1rem 0}@media (max-width: 768px){.students-page{padding:1rem}.students-title-section h1{font-size:2rem}.search-section{padding:1.5rem}.filter-row{grid-template-columns:1fr}.search-buttons{justify-content:stretch}.btn-primary,.btn-secondary{flex:1;justify-content:center}.students-table-section{padding:1rem}}@media (max-width: 480px){.students-title-section h1{font-size:1.75rem}.search-section{padding:1rem}.search-buttons{flex-direction:column}}.create-student-modal{background:#fff;border-radius:8px;width:100%;max-width:500px;max-height:90vh;overflow-y:auto;box-shadow:0 10px 25px #0003}.form-group input,.form-group select{width:100%;padding:.5rem;border:1px solid #ced4da;border-radius:4px;font-size:1rem;box-sizing:border-box}.form-group input:disabled,.form-group select:disabled{background-color:#f8f9fa;color:#6c757d;cursor:not-allowed}.loading-state{padding:1rem;text-align:center;color:#6c757d;font-style:italic;border:1px solid #e9ecef;border-radius:4px;background-color:#f8f9fa}@media (max-width: 576px){.create-student-modal{margin:10px;max-width:none}.modal-header,.modal-body{padding:1rem}.modal-actions{flex-direction:column}.modal-actions button{width:100%}}.classes-page{padding:2rem;min-height:calc(100vh - var(--header-height) - var(--navbar-height));background:#fff!important;background-image:none!important}.classes-header{text-align:center;margin-bottom:2rem;background:transparent!important;background-image:none!important;padding:0;border-radius:0;box-shadow:none}.classes-header h2{margin:0;color:#000!important;font-size:2.5rem!important;font-weight:700!important;margin-bottom:.5rem}.classes-breadcrumb{display:flex;align-items:center;gap:1rem}.btn-back{display:flex;align-items:center;gap:.5rem;padding:.75rem 1rem;background:#6c757d;color:#fff;border:none;border-radius:8px;cursor:pointer;font-size:.9rem;transition:all .3s ease;text-decoration:none}.btn-back:hover{background:#5a6268;transform:translateY(-1px);box-shadow:0 2px 8px #00000026}.btn-create{padding:.75rem 1.5rem;background:#28a745;color:#fff;border:none;border-radius:8px;cursor:pointer;font-weight:500;transition:all .3s ease;display:flex;align-items:center;gap:.5rem}.btn-create:hover{background:#218838;transform:translateY(-1px);box-shadow:0 4px 12px #28a7454d}.btn-add-student{padding:.75rem 1.5rem;background:#17a2b8;color:#fff;border:none;border-radius:8px;cursor:pointer;font-weight:500;transition:all .3s ease;margin-left:auto}.btn-add-student:hover{background:#138496;transform:translateY(-1px);box-shadow:0 4px 12px #17a2b84d}.btn-import-csv{padding:.75rem 1.5rem;background:#fd7e14;color:#fff;border:none;border-radius:8px;cursor:pointer;font-weight:500;transition:all .3s ease;display:flex;align-items:center;gap:.5rem;font-size:.9rem}.btn-import-csv:hover{background:#e8610e;transform:translateY(-1px);box-shadow:0 4px 12px #fd7e144d}.years-grid,.classes-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:1.5rem;padding:2rem;background:#fff;border-radius:8px;border:1px solid #dee2e6}.current-year-section{margin-bottom:3rem}.section-title{font-size:1.5rem;font-weight:600;color:#333;margin-bottom:1.5rem;padding-left:2rem}.current-year-container{display:flex;justify-content:center;padding:2rem}.current-year-container .year-card{min-width:400px;max-width:500px;padding:3rem;box-shadow:0 8px 30px #007bff33;border:3px solid #007bff;background:linear-gradient(135deg,#e7f3ff,#fff)}.current-year-container .year-card h3{font-size:2.5rem}.current-year-container .year-card-icon{width:40px;height:40px}.current-year-container .year-card .year-subtitle{font-size:1.1rem}.current-year-container .year-card:hover{transform:translateY(-10px);box-shadow:0 12px 40px #007bff4d}.old-years-section{margin-top:2rem}.old-years-section .section-title{color:#6c757d;font-size:1.2rem}.year-card{background:#fff;color:#333;padding:2rem;border-radius:15px;cursor:pointer;transition:all .3s ease;text-align:center;position:relative;overflow:hidden;box-shadow:0 4px 15px #0000001a;border:2px solid #e9ecef}.year-card:hover{transform:translateY(-8px);box-shadow:0 8px 30px #00000026;border-color:#007bff}.year-card.selected{background:#e7f3ff;transform:translateY(-4px);box-shadow:0 8px 30px #007bff33;border-color:#007bff}.year-card-header{display:flex;align-items:center;justify-content:center;gap:.75rem;margin-bottom:.5rem}.year-card-icon{width:32px;height:32px;background:#007bff;border-radius:50%;display:flex;align-items:center;justify-content:center;color:#fff}.year-card h3{margin:0;font-size:1.8rem;font-weight:600;color:#333}.year-card .year-subtitle{margin-top:.5rem;font-size:.9rem;opacity:.7;color:#666}.class-card{background:#fff;padding:1.5rem;border-radius:8px;cursor:pointer;transition:all .3s ease;text-align:center;border:1px solid #dee2e6;position:relative;overflow:hidden}.class-card:before{content:"";position:absolute;top:0;left:0;right:0;height:4px;background:#007bff;transform:scaleX(0);transition:transform .3s ease}.class-card:hover:before{transform:scaleX(1)}.class-card:hover{transform:translateY(-2px);box-shadow:0 4px 12px #0000001a;border-color:#007bff}.class-card-header{display:flex;align-items:center;justify-content:center;gap:.5rem;margin-bottom:1rem}.class-card-icon{width:24px;height:24px;background:#007bff;border-radius:50%;display:flex;align-items:center;justify-content:center;color:#fff;font-weight:700;font-size:.8rem}.class-card h4{margin:0;color:#333;font-size:1.3rem;font-weight:600}.class-card-info{color:#6c757d;font-size:.9rem;margin-top:.5rem}.student-count{display:inline-flex;align-items:center;gap:.3rem;padding:.3rem .8rem;background:#e7f3ff;color:#06c;border-radius:20px;font-size:.8rem;font-weight:500}.classes-content{margin-top:2rem;max-width:1400px;margin:0 auto}.empty-state{text-align:center;padding:3rem;background:#fff;border-radius:8px;border:1px solid #dee2e6}.empty-state-icon{font-size:3rem;margin-bottom:1rem;opacity:.5}.empty-state h3{color:#6c757d;margin:0 0 .5rem;font-weight:400}.empty-state p{color:#adb5bd;margin:0}.class-view-tabs{display:flex;gap:.5rem;margin:1rem 0;border-bottom:2px solid #e9ecef;padding-bottom:0}.tab-button{background:none;border:none;padding:.75rem 1.5rem;cursor:pointer;border-bottom:2px solid transparent;transition:all .2s ease;font-size:.95rem;font-weight:500;color:#6c757d;display:flex;align-items:center;gap:.5rem}.tab-button:hover{color:#495057;background:#f8f9fa}.tab-button.active{color:#007bff;border-bottom-color:#007bff;background:#fff}.entry-tests-content{margin-top:1rem}.loading-container{display:flex;justify-content:center;align-items:center;padding:3rem;background:#fff;border-radius:15px;box-shadow:0 4px 6px #00000012}.loading-spinner{width:40px;height:40px;border:4px solid #f3f3f3;border-top:4px solid #667eea;border-radius:50%;animation:spin 1s linear infinite;margin-right:1rem}.loading-text{color:#6c757d;font-size:1.1rem}.error-container{background:#f8d7da;border:1px solid #f5c6cb;color:#721c24;padding:1.5rem;border-radius:12px;margin:1rem 0;text-align:center}.error-icon{font-size:2rem;margin-bottom:.5rem}.students-header{background:#fff!important;background-image:none!important;color:#000!important;padding:1.5rem 2rem;border-radius:8px;margin-bottom:2rem;border:1px solid #dee2e6;text-align:center}.classes-page .students-header h2,.students-header .classes-breadcrumb h2,.students-header h2{margin:0!important;color:#000!important;font-size:2.5rem!important;font-weight:700!important;text-shadow:none!important}.students-header .classes-breadcrumb{display:flex;align-items:center;justify-content:space-between;width:100%}.students-header .classes-breadcrumb h2{margin:0!important;color:#000!important;font-size:2.5rem!important;font-weight:700!important}.class-actions{display:flex;gap:1rem;align-items:center}.btn-delete-class{padding:.75rem 1.5rem;background:#dc3545;color:#fff;border:none;border-radius:8px;cursor:pointer;font-weight:500;transition:all .3s ease;display:flex;align-items:center;gap:.5rem;font-size:.9rem}.btn-delete-class:hover{background:#c82333;transform:translateY(-1px);box-shadow:0 4px 12px #dc35454d}.students-content{background:#fff;padding:2rem;border-radius:8px;border:1px solid #dee2e6;margin-top:0}@media (max-width: 768px){.classes-page{padding:1rem}.classes-header{flex-direction:column;gap:1rem;padding:1rem}.classes-breadcrumb{width:100%;justify-content:space-between}.students-header .classes-breadcrumb{flex-direction:column;gap:1rem;align-items:stretch}.class-actions{flex-direction:column;gap:.5rem}.years-grid,.classes-grid{grid-template-columns:1fr;gap:1rem;padding:1rem}.year-card,.class-card{padding:1rem}.year-card h3,.classes-header h2{font-size:1.5rem}}@media (max-width: 480px){.classes-header{flex-direction:column;align-items:stretch}.classes-breadcrumb{flex-direction:column;gap:.5rem}.students-header .classes-breadcrumb{flex-direction:column;gap:1rem}.class-actions{flex-direction:column;gap:.5rem}.btn-back,.btn-create,.btn-add-student,.btn-import-csv,.btn-delete-class{justify-content:center}}@keyframes fadeInUp{0%{opacity:0;transform:translateY(30px)}to{opacity:1;transform:translateY(0)}}.classes-content{animation:fadeInUp .6s ease-out}.classes-page::-webkit-scrollbar{width:8px}.classes-page::-webkit-scrollbar-track{background:#f1f1f1;border-radius:4px}.classes-page::-webkit-scrollbar-thumb{background:#c1c1c1;border-radius:4px}.classes-page::-webkit-scrollbar-thumb:hover{background:#a8a8a8}.create-class-modal{background:#fff;border-radius:8px;width:100%;max-width:600px;max-height:90vh;overflow-y:auto;box-shadow:0 10px 25px #0003}.form-group{margin-bottom:1rem}.form-group label{display:block;margin-bottom:.5rem;font-weight:500;color:#495057}.form-group input,.form-group select{width:100%;padding:.5rem;border:1px solid #ced4da;border-radius:4px;font-size:1rem}.search-form input{flex:1;padding:.5rem;border:1px solid #ced4da;border-radius:4px}.selected-students{margin-bottom:1rem;padding:1rem;background-color:#f8f9fa;border-radius:4px;border:1px solid #e9ecef}.selected-students h5{margin:0 0 .5rem;color:#495057}.student-chips{display:flex;flex-wrap:wrap;gap:.5rem}.student-chip{display:flex;align-items:center;gap:.5rem;background-color:#007bff;color:#fff;padding:.25rem .5rem;border-radius:15px;font-size:.875rem}.remove-chip{background:none;border:none;color:#fff;cursor:pointer;font-size:1rem;padding:0;width:16px;height:16px;display:flex;align-items:center;justify-content:center;border-radius:50%}.remove-chip:hover{background-color:#fff3}.search-results{border:1px solid #e9ecef;border-radius:4px;max-height:300px;overflow-y:auto}.search-results h5{margin:0;padding:.75rem 1rem;background-color:#f8f9fa;border-bottom:1px solid #e9ecef;color:#495057}.student-list{max-height:250px;overflow-y:auto}.edit-class-modal-overlay{position:fixed;inset:0;background-color:#00000080;display:flex;align-items:center;justify-content:center;z-index:1000}.edit-class-modal{background:#fff;padding:2rem;border-radius:8px;width:90%;max-width:500px;box-shadow:0 4px 20px #00000026}.edit-class-modal h2{margin-top:0;margin-bottom:1.5rem;color:#333;font-size:1.5rem}.edit-class-form{display:flex;flex-direction:column;gap:1.5rem}.form-group{display:flex;flex-direction:column;gap:.5rem}.form-group label{font-weight:500;color:#555;font-size:.95rem}.form-group input,.form-group select{padding:.75rem;border:1px solid #ddd;border-radius:4px;font-size:1rem;transition:border-color .2s}.form-group input:focus,.form-group select:focus{outline:none;border-color:#007bff}.modal-actions{display:flex;gap:1rem;justify-content:flex-end;margin-top:1.5rem}.btn-cancel,.btn-submit{padding:.75rem 1.5rem;border:none;border-radius:4px;cursor:pointer;font-weight:500;transition:all .2s}.btn-cancel{background:#6c757d;color:#fff}.btn-cancel:hover{background:#5a6268}.btn-submit{background:#007bff;color:#fff}.btn-submit:hover{background:#0056b3}.btn-submit:disabled,.btn-cancel:disabled{opacity:.6;cursor:not-allowed}.error-message{color:#dc3545;font-size:.9rem;margin-top:.25rem}.modal-overlay{position:fixed;inset:0;background-color:#00000080;display:flex;align-items:center;justify-content:center;z-index:1000;padding:20px}.add-student-modal{background:#fff;border-radius:8px;width:100%;max-width:600px;max-height:90vh;overflow-y:auto;box-shadow:0 10px 25px #0003}.modal-header{display:flex;justify-content:space-between;align-items:center;padding:1.5rem;border-bottom:1px solid #e9ecef;background-color:#f8f9fa;border-radius:8px 8px 0 0}.modal-close{background:none;border:none;font-size:1.5rem;cursor:pointer;color:#6c757d;padding:0;width:30px;height:30px;display:flex;align-items:center;justify-content:center;border-radius:50%}.modal-close:hover{background-color:#e9ecef;color:#495057}.modal-actions{display:flex;justify-content:flex-end;gap:.5rem;margin-top:2rem;padding-top:1rem;border-top:1px solid #e9ecef}.form-section{margin-bottom:2rem}.form-section:last-of-type{margin-bottom:1rem}.form-section h4{margin:0 0 1rem;color:#495057;font-size:1.1rem;padding-bottom:.5rem;border-bottom:2px solid #007bff}.form-section h5{margin:0 0 1rem;color:#495057;font-size:1rem;font-weight:600}.search-container{margin-bottom:1rem}.search-form{display:flex;gap:.5rem;margin-bottom:1rem}.search-form input{flex:1;padding:.5rem;border:1px solid #ced4da;border-radius:4px;font-size:1rem}.search-form input:focus{outline:none;border-color:#007bff;box-shadow:0 0 0 .2rem #007bff40}.selected-student{margin-bottom:1rem;padding:1rem;background-color:#e7f3ff;border:1px solid #b3d9ff;border-radius:4px;display:flex;align-items:center;justify-content:space-between}.selected-student h5{margin:0 0 .5rem;color:#007bff;width:100%}.selected-student .student-info{flex:1}.remove-selection{background:#dc3545;color:#fff;border:none;border-radius:50%;width:24px;height:24px;display:flex;align-items:center;justify-content:center;cursor:pointer;font-size:14px;margin-left:1rem}.remove-selection:hover{background:#c82333}.search-results{margin-bottom:1rem}.student-list{border:1px solid #e9ecef;border-radius:4px;max-height:300px;overflow-y:auto}.student-item{display:flex;justify-content:space-between;align-items:center;padding:.75rem 1rem;border-bottom:1px solid #e9ecef;cursor:pointer;transition:background-color .2s}.student-item:hover{background-color:#f8f9fa}.student-item.selected{background-color:#e7f3ff;border-left:3px solid #007bff}.student-info{flex:1}.student-name{font-weight:500;margin-bottom:.25rem;color:#495057}.student-class{font-size:.875rem;color:#6c757d}.selection-indicator{font-weight:700;font-size:1.2rem;color:#007bff;width:24px;text-align:center}.no-results{padding:2rem;text-align:center;color:#6c757d;font-style:italic}.loading-state{padding:2rem;text-align:center;color:#6c757d}.btn-primary{background-color:#007bff;color:#fff;border:none;padding:.5rem 1rem;border-radius:4px;cursor:pointer;font-size:.875rem;font-weight:500}.btn-secondary{background-color:#6c757d;color:#fff;border:none;padding:.5rem 1rem;border-radius:4px;cursor:pointer;font-size:.875rem;font-weight:500}.btn-secondary:disabled{background-color:#adb5bd;cursor:not-allowed}@media (max-width: 576px){.add-student-modal{margin:10px;max-width:none}.modal-header,.modal-body{padding:1rem}.modal-actions{flex-direction:column}.modal-actions button{width:100%}.search-form{flex-direction:column}}.modal-overlay{position:fixed;inset:0;background:#00000080;display:flex;justify-content:center;align-items:center;z-index:1000;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.import-modal{background:#fff;border-radius:12px;width:90%;max-width:600px;max-height:90vh;overflow-y:auto;box-shadow:0 20px 60px #0003;animation:modalSlideIn .3s ease-out}@keyframes modalSlideIn{0%{opacity:0;transform:translateY(-50px) scale(.95)}to{opacity:1;transform:translateY(0) scale(1)}}.import-modal-header{display:flex;justify-content:space-between;align-items:center;padding:1.5rem 2rem;border-bottom:1px solid #e9ecef;background:#f8f9fa;border-radius:12px 12px 0 0}.import-modal-header h3{margin:0;color:#333;font-size:1.5rem;font-weight:600}.close-button{background:none;border:none;font-size:2rem;color:#6c757d;cursor:pointer;width:40px;height:40px;display:flex;align-items:center;justify-content:center;border-radius:50%;transition:all .2s ease}.close-button:hover{background:#e9ecef;color:#495057;transform:rotate(90deg)}.import-modal-content{padding:2rem}.class-info{background:#e7f3ff;border:1px solid #b8daff;border-radius:8px;padding:1rem;margin-bottom:1.5rem}.class-info h4{margin:0;color:#06c;font-size:1.1rem;font-weight:600}.csv-format-info{background:#f8f9fa;border:1px solid #e9ecef;border-radius:8px;padding:1.5rem;margin-bottom:2rem}.csv-format-info h5{margin:0 0 1rem;color:#333;font-size:1.1rem;font-weight:600;display:flex;align-items:center;gap:.5rem}.csv-format-info p{margin:0 0 1rem;color:#666;line-height:1.5}.csv-example{background:#fff;border:1px solid #dee2e6;border-radius:4px;padding:1rem;margin:1rem 0;overflow-x:auto}.csv-example code{font-family:Courier New,monospace;font-size:.9rem;color:#495057;white-space:pre;line-height:1.4}.format-note{background:#fff3cd;border:1px solid #ffeaa7;border-radius:4px;padding:.75rem;margin:1rem 0 0;color:#856404;font-size:.9rem}.file-drop-zone{border:2px dashed #ccc;border-radius:12px;padding:2rem;text-align:center;cursor:pointer;transition:all .3s ease;background:#fafafa;margin-bottom:1.5rem;min-height:200px;display:flex;align-items:center;justify-content:center;position:relative}.file-drop-zone:hover{border-color:#007bff;background:#f0f8ff;transform:translateY(-2px)}.file-drop-zone.drag-active{border-color:#28a745;background:#f0fff4;transform:scale(1.02)}.file-drop-zone.file-selected{border-color:#28a745;background:#f8fff9}.file-input{display:none}.drop-zone-content h4{margin:1rem 0 .5rem;color:#333;font-size:1.2rem;font-weight:600}.drop-zone-content p{margin:.25rem 0;color:#666;font-size:.9rem}.upload-icon{font-size:3rem;margin-bottom:1rem;opacity:.5}.selected-file-info{display:flex;align-items:center;gap:1rem;background:#fff;border:1px solid #28a745;border-radius:8px;padding:1rem;width:100%;max-width:400px}.file-icon{font-size:2rem;color:#28a745}.file-details{flex:1;text-align:left}.file-name{font-weight:600;color:#333;margin-bottom:.25rem}.file-size{color:#666;font-size:.9rem}.remove-file{background:#dc3545;color:#fff;border:none;border-radius:50%;width:30px;height:30px;display:flex;align-items:center;justify-content:center;cursor:pointer;transition:all .2s ease;font-size:1.2rem;flex-shrink:0}.remove-file:hover{background:#c82333;transform:scale(1.1)}.error-message{background:#f8d7da;border:1px solid #f5c6cb;color:#721c24;padding:1rem;border-radius:8px;margin-bottom:1.5rem;display:flex;align-items:center;gap:.5rem}.error-icon{font-size:1.2rem}.import-actions{display:flex;justify-content:flex-end;gap:1rem;padding-top:1.5rem;border-top:1px solid #e9ecef}.btn-cancel{padding:.75rem 1.5rem;background:#6c757d;color:#fff;border:none;border-radius:8px;cursor:pointer;font-weight:500;transition:all .3s ease}.btn-cancel:hover:not(:disabled){background:#5a6268;transform:translateY(-1px)}.btn-cancel:disabled{opacity:.6;cursor:not-allowed}.btn-import{padding:.75rem 1.5rem;background:#28a745;color:#fff;border:none;border-radius:8px;cursor:pointer;font-weight:500;transition:all .3s ease;display:flex;align-items:center;gap:.5rem}.btn-import:hover:not(:disabled){background:#218838;transform:translateY(-1px);box-shadow:0 4px 12px #28a7454d}.btn-import:disabled{background:#6c757d;cursor:not-allowed;transform:none;box-shadow:none}.spinner{width:16px;height:16px;border:2px solid transparent;border-top:2px solid currentColor;border-radius:50%;animation:spin 1s linear infinite}@media (max-width: 768px){.import-modal{width:95%;margin:1rem}.import-modal-header{padding:1rem 1.5rem}.import-modal-content{padding:1.5rem}.file-drop-zone{padding:1.5rem;min-height:150px}.selected-file-info{flex-direction:column;text-align:center;gap:.75rem}.import-actions{flex-direction:column;gap:.75rem}.btn-cancel,.btn-import{width:100%;justify-content:center}}@media (max-width: 480px){.csv-example{font-size:.8rem}.drop-zone-content h4{font-size:1rem}.upload-icon{font-size:2rem}}.result-modal{background:#fff;border-radius:12px;width:90%;max-width:700px;max-height:90vh;overflow-y:auto;box-shadow:0 20px 60px #0003;animation:modalSlideIn .3s ease-out}.result-modal-header{display:flex;justify-content:space-between;align-items:center;padding:1.5rem 2rem;border-bottom:1px solid #e9ecef;background:#f8f9fa;border-radius:12px 12px 0 0}.result-modal-header h3{margin:0;color:#333;font-size:1.5rem;font-weight:600}.result-modal-content{padding:2rem}.result-summary{display:flex;align-items:flex-start;gap:1rem;padding:1.5rem;border-radius:12px;margin-bottom:2rem}.result-summary.success{background:#d4edda;border:1px solid #c3e6cb}.result-summary.error{background:#f8d7da;border:1px solid #f5c6cb}.result-icon{font-size:2.5rem;flex-shrink:0}.result-details h4{margin:0 0 .5rem;font-size:1.2rem;font-weight:600}.result-summary.success .result-details h4{color:#155724}.result-summary.error .result-details h4{color:#721c24}.result-details p{margin:0;font-size:1rem;line-height:1.5}.result-summary.success .result-details p{color:#155724}.result-summary.error .result-details p{color:#721c24}.imported-students{background:#e7f3ff;border:1px solid #b8daff;border-radius:8px;padding:1.5rem;margin-bottom:1.5rem}.imported-students h5{margin:0 0 1rem;color:#06c;font-size:1.1rem;font-weight:600;display:flex;align-items:center;gap:.5rem}.students-list{max-height:300px;overflow-y:auto;border:1px solid #b8daff;border-radius:6px;background:#fff}.student-item{display:flex;align-items:center;gap:1rem;padding:.75rem 1rem;border-bottom:1px solid #e9ecef;transition:background-color .2s ease}.student-item:last-child{border-bottom:none}.student-item:hover{background:#f8f9fa}.student-number{width:30px;height:30px;background:#007bff;color:#fff;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:.8rem;font-weight:600;flex-shrink:0}.student-name{flex:1;font-weight:600;color:#333}.student-class{color:#666;font-size:.9rem;background:#e9ecef;padding:.25rem .5rem;border-radius:4px}.import-errors{background:#f8d7da;border:1px solid #f5c6cb;border-radius:8px;padding:1.5rem;margin-bottom:1.5rem}.import-errors h5{margin:0 0 1rem;color:#721c24;font-size:1.1rem;font-weight:600;display:flex;align-items:center;gap:.5rem}.errors-list{max-height:200px;overflow-y:auto;background:#fff;border:1px solid #f5c6cb;border-radius:6px;padding:1rem}.error-item{display:flex;align-items:flex-start;gap:.5rem;margin-bottom:.5rem;line-height:1.4}.error-item:last-child{margin-bottom:0}.error-bullet{color:#dc3545;font-weight:700;flex-shrink:0}.error-text{color:#721c24;font-size:.9rem}.result-actions{display:flex;justify-content:flex-end;padding-top:1.5rem;border-top:1px solid #e9ecef}.btn-close{padding:.75rem 2rem;background:#007bff;color:#fff;border:none;border-radius:8px;cursor:pointer;font-weight:500;transition:all .3s ease}.btn-close:hover{background:#0056b3;transform:translateY(-1px);box-shadow:0 4px 12px #007bff4d}@media (max-width: 768px){.result-modal{width:95%;margin:1rem}.result-modal-header{padding:1rem 1.5rem}.result-modal-content{padding:1.5rem}.result-summary{flex-direction:column;text-align:center;gap:.75rem}.student-item{flex-direction:column;align-items:flex-start;gap:.5rem;text-align:left}.student-class{align-self:flex-end}}@media (max-width: 480px){.students-list{max-height:250px}.errors-list{max-height:150px}.btn-close{width:100%}}.promote-modal .modal-content{max-width:500px}.promote-modal .info-box{background-color:#e7f3ff;border-left:4px solid #007bff;padding:1rem;margin-bottom:1.5rem;border-radius:4px}.promote-modal .info-box-title{font-weight:600;margin-bottom:.5rem;color:#004085}.promote-modal .info-box-content{font-size:.875rem;color:#004085}.promote-modal .info-box-content strong{font-weight:600}.promote-modal .form-group{margin-bottom:1.5rem}.promote-modal .form-group label{display:block;font-weight:500;margin-bottom:.5rem;color:#333}.promote-modal .form-group input{width:100%;padding:.5rem;border:1px solid #ddd;border-radius:4px;font-size:1rem}.promote-modal .form-group input:focus{outline:none;border-color:#007bff;box-shadow:0 0 0 3px #007bff1a}.promote-modal .form-group .help-text{font-size:.875rem;color:#6c757d;margin-top:.25rem}.promote-modal .modal-actions{display:flex;justify-content:flex-end;gap:1rem;margin-top:1.5rem}.promote-modal .btn-cancel{padding:.5rem 1rem;background-color:#6c757d;color:#fff;border:none;border-radius:4px;cursor:pointer;font-size:1rem}.promote-modal .btn-cancel:hover{background-color:#5a6268}.promote-modal .btn-promote{padding:.5rem 1rem;background-color:#007bff;color:#fff;border:none;border-radius:4px;cursor:pointer;font-size:1rem;font-weight:500}.promote-modal .btn-promote:hover{background-color:#0056b3}.promote-modal .btn-promote:disabled,.promote-modal .btn-cancel:disabled{opacity:.5;cursor:not-allowed}.promote-modal .success-message{background-color:#d4edda;border:1px solid #c3e6cb;color:#155724;padding:1rem;border-radius:4px;margin-bottom:1rem}.promote-modal .success-message h4{margin:0 0 .5rem;font-size:1.1rem}.promote-modal .success-details{font-size:.9rem}.promote-modal .success-details p{margin:.25rem 0}.activity-log-container{padding:20px}.activity-log-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:20px}.activity-log-header h2{font-size:1.5rem;font-weight:600;color:#1f2937}.activity-log-list{background:#fff;border-radius:8px;box-shadow:0 1px 3px #0000001a;overflow:hidden}.activity-log-item{padding:16px 20px;border-bottom:1px solid #e5e7eb;display:flex;gap:16px}.activity-log-item:last-child{border-bottom:none}.activity-log-icon{flex-shrink:0;width:40px;height:40px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:1.2rem}.activity-log-icon.student_added{background-color:#dcfce7;color:#16a34a}.activity-log-icon.student_removed{background-color:#fee2e2;color:#dc2626}.activity-log-icon.student_promoted{background-color:#dbeafe;color:#2563eb}.activity-log-icon.class_created{background-color:#fef3c7;color:#d97706}.activity-log-icon.class_updated{background-color:#e0e7ff;color:#6366f1}.activity-log-icon.class_deleted{background-color:#fce7f3;color:#db2777}.activity-log-icon.default{background-color:#f3f4f6;color:#6b7280}.activity-log-content{flex:1;min-width:0}.activity-log-description{font-size:.95rem;color:#374151;margin-bottom:4px}.activity-log-meta{display:flex;flex-wrap:wrap;gap:12px;font-size:.85rem;color:#6b7280}.activity-log-meta-item{display:flex;align-items:center;gap:4px}.activity-log-timestamp{color:#9ca3af;font-size:.85rem;white-space:nowrap}.activity-log-empty{padding:40px 20px;text-align:center;color:#6b7280}.activity-log-loading{padding:40px 20px;text-align:center}.activity-log-error{padding:20px;background-color:#fee2e2;color:#dc2626;border-radius:8px;margin-bottom:20px}.activity-log-pagination{display:flex;justify-content:center;align-items:center;gap:10px;margin-top:20px;padding:20px}.activity-log-pagination button{padding:8px 16px;border:1px solid #d1d5db;background:#fff;color:#374151;border-radius:6px;cursor:pointer;transition:all .2s;font-size:.9rem;font-weight:500}.activity-log-pagination button:hover:not(:disabled){background-color:#f3f4f6;border-color:#9ca3af}.activity-log-pagination button:disabled{opacity:.5;cursor:not-allowed;color:#9ca3af}.activity-log-pagination span{color:#6b7280;font-size:.9rem}.modal-overlay{position:fixed;inset:0;background-color:#00000080;display:flex;justify-content:center;align-items:center;z-index:1000}.modal-content{background:#fff;border-radius:8px;width:90%;max-width:600px;max-height:90vh;overflow-y:auto;box-shadow:0 4px 20px #00000026}.modal-header{display:flex;justify-content:space-between;align-items:center;padding:1.5rem;border-bottom:1px solid #dee2e6}.modal-header h3{margin:0;color:#495057;font-size:1.25rem}.modal-close{background:none;border:none;font-size:1.5rem;cursor:pointer;color:#6c757d;padding:0;width:30px;height:30px;display:flex;align-items:center;justify-content:center;border-radius:4px}.modal-close:hover{background-color:#f8f9fa;color:#495057}.modal-body{padding:1.5rem}.form-group{margin-bottom:1.5rem}.form-group label{display:block;margin-bottom:.5rem;font-weight:600;color:#495057}.form-group input,.form-group select{width:100%;padding:.75rem;border:1px solid #ced4da;border-radius:4px;font-size:1rem;transition:border-color .3s ease;box-sizing:border-box}.form-group input:focus,.form-group select:focus{outline:none;border-color:#007bff;box-shadow:0 0 0 2px #007bff40}.student-search-container{position:relative}.search-loading{position:absolute;top:100%;left:0;right:0;background:#fff;border:1px solid #ced4da;border-top:none;padding:.5rem;font-size:.875rem;color:#6c757d}.student-dropdown{position:absolute;top:100%;left:0;right:0;background:#fff;border:1px solid #ced4da;border-top:none;max-height:200px;overflow-y:auto;z-index:1001;border-radius:0 0 4px 4px}.student-option{padding:.75rem;cursor:pointer;border-bottom:1px solid #f8f9fa}.student-option:hover{background-color:#f8f9fa}.student-option:last-child{border-bottom:none}.student-name{font-weight:600;color:#495057}.student-class{font-size:.875rem;color:#6c757d;margin-top:.25rem}.grades-section{background:#f8f9fa;padding:1rem;border-radius:4px;margin:1rem 0}.grades-section h4{margin:0 0 1rem;color:#495057;font-size:1rem}.form-note{background:#e7f3ff;border:1px solid #b3d9ff;border-radius:4px;padding:.75rem;font-size:.875rem;color:#0056b3;margin-top:1rem}.modal-actions{display:flex;justify-content:flex-end;gap:.75rem;padding:1.5rem;border-top:1px solid #dee2e6;background-color:#f8f9fa}.btn-primary,.btn-secondary{padding:.75rem 1.5rem;border:none;border-radius:4px;font-size:1rem;font-weight:500;cursor:pointer;transition:all .3s ease}.btn-primary{background-color:#007bff;color:#fff}.btn-primary:hover:not(:disabled){background-color:#0056b3}.btn-primary:disabled{background-color:#6c757d;cursor:not-allowed}.btn-secondary{background-color:#6c757d;color:#fff}.btn-secondary:hover:not(:disabled){background-color:#545b62}.btn-secondary:disabled{opacity:.6;cursor:not-allowed}@media (max-width: 768px){.modal-content{width:95%;margin:1rem}.modal-header,.modal-body,.modal-actions{padding:1rem}.modal-actions{flex-direction:column}.btn-primary,.btn-secondary{width:100%}}.progress-chart-container{background:#fff;border-radius:12px;box-shadow:0 4px 6px #00000012;padding:2rem;margin:2rem 0;border:1px solid #e9ecef}.chart-header{text-align:center;margin-bottom:2rem;padding-bottom:1rem;border-bottom:2px solid #007bff}.chart-header h3{color:#007bff;font-size:1.8rem;margin:0 0 .5rem;font-weight:600}.chart-subtitle{color:#6c757d;font-size:1rem;margin:0;font-weight:500}.dataset-toggles{margin-bottom:2rem;padding:1.5rem;background:#f8f9fa;border-radius:8px;border:1px solid #e9ecef}.dataset-toggles h4{color:#495057;font-size:1.1rem;margin:0 0 1rem;font-weight:600}.toggle-buttons{display:flex;flex-wrap:wrap;gap:.75rem}.toggle-button{display:flex;align-items:center;gap:.5rem;padding:.75rem 1rem;border:2px solid;border-radius:25px;background:transparent;cursor:pointer;font-size:.9rem;font-weight:500;transition:all .3s ease;min-height:42px}.toggle-button:hover{transform:translateY(-1px);box-shadow:0 2px 8px #00000026}.toggle-button.active{color:#fff!important;box-shadow:0 2px 8px #0003}.toggle-button.inactive{background:#fff;opacity:.7}.toggle-button.inactive:hover{opacity:1}.toggle-indicator{width:12px;height:12px;border-radius:50%;flex-shrink:0}.chart-wrapper{height:500px;margin-bottom:2rem;padding:1rem;background:#fff;border-radius:8px;border:1px solid #e9ecef}.chart-summary{margin-top:2rem;padding-top:1.5rem;border-top:1px solid #e9ecef}.summary-cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:1rem}.summary-card{background:#f8f9fa;padding:1.5rem;border-radius:8px;border:1px solid #e9ecef;text-align:center;transition:transform .2s ease}.summary-card:hover{transform:translateY(-2px);box-shadow:0 4px 12px #0000001a}.summary-card h4{color:#007bff;font-size:1.1rem;margin:0 0 .5rem;font-weight:600}.summary-card p{color:#6c757d;font-size:1rem;margin:0;font-weight:500}.loading-state,.error-state,.empty-state{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:3rem 2rem;text-align:center;color:#6c757d}.loading-state{min-height:200px}.loading-spinner{width:40px;height:40px;border:4px solid #e9ecef;border-top:4px solid #007bff;border-radius:50%;animation:spin 1s linear infinite;margin-bottom:1rem}.error-state h3,.empty-state h3{color:#dc3545;font-size:1.3rem;margin:0 0 .5rem}.empty-state h3{color:#6c757d}.error-state p,.empty-state p{font-size:1rem;margin:0;max-width:500px}@media (max-width: 768px){.progress-chart-container{padding:1rem;margin:1rem 0}.chart-header h3{font-size:1.5rem}.chart-subtitle{font-size:.9rem}.toggle-buttons{flex-direction:column}.toggle-button{justify-content:center}.chart-wrapper{height:400px;padding:.5rem}.summary-cards{grid-template-columns:1fr}}.student-export-dropdown{position:relative;display:inline-block}.export-dropdown-button{background-color:#28a745;color:#fff;border:none;padding:.5rem 1rem;border-radius:6px;cursor:pointer;font-size:14px;font-weight:500;display:flex;align-items:center;gap:.5rem;transition:background-color .2s ease;min-width:140px;justify-content:center}.export-dropdown-button:hover:not(:disabled){background-color:#218838}.export-dropdown-button:disabled{background-color:#28a745aa;cursor:not-allowed}.dropdown-arrow{transition:transform .2s ease;font-size:12px}.dropdown-arrow.open{transform:rotate(180deg)}.export-dropdown-menu{position:absolute;top:100%;right:0;background:#fff;border:1px solid #dee2e6;border-radius:6px;box-shadow:0 4px 6px #0000001a;z-index:1000;min-width:250px;overflow:hidden;margin-top:.25rem}.dropdown-header{padding:.75rem 1rem;background-color:#f8f9fa;border-bottom:1px solid #dee2e6;font-weight:600;color:#495057;font-size:14px}.dropdown-item{width:100%;padding:.75rem 1rem;border:none;background:#fff;text-align:left;cursor:pointer;font-size:14px;color:#495057;transition:background-color .2s ease;display:flex;align-items:center;gap:.5rem}.dropdown-item:hover:not(:disabled){background-color:#f8f9fa}.dropdown-item:disabled{background-color:#f8f9fa;color:#6c757d;cursor:not-allowed}.dropdown-item.export-all{background-color:#e7f3ff;color:#0056b3;font-weight:500}.dropdown-item.export-all:hover:not(:disabled){background-color:#cce7ff}.dropdown-separator{height:1px;background-color:#dee2e6;margin:.25rem 0}.loading-spinner{width:16px;height:16px;border:2px solid transparent;border-top:2px solid currentColor;border-radius:50%;animation:spin 1s linear infinite}.loading-spinner.small{width:14px;height:14px;border-width:1.5px}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}@media (max-width: 768px){.export-dropdown-menu{right:auto;left:0;min-width:200px}.export-dropdown-button{font-size:13px;padding:.4rem .8rem;min-width:120px}}.reports-page{min-height:calc(100vh - var(--header-height) - var(--navbar-height));background:#fff;padding:2rem}.reports-header{text-align:center;margin-bottom:2rem}.reports-title-section h1{color:#000;font-size:2.5rem;font-weight:700;margin-bottom:.5rem}.reports-subtitle{color:#6c757d;font-size:1.1rem;margin:0}.reports-content{max-width:1400px;margin:0 auto}.search-section{background:#f8f9fa;border-radius:8px;padding:2rem;margin-bottom:2rem;border:1px solid #dee2e6}.search-form{width:100%}.search-filters{display:flex;flex-direction:column;gap:1.5rem}.filter-row{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:1.5rem;align-items:end}.filter-group{display:flex;flex-direction:column;gap:.5rem}.filter-group label{font-weight:600;color:#495057;font-size:.9rem}.search-input,.search-select{padding:.75rem;border:2px solid #e9ecef;border-radius:8px;font-size:1rem;transition:all .3s ease;background:#fff;color:#495057}.search-input:focus,.search-select:focus{outline:none;border-color:#667eea;box-shadow:0 0 0 3px #667eea1a}.search-input::placeholder{color:#adb5bd}.search-buttons{display:flex;gap:.75rem;flex-wrap:wrap}.btn-primary,.btn-secondary{padding:.75rem 1.5rem;border:none;border-radius:8px;font-size:.95rem;font-weight:600;cursor:pointer;transition:all .3s ease;display:flex;align-items:center;gap:.5rem;white-space:nowrap}.btn-primary{background:#007bff;color:#fff}.btn-primary:hover:not(:disabled){background:#0056b3}.btn-primary:disabled{background:#adb5bd;cursor:not-allowed;transform:none;box-shadow:none}.btn-secondary{background:#6c757d;color:#fff}.btn-secondary:hover{background:#5a6268}.grades-table-section{background:#fff;border-radius:8px;padding:1.5rem;border:1px solid #dee2e6}@media (max-width: 768px){.reports-page{padding:1rem}.reports-title-section h1{font-size:2rem}.search-section{padding:1.5rem}.filter-row{grid-template-columns:1fr}.search-buttons{justify-content:stretch}.btn-primary,.btn-secondary{flex:1;justify-content:center}.grades-table-section{padding:1rem}}@media (max-width: 480px){.reports-title-section h1{font-size:1.75rem}.search-section{padding:1rem}.search-buttons{flex-direction:column}}.register-modal{background:#fff;border-radius:8px;width:100%;max-width:500px;max-height:90vh;overflow-y:auto;box-shadow:0 10px 25px #0003}.register-modal .register-form-container{padding:0}.register-modal .register-form{box-shadow:none;background:transparent;padding:0}.register-modal .register-form h2{display:none}@media (max-width: 576px){.register-modal{margin:10px;max-width:none}}.admin-panel-page{padding:2rem;max-width:1400px;margin:0 auto}.admin-header{margin-bottom:2rem}.admin-header h1{margin:0;color:#333;font-size:2.5rem}.admin-header p{margin:.5rem 0 0;color:#666;font-size:1.1rem}.admin-error{background-color:#fee;border:1px solid #fcc;color:#c33;padding:1rem;border-radius:4px;margin-bottom:1rem}.admin-statistics{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:1rem;margin-bottom:2rem}.admin-stat-card{background:#fff;border:1px solid #ddd;border-radius:8px;padding:1.5rem;box-shadow:0 2px 4px #0000001a}.admin-stat-card h3{margin:0 0 1rem;color:#333;font-size:1rem;font-weight:600;text-transform:uppercase;letter-spacing:.5px}.admin-stat-number{font-size:2.5rem;font-weight:700;color:#4a90e2}.admin-stat-number.admin-stat-active{color:#5cb85c}.admin-stat-number.admin-stat-inactive{color:#d9534f}.admin-stat-breakdown{display:flex;flex-direction:column;gap:.5rem}.admin-stat-item{display:flex;justify-content:space-between;align-items:center}.admin-content{background:#fff;border:1px solid #ddd;border-radius:8px;overflow:hidden}.admin-section{padding:1.5rem}.admin-section h2{margin:0 0 1.5rem;color:#333;font-size:1.5rem}.admin-filters{margin-bottom:1.5rem}.admin-filters-row{display:flex;flex-wrap:wrap;gap:1rem;align-items:center}.admin-search-form{display:flex;gap:.5rem;flex:1;min-width:250px}.admin-search-input{flex:1;padding:.5rem;border:1px solid #ddd;border-radius:4px;background:#fff;color:#333;font-size:.9rem}.admin-filter-controls{display:flex;gap:.5rem;flex-wrap:wrap}.admin-filter-select{padding:.5rem;border:1px solid #ddd;border-radius:4px;background:#fff;color:#333;font-size:.9rem;min-width:120px}.admin-action-buttons{display:flex;gap:.5rem}.admin-btn{padding:.5rem 1rem;border:none;border-radius:4px;cursor:pointer;font-size:.9rem;font-weight:500;transition:all .2s;text-decoration:none;display:inline-block;text-align:center}.admin-btn:hover{transform:translateY(-1px);box-shadow:0 2px 4px #0003}.admin-btn:disabled{opacity:.6;cursor:not-allowed;transform:none;box-shadow:none}.admin-btn-search{background:#4a90e2;color:#fff}.admin-btn-clear{background:#6c757d;color:#fff}.admin-btn-refresh{background:#28a745;color:#fff}.admin-btn-register{background:#007bff;color:#fff;font-weight:600}.admin-btn-edit{background:#ffc107;color:#212529}.admin-btn-password{background:#17a2b8;color:#fff}.admin-btn-save{background:#28a745;color:#fff}.admin-btn-cancel{background:#6c757d;color:#fff}.admin-btn-deactivate{background:#fd7e14;color:#fff}.admin-btn-delete{background:#dc3545;color:#fff}.admin-user-table{overflow-x:auto;margin-bottom:1rem}.admin-user-table table{width:100%;border-collapse:collapse;font-size:.9rem}.admin-user-table th,.admin-user-table td{padding:.75rem;text-align:left;border-bottom:1px solid #ddd}.admin-user-table th{background:#f8f9fa;font-weight:600;color:#333}.admin-user-table tr:hover{background:#f8f9fa}.admin-user-inactive{opacity:.7;background:#fff5f5!important}.admin-edit-input,.admin-edit-select{width:100%;padding:.25rem;border:1px solid #ddd;border-radius:4px;background:#fff;color:#333;font-size:.9rem}.admin-password-placeholder{color:#999;font-family:monospace;letter-spacing:2px}.admin-actions{display:flex;gap:.25rem;flex-wrap:wrap}.admin-actions .admin-btn{padding:.25rem .5rem;font-size:.8rem}.admin-no-data{text-align:center;padding:2rem;color:#666;font-style:italic}.admin-badge{display:inline-block;padding:.25rem .5rem;border-radius:4px;font-size:.75rem;font-weight:600;text-transform:uppercase;letter-spacing:.5px}.admin-badge-admin{background:#dc3545;color:#fff}.admin-badge-teacher{background:#007bff;color:#fff}.admin-badge-tutor{background:#28a745;color:#fff}.admin-badge-student{background:#6c757d;color:#fff}.admin-badge-active{background:#d4edda;color:#155724}.admin-badge-inactive{background:#f8d7da;color:#721c24}.admin-badge-default{background:#e9ecef;color:#495057}.admin-pagination{display:flex;justify-content:center;align-items:center;gap:.5rem;margin-top:1rem}.admin-btn-page{padding:.5rem .75rem;background:#fff;border:1px solid #ddd;color:#333}.admin-btn-page:hover:not(:disabled){background:#f8f9fa}.admin-btn-page-active{background:#4a90e2!important;color:#fff!important;border-color:#4a90e2}.admin-pagination-dots{padding:.5rem;color:#666}.admin-loading{text-align:center;padding:2rem;color:#666;font-style:italic}.admin-modal-overlay{position:fixed;inset:0;background:#00000080;display:flex;justify-content:center;align-items:center;z-index:1000}.admin-modal{background:#fff;border-radius:8px;box-shadow:0 4px 6px #0000001a;max-width:500px;width:90%;max-height:90vh;overflow:hidden}.admin-modal-header{display:flex;justify-content:space-between;align-items:center;padding:1.5rem;border-bottom:1px solid #ddd;background:#f8f9fa}.admin-modal-header h3{margin:0;color:#333;font-size:1.25rem}.admin-modal-close{background:none;border:none;font-size:1.5rem;cursor:pointer;color:#666;padding:0;width:30px;height:30px;display:flex;align-items:center;justify-content:center;border-radius:4px}.admin-modal-close:hover{background:#e9ecef;color:#333}.admin-modal-body{padding:1.5rem}.admin-modal-user-info{background:#f8f9fa;padding:1rem;border-radius:4px;margin-bottom:1.5rem}.admin-modal-user-info p{margin:.25rem 0;color:#666}.admin-form-group{margin-bottom:1rem}.admin-form-group label{display:block;margin-bottom:.5rem;color:#333;font-weight:500}.admin-form-input{width:100%;padding:.75rem;border:1px solid #ddd;border-radius:4px;background:#fff;color:#333;font-size:1rem;box-sizing:border-box}.admin-form-input:focus{outline:none;border-color:#4a90e2;box-shadow:0 0 0 2px #4a90e233}.admin-form-error{background:#fee;border:1px solid #fcc;color:#c33;padding:.75rem;border-radius:4px;margin-bottom:1rem;font-size:.9rem}.admin-modal-actions{display:flex;justify-content:flex-end;gap:.5rem;margin-top:1.5rem;padding-top:1rem;border-top:1px solid #eee}@media (max-width: 768px){.admin-panel-page{padding:1rem}.admin-filters-row{flex-direction:column;align-items:stretch}.admin-search-form,.admin-filter-controls,.admin-action-buttons{width:100%}.admin-filter-controls{justify-content:space-between}.admin-filter-select{flex:1}.admin-user-table{font-size:.8rem}.admin-user-table th,.admin-user-table td{padding:.5rem}.admin-actions{flex-direction:column}.admin-pagination{flex-wrap:wrap}}.app-header{background-color:#282c34;padding:20px;color:#fff;box-shadow:0 2px 4px #0000001a;display:flex;justify-content:space-between;align-items:center}.header-logo-section{display:flex;align-items:center;gap:1rem}.header-logo{width:80px;height:80px;object-fit:contain}.app-header h1{margin:0;font-size:2.5rem}@media (max-width: 768px){.app-header{flex-direction:column;gap:1rem;text-align:center}.header-logo-section{justify-content:center}.header-logo{width:40px;height:40px}.app-header h1{font-size:2rem}}@media (max-width: 480px){.header-logo{width:35px;height:35px}.app-header h1{font-size:1.5rem}.header-logo-section{gap:.5rem}}.app-navbar{background-color:#333;padding:10px 0;box-shadow:0 2px 4px #0000001a}.app-navbar ul{list-style-type:none;margin:0;padding:0;display:flex;justify-content:center;flex-wrap:wrap}.app-navbar li{margin:0 15px}.app-navbar a{color:#fff;text-decoration:none;padding:8px 15px;border-radius:5px;transition:background-color .3s ease;display:flex;align-items:center;gap:8px;white-space:nowrap}.app-navbar a:hover{background-color:#555}.app-navbar a.active{background-color:#007bff;font-weight:700}.nav-icon{width:20px;height:20px;filter:brightness(0) invert(1)}.app-navbar a.admin-panel{background-color:#dc3545;color:#fff}.app-navbar a.admin-panel:hover{background-color:#c82333}.app-navbar a.admin-panel.active{background-color:#bd2130}@media (max-width: 768px){.app-navbar ul{flex-direction:column;align-items:center}.app-navbar li{margin:5px 0}}*,*:before,*:after{box-sizing:border-box}html{line-height:1.15;-webkit-text-size-adjust:100%}body{margin:0;font-family:Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Open Sans,Helvetica Neue,sans-serif;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;color:var(--text-color-primary);background-color:var(--background-color-body);min-height:100vh;display:flex;flex-direction:column}:root{--primary-color: #007bff;--secondary-color: #6c757d;--accent-color: #28a745;--header-bg-color: #282c34;--header-text-color: #ffffff;--navbar-bg-color: #343a40;--navbar-link-color: #ffffff;--navbar-link-hover-color: #adb5bd;--navbar-active-bg: #0056b3;--background-color-body: #f8f9fa;--background-color-card: #ffffff;--text-color-primary: #343a40;--text-color-secondary: #6c757d;--border-color: #dee2e6;--shadow-light: 0 2px 4px rgba(0, 0, 0, .08)}.app-container{display:flex;flex-direction:column;min-height:100vh;width:100%}.app-content{flex-grow:1;padding:20px;margin:0 auto;width:100%}.container{max-width:1100px;margin:0 auto;padding:0 15px}.text-center{text-align:center}.mb-20{margin-bottom:20px}.p-20{padding:20px}
