@charset "UTF-8";.ng-select.ng-select-opened>.ng-select-container{background:#fff;border-color:hsl(0,0%,70%) #ccc hsl(0,0%,85%)}.ng-select.ng-select-opened>.ng-select-container:hover{box-shadow:none}.ng-select.ng-select-opened>.ng-select-container .ng-arrow{top:-2px;border-color:rgba(0,0,0,0) rgba(0,0,0,0) #999;border-width:0 5px 5px}.ng-select.ng-select-opened>.ng-select-container .ng-arrow:hover{border-color:rgba(0,0,0,0) rgba(0,0,0,0) #333}.ng-select.ng-select-opened.ng-select-top>.ng-select-container{border-top-right-radius:0;border-top-left-radius:0}.ng-select.ng-select-opened.ng-select-right>.ng-select-container{border-top-right-radius:0;border-bottom-right-radius:0}.ng-select.ng-select-opened.ng-select-bottom>.ng-select-container{border-bottom-right-radius:0;border-bottom-left-radius:0}.ng-select.ng-select-opened.ng-select-left>.ng-select-container{border-top-left-radius:0;border-bottom-left-radius:0}.ng-select.ng-select-focused:not(.ng-select-opened)>.ng-select-container{border-color:#007eff;box-shadow:inset 0 1px 1px #00000013,0 0 0 3px #007eff1a}.ng-select.ng-select-disabled>.ng-select-container{background-color:#f9f9f9}.ng-select .ng-has-value .ng-placeholder{display:none}.ng-select .ng-select-container{color:#333;background-color:#fff;border-radius:4px;border:1px solid #ccc;min-height:36px;align-items:center}.ng-select .ng-select-container:hover{box-shadow:0 1px #0000000f}.ng-select .ng-select-container .ng-value-container{align-items:center;padding-left:10px}[dir=rtl] .ng-select .ng-select-container .ng-value-container{padding-right:10px;padding-left:0}.ng-select .ng-select-container .ng-value-container .ng-placeholder{color:#999}.ng-select.ng-select-single .ng-select-container{height:36px}.ng-select.ng-select-single .ng-select-container .ng-value-container .ng-input{top:5px;left:0;padding-left:10px;padding-right:50px}[dir=rtl] .ng-select.ng-select-single .ng-select-container .ng-value-container .ng-input{padding-right:10px;padding-left:50px}.ng-select.ng-select-multiple.ng-select-disabled>.ng-select-container .ng-value-container .ng-value{background-color:#f9f9f9;border:1px solid hsl(0,0%,90%)}.ng-select.ng-select-multiple.ng-select-disabled>.ng-select-container .ng-value-container .ng-value .ng-value-label{padding:0 5px}.ng-select.ng-select-multiple .ng-select-container .ng-value-container{padding-top:5px;padding-left:7px}[dir=rtl] .ng-select.ng-select-multiple .ng-select-container .ng-value-container{padding-right:7px;padding-left:0}.ng-select.ng-select-multiple .ng-select-container .ng-value-container .ng-value{font-size:.9em;margin-bottom:5px;color:#333;background-color:#ebf5ff;border-radius:2px;margin-right:5px}[dir=rtl] .ng-select.ng-select-multiple .ng-select-container .ng-value-container .ng-value{margin-right:0;margin-left:5px}.ng-select.ng-select-multiple .ng-select-container .ng-value-container .ng-value.ng-value-disabled{background-color:#f9f9f9}.ng-select.ng-select-multiple .ng-select-container .ng-value-container .ng-value.ng-value-disabled .ng-value-label{padding-left:5px}[dir=rtl] .ng-select.ng-select-multiple .ng-select-container .ng-value-container .ng-value.ng-value-disabled .ng-value-label{padding-left:0;padding-right:5px}.ng-select.ng-select-multiple .ng-select-container .ng-value-container .ng-value .ng-value-label,.ng-select.ng-select-multiple .ng-select-container .ng-value-container .ng-value .ng-value-icon{display:inline-block;padding:1px 5px}.ng-select.ng-select-multiple .ng-select-container .ng-value-container .ng-value .ng-value-icon:hover{background-color:#d1e8ff}.ng-select.ng-select-multiple .ng-select-container .ng-value-container .ng-value .ng-value-icon.left{border-right:1px solid rgb(183.6,218.88,255)}[dir=rtl] .ng-select.ng-select-multiple .ng-select-container .ng-value-container .ng-value .ng-value-icon.left{border-left:1px solid rgb(183.6,218.88,255);border-right:none}.ng-select.ng-select-multiple .ng-select-container .ng-value-container .ng-value .ng-value-icon.right{border-left:1px solid rgb(183.6,218.88,255)}[dir=rtl] .ng-select.ng-select-multiple .ng-select-container .ng-value-container .ng-value .ng-value-icon.right{border-left:0;border-right:1px solid rgb(183.6,218.88,255)}.ng-select.ng-select-multiple .ng-select-container .ng-value-container .ng-input{padding:0 0 3px 3px}[dir=rtl] .ng-select.ng-select-multiple .ng-select-container .ng-value-container .ng-input{padding:0 3px 3px 0}.ng-select.ng-select-multiple .ng-select-container .ng-value-container .ng-input>input{color:#000}.ng-select.ng-select-multiple .ng-select-container .ng-value-container .ng-placeholder{top:5px;padding-bottom:5px;padding-left:3px}[dir=rtl] .ng-select.ng-select-multiple .ng-select-container .ng-value-container .ng-placeholder{padding-right:3px;padding-left:0}.ng-select .ng-clear-wrapper{color:#999}.ng-select .ng-clear-wrapper:hover .ng-clear{color:#d0021b}.ng-select .ng-clear-wrapper:focus .ng-clear{color:#d0021b}.ng-select .ng-clear-wrapper:focus{outline:none}.ng-select .ng-spinner-zone{padding:5px 5px 0 0}[dir=rtl] .ng-select .ng-spinner-zone{padding:5px 0 0 5px}.ng-select .ng-arrow-wrapper{width:25px;padding-right:5px}[dir=rtl] .ng-select .ng-arrow-wrapper{padding-left:5px;padding-right:0}.ng-select .ng-arrow-wrapper:hover .ng-arrow{border-top-color:#666}.ng-select .ng-arrow-wrapper .ng-arrow{border-color:#999 rgba(0,0,0,0) rgba(0,0,0,0);border-style:solid;border-width:5px 5px 2.5px}.ng-dropdown-panel{background-color:#fff;border:1px solid #ccc;box-shadow:0 1px #0000000f;left:0}.ng-dropdown-panel.ng-select-top{bottom:100%;border-top-right-radius:4px;border-top-left-radius:4px;border-bottom-color:#e6e6e6;margin-bottom:-1px}.ng-dropdown-panel.ng-select-top .ng-dropdown-panel-items .ng-option:first-child{border-top-right-radius:4px;border-top-left-radius:4px}.ng-dropdown-panel.ng-select-right{left:100%;top:0;border-top-right-radius:4px;border-bottom-right-radius:4px;border-bottom-left-radius:4px;border-bottom-color:#e6e6e6;margin-bottom:-1px}.ng-dropdown-panel.ng-select-right .ng-dropdown-panel-items .ng-option:first-child{border-top-right-radius:4px}.ng-dropdown-panel.ng-select-bottom{top:100%;border-bottom-right-radius:4px;border-bottom-left-radius:4px;border-top-color:#e6e6e6;margin-top:-1px}.ng-dropdown-panel.ng-select-bottom .ng-dropdown-panel-items .ng-option:last-child{border-bottom-right-radius:4px;border-bottom-left-radius:4px}.ng-dropdown-panel.ng-select-left{left:-100%;top:0;border-top-left-radius:4px;border-bottom-right-radius:4px;border-bottom-left-radius:4px;border-bottom-color:#e6e6e6;margin-bottom:-1px}.ng-dropdown-panel.ng-select-left .ng-dropdown-panel-items .ng-option:first-child{border-top-left-radius:4px}.ng-dropdown-panel .ng-dropdown-header{border-bottom:1px solid #ccc;padding:5px 7px}.ng-dropdown-panel .ng-dropdown-footer{border-top:1px solid #ccc;padding:5px 7px}.ng-dropdown-panel .ng-dropdown-panel-items .ng-optgroup{-webkit-user-select:none;user-select:none;padding:8px 10px;font-weight:500;color:#0000008a;cursor:pointer}.ng-dropdown-panel .ng-dropdown-panel-items .ng-optgroup.ng-option-disabled{cursor:default}.ng-dropdown-panel .ng-dropdown-panel-items .ng-optgroup.ng-option-marked{background-color:#f5faff}.ng-dropdown-panel .ng-dropdown-panel-items .ng-optgroup.ng-option-selected,.ng-dropdown-panel .ng-dropdown-panel-items .ng-optgroup.ng-option-selected.ng-option-marked{color:#0000008a;background-color:#ebf5ff;font-weight:600}.ng-dropdown-panel .ng-dropdown-panel-items .ng-option{background-color:#fff;color:#000000de;padding:8px 10px}.ng-dropdown-panel .ng-dropdown-panel-items .ng-option.ng-option-selected,.ng-dropdown-panel .ng-dropdown-panel-items .ng-option.ng-option-selected.ng-option-marked{color:#333;background-color:#ebf5ff}.ng-dropdown-panel .ng-dropdown-panel-items .ng-option.ng-option-selected .ng-option-label,.ng-dropdown-panel .ng-dropdown-panel-items .ng-option.ng-option-selected.ng-option-marked .ng-option-label{font-weight:600}.ng-dropdown-panel .ng-dropdown-panel-items .ng-option.ng-option-marked{background-color:#f5faff;color:#333}.ng-dropdown-panel .ng-dropdown-panel-items .ng-option.ng-option-disabled{color:#ccc}.ng-dropdown-panel .ng-dropdown-panel-items .ng-option.ng-option-child{padding-left:22px}[dir=rtl] .ng-dropdown-panel .ng-dropdown-panel-items .ng-option.ng-option-child{padding-right:22px;padding-left:0}.ng-dropdown-panel .ng-dropdown-panel-items .ng-option .ng-tag-label{font-size:80%;font-weight:400;padding-right:5px}[dir=rtl] .ng-dropdown-panel .ng-dropdown-panel-items .ng-option .ng-tag-label{padding-left:5px;padding-right:0}[dir=rtl] .ng-dropdown-panel{direction:rtl;text-align:right}:root{box-sizing:border-box}*{box-sizing:inherit}.modal-overlay{position:fixed;inset:0;background:#0f172a8c;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);display:grid;place-items:center;z-index:1000;padding:1.5rem;animation:modalFadeIn .15s ease-out}.modal{background:#fff;padding:1.75rem 2rem;border-radius:1rem;max-width:520px;width:100%;max-height:90vh;overflow-y:auto;box-shadow:0 16px 48px #0000002e;animation:modalSlideIn .2s ease-out}.modal-lg{max-width:720px}.modal h2{margin:0 0 1rem;color:#1f2937;font-size:1.15rem;font-weight:600}.modal p{margin:.375rem 0;color:#4b5563;line-height:1.5}.modal p.muted{color:#6b7280;font-size:.85rem}.modal label{display:block;margin-bottom:.875rem;font-size:.825rem;font-weight:500;color:#374151}.modal input[type=text],.modal input[type=tel],.modal input[type=email],.modal input[type=password],.modal input[type=number],.modal input:not([type]),.modal select,.modal textarea,.card label>input[type=text],.card label>input[type=tel],.card label>input[type=email],.card label>input[type=password],.card label>input[type=number],.card label>input:not([type]),.card label>select,.card label>textarea,.card form input[type=text],.card form input[type=tel],.card form input[type=email],.card form input[type=password],.card form input[type=number],.card form input:not([type]),.card form select,.card form textarea{width:100%;padding:.5rem .75rem;margin-top:.25rem;border:1px solid #d1d5db;border-radius:.5rem;font-size:.9rem;font-family:inherit;box-sizing:border-box;background:#fff;transition:border-color .15s,box-shadow .15s}.modal input:focus,.modal select:focus,.modal textarea:focus,.card form input:focus,.card form select:focus,.card form textarea:focus,.card label input:focus,.card label select:focus,.card label textarea:focus{outline:none;border-color:var(--primary, #2563eb);box-shadow:0 0 0 3px #2563eb1f}.modal input[disabled],.modal select[disabled],.card form input[disabled],.card form select[disabled],.card label input[disabled],.card label select[disabled]{background:#f3f4f6;color:#6b7280;cursor:not-allowed}.modal input[type=checkbox],.card input[type=checkbox]:not(.no-style){width:auto;margin-right:.5rem;vertical-align:middle;accent-color:var(--primary, #2563eb)}.modal textarea,.card form textarea,.card label textarea{resize:vertical;min-height:80px;line-height:1.5}.card form label,.card>form>label,.card>label{display:block;margin-bottom:.875rem;font-size:.825rem;font-weight:500;color:#374151}.modal-actions{display:flex;gap:.625rem;justify-content:flex-end;margin-top:1.25rem;padding-top:1rem;border-top:1px solid #f3f4f6}.err{color:#b91c1c;background:#fef2f2;border-left:3px solid #ef4444;padding:.5rem .75rem;border-radius:.375rem;font-size:.85rem;margin:.5rem 0}.hint{color:#6b7280;font-size:.8rem;margin:.375rem 0}.toast{position:fixed;bottom:2rem;right:2rem;background:#10b981;color:#fff;padding:.75rem 1.125rem;border-radius:.625rem;box-shadow:0 8px 24px #10b98140;font-weight:500;font-size:.9rem;z-index:10001;animation:toastIn .2s ease-out}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:.75rem;margin-bottom:.875rem}.form-row label{margin-bottom:0}@media(max-width:600px){.form-row{grid-template-columns:1fr}}.page-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:1.25rem;gap:1rem}.page-header h2{margin:0 0 .25rem;font-size:1.4rem;color:#1f2937}.page-header p{margin:0;color:#6b7280;font-size:.9rem}.page-header .header-actions{display:flex;gap:.5rem;flex-shrink:0}.tabs-row{display:flex;gap:.25rem;border-bottom:1px solid #e5e7eb;margin-bottom:1rem}@keyframes modalFadeIn{0%{opacity:0}to{opacity:1}}@keyframes modalSlideIn{0%{opacity:0;transform:translateY(-12px) scale(.98)}to{opacity:1;transform:translateY(0) scale(1)}}@keyframes toastIn{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.ng-select{--vie-select-primary: #7c3aed;font-family:inherit;font-size:.9rem}.ng-select .ng-select-container{min-height:40px;border:1px solid #d1d5db;border-radius:.5rem;background:#fff;transition:border-color .15s,box-shadow .15s;align-items:center}.ng-select .ng-select-container .ng-value-container{align-items:center;padding-left:.75rem}.ng-select .ng-select-container .ng-value-container .ng-input>input{font-family:inherit;color:#1f2937}.ng-select .ng-select-container .ng-value-container .ng-placeholder{color:#9ca3af;line-height:1.2}.ng-select .ng-select-container .ng-value-container .ng-value,.ng-select .ng-select-container .ng-value-container .ng-value-label{line-height:1.2}.ng-select.ng-select-single .ng-select-container .ng-value-container:has(.ng-value) .ng-placeholder,.ng-select.ng-select-multiple .ng-select-container .ng-value-container:has(.ng-value) .ng-placeholder{display:none}.ng-select.ng-select-focused:not(.ng-select-opened)>.ng-select-container,.ng-select.ng-select-opened>.ng-select-container{border-color:var(--vie-select-primary);box-shadow:0 0 0 3px color-mix(in srgb,var(--vie-select-primary) 15%,transparent)}.ng-select.ng-select-disabled>.ng-select-container{background:#f9fafb;color:#9ca3af}.ng-select .ng-value{background:transparent}.ng-select .ng-value .ng-value-label{color:#1f2937}.ng-select.ng-select-multiple .ng-select-container .ng-value-container .ng-value{background:color-mix(in srgb,var(--vie-select-primary) 12%,transparent);color:color-mix(in srgb,var(--vie-select-primary) 80%,#000);border-radius:.25rem;margin:2px 4px 2px 0;padding:1px 6px}.ng-select.ng-select-multiple .ng-select-container .ng-value-container .ng-value .ng-value-icon{border-right:1px solid color-mix(in srgb,var(--vie-select-primary) 25%,transparent)}.ng-select.ng-select-multiple .ng-select-container .ng-value-container .ng-value .ng-value-icon:hover{background:color-mix(in srgb,var(--vie-select-primary) 25%,transparent)}.ng-select .ng-clear-wrapper{color:#9ca3af}.ng-select .ng-clear-wrapper:hover{color:#ef4444}.ng-select .ng-arrow-wrapper .ng-arrow{border-color:#6b7280 transparent transparent}.ng-select.ng-select-opened .ng-arrow-wrapper .ng-arrow{border-color:transparent transparent #6b7280}.ng-select.ng-select-searchable:not(.ng-select-disabled) .ng-value-container{padding-right:1.875rem}.ng-select.ng-select-searchable:not(.ng-select-disabled) .ng-arrow-wrapper{position:relative}.ng-select.ng-select-searchable:not(.ng-select-disabled) .ng-arrow-wrapper:before{content:"";width:14px;height:14px;background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 24 24' stroke-width='2' stroke='%239ca3af'><path stroke-linecap='round' stroke-linejoin='round' d='m21 21-4.3-4.3m1.8-5.45a7.25 7.25 0 1 1-14.5 0 7.25 7.25 0 0 1 14.5 0Z'/></svg>");background-repeat:no-repeat;background-size:contain;position:absolute;right:22px;top:50%;transform:translateY(-50%);opacity:.6;transition:opacity .15s}.ng-select.ng-select-searchable.ng-select-focused .ng-arrow-wrapper:before{opacity:1}.ng-select.ng-select-searchable.ng-select-opened .ng-arrow-wrapper .ng-arrow{display:none}.ng-select.ng-select-searchable.ng-select-opened .ng-select-container .ng-input>input::placeholder{color:#9ca3af;font-style:italic;font-size:.875rem}.ng-dropdown-panel{background:#fff;border:1px solid #e5e7eb;box-shadow:0 10px 25px -5px #0000001a,0 4px 10px -3px #0000000d;border-radius:.5rem;margin-top:4px;z-index:1100;--vie-select-primary: #7c3aed}.ng-dropdown-panel .ng-dropdown-panel-items .ng-option{padding:.5rem .875rem;color:#374151;font-size:.9rem;cursor:pointer;white-space:normal!important;text-overflow:clip!important;overflow:visible!important;word-break:break-word;line-height:1.4}.ng-dropdown-panel .ng-dropdown-panel-items .ng-option:hover,.ng-dropdown-panel .ng-dropdown-panel-items .ng-option.ng-option-marked{background:color-mix(in srgb,var(--vie-select-primary) 8%,transparent);color:var(--vie-select-primary)}.ng-dropdown-panel .ng-dropdown-panel-items .ng-option.ng-option-selected{background:color-mix(in srgb,var(--vie-select-primary) 14%,transparent);color:var(--vie-select-primary);font-weight:600}.ng-dropdown-panel .ng-dropdown-panel-items .ng-option.ng-option-disabled{color:#9ca3af}.ng-dropdown-panel .ng-dropdown-panel-items .ng-optgroup{font-weight:700;color:#6b7280;font-size:.78rem;text-transform:uppercase;letter-spacing:.04em;padding:.5rem .875rem .25rem}body.theme-admin .ng-select,body.theme-admin~.ng-dropdown-panel{--vie-select-primary: #7c3aed}body.theme-school .ng-select,body.theme-school~.ng-dropdown-panel{--vie-select-primary: #2563eb}body.theme-student .ng-select,body.theme-student~.ng-dropdown-panel{--vie-select-primary: #16a34a}body.theme-teacher .ng-select,body.theme-teacher~.ng-dropdown-panel{--vie-select-primary: #059669}.modal .ng-select{width:100%}label .ng-select{display:block;margin-top:.25rem}
