.loading-screen[data-v-16b0dbba]{position:fixed;top:0;right:0;bottom:0;left:0;z-index:100;display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,var(--app-color-primary-hover) 0%,var(--app-color-primary-emphasis) 50%,var(--app-color-primary-hover) 100%)}.loader-content[data-v-16b0dbba]>:not([hidden])~:not([hidden]){--tw-space-y-reverse: 0;margin-top:calc(2rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(2rem * var(--tw-space-y-reverse))}.loader-content[data-v-16b0dbba]{text-align:center}.bolt-container[data-v-16b0dbba]{position:relative;display:inline-block}.bolt-container .animated-bolt[data-v-16b0dbba]{font-size:6rem;line-height:1;--tw-text-opacity: 1;color:rgb(250 204 21 / var(--tw-text-opacity, 1));animation:boltPulse-16b0dbba 1.5s ease-in-out infinite;filter:drop-shadow(0 0 8px rgba(255,235,59,.5))}.loading-text[data-v-16b0dbba]{font-size:1.5rem;line-height:2rem;font-weight:600;--tw-text-opacity: 1;color:rgb(255 255 255 / var(--tw-text-opacity, 1));text-shadow:0 2px 4px rgba(0,0,0,.2)}.loading-text .ellipsis[data-v-16b0dbba]:after{content:".";animation:ellipsis-16b0dbba 1.5s infinite}.progress-bar[data-v-16b0dbba]{margin-left:auto;margin-right:auto;height:.5rem;width:16rem;overflow:hidden;border-radius:9999px;background-color:#fff3}.progress-bar .progress-fill[data-v-16b0dbba]{height:100%;--tw-bg-opacity: 1;background-color:rgb(250 204 21 / var(--tw-bg-opacity, 1));width:0%;animation:progressLoad-16b0dbba 2.5s ease-in-out infinite;box-shadow:0 0 10px #ffeb3b4d}@keyframes boltPulse-16b0dbba{0%,to{transform:scale(1) rotate(0);opacity:1}50%{transform:scale(1.2) rotate(-10deg);opacity:.8}}@keyframes ellipsis-16b0dbba{0%{content:"."}33%{content:".."}66%{content:"..."}}@keyframes progressLoad-16b0dbba{0%{width:0%}50%{width:80%}to{width:100%}}:root{--primary-color: var(--app-color-primary);--primary-color-text: #ffffff;--highlight-bg: var(--app-color-primary);--highlight-text-color: #ffffff;--surface-border: var(--app-color-border);--text-color: #374151;--surface-hover: var(--app-color-surface-track);--focus-ring: 0 0 0 3px var(--app-color-primary-focus-ring);--surface-ground: #f8f9fa;--surface-section: #ffffff;--surface-card: #ffffff;--surface-overlay: #ffffff;--surface-100: #ffffff;--surface-200: #f9fafb;--surface-300: #f3f4f6;--surface-400: #e5e7eb;--surface-500: #d1d5db;--surface-600: #9ca3af;--surface-700: #6b7280;--surface-800: #4b5563;--surface-900: #374151}.p-component{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica,Arial,sans-serif,"Apple Color Emoji","Segoe UI Emoji",Segoe UI Symbol;font-size:1rem;font-weight:400}.p-input-icon-left{position:relative;display:inline-flex;width:100%}.p-input-icon-left>i:first-of-type{position:absolute;top:50%;left:.625rem;transform:translateY(-50%);color:var(--surface-600);z-index:1;font-size:.8125rem}.p-input-icon-left>.p-inputtext{padding-left:2rem;width:100%}.p-button:not(.p-button-outlined):not(.p-button-text):not(.p-button-link):not(.p-button-plain):not(.p-button-danger):not(.p-button-success):not(.p-button-warning):not(.p-button-secondary):not(.p-button-help){background:var(--app-gradient-brand);border-color:var(--app-color-primary-hover);color:#fff;box-shadow:var(--app-shadow-sm);transition:all .3s ease;font-weight:500;padding:.5rem 1rem;font-size:1rem;border-radius:var(--app-radius-sm)}.p-button:not(.p-button-outlined):not(.p-button-text):not(.p-button-link):not(.p-button-plain):not(.p-button-danger):not(.p-button-success):not(.p-button-warning):not(.p-button-secondary):not(.p-button-help):hover{filter:brightness(1.05);transform:translateY(-1px);box-shadow:var(--app-shadow-md)}.p-button.p-button-danger:not(.p-button-text):not(.p-button-outlined){background:#dc2626!important;background-image:none!important;border:none!important;color:#fff!important;box-shadow:0 1px 2px #dc262640!important}.p-button.p-button-danger:not(.p-button-text):not(.p-button-outlined):hover:not(:disabled){background:#b91c1c!important;filter:none!important;transform:none!important;box-shadow:0 1px 3px #dc262659!important}.p-button.p-button-danger:not(.p-button-text):not(.p-button-outlined) .p-button-icon,.p-button.p-button-danger:not(.p-button-text):not(.p-button-outlined) .pi{color:#fff!important}.p-button.p-button-text.p-button-danger,.p-button.p-button-outlined.p-button-danger{background:transparent!important;background-image:none!important;border-color:transparent!important;color:#dc2626!important;box-shadow:none!important;transform:none!important}.p-button.p-button-text.p-button-danger:hover:not(:disabled),.p-button.p-button-outlined.p-button-danger:hover:not(:disabled){background:#fef2f2!important;color:#b91c1c!important;border-color:transparent!important;filter:none!important;transform:none!important;box-shadow:none!important}.p-button.p-button-text.p-button-danger .p-button-icon,.p-button.p-button-text.p-button-danger .pi,.p-button.p-button-outlined.p-button-danger .p-button-icon,.p-button.p-button-outlined.p-button-danger .pi{color:inherit!important}.p-button.p-button-text{padding:.375rem .75rem;font-size:var(--app-font-size-sm, .8125rem);font-weight:500;line-height:1.25;background-color:transparent;color:var(--app-color-text-muted, #6b7280);border-color:transparent;box-shadow:none;transform:none}.p-button.p-button-text:hover{background-color:var(--app-color-surface-track, #f3f4f6);color:var(--app-color-text, #374151);border-color:transparent;filter:none;transform:none}.p-button.p-button-outlined{background-color:transparent;color:var(--primary-color);border:none;box-shadow:none}.p-button.p-button-outlined:hover{background-color:#8b5cf614;color:var(--primary-color);border:none}.p-button.p-button-sm{font-size:.875rem;padding:.375rem .75rem}.p-button.p-button-lg{font-size:1.125rem;padding:.75rem 1.5rem}.p-dropdown{background:#fff;border:1px solid var(--surface-border);transition:background-color .15s,color .15s,border-color .15s,box-shadow .15s;border-radius:.5rem;font-size:.8125rem}.p-dropdown:not(.p-disabled):hover{border-color:var(--primary-color)}.p-dropdown:not(.p-disabled).p-focus{outline:0 none;outline-offset:0;box-shadow:var(--focus-ring);border-color:var(--primary-color)}.p-dropdown-panel{background:#fff;color:var(--text-color);border:0 none;border-radius:.375rem;box-shadow:0 2px 12px #0000001a}.p-inputtext:enabled:focus,.p-dropdown:focus,.p-multiselect:focus,.p-calendar input:focus{box-shadow:var(--focus-ring);border-color:var(--primary-color)}.p-inputtext:enabled:hover,.p-dropdown:hover,.p-multiselect:hover,.p-calendar input:hover{border-color:var(--primary-color)}.p-dialog{border-radius:.75rem;overflow:hidden;box-shadow:var(--app-shadow-md, 0 20px 25px -5px rgba(0, 0, 0, .08));background:#fff;color:var(--text-color);border:1px solid #e5e7eb}.p-dialog .p-dialog-header{border-bottom:1px solid #f3f4f6;background:#fff;background-image:none;color:#1f2937;padding:1rem 1.25rem}.p-dialog .p-dialog-header .p-dialog-title{font-weight:600;font-size:1.0625rem;color:#111827}.p-dialog .p-dialog-header .p-dialog-header-icon,.p-dialog .p-dialog-header .p-dialog-header-close{color:#6b7280;border-radius:.5rem}.p-dialog .p-dialog-header .p-dialog-header-icon:hover,.p-dialog .p-dialog-header .p-dialog-header-close:hover{background:#f3f4f6;color:#374151}.p-dialog .p-dialog-content{background:#fff;color:var(--text-color);padding:1.25rem 1.5rem}.p-dialog .p-dialog-footer{border-top:1px solid #f3f4f6;background:#f9fafb;color:var(--text-color);padding:.875rem 1.25rem}.p-datatable .p-datatable-thead>tr>th{text-align:left;padding:1rem;border:1px solid var(--surface-border);font-weight:600;color:var(--text-color);background:var(--surface-100);transition:box-shadow .2s}.p-datatable .p-datatable-tbody>tr{background:#fff;color:var(--text-color);transition:box-shadow .2s}.p-datatable .p-datatable-tbody>tr>td{text-align:left;border:1px solid var(--surface-border);padding:1rem}.p-card{background:#fff;color:var(--text-color);box-shadow:0 2px 1px -1px #0000001a,0 1px 1px #00000012,0 1px 3px #0000001a;border-radius:.5rem}.p-card .p-card-body{padding:1.25rem}.p-card .p-card-title{font-size:1.5rem;font-weight:600;margin-bottom:.5rem}.p-card .p-card-subtitle{font-weight:400;margin-bottom:.5rem;color:var(--surface-700)}.p-card .p-card-content{padding:1rem 0}.p-card .p-card-footer{padding:1rem 0 0}.main-nav-icon{color:var(--surface-700)!important}.main-nav-icon:hover,a:hover .main-nav-icon,.router-link-active .main-nav-icon{color:var(--primary-color)!important}.p-tabview{display:block;position:relative;background:#fff}.p-tabview .p-tabview-nav{display:flex;flex-wrap:wrap;list-style-type:none;margin:0;padding:0;border-bottom:1px solid var(--surface-border);background:transparent}.p-tabview .p-tabview-nav li{display:flex;justify-content:center;margin:0;cursor:pointer;overflow:hidden;position:relative}.p-tabview .p-tabview-nav li .p-tabview-nav-link{display:flex;align-items:center;cursor:pointer;border:solid transparent;border-width:0 0 2px 0;background:transparent;color:var(--text-color);padding:1rem 1.5rem;font-weight:500;transition:all .2s ease;border-radius:0;margin:0;-webkit-user-select:none;-moz-user-select:none;user-select:none}.p-tabview .p-tabview-nav li .p-tabview-nav-link:not(.p-disabled):focus{outline:0 none;box-shadow:var(--focus-ring);z-index:1}.p-tabview .p-tabview-nav li .p-tabview-nav-link:hover{background:#8b5cf60a;border-color:transparent;color:var(--primary-color)}.p-tabview .p-tabview-nav li.p-highlight .p-tabview-nav-link{background:transparent;border-color:var(--primary-color);color:var(--primary-color);font-weight:600}.p-tabview .p-tabview-panels{display:block;background:#fff;padding:1.25rem 0;border:0 none}.p-tabview-panel{display:block;padding:0}.student-profile-tabs .p-tabview,.student-profile-tabs .p-tabview-nav{display:flex!important}.student-profile-tabs .p-tabview{flex-direction:column!important}.student-profile-tabs .p-tabview-nav{flex-direction:row!important;padding:1rem 1rem 0!important;border-bottom:1px solid #e5e7eb!important}.student-profile-tabs .p-tabview-panels{padding:0!important;display:block!important}.student-profile-tabs .p-tabview-nav li{margin-right:.5rem!important}.student-profile-tabs .p-tabview-nav li .p-tabview-nav-link{border-width:0 0 2px 0!important;border-color:transparent!important;padding:.75rem 1.25rem!important;color:#64748b!important}.student-profile-tabs .p-tabview-nav li.p-highlight .p-tabview-nav-link{color:var(--app-color-primary)!important;border-color:var(--app-color-primary)!important;font-weight:600!important}.student-profile-tabs .p-tabview-nav li .p-tabview-nav-link:hover{color:var(--app-color-primary)!important;background-color:#8b5cf60a!important}.p-button.p-button-primary{background:var(--app-color-primary);background-image:none;border:none;color:#fff;border-radius:.5rem;transition:background .15s ease}.p-button.p-button-primary:hover:not(:disabled){background:var(--app-color-primary-hover);background-image:none;filter:none;transform:none}.p-button.p-button-primary:enabled:active{background:var(--app-color-primary-hover);transform:translateY(1px)}.p-datatable{border-radius:.75rem;overflow:hidden;box-shadow:0 4px 6px -1px #0000000d,0 2px 4px -1px #00000008}.p-datatable .p-datatable-header{background:linear-gradient(135deg,#8b5cf614,#4f46e514,#9333ea14);border:none;padding:1.25rem 1.5rem;font-weight:600;color:var(--app-color-primary-hover);font-size:1.125rem}.p-datatable .p-datatable-thead>tr>th{background:#fff;border:none;border-bottom:2px solid rgba(139,92,246,.1);color:#4b5563;font-weight:600;padding:1rem 1.25rem;transition:background-color .2s}.p-datatable .p-datatable-thead>tr>th:hover{background:#8b5cf608}.p-datatable .p-datatable-tbody>tr{background:#fff;border:none;transition:all .2s ease}.p-datatable .p-datatable-tbody>tr>td{border:none;padding:.875rem 1.25rem;color:#374151}.p-datatable .p-datatable-tbody>tr:hover{background:#8b5cf608;transform:translateY(-2px);box-shadow:0 4px 6px -1px #0000000d}.p-datatable .p-datatable-tbody>tr:not(:last-child){border-bottom:1px dashed rgba(139,92,246,.1)}.p-datatable .p-paginator{background:#fff;border:none;padding:1rem}.p-datatable .p-paginator .p-paginator-element{margin:0 .125rem;min-width:2.25rem;height:2.25rem}.p-datatable .p-paginator .p-paginator-element.p-highlight{background:#8b5cf6;color:#fff}.p-datatable .p-datatable-tbody>tr.p-datatable-emptymessage>td{padding:3rem 1rem;color:#9ca3af;text-align:center;font-size:.95rem}.p-datatable.p-datatable-striped .p-datatable-tbody>tr:nth-child(2n){background:#f9fafbb3}.p-datatable.p-datatable-striped .p-datatable-tbody>tr:nth-child(2n):hover{background:#8b5cf608}table:not(.p-datatable-table){width:100%;border-collapse:separate;border-spacing:0;border-radius:.75rem;overflow:hidden;box-shadow:0 4px 6px -1px #0000000d,0 2px 4px -1px #00000008}table:not(.p-datatable-table) thead th{background:#fff;border:none;border-bottom:2px solid rgba(139,92,246,.1);color:#4b5563;font-weight:600;padding:1rem 1.25rem;text-align:left;transition:background-color .2s}table:not(.p-datatable-table) thead th:hover{background:#8b5cf608}table:not(.p-datatable-table) tbody tr{background:#fff;border:none;transition:all .2s ease}table:not(.p-datatable-table) tbody tr:hover{background:#8b5cf608;transform:translateY(-2px);box-shadow:0 4px 6px -1px #0000000d}table:not(.p-datatable-table) tbody tr:not(:last-child){border-bottom:1px dashed rgba(139,92,246,.1)}table:not(.p-datatable-table) td{border:none;padding:.875rem 1.25rem;color:#374151}table.table-striped:not(.p-datatable-table) tbody tr:nth-child(2n){background:#f9fafbb3}table.table-striped:not(.p-datatable-table) tbody tr:nth-child(2n):hover{background:#8b5cf608}.p-tag,.p-chip{font-size:.7rem;padding:.25rem .6rem;border-radius:.375rem;font-weight:500;line-height:1;letter-spacing:.01em;background:#8b5cf61a;color:var(--app-color-primary-hover);box-shadow:none;border:none;transition:all .2s ease}.p-tag.p-tag-success,.p-chip.p-chip-success{background:#10b9811a;color:#059669}.p-tag.p-tag-info,.p-chip.p-chip-info{background:#3b82f61a;color:#3b82f6}.p-tag.p-tag-warning,.p-chip.p-chip-warning{background:#f59e0b1a;color:#d97706}.p-tag.p-tag-danger,.p-chip.p-chip-danger{background:#ef44441a;color:#dc2626}.p-tag:hover,.p-chip:hover{transform:translateY(-1px)}.p-tag .p-tag-icon,.p-chip .p-chip-remove-icon{margin-left:.3rem;font-size:.65rem}.p-tag.p-tag-sm,.p-chip.p-chip-sm{font-size:.65rem;padding:.2rem .5rem}.p-tag.p-component,.p-tag.p-component.p-tag-info,.p-tag.p-component.p-tag-success,.p-tag.p-component.p-tag-warning,.p-tag.p-component.p-tag-danger{font-size:.7rem!important;padding:.25rem .6rem!important;border-radius:.375rem!important;font-weight:500!important;line-height:1!important;letter-spacing:.01em!important;box-shadow:none!important;border:none!important;transition:all .2s ease!important}.p-tag.p-component.p-tag-info{background-color:#3b82f61a!important;color:#3b82f6!important}.p-tag.p-component.p-tag-success{background-color:#10b9811a!important;color:#059669!important}.p-tag.p-component.p-tag-warning{background-color:#f59e0b1a!important;color:#d97706!important}.p-tag.p-component.p-tag-danger{background-color:#ef44441a!important;color:#dc2626!important}.p-component.p-tag[class*=p-tag-warning],.p-component.p-tag.p-tag-warning{background-color:#f59e0b1a!important;color:#d97706!important;font-size:.7rem!important;padding:.25rem .6rem!important}.theme-loader{display:none}.fade-enter-active,.fade-leave-active{transition:opacity .25s ease}.fade-enter-from,.fade-leave-to{opacity:0}.slide-up-enter-active,.slide-up-leave-active,.slide-down-enter-active,.slide-down-leave-active{transition:transform .3s cubic-bezier(.4,0,.2,1),opacity .3s cubic-bezier(.4,0,.2,1)}.slide-up-enter-from,.slide-down-leave-to{transform:translateY(20px);opacity:0}.slide-up-leave-to,.slide-down-enter-from{transform:translateY(-20px);opacity:0}.scale-enter-active,.scale-leave-active{transition:transform .3s cubic-bezier(.175,.885,.32,1.275),opacity .25s ease}.scale-enter-from,.scale-leave-to{transform:scale(.95);opacity:0}.bounce-effect{transition:transform .2s cubic-bezier(.175,.885,.32,1.275)}.bounce-effect:hover{transform:scale(1.05)}.bounce-effect:active{transform:scale(.98)}.pulse{animation:pulse 2s infinite}@keyframes pulse{0%{transform:scale(1)}50%{transform:scale(1.03)}to{transform:scale(1)}}.spin{animation:spin 1.5s linear infinite}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.pop-in{animation:pop-in .3s cubic-bezier(.68,-.55,.265,1.55) forwards}@keyframes pop-in{0%{opacity:0;transform:scale(.5)}80%{transform:scale(1.1)}to{opacity:1;transform:scale(1)}}.wiggle{animation:wiggle .8s cubic-bezier(.4,0,.2,1)}@keyframes wiggle{0%,to{transform:rotate(0)}25%{transform:rotate(-5deg)}75%{transform:rotate(5deg)}}.float{animation:float 3s ease-in-out infinite}@keyframes float{0%{transform:translateY(0)}50%{transform:translateY(-8px)}to{transform:translateY(0)}}.writing{overflow:hidden;white-space:nowrap;animation:typing 2.5s steps(40,end)}@keyframes typing{0%{width:0}to{width:100%}}.highlight{animation:highlight 1.5s cubic-bezier(.4,0,.2,1)}@keyframes highlight{0%{background-color:transparent}20%{background-color:#9333ea26}to{background-color:transparent}}.success-checkmark{animation:checkmark .8s cubic-bezier(.65,0,.45,1) forwards}@keyframes checkmark{0%{transform:scale(0) rotate(45deg);opacity:0}to{transform:scale(1) rotate(45deg);opacity:1}}.confetti{position:relative;overflow:hidden}.confetti:after{content:"";position:absolute;top:-10px;left:0;width:100%;height:10px;background-image:radial-gradient(circle,#ff0000 10%,transparent 10%),radial-gradient(circle,#ffff00 10%,transparent 10%),radial-gradient(circle,#00ff00 10%,transparent 10%),radial-gradient(circle,#00ffff 10%,transparent 10%),radial-gradient(circle,#ff00ff 10%,transparent 10%);background-size:10% 100%;animation:confetti-fall 1s linear forwards}@keyframes confetti-fall{to{top:100%}}.chalk-draw{stroke-dasharray:1000;stroke-dashoffset:1000;animation:chalk-draw 2s linear forwards}@keyframes chalk-draw{to{stroke-dashoffset:0}}.animate-none{animation:none!important;transition:none!important}.animate-fast{transition-duration:.15s!important;animation-duration:.15s!important}.animate-slow{transition-duration:.5s!important;animation-duration:.5s!important}.animate-delay-100{transition-delay:.1s!important;animation-delay:.1s!important}.animate-delay-200{transition-delay:.2s!important;animation-delay:.2s!important}.stagger-item{opacity:0}.stagger-item.animate{animation:fade-in-up .5s cubic-bezier(.4,0,.2,1) forwards}@keyframes fade-in-up{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.animated-bolt{animation:boltPulse 2s ease-in-out infinite;filter:drop-shadow(0 0 6px rgba(245,158,11,.4))}@keyframes boltPulse{0%,to{transform:scale(1) rotate(0);opacity:1}50%{transform:scale(1.1) rotate(-5deg);opacity:.9}}.p-toast-message-enter-active{transform:translate(100%);transition:transform .3s cubic-bezier(.05,.7,.1,1)}.p-toast-message-enter-to{transform:translate(0)}.p-toast-message-leave-active{transition:transform .3s cubic-bezier(.05,.7,.1,1),opacity .3s ease}.p-toast-message-leave-to{transform:translate(100%);opacity:0}.p-dialog-enter-active{animation:dialog-scale-in .3s cubic-bezier(.05,.7,.1,1)}.p-dialog-leave-active{animation:dialog-scale-out .2s cubic-bezier(.05,.7,.1,1)}@keyframes dialog-scale-in{0%{transform:scale(.9);opacity:0}to{transform:scale(1);opacity:1}}@keyframes dialog-scale-out{0%{transform:scale(1);opacity:1}to{transform:scale(.9);opacity:0}}.p-datatable-row-enter-active{animation:fade-slide-down .3s cubic-bezier(.05,.7,.1,1)}@keyframes fade-slide-down{0%{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:translateY(0)}}.turnstile-field[data-v-f97cdfbd]{width:100%;margin:.25rem 0 .75rem}.turnstile-field__status[data-v-f97cdfbd]{display:flex;align-items:center;justify-content:center;gap:.5rem;min-height:65px;padding:.625rem .75rem;border-radius:.5rem;border:1px solid rgba(255,255,255,.14);background:linear-gradient(180deg,#ffffff0f,#ffffff05);color:#ffffffb3;font-size:.875rem}.turnstile-field__status--error[data-v-f97cdfbd]{flex-wrap:wrap}.turnstile-field__retry[data-v-f97cdfbd]{background:none;border:none;color:#fcd34d;cursor:pointer;font-size:.875rem;font-weight:600;padding:0}.turnstile-field__retry[data-v-f97cdfbd]:hover{color:#fde68a}.turnstile-field[data-v-f97cdfbd]:has(iframe){padding:.625rem .75rem;border-radius:.5rem;border:1px solid rgba(255,255,255,.14);background:linear-gradient(180deg,#ffffff0f,#ffffff05);box-shadow:inset 0 1px #ffffff0f,0 4px 16px #0000001f}.turnstile-field:has(iframe) .turnstile-field__status[data-v-f97cdfbd]{display:none}.turnstile-field__widget[data-v-f97cdfbd]{width:100%;min-height:0;display:flex;align-items:center;justify-content:center;overflow:hidden}.turnstile-field:has(iframe) .turnstile-field__widget[data-v-f97cdfbd]{min-height:65px;max-width:300px;margin:0 auto}.turnstile-field__widget[data-v-f97cdfbd] iframe{border-radius:.375rem;max-width:100%}:root{--app-color-primary: #8b5cf6;--app-color-primary-hover: #7c3aed;--app-color-primary-600: var(--app-color-primary-hover);--app-color-primary-muted: #f5f3ff;--app-color-primary-border: #ede9fe;--app-color-primary-focus: #c4b5fd;--app-color-primary-focus-ring: rgba(139, 92, 246, .12);--app-color-text: #1f2937;--app-color-text-heading: #111827;--app-color-text-muted: #6b7280;--app-color-text-subtle: #9ca3af;--app-color-surface: #ffffff;--app-color-surface-muted: #f9fafb;--app-color-surface-track: #f3f4f6;--app-color-border: #e5e7eb;--app-color-border-light: #f3f4f6;--app-control-border: var(--app-color-border);--app-radius-sm: .375rem;--app-radius-md: .5rem;--app-radius-lg: .75rem;--app-radius-pill: 9999px;--app-shadow-sm: 0 1px 2px rgba(0, 0, 0, .04);--app-shadow-md: 0 20px 25px -5px rgba(0, 0, 0, .08), 0 8px 10px -6px rgba(0, 0, 0, .04);--app-header-gradient: linear-gradient(135deg, #faf5ff 0%, #f5f3ff 50%, #f9fafb 100%);--app-color-primary-emphasis: #9333ea;--app-gradient-brand: linear-gradient( 135deg, var(--app-color-primary-hover) 0%, var(--app-color-primary-emphasis) 100% );--app-gradient-brand-horizontal: linear-gradient( to right, var(--app-color-primary-hover), var(--app-color-primary-emphasis) );--app-font-size-sm: .8125rem;--app-font-size-base: .9375rem;--app-font-size-lg: 1.0625rem;--dashboard-chrome-height: 4rem;--app-glass-bg: rgba(255, 255, 255, .18);--app-glass-bg-elevated: rgba(255, 255, 255, .42);--app-glass-border: rgba(255, 255, 255, .38);--app-glass-blur: 20px;--app-glass-saturate: 160%;--app-glass-shadow: 0 4px 24px rgba(139, 92, 246, .08);--app-hover-glow-border: rgba(139, 92, 246, .12);--app-hover-glow-shadow: 0 1px 2px rgba(0, 0, 0, .05), 0 2px 8px rgba(139, 92, 246, .1)}.p-inputtext,.p-inputtextarea,.p-dropdown,.p-multiselect,.p-autocomplete .p-autocomplete-input,.p-calendar .p-inputtext,.p-password-input,.p-inputnumber .p-inputnumber-input{font-size:var(--app-font-size-sm);color:var(--app-color-text);background:var(--app-color-surface);border:1px solid var(--app-control-border)!important;border-radius:var(--app-radius-md);box-sizing:border-box;transition:border-color .15s,box-shadow .15s,background-color .15s}.p-inputtext,.p-password-input,.p-inputnumber .p-inputnumber-input,.p-autocomplete .p-autocomplete-input,.p-calendar .p-inputtext{padding:.375rem .625rem}.p-inputtextarea{padding:.5rem .625rem;line-height:1.45}.p-inputtext:enabled:hover,.p-inputtextarea:enabled:hover,.p-dropdown:not(.p-disabled):hover,.p-multiselect:not(.p-disabled):hover,.p-autocomplete:not(.p-disabled):hover .p-autocomplete-input,.p-calendar:not(.p-disabled):hover .p-inputtext,.p-inputnumber:not(.p-disabled):hover .p-inputnumber-input{border-color:var(--app-color-primary-focus)!important}.p-inputtext:enabled:focus,.p-inputtextarea:enabled:focus,.p-dropdown:not(.p-disabled).p-focus,.p-multiselect:not(.p-disabled).p-focus,.p-autocomplete:not(.p-disabled).p-focus .p-autocomplete-input,.p-calendar .p-inputtext:enabled:focus,.p-password-input:enabled:focus,.p-inputnumber .p-inputnumber-input:enabled:focus{outline:none;border-color:var(--app-color-primary-focus)!important;box-shadow:0 0 0 3px var(--app-color-primary-focus-ring)}.p-inputtext::-moz-placeholder,.p-inputtextarea::-moz-placeholder{color:var(--app-color-text-subtle)}.p-inputtext::placeholder,.p-inputtextarea::placeholder{color:var(--app-color-text-subtle)}.p-dropdown{align-items:stretch}.p-dropdown .p-dropdown-label{border:none;background:transparent;padding:.375rem .625rem;font-size:var(--app-font-size-sm);color:var(--app-color-text);line-height:1.25}.p-dropdown .p-dropdown-label.p-placeholder{color:var(--app-color-text-subtle)}.p-dropdown .p-dropdown-trigger{width:2rem;color:var(--app-color-text-muted);background:transparent}.p-dropdown .p-dropdown-trigger:before{display:none}.p-dropdown .p-dropdown-clear-icon{color:var(--app-color-text-muted);right:2rem}.p-multiselect .p-multiselect-label{border:none;background:transparent;padding:.375rem .625rem;font-size:var(--app-font-size-sm)}.p-multiselect .p-multiselect-trigger{width:2rem;color:var(--app-color-text-muted)}.p-dropdown-panel,.p-multiselect-panel,.p-autocomplete-panel{border:1px solid var(--app-color-border-light);border-radius:var(--app-radius-md);box-shadow:var(--app-shadow-md);background:var(--app-color-surface)}.p-dropdown-panel .p-dropdown-header,.p-multiselect-panel .p-multiselect-header{padding:.5rem .625rem;border-bottom:1px solid var(--app-color-border-light);background:var(--app-color-surface-muted)}.p-dropdown-panel .p-dropdown-filter,.p-multiselect-panel .p-multiselect-filter-container .p-inputtext{padding:.375rem .625rem;font-size:var(--app-font-size-sm)}.p-dropdown-panel .p-dropdown-items,.p-multiselect-panel .p-multiselect-items{padding:.25rem}.p-dropdown-panel .p-dropdown-items .p-dropdown-item,.p-multiselect-panel .p-multiselect-items .p-multiselect-item{padding:.375rem .625rem;font-size:var(--app-font-size-sm);color:var(--app-color-text);border-radius:var(--app-radius-sm);margin:.0625rem 0}.p-dropdown-panel .p-dropdown-items .p-dropdown-item.p-highlight,.p-multiselect-panel .p-multiselect-items .p-multiselect-item.p-highlight{background:var(--app-color-primary-muted);color:var(--app-color-primary-hover)}.p-dropdown-panel .p-dropdown-items .p-dropdown-item:not(.p-highlight):not(.p-disabled):hover,.p-multiselect-panel .p-multiselect-items .p-multiselect-item:not(.p-highlight):not(.p-disabled):hover{background:#faf5ff;color:var(--app-color-primary-hover)}.p-dropdown-panel .p-dropdown-empty-message,.p-multiselect-panel .p-multiselect-empty-message{padding:.5rem .625rem;font-size:var(--app-font-size-sm);color:var(--app-color-text-muted)}.p-paginator .p-dropdown{display:inline-flex;flex:0 0 auto;align-items:center;width:auto;min-width:5rem;height:2.375rem;margin-left:.375rem;margin-right:.375rem}.p-paginator .p-dropdown .p-dropdown-label{flex:1 1 auto;min-width:2ch;padding:.375rem .25rem .375rem .625rem;text-align:center;font-variant-numeric:tabular-nums}.p-paginator .p-dropdown.p-dropdown-clearable .p-dropdown-label{padding-right:.25rem}.p-paginator .p-dropdown .p-dropdown-trigger{width:2rem;flex-shrink:0}.p-paginator .p-dropdown .p-dropdown-trigger .p-icon,.p-paginator .p-dropdown .p-dropdown-trigger .pi{font-size:.75rem}.p-input-icon-left>i:first-of-type{left:.625rem;font-size:var(--app-font-size-sm);color:var(--app-color-text-muted)}.p-input-icon-right>i:last-of-type{right:.625rem;font-size:var(--app-font-size-sm);color:var(--app-color-text-muted)}.p-checkbox,.p-radiobutton{width:1rem;height:1rem}.p-checkbox .p-checkbox-box,.p-radiobutton .p-radiobutton-box{width:1rem;height:1rem;border:1px solid var(--app-color-border);background:var(--app-color-surface);transition:background-color .15s ease,border-color .15s ease,box-shadow .15s ease}.p-checkbox .p-checkbox-box{border-radius:var(--app-radius-sm)}.p-radiobutton .p-radiobutton-box{border-radius:9999px}.p-checkbox.p-highlight .p-checkbox-box,.p-radiobutton.p-highlight .p-radiobutton-box,.p-checkbox .p-checkbox-box.p-highlight,.p-radiobutton .p-radiobutton-box.p-highlight{background:var(--app-color-primary)!important;border-color:var(--app-color-primary)!important}.p-checkbox.p-highlight .p-checkbox-icon,.p-radiobutton.p-highlight .p-radiobutton-icon{color:#fff!important;font-size:.625rem;width:.625rem;height:.625rem}.p-checkbox:not(.p-disabled) .p-checkbox-box:hover,.p-radiobutton:not(.p-disabled) .p-radiobutton-box:hover{border-color:var(--app-color-primary-focus)}.p-checkbox:not(.p-disabled) .p-checkbox-box.p-focus,.p-radiobutton:not(.p-disabled) .p-radiobutton-box.p-focus,.p-checkbox:not(.p-disabled):has(.p-checkbox-input:focus-visible) .p-checkbox-box,.p-radiobutton:not(.p-disabled):has(.p-radiobutton-input:focus-visible) .p-radiobutton-box{box-shadow:0 0 0 3px var(--app-color-primary-focus-ring);border-color:var(--app-color-primary-focus)}.p-checkbox.p-disabled .p-checkbox-box,.p-radiobutton.p-disabled .p-radiobutton-box{opacity:.55}.p-inputnumber .p-inputnumber-input{font-size:var(--app-font-size-sm);padding:.375rem .625rem;border-color:var(--app-color-border);border-radius:var(--app-radius-md)}.p-inputnumber .p-inputnumber-input:enabled:focus{border-color:var(--app-color-primary-focus);box-shadow:0 0 0 3px var(--app-color-primary-focus-ring)}.p-tooltip{max-width:min(15rem,88vw)!important;width:auto!important;pointer-events:none}.p-tooltip .p-tooltip-text{display:block;padding:.35rem .55rem!important;font-size:.6875rem!important;font-weight:500!important;line-height:1.4!important;letter-spacing:.01em;color:#f9fafb!important;background:#374151!important;border:1px solid rgba(255,255,255,.08)!important;border-radius:var(--app-radius-sm)!important;box-shadow:0 4px 14px #0f172a2e!important;white-space:normal!important;word-wrap:break-word;overflow-wrap:anywhere}.p-tooltip .p-tooltip-arrow{display:none}.app-toast.p-toast,.p-toast{font-family:inherit;opacity:1;width:auto!important;max-width:min(20rem,calc(100vw - 2rem))!important}.app-toast.p-toast{position:fixed!important;top:1.25rem!important;right:1.25rem!important;display:flex!important;flex-direction:column!important;gap:.5rem!important;pointer-events:none!important;z-index:9999!important}.app-toast.p-toast .p-toast-message{width:100%!important;margin:0!important;pointer-events:auto!important}@media (max-width: 640px){.app-toast.p-toast{top:1rem!important;right:1rem!important;left:1rem!important;max-width:none!important}}.p-toast .p-toast-message{position:relative;margin:0 0 .5rem;padding:0;overflow:hidden;border:1px solid var(--app-color-border-light);border-radius:var(--app-radius-lg);background:var(--app-color-surface);box-shadow:var(--app-shadow-md);transform-origin:top right}.p-toast .p-toast-message:before{content:"";position:absolute;left:0;top:0;bottom:0;width:3px;border-radius:var(--app-radius-lg) 0 0 var(--app-radius-lg)}.p-toast .p-toast-message-info:before{background:var(--app-color-primary)}.p-toast .p-toast-message-success:before,.p-toast .p-toast-message-warn:before,.p-toast .p-toast-message-error:before{background:var(--app-color-primary-border)}.p-toast .p-toast-message-info{background:var(--app-color-surface);border-color:var(--app-color-primary-border)}.p-toast .p-toast-message-success,.p-toast .p-toast-message-warn,.p-toast .p-toast-message-error{background:var(--app-color-surface)!important;border-color:var(--app-color-border-light)!important;color:var(--app-color-text)!important}.p-toast .p-toast-message-success .p-toast-message-content,.p-toast .p-toast-message-warn .p-toast-message-content,.p-toast .p-toast-message-error .p-toast-message-content{background:transparent!important;border:none!important;color:inherit!important}.p-toast .p-toast-message-content{display:flex;align-items:flex-start;gap:.5rem;padding:.625rem 2rem .625rem .75rem;border:none}.p-toast .p-toast-message-content .p-toast-message-icon{display:flex;align-items:center;justify-content:center;flex-shrink:0;width:1.375rem;height:1.375rem;margin:0;font-size:.75rem;border-radius:var(--app-radius-pill)}.p-toast .p-toast-message-info .p-toast-message-icon{color:#2563eb!important;background:#eff6ff!important}.p-toast .p-toast-message-success .p-toast-message-icon{color:#16a34a!important;background:#f0fdf4!important}.p-toast .p-toast-message-warn .p-toast-message-icon{color:#ca8a04!important;background:#fefce8!important}.p-toast .p-toast-message-error .p-toast-message-icon{color:#dc2626!important;background:#fef2f2!important}.p-toast .p-toast-message-text{flex:1;min-width:0;margin:0}.p-toast .p-toast-summary{margin:0 0 .125rem;font-size:var(--app-font-size-sm);font-weight:600;line-height:1.3;color:var(--app-color-text-heading)}.p-toast .p-toast-detail{margin:0;font-size:.75rem;font-weight:400;line-height:1.4;color:var(--app-color-text-muted)}.p-toast .p-toast-icon-close{position:absolute;top:.45rem;right:.45rem;width:1.25rem;height:1.25rem;border:none;border-radius:var(--app-radius-sm);background:transparent;color:var(--app-color-text-subtle);opacity:.85;transition:background .15s,color .15s,opacity .15s}.p-toast .p-toast-icon-close:hover{background:var(--app-color-surface-muted);color:var(--app-color-primary-hover);opacity:1}.p-toast .p-toast-icon-close .p-icon{width:.625rem;height:.625rem}.app-page,.class-gradebook-page{max-width:87.5rem;margin:0 auto;padding:1.5rem 1rem;display:flex;flex-direction:column;gap:1.5rem}.app-page-header,.gradebook-page-header,.checklist-page-header,.timetable-page-header,.jobs-page-header{display:flex;flex-wrap:wrap;align-items:flex-start;justify-content:space-between;gap:1rem;padding:1.25rem 1.5rem;background:var(--app-header-gradient);border:1px solid var(--app-color-primary-border);border-radius:var(--app-radius-lg);box-shadow:var(--app-shadow-sm)}.app-page-header__main,.checklist-page-header__main,.timetable-page-header__main,.jobs-page-header__main{display:flex;align-items:flex-start;gap:.875rem;min-width:0}.app-page-header__icon,.gradebook-page-header__icon,.checklist-page-header__icon,.timetable-page-header__icon,.jobs-page-header__icon{flex-shrink:0;width:2.5rem;height:2.5rem;display:flex;align-items:center;justify-content:center;border-radius:.625rem;background:var(--app-color-primary);color:#fff;font-size:1rem}.app-page-header__title,.gradebook-page-header__title,.checklist-page-header__title,.timetable-page-header__title,.jobs-page-header__title{margin:0;font-size:1.25rem;font-weight:600;color:var(--app-color-text);line-height:1.3}.app-page-header__subtitle,.gradebook-page-header__subtitle,.checklist-page-header__subtitle,.timetable-page-header__subtitle,.jobs-page-header__subtitle{margin:.25rem 0 0;font-size:var(--app-font-size-sm);color:var(--app-color-text-muted);line-height:1.45}.app-page-header__stats,.jobs-page-header__stats{display:flex;flex-wrap:wrap;gap:.75rem;align-items:center}.app-page-header__actions,.gradebook-page-header__actions,.checklist-page-header__actions,.timetable-page-header__actions,.jobs-page-header__actions{display:flex;gap:.25rem;align-items:center}.app-btn-primary.p-button,.gradebook-primary-btn.p-button,.checklist-primary-btn.p-button,.timetable-primary-btn.p-button,.jobs-primary-btn.p-button,.attendance-export-btn.p-button{background:var(--app-color-primary)!important;background-image:none!important;border:none!important;border-radius:var(--app-radius-md)!important;font-weight:600!important;font-size:var(--app-font-size-sm)!important;color:#fff!important;box-shadow:0 1px 2px #8b5cf640!important;transform:none!important}.app-btn-primary.p-button:hover:not(:disabled),.gradebook-primary-btn.p-button:hover:not(:disabled),.checklist-primary-btn.p-button:hover:not(:disabled),.timetable-primary-btn.p-button:hover:not(:disabled),.jobs-primary-btn.p-button:hover:not(:disabled),.attendance-export-btn.p-button:hover:not(:disabled){background:var(--app-color-primary-hover)!important;filter:none!important;transform:none!important}.app-btn-outlined.p-button,.gradebook-outlined-btn.p-button,.checklist-outlined-btn.p-button,.timetable-outlined-btn.p-button,.jobs-outlined-btn.p-button{border-radius:var(--app-radius-md)!important;font-size:var(--app-font-size-sm)!important;border-color:var(--app-color-border)!important;color:var(--app-color-text)!important;background:var(--app-color-surface)!important;background-image:none!important;box-shadow:none!important}.app-btn-outlined.p-button:hover:not(:disabled),.gradebook-outlined-btn.p-button:hover:not(:disabled),.checklist-outlined-btn.p-button:hover:not(:disabled),.timetable-outlined-btn.p-button:hover:not(:disabled),.jobs-outlined-btn.p-button:hover:not(:disabled){border-color:var(--app-color-primary-focus)!important;color:var(--app-color-primary-hover)!important;background:#faf5ff!important;transform:none!important}.app-btn-icon.p-button,.gradebook-icon-btn.p-button{color:var(--app-color-text-muted)!important;border-radius:var(--app-radius-md)!important}.app-btn-icon.p-button:hover,.gradebook-icon-btn.p-button:hover{color:var(--app-color-primary-hover)!important;background:var(--app-color-primary-muted)!important}.app-card,.gradebook-selector-card,.gradebook-metric-card,.gradebook-pin-card{padding:1rem 1.25rem;background:var(--app-color-surface);border:1px solid var(--app-color-border-light);border-radius:var(--app-radius-lg);box-shadow:var(--app-shadow-sm)}.gradebook-metric-card{padding:1rem 1.25rem}.app-metric-card__title,.gradebook-metric-card__title{margin:0 0 .5rem;font-size:.875rem;font-weight:600;color:var(--app-color-text-muted)}.app-metric-card__value,.gradebook-metric-card__value{font-size:1.75rem;font-weight:700;line-height:1.2;font-variant-numeric:tabular-nums}.app-empty,.gradebook-empty{padding:2.5rem 1.5rem;text-align:center;background:var(--app-color-surface);border:1px dashed var(--app-color-border);border-radius:var(--app-radius-lg)}.app-empty__icon,.gradebook-pin-card__icon{width:3rem;height:3rem;margin:0 auto 1rem;display:flex;align-items:center;justify-content:center;border-radius:var(--app-radius-pill);background:var(--app-color-primary-muted);color:var(--app-color-primary-hover);font-size:1.25rem}.gradebook-pin-card__icon{width:4rem;height:4rem;font-size:1.5rem}.app-pill-section,.gradebook-tab-section,.attendance-tab-section{display:flex;flex-direction:column;background:var(--app-color-surface);border:1px solid var(--app-color-border-light);border-radius:var(--app-radius-lg);box-shadow:var(--app-shadow-sm);overflow:hidden}.app-pill-nav-wrap,.gradebook-nav-wrap,.attendance-nav-wrap{padding:.75rem .75rem 0;background:#fafafa;border-bottom:1px solid var(--app-color-border-light)}.app-pill-nav,.gradebook-nav,.attendance-nav{display:flex;flex-wrap:nowrap;gap:.25rem;padding:.25rem;background:var(--app-color-surface-track);border-radius:var(--app-radius-lg);overflow-x:auto;-webkit-overflow-scrolling:touch}.app-pill-nav__tab,.gradebook-nav__tab,.attendance-nav__tab{display:inline-flex;align-items:center;gap:.4rem;flex-shrink:0;padding:.45rem .75rem;border:none;border-radius:var(--app-radius-md);background:transparent;color:var(--app-color-text-muted);font-size:var(--app-font-size-sm);font-weight:500;white-space:nowrap;cursor:pointer;transition:background .15s,color .15s}.app-pill-nav__tab:hover,.gradebook-nav__tab:hover,.attendance-nav__tab:hover{color:var(--app-color-primary-hover);background:var(--app-color-primary-border)}.app-pill-nav__tab--active,.gradebook-nav__tab--active,.attendance-nav__tab--active{background:var(--app-color-surface);color:var(--app-color-primary-hover);box-shadow:var(--app-shadow-sm)}.app-pill-nav__badge{font-size:.6875rem;font-weight:600;padding:.1rem .35rem;border-radius:var(--app-radius-pill);background:var(--app-color-primary-border);color:var(--app-color-primary-hover)}.app-pill-panel,.gradebook-tab-panel{min-height:12rem}.app-notice,.app-dialog__notice,.gradebook-dialog__notice,.gradebook-weights-editor__notice,.app-weights-editor__notice{padding:.875rem 1rem;margin-bottom:1rem;font-size:var(--app-font-size-sm);line-height:1.45;border-radius:var(--app-radius-md)}.app-notice--info,.app-dialog__notice--info,.gradebook-dialog__notice--info{color:#5b21b6;background:#faf5ff;border:1px solid var(--app-color-primary-border)}.app-notice--error,.app-dialog__notice--error,.gradebook-dialog__notice--error{color:#b91c1c;background:#fef2f2;border:1px solid #fecaca}.app-bolt-loading,.gradebook-bolt-loading,.attendance-bolt-loading{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:.75rem;padding:2rem;color:var(--app-color-text-muted);font-size:var(--app-font-size-sm)}.app-bolt-loading .bolt-container,.gradebook-bolt-loading .bolt-container,.attendance-bolt-loading .bolt-container{width:3rem;height:3rem}.app-bolt-overlay,.gradebook-bolt-overlay{position:absolute;top:0;right:0;bottom:0;left:0;z-index:10;display:flex;align-items:center;justify-content:center;background:#ffffffb8;border-radius:inherit}.p-dialog.app-dialog,.p-dialog.student-profile-dialog,.p-dialog.gradebook-dialog{border-radius:var(--app-radius-lg);overflow:hidden;box-shadow:var(--app-shadow-md);border:1px solid var(--app-color-border)}.p-dialog.app-dialog .p-dialog-header,.p-dialog.student-profile-dialog .p-dialog-header,.p-dialog.gradebook-dialog .p-dialog-header{display:flex;align-items:center;justify-content:space-between;gap:.75rem;background:var(--app-color-surface)!important;background-image:none!important;padding:1rem 1.25rem!important;border-bottom:1px solid var(--app-color-border-light)!important;color:var(--app-color-text)!important}.p-dialog.student-profile-dialog .p-dialog-header,.p-dialog.app-dialog--custom-header .p-dialog-header{align-items:flex-start;padding:1.125rem 1.25rem!important}.p-dialog.student-profile-dialog .p-dialog-header .p-dialog-title,.p-dialog.app-dialog--custom-header .p-dialog-header .p-dialog-title{display:none}.p-dialog.app-dialog .p-dialog-header .p-dialog-title,.p-dialog.gradebook-dialog .p-dialog-header .p-dialog-title{font-size:var(--app-font-size-lg)!important;font-weight:600!important;color:var(--app-color-text-heading)!important;line-height:1.3}.p-dialog.app-dialog .p-dialog-header .p-dialog-header-icon,.p-dialog.app-dialog .p-dialog-header .p-dialog-header-close,.p-dialog.student-profile-dialog .p-dialog-header .p-dialog-header-icon,.p-dialog.student-profile-dialog .p-dialog-header .p-dialog-header-close,.p-dialog.gradebook-dialog .p-dialog-header .p-dialog-header-icon,.p-dialog.gradebook-dialog .p-dialog-header .p-dialog-header-close{width:2rem!important;height:2rem!important;color:var(--app-color-text-muted)!important;border-radius:var(--app-radius-md)!important}.p-dialog.app-dialog .p-dialog-header .p-dialog-header-icon:hover,.p-dialog.app-dialog .p-dialog-header .p-dialog-header-close:hover,.p-dialog.student-profile-dialog .p-dialog-header .p-dialog-header-icon:hover,.p-dialog.student-profile-dialog .p-dialog-header .p-dialog-header-close:hover,.p-dialog.gradebook-dialog .p-dialog-header .p-dialog-header-icon:hover,.p-dialog.gradebook-dialog .p-dialog-header .p-dialog-header-close:hover{background:var(--app-color-surface-track)!important;color:#374151!important}.p-dialog.app-dialog .p-dialog-content,.p-dialog.student-profile-dialog .p-dialog-content,.p-dialog.gradebook-dialog .p-dialog-content{padding:1.25rem 1.5rem 1.5rem!important;background:var(--app-color-surface)!important}.p-dialog.app-dialog .p-dialog-footer,.p-dialog.student-profile-dialog .p-dialog-footer,.p-dialog.gradebook-dialog .p-dialog-footer{padding:.875rem 1.25rem 1.125rem!important;background:var(--app-color-surface-muted)!important;border-top:1px solid var(--app-color-border-light)!important;gap:.5rem;display:flex;justify-content:flex-end;flex-wrap:wrap}.p-dialog.app-dialog .p-inputtext:not(.p-colorpicker-preview),.p-dialog.app-dialog .p-inputtextarea,.p-dialog.app-dialog .p-dropdown,.p-dialog.app-dialog .p-calendar .p-inputtext,.p-dialog.app-dialog .p-password-input,.p-dialog.student-profile-dialog .p-inputtext:not(.p-colorpicker-preview),.p-dialog.student-profile-dialog .p-inputtextarea,.p-dialog.student-profile-dialog .p-dropdown,.p-dialog.student-profile-dialog .p-calendar .p-inputtext,.p-dialog.gradebook-dialog .p-inputtext:not(.p-colorpicker-preview),.p-dialog.gradebook-dialog .p-inputtextarea,.p-dialog.gradebook-dialog .p-dropdown,.p-dialog.gradebook-dialog .p-calendar .p-inputtext,.p-dialog.gradebook-dialog .p-password-input{border-radius:var(--app-radius-md)!important;border:1px solid var(--app-color-border)!important;font-size:var(--app-font-size-sm);background:var(--app-color-surface)!important}.p-dialog.app-dialog .p-inputtext:not(.p-colorpicker-preview):enabled:focus,.p-dialog.app-dialog .p-inputtextarea:enabled:focus,.p-dialog.app-dialog .p-dropdown:not(.p-disabled).p-focus,.p-dialog.app-dialog .p-calendar .p-inputtext:enabled:focus,.p-dialog.app-dialog .p-password-input:enabled:focus,.p-dialog.student-profile-dialog .p-inputtext:not(.p-colorpicker-preview):enabled:focus,.p-dialog.student-profile-dialog .p-inputtextarea:enabled:focus,.p-dialog.student-profile-dialog .p-dropdown:not(.p-disabled).p-focus,.p-dialog.student-profile-dialog .p-calendar .p-inputtext:enabled:focus,.p-dialog.gradebook-dialog .p-inputtext:not(.p-colorpicker-preview):enabled:focus,.p-dialog.gradebook-dialog .p-inputtextarea:enabled:focus,.p-dialog.gradebook-dialog .p-dropdown:not(.p-disabled).p-focus,.p-dialog.gradebook-dialog .p-calendar .p-inputtext:enabled:focus,.p-dialog.gradebook-dialog .p-password-input:enabled:focus{border-color:var(--app-color-primary-focus)!important;box-shadow:0 0 0 3px var(--app-color-primary-focus-ring)!important}.p-dialog.app-dialog .p-calendar .p-datepicker-trigger,.p-dialog.student-profile-dialog .p-calendar .p-datepicker-trigger,.p-dialog.gradebook-dialog .p-calendar .p-datepicker-trigger{background:var(--app-color-primary)!important;border-color:var(--app-color-primary)!important;border-radius:0 var(--app-radius-md) var(--app-radius-md) 0!important}.p-dialog.app-dialog .p-calendar .p-datepicker-trigger:hover,.p-dialog.student-profile-dialog .p-calendar .p-datepicker-trigger:hover,.p-dialog.gradebook-dialog .p-calendar .p-datepicker-trigger:hover{background:var(--app-color-primary-hover)!important;border-color:var(--app-color-primary-hover)!important}.app-dialog__header-content,.student-profile-dialog__header-content{display:flex;align-items:flex-start;gap:.875rem;flex:1;min-width:0;padding-right:.5rem}.app-dialog__header-icon,.student-profile-dialog__header-icon{flex-shrink:0;width:2.5rem;height:2.5rem;display:flex;align-items:center;justify-content:center;border-radius:.625rem;font-size:1rem}.student-profile-dialog__header-icon--incident,.app-dialog__header-icon--violet{background:var(--app-color-primary-border);color:var(--app-color-primary-hover)}.student-profile-dialog__header-icon--contact,.app-dialog__header-icon--blue{background:#dbeafe;color:#2563eb}.app-dialog__title,.student-profile-dialog__title{margin:0;font-size:var(--app-font-size-lg);font-weight:600;color:var(--app-color-text-heading);line-height:1.3}.app-dialog__subtitle,.student-profile-dialog__subtitle{margin:.2rem 0 0;font-size:var(--app-font-size-sm);color:var(--app-color-text-muted);line-height:1.45}.app-dialog__form,.student-profile-dialog__form{display:flex;flex-direction:column;gap:1rem}.app-dialog__row,.student-profile-dialog__row{display:grid;grid-template-columns:1fr;gap:1rem}@media (min-width: 480px){.app-dialog__row--2,.student-profile-dialog__row--2{grid-template-columns:1fr 1fr}}.app-dialog__field,.student-profile-dialog__field{display:flex;flex-direction:column;gap:.375rem;min-width:0}.app-dialog__label,.student-profile-dialog__label,.p-dialog.gradebook-dialog label.font-medium,.p-dialog.gradebook-dialog .field>label{font-size:var(--app-font-size-sm);font-weight:500;color:#374151}.app-dialog__hint,.student-profile-dialog__hint{margin:0;font-size:.75rem;color:var(--app-color-text-subtle);line-height:1.4}.app-dialog__checkbox-row,.student-profile-dialog__checkbox-row{display:flex;align-items:center;gap:.5rem;font-size:var(--app-font-size-sm);font-weight:500;color:var(--app-color-text);cursor:pointer}.app-dialog__section{background:var(--app-color-surface-muted);border:1px solid var(--app-color-border-light);border-radius:var(--app-radius-lg);overflow:hidden}.app-dialog__section-title{margin:0;padding:.75rem 1rem;font-size:var(--app-font-size-sm);font-weight:600;color:var(--app-color-text);background:#fafafa;border-bottom:1px solid var(--app-color-border-light)}.app-dialog__section-body{padding:1rem 1.125rem;display:flex;flex-direction:column;gap:.75rem}.app-dialog__stepper{display:flex;gap:.5rem;padding:.25rem;background:var(--app-color-surface-muted);border:1px solid var(--app-color-border-light);border-radius:var(--app-radius-lg)}.app-dialog__step{flex:1;display:flex;align-items:center;justify-content:center;gap:.5rem;padding:.625rem .75rem;border:none;border-radius:var(--app-radius-md);background:transparent;font-size:var(--app-font-size-sm);font-weight:500;color:var(--app-color-text-muted);cursor:pointer;transition:background .15s,color .15s}.app-dialog__step:disabled{cursor:default;opacity:.7}.app-dialog__step--active{background:var(--app-color-surface);color:var(--app-color-primary-hover);box-shadow:var(--app-shadow-sm)}.app-dialog__step--done{color:var(--app-color-primary-hover)}.app-dialog__step-num{flex-shrink:0;width:1.5rem;height:1.5rem;display:flex;align-items:center;justify-content:center;border-radius:var(--app-radius-pill);font-size:.75rem;font-weight:600;background:var(--app-color-border-light);color:var(--app-color-text-muted)}.app-dialog__step--active .app-dialog__step-num{background:var(--app-color-primary);color:#fff}.app-dialog__step--done .app-dialog__step-num{background:var(--app-color-primary-muted);color:var(--app-color-primary-hover)}.p-dialog.app-dialog .student-import-progress .p-progressbar{height:.5rem;border-radius:var(--app-radius-pill);background:var(--app-color-border-light)}.p-dialog.app-dialog .student-import-progress .p-progressbar-value{background:var(--app-color-primary)!important;border-radius:var(--app-radius-pill)}.app-dialog__submit.p-button,.student-profile-dialog__submit.p-button,.gradebook-dialog__submit.p-button{border-radius:var(--app-radius-md)!important;font-size:var(--app-font-size-sm)!important;font-weight:600!important;background:var(--app-color-primary)!important;background-image:none!important;border:none!important;color:#fff!important;box-shadow:0 1px 2px #8b5cf640!important;transform:none!important}.app-dialog__submit.p-button:hover:not(:disabled),.student-profile-dialog__submit.p-button:hover:not(:disabled),.gradebook-dialog__submit.p-button:hover:not(:disabled){background:var(--app-color-primary-hover)!important;filter:none!important;transform:none!important}.p-dialog.app-dialog .p-button.p-button-text.app-dialog__cancel,.p-dialog.app-dialog .p-dialog-footer .p-button.p-button-text,.p-dialog.app-dialog .p-dialog-footer .p-button.app-dialog__cancel,.p-dialog.student-profile-dialog .p-dialog-footer .p-button.p-button-text,.p-dialog.gradebook-dialog .p-button.p-button-text.app-dialog__cancel,.p-dialog.gradebook-dialog .p-dialog-footer .p-button.p-button-text,.p-dialog.p-confirm-dialog.app-dialog .p-dialog-footer .p-button.p-button-text,.p-dialog.p-confirm-dialog.gradebook-dialog .p-dialog-footer .p-button.p-button-text{padding:.375rem .75rem!important;font-size:var(--app-font-size-sm)!important;font-weight:500!important;line-height:1.25!important;color:var(--app-color-text-muted)!important;background:transparent!important;background-image:none!important;border:none!important;box-shadow:none!important;min-height:0!important;transform:none!important}.p-dialog.app-dialog .p-button.p-button-text.app-dialog__cancel:hover:not(:disabled),.p-dialog.app-dialog .p-dialog-footer .p-button.p-button-text:hover:not(:disabled),.p-dialog.app-dialog .p-dialog-footer .p-button.app-dialog__cancel:hover:not(:disabled),.p-dialog.student-profile-dialog .p-dialog-footer .p-button.p-button-text:hover:not(:disabled),.p-dialog.gradebook-dialog .p-button.p-button-text.app-dialog__cancel:hover:not(:disabled),.p-dialog.gradebook-dialog .p-dialog-footer .p-button.p-button-text:hover:not(:disabled),.p-dialog.p-confirm-dialog.app-dialog .p-dialog-footer .p-button.p-button-text:hover:not(:disabled){color:var(--app-color-text)!important;background:var(--app-color-surface-track)!important;filter:none!important}.p-dialog.app-dialog .p-dialog-footer .p-button.p-button-text .p-button-icon,.p-dialog.p-confirm-dialog.app-dialog .p-dialog-footer .p-button.p-button-text .p-button-icon{font-size:.8125rem}.p-dialog.app-dialog .p-button.p-button-outlined.app-dialog__outlined,.p-dialog.app-dialog .p-dialog-footer .p-button.p-button-outlined,.p-dialog.gradebook-dialog .p-button.p-button-outlined.app-dialog__outlined,.p-dialog.gradebook-dialog .p-dialog-footer .p-button.p-button-outlined,.p-dialog.gradebook-dialog .p-button.p-button-outlined.p-button-secondary{padding:.4375rem .875rem!important;font-size:var(--app-font-size-sm)!important;font-weight:500!important;line-height:1.25!important;border:1px solid var(--app-color-border)!important;border-color:var(--app-color-border)!important;color:var(--app-color-text)!important;background:var(--app-color-surface)!important;background-image:none!important;border-radius:var(--app-radius-md)!important;box-shadow:none!important;min-height:0!important;transform:none!important}.p-dialog.app-dialog .p-button.p-button-outlined.app-dialog__outlined:hover:not(:disabled),.p-dialog.gradebook-dialog .p-button.p-button-outlined.app-dialog__outlined:hover:not(:disabled),.p-dialog.app-dialog .p-dialog-footer .p-button.p-button-outlined:hover:not(:disabled),.p-dialog.gradebook-dialog .p-dialog-footer .p-button.p-button-outlined:hover:not(:disabled){color:var(--app-color-text-heading)!important;background:var(--app-color-surface-muted)!important;border-color:var(--app-color-border)!important;filter:none!important}.p-dialog.app-dialog .p-dialog-footer .p-button:not(.p-button-text):not(.p-button-outlined):not(.p-button-danger):not(.p-button-secondary),.p-dialog.gradebook-dialog .p-dialog-footer .p-button:not(.p-button-text):not(.p-button-outlined):not(.p-button-danger):not(.p-button-secondary),.p-dialog.gradebook-dialog .p-button.p-button-primary{border-radius:var(--app-radius-md)!important;font-size:var(--app-font-size-sm)!important;font-weight:600!important;background:var(--app-color-primary)!important;background-image:none!important;border:none!important;color:#fff!important;box-shadow:0 1px 2px #8b5cf640!important;transform:none!important}.p-dialog.app-dialog .p-inputnumber.p-inputnumber-buttons-stacked,.p-dialog.student-profile-dialog .p-inputnumber.p-inputnumber-buttons-stacked,.p-dialog.gradebook-dialog .p-inputnumber.p-inputnumber-buttons-stacked{display:inline-flex!important;align-items:stretch!important;border:1px solid var(--app-color-border)!important;border-radius:var(--app-radius-md)!important;overflow:hidden;background:var(--app-color-surface)!important}.p-dialog.app-dialog .p-inputnumber.p-inputnumber-buttons-stacked .p-inputnumber-button.p-button,.p-dialog.student-profile-dialog .p-inputnumber.p-inputnumber-buttons-stacked .p-inputnumber-button.p-button,.p-dialog.gradebook-dialog .p-inputnumber.p-inputnumber-buttons-stacked .p-inputnumber-button.p-button{background:var(--app-color-surface-muted)!important;background-image:none!important;border:none!important;color:var(--app-color-text-muted)!important;box-shadow:none!important}.p-dialog.app-dialog .p-inputnumber.p-inputnumber-buttons-stacked .p-inputnumber-button.p-button:hover:not(:disabled),.p-dialog.student-profile-dialog .p-inputnumber.p-inputnumber-buttons-stacked .p-inputnumber-button.p-button:hover:not(:disabled),.p-dialog.gradebook-dialog .p-inputnumber.p-inputnumber-buttons-stacked .p-inputnumber-button.p-button:hover:not(:disabled){background:var(--app-color-primary-muted)!important;color:var(--app-color-primary-hover)!important}.p-dialog.student-profile-dialog .p-inputnumber.p-inputnumber-buttons-stacked,.p-dialog.app-dialog .p-inputnumber.p-inputnumber-buttons-stacked{width:auto!important;max-width:11rem;box-shadow:0 1px 2px #0000000a;transition:border-color .15s,box-shadow .15s}.p-dialog.student-profile-dialog .p-inputnumber.p-inputnumber-buttons-stacked:has(.p-inputnumber-input:focus),.p-dialog.app-dialog .p-inputnumber.p-inputnumber-buttons-stacked:has(.p-inputnumber-input:focus){border-color:var(--app-color-primary-focus)!important;box-shadow:0 0 0 3px var(--app-color-primary-focus-ring)!important}.p-dialog.student-profile-dialog .p-inputnumber.p-inputnumber-buttons-stacked .p-inputnumber-input,.p-dialog.app-dialog .p-inputnumber.p-inputnumber-buttons-stacked .p-inputnumber-input{flex:1 1 auto!important;width:1%!important;min-width:0!important;padding:.5rem .75rem!important;font-weight:600!important;font-variant-numeric:tabular-nums;text-align:center!important;border:none!important;border-radius:0!important;box-shadow:none!important}.p-dialog.student-profile-dialog .p-inputnumber.p-inputnumber-buttons-stacked .p-inputnumber-button-group,.p-dialog.app-dialog .p-inputnumber.p-inputnumber-buttons-stacked .p-inputnumber-button-group{display:flex!important;flex-direction:column!important;flex:0 0 auto!important;border-left:1px solid var(--app-color-border)!important}.p-dialog.student-profile-dialog .p-inputnumber.p-inputnumber-buttons-stacked .p-inputnumber-button.p-button,.p-dialog.app-dialog .p-inputnumber.p-inputnumber-buttons-stacked .p-inputnumber-button.p-button{flex:1 1 50%!important;width:2.125rem!important;min-width:2.125rem!important;min-height:1.25rem!important;height:auto!important;padding:0!important}.p-dialog.student-profile-dialog .p-inputnumber.p-inputnumber-buttons-stacked .p-inputnumber-button-up.p-button,.p-dialog.app-dialog .p-inputnumber.p-inputnumber-buttons-stacked .p-inputnumber-button-up.p-button{border-bottom:1px solid var(--app-color-border)!important}.p-dialog.student-profile-dialog .p-inputnumber.p-inputnumber-buttons-stacked .p-inputnumber-button.p-button:active:not(:disabled),.p-dialog.app-dialog .p-inputnumber.p-inputnumber-buttons-stacked .p-inputnumber-button.p-button:active:not(:disabled){background:#ede9fe!important;color:#6d28d9!important}.p-dialog.student-profile-dialog .p-inputnumber.p-inputnumber-buttons-stacked .p-inputnumber-button.p-button:disabled,.p-dialog.app-dialog .p-inputnumber.p-inputnumber-buttons-stacked .p-inputnumber-button.p-button:disabled{opacity:.45;cursor:not-allowed}.p-dialog.student-profile-dialog .p-inputnumber.p-inputnumber-buttons-stacked .p-inputnumber-button.p-button svg,.p-dialog.app-dialog .p-inputnumber.p-inputnumber-buttons-stacked .p-inputnumber-button.p-button svg{width:.75rem;height:.75rem}.p-dialog.student-profile-dialog .p-inputnumber.p-inputnumber-buttons-stacked .p-inputnumber-input:focus,.p-dialog.app-dialog .p-inputnumber.p-inputnumber-buttons-stacked .p-inputnumber-input:focus{border:none!important;box-shadow:none!important}.student-profile-dialog__form .p-inputtext,.student-profile-dialog__form .p-dropdown,.student-profile-dialog__form .p-calendar,.student-profile-dialog__form .p-inputtextarea,.app-dialog__form .p-inputtext,.app-dialog__form .p-dropdown,.app-dialog__form .p-calendar,.app-dialog__form .p-inputtextarea,.app-dialog__form .p-inputnumber,.app-dialog__form .p-inputnumber .p-inputnumber-input{width:100%}.p-dialog.gradebook-dialog .border.rounded-lg.cursor-pointer,.p-dialog.app-dialog .app-dialog__option{border-color:var(--app-color-border)!important;border-radius:var(--app-radius-md)!important;transition:border-color .15s,background .15s}.p-dialog.gradebook-dialog .bg-primary-50.border-primary-500,.p-dialog.gradebook-dialog .gradebook-dialog__option--selected,.p-dialog.app-dialog .app-dialog__option--selected{background:#faf5ff!important;border-color:var(--app-color-primary)!important}.p-dialog.p-confirm-dialog.app-dialog .p-dialog-header,.p-dialog.p-confirm-dialog.gradebook-dialog .p-dialog-header{background:var(--app-color-surface)!important;background-image:none!important;border-bottom:1px solid var(--app-color-border-light)!important}.p-dialog.p-confirm-dialog.app-dialog .p-dialog-header .p-dialog-title,.p-dialog.p-confirm-dialog.gradebook-dialog .p-dialog-header .p-dialog-title{font-size:var(--app-font-size-lg)!important;font-weight:600!important;color:var(--app-color-text-heading)!important}.p-dialog.p-confirm-dialog.app-dialog .p-dialog-header .p-dialog-header-close,.p-dialog.p-confirm-dialog.gradebook-dialog .p-dialog-header .p-dialog-header-close{width:2rem!important;height:2rem!important;color:var(--app-color-text-muted)!important;border-radius:var(--app-radius-md)!important}.p-dialog.p-confirm-dialog.app-dialog .p-dialog-header .p-dialog-header-close:hover,.p-dialog.p-confirm-dialog.gradebook-dialog .p-dialog-header .p-dialog-header-close:hover{background:var(--app-color-surface-track)!important;color:#374151!important}.p-dialog.p-confirm-dialog.app-dialog .p-confirm-dialog-message,.p-dialog.p-confirm-dialog.gradebook-dialog .p-confirm-dialog-message{font-size:var(--app-font-size-base);color:var(--app-color-text);line-height:1.5;margin-left:.75rem}.p-dialog.p-confirm-dialog.app-dialog .p-confirm-dialog-icon,.p-dialog.p-confirm-dialog.gradebook-dialog .p-confirm-dialog-icon{color:#f59e0b!important;font-size:1.5rem}.p-dialog.p-confirm-dialog.app-dialog .p-dialog-footer,.p-dialog.p-confirm-dialog.gradebook-dialog .p-dialog-footer{gap:.5rem}.p-dialog.p-confirm-dialog.app-dialog .p-dialog-footer .p-button.p-button-danger,.p-dialog.p-confirm-dialog.gradebook-dialog .p-dialog-footer .p-button.p-button-danger,.app-dialog__danger.p-button,.p-dialog.app-dialog .p-dialog-footer .app-dialog__danger.p-button{background:#dc2626!important;background-image:none!important;border:none!important;color:#fff!important;font-weight:600!important;font-size:var(--app-font-size-sm)!important;border-radius:var(--app-radius-md)!important;box-shadow:0 1px 2px #dc262640!important;transform:none!important}.p-dialog.p-confirm-dialog.app-dialog .p-dialog-footer .p-button.p-button-danger:hover:not(:disabled),.p-dialog.p-confirm-dialog.gradebook-dialog .p-dialog-footer .p-button.p-button-danger:hover:not(:disabled),.app-dialog__danger.p-button:hover:not(:disabled),.p-dialog.app-dialog .p-dialog-footer .app-dialog__danger.p-button:hover:not(:disabled){background:#b91c1c!important;filter:none!important;transform:none!important}.p-dialog.p-confirm-dialog.app-dialog .p-dialog-footer .p-button.p-button-danger .p-button-icon,.p-dialog.p-confirm-dialog.app-dialog .p-dialog-footer .p-button.p-button-danger .pi,.app-dialog__danger.p-button .p-button-icon,.app-dialog__danger.p-button .pi{color:#fff!important}.app-dialog--pin .app-dialog__pin-icon,.gradebook-dialog--pin .gradebook-dialog__pin-icon{width:4rem;height:4rem;margin:0 auto 1rem;display:flex;align-items:center;justify-content:center;border-radius:var(--app-radius-pill);background:var(--app-color-primary-muted);color:var(--app-color-primary-hover);font-size:1.5rem}.app-dialog--pin .app-dialog__pin-title,.gradebook-dialog--pin .gradebook-dialog__pin-title{margin:0;font-size:1.125rem;font-weight:600;color:var(--app-color-text-heading);text-align:center}.app-dialog--pin .app-dialog__pin-hint,.gradebook-dialog--pin .gradebook-dialog__pin-hint{margin:.25rem 0 0;font-size:var(--app-font-size-sm);color:var(--app-color-text-muted);text-align:center}.app-dialog--pin .app-dialog__pin-field{width:min(11rem,100%);margin-inline:auto}.app-dialog--pin .app-dialog__pin-password,.app-dialog--pin .p-password{position:relative;display:block;width:100%}.app-dialog--pin .app-dialog__pin-input,.app-dialog--pin .p-password-input{width:100%!important;text-align:center!important;letter-spacing:.35em;font-size:1.25rem!important;font-variant-numeric:tabular-nums;padding-inline:2.75rem!important}.app-dialog--pin .p-password .p-input-icon{position:absolute;top:50%;right:.75rem;margin-top:0;transform:translateY(-50%);cursor:pointer;color:var(--app-color-text-muted)}.app-dialog--pin .app-dialog__pin-error{margin:.5rem 0 0;font-size:var(--app-font-size-sm);text-align:center;color:#dc2626}.p-dialog.gradebook-dialog--weights{width:min(44rem,94vw)!important;max-width:44rem;max-height:min(96vh,100%)!important;display:flex!important;flex-direction:column!important}.p-dialog.gradebook-dialog--weights .p-dialog-header{flex-shrink:0}.p-dialog.gradebook-dialog--weights .p-dialog-content{flex:1 1 auto;min-height:0;overflow-x:hidden;overflow-y:auto;padding-bottom:1.25rem!important}.p-dialog.gradebook-dialog--weights .p-dialog-footer{flex-shrink:0;padding:1rem 1.5rem 1.25rem!important;display:flex!important;align-items:center!important}.p-dialog.gradebook-dialog--weights .p-dialog-footer .p-button{flex-shrink:0}.app-weights-editor,.gradebook-weights-editor{display:flex;flex-direction:column;gap:1rem}.gradebook-weights-editor__modes .app-dialog__section-body{gap:.625rem}.gradebook-weights-editor__mode-list{display:flex;flex-direction:column;gap:.625rem}.gradebook-weights-editor__mode-option{display:flex;align-items:flex-start;gap:.625rem;padding:.75rem .875rem;border:1px solid var(--app-color-border);border-radius:var(--app-radius-md);background:var(--app-color-surface);cursor:pointer;transition:border-color .15s ease,background .15s ease}.gradebook-weights-editor__mode-option:hover{border-color:var(--app-color-primary-border);background:#faf5ff}.gradebook-weights-editor__mode-option--selected{border-color:var(--app-color-primary);background:#faf5ff}.gradebook-weights-editor__mode-input{flex-shrink:0;margin-top:.2rem;accent-color:var(--app-color-primary)}.gradebook-weights-editor__mode-copy{display:flex;flex-direction:column;gap:.25rem;min-width:0}.gradebook-weights-editor__mode-label{font-size:var(--app-font-size-sm);font-weight:600;color:var(--app-color-text-heading)}.gradebook-weights-editor__grid{display:grid;grid-template-columns:1fr 1fr;gap:.75rem}@media (max-width: 40rem){.gradebook-weights-editor__grid{grid-template-columns:1fr}}.app-weights-editor .weight-item,.gradebook-weights-editor__item{padding:.625rem .75rem;border-radius:var(--app-radius-md);background-color:var(--app-color-surface-muted);border:1px solid var(--app-color-border-light);margin-bottom:0}.gradebook-weights-editor__item-head{display:flex;align-items:center;justify-content:space-between;gap:.5rem;margin-bottom:.5rem}.gradebook-weights-editor__value-wrap{display:flex;align-items:center;flex-shrink:0;gap:.25rem}.gradebook-weights-editor__percent-input{width:3.25rem;text-align:right;padding:.35rem .5rem!important;font-size:var(--app-font-size-sm)!important}.gradebook-weights-editor__percent-suffix{font-size:var(--app-font-size-sm);color:var(--app-color-text-muted)}.gradebook-weights-editor__slider{margin-top:.125rem}.app-weights-editor .p-slider .p-slider-range,.gradebook-weights-editor .p-slider .p-slider-range{background:var(--app-color-primary)}.app-weights-editor .p-slider .p-slider-handle,.gradebook-weights-editor .p-slider .p-slider-handle{border-color:var(--app-color-primary);background:var(--app-color-primary)}.gradebook-weights-editor__total{display:flex;align-items:center;justify-content:space-between;padding:.75rem 1rem;border-radius:var(--app-radius-md);font-weight:600}.gradebook-weights-editor__total--valid{color:#15803d;background:#f0fdf4;border:1px solid #bbf7d0}.gradebook-weights-editor__total--invalid{color:#a16207;background:#fffbeb;border:1px solid #fde68a}.gradebook-weights-editor__total-label{font-size:var(--app-font-size-sm)}.gradebook-weights-editor__total-value{font-size:var(--app-font-size-lg)}.gradebook-weights-editor__footer,.p-dialog.gradebook-dialog--weights .p-dialog-footer .gradebook-weights-editor__footer{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:.75rem;width:100%}.gradebook-weights-editor__actions-end{display:flex;align-items:center;gap:.5rem;margin-left:auto}.p-dialog.app-dialog .p-datatable .p-datatable-thead>tr>th,.p-dialog.gradebook-dialog .p-datatable .p-datatable-thead>tr>th{background:#faf5ff!important;color:#5b21b6!important;font-size:.75rem;font-weight:600;border-color:var(--app-color-primary-border)!important}.p-dialog.app-dialog .p-datatable .p-datatable-tbody>tr:hover,.p-dialog.gradebook-dialog .p-datatable .p-datatable-tbody>tr:hover{background:#faf5ff!important}.class-gradebook-page .p-inputtext,.class-gradebook-page .p-inputtextarea,.class-gradebook-page .p-dropdown,.class-gradebook-page .p-multiselect,.class-gradebook-page .p-calendar .p-inputtext,.class-attendance-page .p-inputtext,.class-attendance-page .p-inputtextarea,.class-attendance-page .p-dropdown,.class-attendance-page .p-multiselect,.class-attendance-page .p-calendar .p-inputtext{border-radius:var(--app-radius-md)!important;border:1px solid var(--app-control-border)!important}.class-gradebook-page .p-inputtext:enabled:focus,.class-gradebook-page .p-dropdown:not(.p-disabled).p-focus,.class-attendance-page .p-inputtext:enabled:focus,.class-attendance-page .p-dropdown:not(.p-disabled).p-focus{border-color:var(--app-color-primary-focus)!important;box-shadow:0 0 0 3px var(--app-color-primary-focus-ring)!important}.class-gradebook-page .p-button.p-button-primary:not(.gradebook-primary-btn):not(.app-btn-primary){background:var(--app-color-primary)!important;border:none!important;border-radius:var(--app-radius-md)!important;background-image:none!important}.auth-page{position:relative;min-height:100vh;display:flex;align-items:center;justify-content:center;padding:1rem;background:var(--app-gradient-brand);overflow:hidden}.auth-page__orbs{pointer-events:none;position:absolute;top:0;right:0;bottom:0;left:0;overflow:hidden}.auth-page__orb{position:absolute;border-radius:9999px;background:#ffffff1a;filter:blur(64px)}.auth-page__orb--tr{top:-10rem;right:-10rem;width:20rem;height:20rem}.auth-page__orb--bl{bottom:-10rem;left:-10rem;width:20rem;height:20rem}.auth-page__orb--center{top:50%;left:50%;width:24rem;height:24rem;transform:translate(-50%,-50%);background:#ffffff0d}.auth-page__inner{position:relative;z-index:1;width:100%;max-width:28rem;margin:0 auto}.auth-page__inner--wide{max-width:56rem}.auth-page__brand{margin-bottom:1.25rem;padding-bottom:1.25rem;text-align:center;border-bottom:1px solid rgba(255,255,255,.15)}.auth-bolt{display:inline-block;margin-bottom:.75rem;font-size:3rem;line-height:1;color:#facc15;animation:auth-bolt-pulse 1.5s ease-in-out infinite;filter:drop-shadow(0 0 8px rgba(255,235,59,.5))}.auth-page__title{margin:0 0 1rem;font-size:2.25rem;font-weight:700;line-height:1.2;color:#fff}.auth-page__tagline{margin:0 0 .5rem;font-size:1.25rem;color:#fffc}.auth-page__subtitle{margin:0;font-size:1rem;color:#fff9}.auth-page__footer{margin-top:2rem;text-align:center;font-size:.875rem;color:#ffffff80}.auth-card{width:100%;padding:2rem;color:#fff;background:#ffffff1a;border:1px solid rgba(255,255,255,.2);border-radius:1rem;box-shadow:0 25px 50px -12px #00000040;backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px)}.app-glass-bar{background:var(--app-glass-bg);border-bottom:1px solid var(--app-glass-border);box-shadow:var(--app-glass-shadow);backdrop-filter:blur(var(--app-glass-blur)) saturate(var(--app-glass-saturate));-webkit-backdrop-filter:blur(var(--app-glass-blur)) saturate(var(--app-glass-saturate))}.app-glass-panel{background:#ffffff1f;border:1px solid var(--app-glass-border);box-shadow:0 2px 12px #0000000a;backdrop-filter:blur(12px) saturate(var(--app-glass-saturate));-webkit-backdrop-filter:blur(12px) saturate(var(--app-glass-saturate))}.app-glass-dropdown{background:#fff;border:1px solid #e5e7eb;box-shadow:0 4px 16px #0000001a,0 1px 4px #0000000f}.app-hover-glow{transition:border-color .2s ease,box-shadow .2s ease,transform .2s ease,background-color .2s ease}.app-hover-glow:hover{border-color:var(--app-hover-glow-border);box-shadow:var(--app-hover-glow-shadow)}.auth-card--interactive{cursor:pointer;transition:transform .3s ease,background-color .3s ease,border-color .3s ease,box-shadow .3s ease}.auth-card--interactive:hover{background:#ffffff26;border-color:#ffffff4d;box-shadow:0 25px 50px -12px #00000059;transform:translateY(-.5rem) scale(1.02)}.auth-card__icon-wrap{display:flex;align-items:center;justify-content:center;width:5rem;height:5rem;margin:0 auto 1.5rem;background:#fff3;border-radius:1rem;backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px)}.auth-card__icon-wrap .pi{font-size:2.25rem;color:#fff}.auth-card__title{margin:0 0 2rem;font-size:1.875rem;font-weight:700;line-height:1.2;text-align:center;color:#fff}.auth-split{display:grid;grid-template-columns:1.2fr 1fr;margin:-2rem;border-radius:1rem;overflow:hidden}.auth-split__marketing{padding:2.5rem;background:#46147859;border-right:1px solid rgba(255,255,255,.12);display:flex;flex-direction:column;gap:1.75rem}.auth-split__brand{display:flex;align-items:center;gap:.5rem}.auth-bolt-sm{font-size:1.5rem;color:#facc15;animation:auth-bolt-pulse 1.5s ease-in-out infinite;filter:drop-shadow(0 0 6px rgba(255,235,59,.4))}.auth-split__brand-name{font-size:1.25rem;font-weight:700;color:#fff}.auth-split__headline{margin:0 0 .625rem;font-size:1.875rem;font-weight:700;line-height:1.2;color:#fff}.auth-split__sub{margin:0;font-size:.9375rem;color:#ffffffa6}.auth-split__features{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:.75rem}.auth-split__features li{display:flex;align-items:center;gap:.625rem;font-size:.9375rem;color:#ffffffe0}.auth-split__features .pi{color:#4ade80;font-size:.875rem;flex-shrink:0}.auth-split__social-proof{display:flex;align-items:center;gap:.5rem;font-size:.875rem;color:#ffffff8c;margin-top:auto;padding-top:1.25rem;border-top:1px solid rgba(255,255,255,.1)}.auth-split__stars{color:#facc15;letter-spacing:.05em;font-size:.9375rem}.auth-split__form{padding:2rem;display:flex;flex-direction:column}.auth-split__form-brand{display:none;align-items:center;justify-content:center;gap:.5rem;font-size:1.125rem;font-weight:700;color:#fff;margin-bottom:.75rem}.auth-split__form-title{margin:0 0 1.25rem;font-size:1.375rem;font-weight:700;text-align:center;color:#fff}.auth-social-strip{display:flex;align-items:center;justify-content:center;gap:.5rem;padding-bottom:1.25rem;font-size:.8125rem;color:#ffffff8c}.auth-new-here{display:flex;flex-direction:column;align-items:center;gap:.625rem;margin-top:.25rem;padding-top:1rem;border-top:1px solid rgba(255,255,255,.1);width:100%}.auth-new-here__label{margin:0;font-size:.875rem;color:#ffffff80}.auth-cta-link{display:inline-flex;align-items:center;justify-content:center;padding:.625rem 1.5rem;font-size:.9375rem;font-weight:600;color:#facc15;border:1px solid rgba(252,204,21,.4);border-radius:var(--app-radius-md);text-decoration:none;transition:background-color .2s ease,border-color .2s ease}.auth-cta-link:hover{background:#fccc151a;border-color:#fccc15a6;color:#facc15}@media (max-width: 680px){.auth-split{grid-template-columns:1fr}.auth-split__marketing{display:none}.auth-split__form-brand{display:flex}}.auth-marketing-badges{display:flex;flex-wrap:wrap;justify-content:center;gap:.5rem;margin-bottom:1.5rem}.auth-marketing-badge{display:inline-flex;align-items:center;gap:.375rem;padding:.375rem .875rem;font-size:.8125rem;font-weight:500;color:#dcfce7;background:#22c55e26;border:1px solid rgba(74,222,128,.3);border-radius:9999px}.auth-marketing-badge .pi{font-size:.75rem;color:#4ade80}.auth-card__heading{margin:0 0 1rem;font-size:1.5rem;font-weight:700;text-align:center;color:#fff}.auth-card__lede{margin:-1rem 0 1.5rem;font-size:.875rem;line-height:1.5;text-align:center;color:#ffffffb3}.auth-card__body{color:#ffffffd9}.auth-form{display:flex;flex-direction:column;gap:1.5rem}.auth-form__fields{display:flex;flex-direction:column;gap:1rem}.auth-input-wrapper{width:100%}.auth-input{width:100%;padding:.75rem 1rem;font-size:1rem;color:#fff;background:transparent;border:1px solid rgba(255,255,255,.3);border-radius:var(--app-radius-md);transition:border-color .2s ease,box-shadow .2s ease}.auth-input::-moz-placeholder{color:#ffffff80}.auth-input::placeholder{color:#ffffff80}.auth-input:focus{outline:none;border-color:#fcd34d80;box-shadow:0 0 0 2px #fcd34d1a}.auth-input--error,.auth-input.input-error{border-color:#ef444480!important}.auth-field-error{display:flex;align-items:center;gap:.25rem;margin-top:.25rem;font-size:.875rem;color:#fca5a5}.auth-password-field{position:relative;width:100%}.auth-password-field .auth-input{padding-right:3rem}.auth-password-toggle{position:absolute;top:50%;right:1rem;transform:translateY(-50%);padding:0;color:#ffffffb3;background:none;border:none;cursor:pointer}.auth-password-toggle:hover{color:#fff}.auth-alert{padding:1rem;border-radius:var(--app-radius-lg);border:1px solid transparent}.auth-alert--success{background:#22c55e33;border-color:#4ade804d;color:#dcfce7}.auth-alert--warning{background:#f59e0b26;border-color:#fbbf244d;color:#fef3c7}.auth-alert--info{background:#ffffff14;border-color:#ffffff26;color:#ffffffd9}.auth-alert__title{margin:0 0 .25rem;font-weight:600;color:#fff}.auth-alert__text{margin:0;font-size:.875rem;line-height:1.5}.auth-link{font-size:.875rem;color:#fffc;text-decoration:none;transition:color .2s ease}.auth-link:hover{color:#fff}.auth-link--accent{font-weight:600;color:#fde047}.auth-link--accent:hover{color:#facc15}.auth-actions{display:flex;flex-direction:column;gap:.75rem}.auth-actions--center{align-items:center;text-align:center}.auth-btn-primary.p-button{width:100%;padding:.75rem 1.5rem;font-weight:600;color:#fff!important;background:#ffffff1a!important;border:1px solid rgba(255,255,255,.3)!important;border-radius:var(--app-radius-lg)!important;backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);box-shadow:none!important;transition:transform .3s ease,background-color .3s ease,border-color .3s ease,box-shadow .3s ease!important}.auth-btn-primary.p-button:enabled:hover{transform:translateY(-1px);background:#fff3!important;border-color:#fff6!important;box-shadow:0 10px 25px #0003!important}.auth-btn-primary.p-button:disabled,.auth-btn-primary.p-button.p-disabled{opacity:.55;background:#ffffff14!important;border-color:#fff3!important}.auth-btn-primary.p-button .p-button-loading-icon{color:#fff!important}.auth-btn-secondary.p-button{width:100%;padding:.75rem 1rem;color:#fff!important;background:#ffffff1f!important;border:1px solid rgba(255,255,255,.25)!important;border-radius:var(--app-radius-md)!important}.auth-btn-ghost{width:100%;padding:.5rem 1rem;font-size:.875rem;color:#ffffffb3;background:transparent;border:1px solid rgba(255,255,255,.25);border-radius:var(--app-radius-md);cursor:pointer;transition:background-color .2s ease,color .2s ease,border-color .2s ease}.auth-btn-ghost:hover:not(:disabled){color:#fff;background:#ffffff14;border-color:#ffffff59}.auth-btn-ghost:disabled{opacity:.55;cursor:not-allowed}.auth-glass-btn{display:flex;align-items:center;justify-content:center;width:100%;padding:.75rem 1.5rem;font-weight:600;color:#fff;background:#ffffff1a;border:1px solid rgba(255,255,255,.3);border-radius:var(--app-radius-lg);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);transition:transform .3s ease,background-color .3s ease,border-color .3s ease,box-shadow .3s ease}.auth-glass-btn:hover{background:#fff3;border-color:#fff6;box-shadow:0 10px 25px #0003;transform:translateY(-1px)}.auth-feature-list{display:flex;flex-direction:column;gap:.5rem;margin:0 0 2rem;padding:0;list-style:none}.auth-feature-list li{display:flex;align-items:center;justify-content:center;gap:.5rem;font-size:.875rem;color:#fff9}.auth-feature-list .pi-check{color:#4ade80}.auth-card__loading{display:flex;justify-content:center;padding:2rem 0}.auth-card__loading .p-progress-spinner-circle{stroke:#ffffffd9!important}.auth-strength-meter{height:4px;margin-top:.5rem;overflow:hidden;background:#ffffff1a;border-radius:2px}.auth-strength-bar{height:100%;transition:width .3s ease,background-color .3s ease}@media (max-width: 768px){.auth-page__title{font-size:1.875rem}.auth-page__tagline{font-size:1.125rem}.auth-card--interactive:hover{transform:translateY(-.25rem)}}.app-fab-stack{position:fixed;bottom:1.5rem;right:1.5rem;z-index:10001;display:flex;flex-direction:column;gap:.75rem;align-items:center}.app-fab-stack--above-dock{bottom:5.5rem}.app-fab-stack--grid{display:grid;grid-template-columns:repeat(2,3.5rem);grid-auto-rows:3.5rem;gap:.75rem;align-items:center;justify-items:center}.app-fab-stack .timer-widget,.app-fab-stack .spark-points-fab,.app-fab-stack .seating-fab,.app-fab-stack .screen-launch-fab{position:static!important;inset:auto!important;bottom:auto!important;right:auto!important}.profile-page{max-width:42rem;margin:0 auto;padding:1.5rem 1rem 2.5rem;display:flex;flex-direction:column;gap:1.25rem}.profile-page .profile-card{background:var(--app-color-surface);border:1px solid var(--app-color-border-light);border-radius:var(--app-radius-lg);box-shadow:var(--app-shadow-sm);overflow:hidden}.profile-page .profile-card__header{padding:1.125rem 1.5rem;border-bottom:1px solid var(--app-color-border-light)}.profile-page .profile-card__title{margin:0;font-size:1.125rem;font-weight:600;color:var(--app-color-text)}.profile-page .profile-card__body{padding:1.5rem}.profile-page .profile-avatar{flex-shrink:0;width:4rem;height:4rem;border-radius:var(--app-radius-pill);display:flex;align-items:center;justify-content:center;font-size:1.125rem;font-weight:600;background:var(--app-color-primary-muted);color:var(--app-color-primary-hover)}.profile-page .profile-form{display:flex;flex-direction:column;gap:1.5rem}.profile-page .profile-form__section{display:flex;flex-direction:column;gap:1rem}.profile-page .profile-form__section-title{margin:0;font-size:1rem;font-weight:600;color:var(--app-color-text)}.profile-page .profile-form__section--bordered{padding-top:1.5rem;border-top:1px solid var(--app-color-border-light)}.profile-page .profile-form__footer{display:flex;justify-content:flex-end;gap:.5rem;padding-top:1rem;border-top:1px solid var(--app-color-border-light)}.profile-page label,.profile-page .profile-field__label{font-size:var(--app-font-size-sm);font-weight:500;color:#374151}.profile-page .profile-field__hint{font-size:.75rem;color:var(--app-color-text-subtle)}.profile-page .p-inputtext,.profile-page .p-password-input,.profile-page .p-dropdown{border-radius:var(--app-radius-md)!important;border:1px solid var(--app-control-border)!important;font-size:var(--app-font-size-base);width:100%}.profile-page .p-inputtext:enabled:focus,.profile-page .p-password-input:enabled:focus{border-color:var(--app-color-primary-focus)!important;box-shadow:0 0 0 3px var(--app-color-primary-focus-ring)!important}.profile-page .p-password{width:100%}.profile-page .profile-loading{display:flex;justify-content:center;padding:3rem 1.5rem;color:var(--app-color-primary)}.class-settings-page{max-width:90rem;margin:0 auto;padding:2rem}.class-settings-page .settings-breadcrumb .p-breadcrumb{background:transparent;border:none;padding:0}.class-settings-page .settings-breadcrumb .p-menuitem-link{color:var(--app-color-text-muted)}.class-settings-page .settings-breadcrumb .p-menuitem-link:hover{color:var(--app-color-primary-hover)}.class-settings-page .settings-breadcrumb .p-breadcrumb-chevron{color:#d1d5db}.class-settings-page .settings-breadcrumb .p-menuitem:last-child .p-menuitem-text{color:var(--app-color-text);font-weight:500}.settings-layout{display:grid;grid-template-columns:minmax(12rem,16rem) 1fr;gap:1.5rem;align-items:start}@media (max-width: 960px){.settings-layout{grid-template-columns:1fr}}.settings-sidebar{background:var(--app-color-surface);border:1px solid var(--app-color-border-light);border-radius:var(--app-radius-lg);box-shadow:var(--app-shadow-sm);padding:.5rem}.settings-sidebar-nav{display:flex;flex-direction:column;gap:.125rem}.settings-sidebar-nav__link{display:flex;align-items:center;gap:.75rem;padding:.625rem .875rem;border:1px solid transparent;border-radius:var(--app-radius-md);font-size:var(--app-font-size-sm);font-weight:500;color:var(--app-color-text-muted);text-decoration:none;transition:background .2s ease,color .2s ease,border-color .2s ease,box-shadow .2s ease}.settings-sidebar-nav__link i{font-size:1rem;color:#9ca3af;transition:color .15s,transform .15s}.settings-sidebar-nav__link:hover{color:var(--app-color-primary-hover);background:#ffffffa6;border-color:var(--app-hover-glow-border);box-shadow:var(--app-hover-glow-shadow)}.settings-sidebar-nav__link:hover i{color:var(--app-color-primary-hover)}.settings-sidebar-nav__link--active{color:var(--app-color-primary-hover);background:#fffffff2;border-color:var(--app-hover-glow-border);box-shadow:var(--app-hover-glow-shadow)}.settings-sidebar-nav__link--active i{color:var(--app-color-primary-hover)}.class-settings-page .settings-panel.p-card,.class-settings-page .settings-standalone-panel{background:var(--app-color-surface);border:1px solid var(--app-color-border-light);border-radius:var(--app-radius-lg);box-shadow:var(--app-shadow-sm);overflow:hidden}.class-settings-page .settings-panel .p-card-body{padding:0}.class-settings-page .settings-panel .p-card-title{padding:1.125rem 1.5rem;border-bottom:1px solid var(--app-color-border-light);margin:0}.class-settings-page .settings-panel .p-card-content{padding:1.5rem}.settings-panel__title{display:flex;align-items:center;gap:.75rem;flex-wrap:wrap}.settings-panel__icon{font-size:1.125rem;color:var(--app-color-primary-hover)}.settings-panel__heading{margin:0;flex:1;font-size:1.125rem;font-weight:600;color:var(--app-color-primary-hover);line-height:1.3}.settings-panel__title-actions{margin-left:auto}.class-settings-page .settings-page-header{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:1rem;margin-bottom:1.5rem}.class-settings-page .settings-page-header__main{display:flex;align-items:center;gap:.75rem}.class-settings-page .settings-page-header__icon-wrap{width:2.5rem;height:2.5rem;display:flex;align-items:center;justify-content:center;border-radius:var(--app-radius-pill);background:var(--app-color-primary-muted);color:var(--app-color-primary-hover);font-size:1.125rem}.class-settings-page .settings-page-header__title{margin:0;font-size:1.125rem;font-weight:600;color:var(--app-color-primary-hover)}.class-settings-page .settings-form{display:flex;flex-direction:column;gap:1.5rem}.class-settings-page .settings-form__section{display:flex;flex-direction:column;gap:1rem}.class-settings-page .settings-form__section-title{margin:0;font-size:1rem;font-weight:600;color:var(--app-color-text)}.class-settings-page .settings-form__section--bordered{padding-top:1.5rem;border-top:1px solid var(--app-color-border-light)}.class-settings-page .settings-field label,.class-settings-page label.settings-field__label,.class-settings-page .block.text-sm.font-medium.text-gray-700{font-size:var(--app-font-size-sm);font-weight:500;color:#374151}.class-settings-page .settings-field__hint,.class-settings-page .text-xs.text-gray-500{color:var(--app-color-text-subtle);font-size:.75rem}.class-settings-page .settings-inline-hint{display:flex;align-items:flex-start;gap:.5rem;margin:0 0 1rem;padding:.625rem .75rem;border:1px solid var(--app-color-border-light);border-radius:var(--app-radius-md);background:var(--app-color-surface-muted);font-size:var(--app-font-size-sm);line-height:1.45;color:var(--app-color-text-muted)}.class-settings-page .settings-inline-hint .pi{flex-shrink:0;margin-top:.1rem;font-size:.875rem;color:var(--app-color-primary-hover)}.class-settings-page .settings-form__footer{display:flex;justify-content:flex-end;padding-top:1rem;border-top:1px solid var(--app-color-border-light)}.class-settings-page .settings-segmented{display:inline-flex;gap:.25rem;max-width:100%;padding:.25rem;background:var(--app-color-surface-track);border:1px solid var(--app-color-border-light);border-radius:var(--app-radius-lg)}.class-settings-page .settings-segmented__option{flex:1 1 auto;min-width:0;padding:.5rem .875rem;border:none;border-radius:var(--app-radius-md);background:transparent;font-size:var(--app-font-size-sm);font-weight:500;color:var(--app-color-text-muted);cursor:pointer;transition:background .15s ease,color .15s ease,box-shadow .15s ease;white-space:nowrap}.class-settings-page .settings-segmented__option:hover{color:var(--app-color-primary-hover);background:var(--app-color-primary-border)}.class-settings-page .settings-segmented__option--active{background:var(--app-color-surface);color:var(--app-color-primary-hover);box-shadow:var(--app-shadow-sm)}.class-settings-page .settings-segmented__option:focus-visible{outline:none;box-shadow:0 0 0 3px var(--app-color-primary-focus-ring)}.class-settings-page .p-inputtext,.class-settings-page .p-inputtextarea,.class-settings-page .p-dropdown,.class-settings-page .p-multiselect,.class-settings-page .p-calendar .p-inputtext,.class-settings-page .p-inputnumber .p-inputnumber-input,.class-settings-page .p-password-input{border-radius:var(--app-radius-md)!important;border:1px solid var(--app-control-border)!important;font-size:var(--app-font-size-sm)}.class-settings-page .p-inputtext:enabled:focus,.class-settings-page .p-inputtextarea:enabled:focus,.class-settings-page .p-dropdown:not(.p-disabled).p-focus,.class-settings-page .p-multiselect:not(.p-disabled).p-focus,.class-settings-page .p-calendar .p-inputtext:enabled:focus,.class-settings-page .p-inputnumber-input:enabled:focus,.class-settings-page .p-password-input:enabled:focus{border-color:var(--app-color-primary-focus)!important;box-shadow:0 0 0 3px var(--app-color-primary-focus-ring)!important}.class-settings-page .p-inputswitch.p-inputswitch-checked .p-inputswitch-slider{background:var(--app-color-primary)!important}.class-settings-page .p-checkbox .p-checkbox-box.p-highlight{background:var(--app-color-primary)!important;border-color:var(--app-color-primary)!important}.class-settings-page .p-radiobutton .p-radiobutton-box.p-highlight{border-color:var(--app-color-primary)!important;background:var(--app-color-primary)!important}.class-settings-page .p-slider .p-slider-range{background:var(--app-color-primary)}.class-settings-page .p-slider .p-slider-handle{border-color:var(--app-color-primary);background:var(--app-color-primary)}.class-settings-page .settings-btn-primary.p-button,.class-settings-page .p-button.p-button-primary:not(.p-button-text):not(.p-button-outlined){background:var(--app-color-primary)!important;background-image:none!important;border:none!important;border-radius:var(--app-radius-md)!important;font-weight:600!important;font-size:var(--app-font-size-sm)!important;color:#fff!important;box-shadow:0 1px 2px #8b5cf640!important;transform:none!important}.class-settings-page .settings-btn-primary.p-button:hover:not(:disabled),.class-settings-page .p-button.p-button-primary:not(.p-button-text):not(.p-button-outlined):hover:not(:disabled){background:var(--app-color-primary-hover)!important;filter:none!important;transform:none!important}.class-settings-page .settings-btn-outlined.p-button,.class-settings-page .p-button.p-button-outlined:not(.p-button-danger){border-radius:var(--app-radius-md)!important;font-size:var(--app-font-size-sm)!important;border-color:var(--app-color-border)!important;color:var(--app-color-text)!important;background:var(--app-color-surface)!important;background-image:none!important}.class-settings-page .settings-btn-outlined.p-button:hover:not(:disabled),.class-settings-page .p-button.p-button-outlined:not(.p-button-danger):hover:not(:disabled){border-color:var(--app-color-primary-focus)!important;color:var(--app-color-primary-hover)!important;background:#faf5ff!important}.class-settings-page .p-button.p-button-text{color:var(--app-color-text-muted)!important}.class-settings-page .p-button.p-button-text:hover{color:var(--app-color-primary-hover)!important;background:#faf5ff!important}.class-settings-page .settings-pill-tabs.p-tabview .p-tabview-nav{display:flex;flex-wrap:wrap;gap:.25rem;padding:.25rem;margin-bottom:1rem;background:var(--app-color-surface-track);border:none;border-radius:var(--app-radius-lg)}.class-settings-page .settings-pill-tabs.p-tabview .p-tabview-nav li{margin:0}.class-settings-page .settings-pill-tabs.p-tabview .p-tabview-nav-link{border:none!important;border-radius:var(--app-radius-md)!important;padding:.45rem .875rem!important;margin:0!important;font-size:var(--app-font-size-sm);font-weight:500;color:var(--app-color-text-muted)!important;background:transparent!important}.class-settings-page .settings-pill-tabs.p-tabview .p-tabview-nav li.p-highlight .p-tabview-nav-link{background:var(--app-color-surface)!important;color:var(--app-color-primary-hover)!important;box-shadow:var(--app-shadow-sm)}.class-settings-page .settings-pill-tabs.p-tabview .p-tabview-ink-bar{display:none}.class-settings-page .settings-pill-tabs.p-tabview .p-tabview-panels{padding:0;background:transparent;border:none}.class-settings-page .p-datatable .p-datatable-thead>tr>th{background:#faf5ff!important;color:#5b21b6!important;font-size:.75rem;font-weight:600;border-color:var(--app-color-primary-border)!important}.class-settings-page .settings-notice{padding:.875rem 1rem;border-radius:var(--app-radius-md);font-size:var(--app-font-size-sm);line-height:1.45}.class-settings-page .settings-notice--info{color:#5b21b6;background:#faf5ff;border:1px solid var(--app-color-primary-border)}.class-settings-page .settings-notice--warning{color:#92400e;background:#fffbeb;border:1px solid #fde68a}.class-settings-page .settings-inset-card{padding:1rem 1.25rem;background:var(--app-color-surface-muted);border:1px solid var(--app-color-border-light);border-radius:var(--app-radius-md)}.class-settings-page .settings-list-card{padding:1rem 1.25rem;background:var(--app-color-surface);border:1px solid var(--app-color-border-light);border-radius:var(--app-radius-md);transition:border-color .2s ease,box-shadow .2s ease}.class-settings-page .settings-list-card:hover{border-color:var(--app-hover-glow-border);box-shadow:var(--app-hover-glow-shadow)}.class-settings-page .settings-list-card__actions{display:flex;gap:.125rem;align-items:center}.class-settings-page .settings-list-card__actions .p-button.p-button-text{width:2rem;height:2rem;padding:0!important}.class-settings-page .settings-class-actions{display:flex;flex-wrap:wrap;gap:.5rem;padding-top:.75rem;border-top:1px solid var(--app-color-border-light)}.class-settings-page .settings-class-action-btn.p-button{background:var(--app-color-primary)!important;background-image:none!important;border:none!important;color:#fff!important;font-weight:500!important;box-shadow:0 1px 2px #8b5cf640!important}.class-settings-page .settings-class-action-btn.p-button .p-button-label,.class-settings-page .settings-class-action-btn.p-button .p-button-icon,.class-settings-page .settings-class-action-btn.p-button .p-button-icon:before,.class-settings-page .settings-class-action-btn.p-button .pi{color:#fff!important}.class-settings-page .settings-class-action-btn.p-button:hover:not(:disabled){background:var(--app-color-primary-hover)!important;color:#fff!important}.class-settings-page .settings-class-action-btn.p-button:hover:not(:disabled) .p-button-label,.class-settings-page .settings-class-action-btn.p-button:hover:not(:disabled) .p-button-icon,.class-settings-page .settings-class-action-btn.p-button:hover:not(:disabled) .p-button-icon:before,.class-settings-page .settings-class-action-btn.p-button:hover:not(:disabled) .pi{color:#fff!important}.class-settings-page .settings-mode-pill{padding:.375rem .75rem;font-size:var(--app-font-size-sm);font-weight:500;border:1px solid var(--app-color-border);border-radius:var(--app-radius-md);background:var(--app-color-surface);color:var(--app-color-text-muted);cursor:pointer;transition:background .15s,color .15s,border-color .15s}.class-settings-page .settings-mode-pill:hover{border-color:var(--app-color-primary-focus);color:var(--app-color-primary-hover)}.class-settings-page .settings-mode-pill--active{background:var(--app-color-primary);border-color:var(--app-color-primary);color:#fff}.class-settings-page .settings-readonly-field{width:100%;padding:.5rem .75rem;border-radius:var(--app-radius-md);border:1px solid var(--app-color-border);background:var(--app-color-surface-muted);color:var(--app-color-text);font-size:var(--app-font-size-base)}.class-settings-page .settings-logo-preview{width:6rem;height:6rem;border-radius:var(--app-radius-lg);border:1px solid var(--app-color-border);background:var(--app-color-surface-muted);display:flex;align-items:center;justify-content:center;overflow:hidden}.class-settings-page .p-button.p-button:not(.p-button-text):not(.p-button-outlined):not(.p-button-link):not(.p-button-danger):not(.p-button-success):not(.p-button-warning):not(.p-button-secondary):not(.p-button-help){background:var(--app-color-primary)!important;background-image:none!important;border:none!important;border-radius:var(--app-radius-md)!important;color:#fff!important;font-weight:600!important;font-size:var(--app-font-size-sm)!important;box-shadow:0 1px 2px #8b5cf640!important;transform:none!important}.class-settings-page .p-button.p-button:not(.p-button-text):not(.p-button-outlined):not(.p-button-link):not(.p-button-danger):not(.p-button-success):not(.p-button-warning):not(.p-button-secondary):not(.p-button-help):hover:not(:disabled){background:var(--app-color-primary-hover)!important;filter:none!important;transform:none!important}.class-settings-page .p-button.p-button-sm{padding:.375rem .75rem!important;font-size:.75rem!important}.class-settings-page .p-button.p-button-rounded.p-button-text{width:2rem!important;height:2rem!important;border-radius:var(--app-radius-md)!important}.class-settings-page .p-button.p-button-text.p-button-success{color:#059669!important}.class-settings-page .p-button.p-button-text.p-button-success:hover{background:#ecfdf5!important;color:#047857!important}.class-settings-page .p-button.p-button-text.p-button-warning{color:#d97706!important}.class-settings-page .p-button.p-button-text.p-button-warning:hover{background:#fffbeb!important;color:#b45309!important}.class-settings-page .p-button.p-button-text.p-button-danger{color:#dc2626!important}.class-settings-page .p-button.p-button-text.p-button-danger:hover{background:#fef2f2!important;color:#b91c1c!important}.class-settings-page .p-dropdown{border-radius:var(--app-radius-md)!important;border-color:var(--app-color-border)!important;background:var(--app-color-surface)!important}.class-settings-page .p-dropdown:not(.p-disabled):hover{border-color:var(--app-color-primary-focus)!important}.class-settings-page .p-dropdown .p-dropdown-label{font-size:var(--app-font-size-sm);color:var(--app-color-text)}.class-settings-page .p-dropdown .p-dropdown-trigger{color:var(--app-color-text-muted);background:transparent!important;width:2.25rem}.class-settings-page .p-dropdown-panel,.settings-dropdown-panel.p-dropdown-panel{border:1px solid var(--app-color-border-light);border-radius:var(--app-radius-md);box-shadow:var(--app-shadow-md)}.class-settings-page .p-dropdown-panel .p-dropdown-items .p-dropdown-item.p-highlight,.settings-dropdown-panel .p-dropdown-items .p-dropdown-item.p-highlight{background:#f3e8ff!important;color:var(--app-color-primary-hover)!important}.class-settings-page .p-dropdown-panel .p-dropdown-items .p-dropdown-item:not(.p-highlight):hover,.settings-dropdown-panel .p-dropdown-items .p-dropdown-item:not(.p-highlight):hover{background:#faf5ff!important;color:var(--app-color-primary-hover)!important}.class-settings-page .p-tag,.class-settings-page .settings-badge{border-radius:var(--app-radius-pill)!important;font-size:.6875rem!important;font-weight:600!important;padding:.2rem .5rem!important}.class-settings-page .p-tag.p-tag-success,.class-settings-page .settings-badge--current{background:#ecfdf5!important;color:#047857!important}.class-settings-page .p-tag.p-tag-info,.class-settings-page .settings-badge--term{background:#f3e8ff!important;color:#6d28d9!important}.class-settings-page .p-tag.p-tag-warning,.class-settings-page .settings-badge--warning{background:#fffbeb!important;color:#b45309!important}.class-settings-page .settings-badge--muted{display:inline-block;padding:.2rem .5rem;border-radius:var(--app-radius-pill);font-size:.6875rem;font-weight:600;background:var(--app-color-surface-track);color:var(--app-color-text-muted);text-transform:capitalize}.class-settings-page .p-datatable{border:1px solid var(--app-color-border-light);border-radius:var(--app-radius-md);overflow:hidden}.class-settings-page .p-datatable .p-datatable-wrapper{border-radius:var(--app-radius-md)}.class-settings-page .p-datatable .p-datatable-thead>tr>th{background:#faf5ff!important;color:#5b21b6!important;font-size:.75rem!important;font-weight:600!important;padding:.75rem 1rem!important;border-color:var(--app-color-primary-border)!important;border-width:0 0 1px 0!important}.class-settings-page .p-datatable .p-datatable-tbody>tr{background:var(--app-color-surface)!important;border-color:var(--app-color-border-light)!important}.class-settings-page .p-datatable .p-datatable-tbody>tr>td{padding:.75rem 1rem!important;border-color:var(--app-color-border-light)!important;font-size:var(--app-font-size-sm);color:var(--app-color-text)}.class-settings-page .p-datatable .p-datatable-tbody>tr.p-row-odd{background:#fafafa!important}.class-settings-page .p-datatable .p-datatable-tbody>tr:hover{background:#faf5ff!important}.class-settings-page .p-datatable .p-datatable-loading-icon{color:var(--app-color-primary)!important}.class-settings-page .p-paginator{border:none;border-top:1px solid var(--app-color-border-light);padding:.5rem;background:var(--app-color-surface-muted)}.class-settings-page .p-paginator .p-paginator-page.p-highlight{background:var(--app-color-primary)!important;border-color:var(--app-color-primary)!important;color:#fff!important}.class-settings-page .p-fileupload-choose.p-button{background:transparent!important;border:1px solid var(--app-color-border)!important;color:var(--app-color-primary-hover)!important;box-shadow:none!important}.class-settings-page .p-fileupload-choose.p-button:hover{background:#faf5ff!important;border-color:var(--app-color-primary-focus)!important}.class-settings-page .p-calendar .p-datepicker-trigger{background:var(--app-color-primary)!important;border-color:var(--app-color-primary)!important;border-radius:0 var(--app-radius-md) var(--app-radius-md) 0!important}.class-settings-page .p-calendar .p-datepicker-trigger:hover{background:var(--app-color-primary-hover)!important;border-color:var(--app-color-primary-hover)!important}.class-settings-page .settings-block{background:var(--app-color-surface);border:1px solid var(--app-color-border-light);border-radius:var(--app-radius-lg);overflow:hidden;margin-bottom:1.5rem}.class-settings-page .settings-block__body{padding:1rem 1.25rem}.class-settings-page .settings-block__detail{padding:1rem 1.25rem;background:var(--app-color-surface-muted);border-radius:var(--app-radius-md)}.class-settings-page .settings-empty{padding:2rem 1.5rem;text-align:center;background:var(--app-color-surface-muted);border-radius:var(--app-radius-md)}.class-settings-page .section-group{padding:1rem 1.25rem;background:var(--app-color-surface-muted);border:1px solid var(--app-color-border-light);border-radius:var(--app-radius-md);margin-bottom:1rem}.class-settings-page .section-group h2,.class-settings-page .section-group h3{color:var(--app-color-text);font-size:1rem;font-weight:600}.class-settings-page .settings-tab-notice{display:flex;gap:.875rem;align-items:flex-start;padding:1rem 1.25rem;margin-bottom:1.25rem;background:#faf5ff;border:1px solid #ede9fe;border-radius:var(--app-radius-md)}.class-settings-page .settings-tab-notice__icon{flex-shrink:0;width:2.25rem;height:2.25rem;display:flex;align-items:center;justify-content:center;border-radius:var(--app-radius-md);background:#ede9fe;color:var(--app-color-primary-hover);font-size:1rem}.class-settings-page .settings-tab-notice__title{margin:0 0 .35rem;font-size:.9375rem;font-weight:600;color:#5b21b6}.class-settings-page .settings-tab-notice__text{margin:0;font-size:.8125rem;color:var(--app-color-text-muted);line-height:1.55}.class-settings-page .settings-section-head{display:flex;flex-wrap:wrap;align-items:flex-start;justify-content:space-between;gap:.75rem;margin-bottom:1rem}.class-settings-page .settings-section-head__title{margin:0;font-size:1rem;font-weight:600;color:var(--app-color-text-heading)}.class-settings-page .settings-section-head__subtitle{margin:.25rem 0 0;font-size:.8125rem;color:var(--app-color-text-muted);line-height:1.45}.class-settings-page .settings-section-head__actions{display:flex;flex-wrap:wrap;gap:.5rem}.class-settings-page .settings-tabs.p-tabview{margin-top:.25rem}.class-settings-page .settings-tabs .section-group:last-child{margin-bottom:0}.class-settings-page .settings-form-fields{display:flex;flex-direction:column;gap:1.25rem}.class-settings-page .settings-form-field{display:flex;flex-direction:column;gap:.375rem}.class-settings-page .p-sidebar{border-left:1px solid var(--app-color-border-light);box-shadow:-8px 0 24px #0000000f}.class-settings-page .p-sidebar .p-sidebar-header{padding:0;border-bottom:1px solid var(--app-color-border-light);background:var(--app-color-surface)}.class-settings-page .p-sidebar .p-sidebar-content{background:var(--app-color-surface)}.class-settings-page .p-multiselect{border-radius:var(--app-radius-md)!important;border-color:var(--app-color-border)!important}.class-settings-page .p-multiselect.p-focus{border-color:var(--app-color-primary-focus)!important;box-shadow:0 0 0 3px var(--app-color-primary-focus-ring)!important}.class-settings-page .p-multiselect-panel .p-multiselect-items .p-multiselect-item.p-highlight{background:#f3e8ff!important;color:var(--app-color-primary-hover)!important}.class-settings-page .achievements-table-section .p-datatable{border:none;border-radius:0}.class-settings-page .achievements-table-section .app-pill-nav-wrap{padding:.75rem .75rem 0;background:#fafafa}.student-form-page{display:flex;flex-direction:column;width:100%}.student-form-card.p-card{width:100%;background:#fff;border:1px solid #f3f4f6;border-radius:.75rem;box-shadow:0 1px 3px #0000000f,0 1px 2px #0000000a;overflow:hidden}.student-form-card .p-card-body{padding:0}.student-form-card .p-card-content{padding:1.25rem 1.5rem 1.5rem}.student-form-card .p-card-header{padding:0;border:none}.student-form-card__header{display:flex;flex-wrap:wrap;align-items:flex-start;justify-content:space-between;gap:1rem;padding:1.25rem 1.5rem;background:linear-gradient(135deg,#faf5ff,#f5f3ff,#f9fafb);border-bottom:1px solid #ede9fe}.student-form-card__header-main{display:flex;gap:1rem;align-items:flex-start;flex:1;min-width:0}.student-form-card__header-icon{flex-shrink:0;width:2.5rem;height:2.5rem;display:flex;align-items:center;justify-content:center;border-radius:.625rem;background:var(--app-color-primary);color:#fff;font-size:1rem}.student-form-card__title{margin:0;font-size:1.25rem;font-weight:600;color:#1f2937;line-height:1.3}.student-form-card__subtitle{margin:.25rem 0 0;font-size:.8125rem;color:#6b7280;line-height:1.45}.student-form-nav{display:flex;flex-wrap:wrap;gap:.25rem;padding:.25rem;margin-bottom:1.25rem;background:#f3f4f6;border-radius:.75rem;width:-moz-fit-content;width:fit-content;max-width:100%}.student-form-nav__tab{display:inline-flex;align-items:center;gap:.5rem;padding:.5rem .875rem;font-size:.8125rem;font-weight:500;color:#6b7280;border:none;border-radius:.5rem;background:transparent;cursor:pointer;transition:color .15s,background .15s,box-shadow .15s;white-space:nowrap}.student-form-nav__tab:hover{color:#374151}.student-form-nav__tab--active{color:var(--app-color-primary-hover);background:#fff;box-shadow:0 1px 2px #0000000f}.student-form-nav__tab i{font-size:.75rem;opacity:.9}.student-form-panel{display:flex;flex-direction:column;gap:1.25rem}.student-form-grid{display:grid;grid-template-columns:1fr;gap:1rem}@media (min-width: 768px){.student-form-grid{grid-template-columns:1fr 1fr}.student-form-grid__full{grid-column:1 / -1}}.student-form-field{display:flex;flex-direction:column;gap:.375rem;min-width:0}.student-form-label{font-size:.8125rem;font-weight:500;color:#374151}.student-form-error{margin:0;font-size:.75rem;color:#dc2626}.student-form-photo{display:flex;flex-wrap:wrap;align-items:center;gap:1.25rem;padding:1rem 1.25rem;background:#f9fafb;border:1px solid #f3f4f6;border-radius:.625rem}.student-form-photo__avatar{width:5.5rem;height:5.5rem;border-radius:9999px;overflow:hidden;border:2px solid #e5e7eb;background:#fff;flex-shrink:0}.student-form-photo__avatar img{width:100%;height:100%;-o-object-fit:cover;object-fit:cover}.student-form-photo__body{display:flex;flex-direction:column;gap:.75rem;min-width:0}.student-form-photo__title{margin:0;font-size:.875rem;font-weight:600;color:#374151}.student-form-photo__actions{display:flex;flex-direction:column;align-items:flex-start;gap:.5rem}.student-form-photo__actions-primary{display:flex;flex-wrap:wrap;gap:.5rem;align-items:center}.student-form-photo__actions-secondary{display:flex;align-items:center}.student-form-photo__actions-primary .student-profile-header__btn--edit{flex-shrink:0}.student-form-photo__hint{margin:0;font-size:.75rem;color:#6b7280;line-height:1.4}.student-form-footer{display:flex;flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:.5rem;margin-top:1.5rem;padding-top:1.25rem;border-top:1px solid #f3f4f6}.student-form-footer .student-profile-header__btn--back{margin-right:auto}.student-form-primary-btn.p-button{border-radius:.5rem!important;font-size:.8125rem!important;font-weight:600!important;padding:.5rem 1.125rem!important;background:var(--app-color-primary)!important;background-image:none!important;border:none!important;box-shadow:0 1px 2px #8b5cf640!important;transform:none!important}.student-form-primary-btn.p-button:hover:not(:disabled){background:var(--app-color-primary-hover)!important;filter:none!important;transform:none!important;box-shadow:0 2px 4px #7c3aed4d!important}.student-form-page .p-inputtext,.student-form-page .p-dropdown,.student-form-page .p-calendar,.student-form-page .p-inputtextarea{width:100%}.student-form-page .p-inputtext,.student-form-page .p-inputtextarea,.student-form-page .p-dropdown,.student-form-page .p-multiselect,.student-form-page .p-calendar .p-inputtext{border-radius:.5rem!important;border:1px solid var(--app-control-border)!important;font-size:.9375rem}.student-form-page .p-inputtext:enabled:focus,.student-form-page .p-inputtextarea:enabled:focus,.student-form-page .p-dropdown:not(.p-disabled).p-focus,.student-form-page .p-calendar .p-inputtext:enabled:focus{border-color:#c4b5fd!important;box-shadow:0 0 0 3px #8b5cf61f!important}.student-form-page .p-inputtext.p-invalid{border-color:#fca5a5!important}.student-form-page .p-calendar .p-datepicker-trigger{border-radius:0 .5rem .5rem 0!important;background:var(--app-color-primary)!important;border-color:var(--app-color-primary)!important}.student-form-page .p-calendar .p-datepicker-trigger:hover{background:var(--app-color-primary-hover)!important;border-color:var(--app-color-primary-hover)!important}.student-form-page .p-fileupload-choose.p-button{border-radius:.5rem!important;font-size:.8125rem!important;font-weight:600!important;padding:.5rem 1rem!important;background:var(--app-color-primary)!important;background-image:none!important;border:none!important;box-shadow:0 1px 2px #8b5cf640!important}.student-form-page .p-fileupload-choose.p-button:hover{background:var(--app-color-primary-hover)!important;filter:none!important;transform:none!important}.student-form-page .student-form-secondary-btn.p-button{border-radius:.5rem!important;font-size:.8125rem!important;border-color:#e5e7eb!important;color:#374151!important;background:#fff!important;background-image:none!important;box-shadow:none!important}.student-form-page .student-form-secondary-btn.p-button:hover{background:#f9fafb!important;border-color:#d1d5db!important;color:#1f2937!important;transform:none!important}.student-form-page .p-dialog-footer .p-button.p-button-text,.student-form-footer .p-button.p-button-text{color:#6b7280!important;font-weight:500}.student-form-page .p-dialog-footer .p-button.p-button-text:hover,.student-form-footer .p-button.p-button-text:hover{color:#374151!important;background:#f3f4f6!important}.student-list-page{max-width:87.5rem;margin:0 auto;padding:1.5rem 1rem 2.5rem;display:flex;flex-direction:column;gap:1.25rem}.student-list-page .student-list-notice{display:flex;gap:.875rem;align-items:flex-start;padding:1rem 1.25rem;background:#faf5ff;border:1px solid #ede9fe;border-radius:var(--app-radius-md)}.student-list-page .student-list-notice__icon{flex-shrink:0;width:2.25rem;height:2.25rem;display:flex;align-items:center;justify-content:center;border-radius:var(--app-radius-md);background:#ede9fe;color:var(--app-color-primary-hover);font-size:1rem}.student-list-page .student-list-notice__title{margin:0 0 .35rem;font-size:.9375rem;font-weight:600;color:#5b21b6}.student-list-page .student-list-notice__text{margin:0;font-size:.8125rem;color:var(--app-color-text-muted);line-height:1.55}.student-list-page .student-list-panel{background:var(--app-color-surface);border:1px solid var(--app-color-border-light);border-radius:var(--app-radius-lg);box-shadow:var(--app-shadow-sm);padding:1.25rem 1.5rem 1.5rem}.student-list-page .settings-pill-tabs.p-tabview .p-tabview-nav{background:var(--app-color-surface-muted);border:1px solid var(--app-color-border-light);border-radius:var(--app-radius-md);padding:.25rem;margin-bottom:1.25rem}.student-list-page .settings-pill-tabs.p-tabview .p-tabview-nav li{margin-right:.25rem}.student-list-page .settings-pill-tabs.p-tabview .p-tabview-nav-link{border:none!important;border-radius:var(--app-radius-md)!important;background:transparent!important;color:var(--app-color-text-muted)!important;font-weight:500;padding:.5rem 1rem!important}.student-list-page .settings-pill-tabs.p-tabview .p-tabview-nav li.p-highlight .p-tabview-nav-link{background:var(--app-color-surface)!important;color:var(--app-color-primary-hover)!important;box-shadow:var(--app-shadow-sm)}.student-list-page .settings-pill-tabs.p-tabview .p-tabview-ink-bar{display:none}.student-list-page .settings-pill-tabs.p-tabview .p-tabview-panels{padding:0;background:transparent}.student-list-page .student-list-section{padding:1rem 1.25rem;background:var(--app-color-surface-muted);border:1px solid var(--app-color-border-light);border-radius:var(--app-radius-md)}.student-list-page .student-list-section__head{display:flex;flex-wrap:wrap;align-items:flex-start;justify-content:space-between;gap:.75rem;margin-bottom:1rem}.student-list-page .student-list-section__title{margin:0;font-size:1rem;font-weight:600;color:var(--app-color-text-heading)}.student-list-page .student-list-section__subtitle{margin:.25rem 0 0;font-size:.8125rem;color:var(--app-color-text-muted)}.student-list-page .student-list-add-actions{display:flex;flex-wrap:wrap;gap:.5rem;margin:1rem 0}.student-list-page .student-list-info-box{display:flex;gap:.625rem;align-items:flex-start;padding:.875rem 1rem;background:var(--app-color-surface);border:1px solid var(--app-color-border-light);border-radius:var(--app-radius-md);font-size:var(--app-font-size-sm);color:var(--app-color-text-muted)}.student-list-page .student-list-info-box .pi{flex-shrink:0;margin-top:.125rem;color:var(--app-color-primary-hover)}.student-list-page .student-list-info-box__title{margin:0 0 .375rem;font-weight:600;color:var(--app-color-text)}.student-list-page .student-list-info-box__list{margin:0;padding-left:1.125rem;line-height:1.5}.student-list-page .student-list-info-box__list li+li{margin-top:.25rem}.student-list-page .student-list-toolbar{margin-bottom:1.25rem}.student-list-page .student-list-search{display:block;width:100%;max-width:28rem}.student-list-page .student-list-search .p-inputtext{width:100%;padding-left:2.5rem;border-radius:var(--app-radius-md);border-color:var(--app-color-border);font-size:var(--app-font-size-base)}.student-list-page .student-list-search .p-inputtext:enabled:focus{border-color:var(--app-color-primary-focus);box-shadow:0 0 0 3px var(--app-color-primary-focus-ring)}.student-list-page .student-list-search>i{left:.875rem;color:var(--app-color-text-subtle)}.student-list-page .student-list-grid{display:grid;grid-template-columns:repeat(1,minmax(0,1fr));gap:1rem}@media (min-width: 768px){.student-list-page .student-list-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (min-width: 1024px){.student-list-page .student-list-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}.student-list-page .student-list-card{background:var(--app-color-surface);border:1px solid var(--app-color-border-light);border-radius:var(--app-radius-lg);overflow:hidden;transition:border-color .2s ease,box-shadow .2s ease}.student-list-page .student-list-card:hover{border-color:var(--app-hover-glow-border);box-shadow:var(--app-hover-glow-shadow)}.student-list-page .student-list-card__body{padding:1rem 1.125rem}.student-list-page .student-list-card__header{display:flex;align-items:flex-start;justify-content:space-between;gap:.75rem}.student-list-page .student-list-card__profile{display:flex;align-items:center;gap:1rem;min-width:0}.student-list-page .student-list-card__avatar{width:4rem;height:4rem;border-radius:var(--app-radius-pill);-o-object-fit:cover;object-fit:cover;background:var(--app-color-surface-muted);flex-shrink:0}.student-list-page .student-list-card__name{margin:0;font-size:1rem;font-weight:600;color:var(--app-color-text);line-height:1.3}.student-list-page .student-list-card__meta{margin:.125rem 0 0;font-size:var(--app-font-size-sm);color:var(--app-color-text-muted)}.student-list-page .student-list-card__actions{display:flex;gap:.125rem;flex-shrink:0}.student-list-page .student-list-card__actions .p-button.p-button-text{width:2rem;height:2rem;padding:0!important}.student-list-page .student-list-card__details{margin-top:1rem;display:flex;flex-direction:column;gap:.5rem;font-size:var(--app-font-size-sm);color:var(--app-color-text-muted)}.student-list-page .student-list-card__detail{display:flex;align-items:center;gap:.5rem;margin:0;min-width:0}.student-list-page .student-list-card__detail i{color:var(--app-color-text-subtle);font-size:.875rem;flex-shrink:0}.student-list-page .student-list-card__detail span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.student-list-page .student-list-card__footer{margin-top:1rem;padding-top:1rem;border-top:1px solid var(--app-color-border-light)}.student-list-page .student-list-card__link{display:inline-flex;align-items:center;gap:.375rem;font-size:var(--app-font-size-sm);font-weight:500;color:var(--app-color-primary-hover);text-decoration:none;transition:color .15s}.student-list-page .student-list-card__link:hover{color:var(--app-color-primary)}.student-list-page .student-list-empty{padding:2.5rem 1.5rem;text-align:center}.student-list-page .student-list-empty__icon{width:3rem;height:3rem;margin:0 auto 1rem;display:flex;align-items:center;justify-content:center;border-radius:var(--app-radius-pill);background:var(--app-color-primary-muted);color:var(--app-color-primary-hover);font-size:1.25rem}.student-list-page .student-list-header-actions{display:flex;flex-wrap:wrap;gap:.5rem;align-items:center}.student-profile-header{display:flex;flex-wrap:wrap;align-items:flex-start;justify-content:space-between;gap:1.25rem}.student-profile-header__main{display:flex;align-items:flex-start;gap:1.5rem;min-width:0}.student-profile-header__avatar{flex-shrink:0;width:6rem;height:6rem;border-radius:var(--app-radius-pill);overflow:hidden;border:2px solid #e5e7eb;background:#f3f4f6}.student-profile-header__avatar-img{width:100%;height:100%;-o-object-fit:cover;object-fit:cover}.student-profile-header__info{min-width:0}.student-profile-header__eyebrow{margin:0 0 .35rem;font-size:.6875rem;font-weight:600;letter-spacing:.06em;text-transform:uppercase;color:var(--app-color-primary-hover)}.student-profile-header__name-row{display:flex;align-items:center;gap:.5rem;margin-bottom:.35rem}.student-profile-header__name{margin:0;font-size:1.5rem;font-weight:700;color:#1f2937;line-height:1.25}.student-profile-header__meta{margin:.15rem 0 0;font-size:.875rem;color:#6b7280;line-height:1.45}.student-profile-header__meta--dob{display:flex;align-items:center;gap:.35rem}.student-profile-header__meta--dob .pi{font-size:.8rem;color:#9ca3af}.student-profile-header__actions{display:flex;flex-wrap:wrap;align-items:center;gap:.5rem}.student-profile-header__btn.p-button{border-radius:var(--app-radius-md)!important;font-size:.8125rem!important;font-weight:600!important;padding:.5rem 1rem!important;transition:color .2s ease,background .2s ease,border-color .2s ease,box-shadow .2s ease}.student-profile-header__btn--edit.p-button{border:1px solid #ddd6fe!important;color:var(--app-color-primary-hover)!important;background:#fff!important;background-image:none!important}.student-profile-header__btn--edit.p-button .pi{color:var(--app-color-primary-hover)!important}.student-profile-header__btn--edit.p-button:hover:not(:disabled){border-color:var(--app-hover-glow-border)!important;color:var(--app-color-primary-hover)!important;background:#faf5ff!important;box-shadow:var(--app-hover-glow-shadow)!important}.student-profile-header__btn--back.p-button{border:1px solid var(--app-color-border, #e5e7eb)!important;color:#4b5563!important;background:#fff!important;background-image:none!important}.student-profile-header__btn--back.p-button .pi{color:#6b7280!important}.student-profile-header__btn--back.p-button:hover:not(:disabled){border-color:#d1d5db!important;color:#1f2937!important;background:#f9fafb!important}.student-profile-header__nav-btn.p-button{width:2rem!important;height:2rem!important;padding:0!important;border-radius:var(--app-radius-md)!important;color:#6b7280!important}.student-profile-header__nav-btn.p-button:hover:not(:disabled){color:var(--app-color-primary-hover)!important;background:#f5f3ff!important}.student-profile-nav,.student-profile-subnav{display:flex;flex-wrap:wrap;gap:.25rem;padding:.25rem;background:linear-gradient(135deg,#faf5ff,#f5f3ff,#f9fafb);border:1px solid #ede9fe;border-radius:var(--app-radius-lg);width:100%}.student-profile-subnav{width:-moz-fit-content;width:fit-content;max-width:100%}.student-profile-nav__tab,.student-profile-subnav__tab{display:inline-flex;align-items:center;gap:.5rem;padding:.5rem .875rem;font-size:.8125rem;font-weight:500;color:var(--app-color-text-muted);border:1px solid transparent;border-radius:var(--app-radius-md);background:transparent;cursor:pointer;transition:color .2s ease,background .2s ease,box-shadow .2s ease,border-color .2s ease;white-space:nowrap}.student-profile-nav__tab:hover:not(.student-profile-nav__tab--active),.student-profile-subnav__tab:hover:not(.student-profile-subnav__tab--active){color:var(--app-color-primary-hover);background:#ffffff8c}.student-profile-nav__tab--active,.student-profile-subnav__tab--active{color:var(--app-color-primary-hover);background:#fffffff2;border-color:var(--app-hover-glow-border);box-shadow:var(--app-hover-glow-shadow);font-weight:600}.student-profile-nav__tab i,.student-profile-subnav__tab i{font-size:.75rem;opacity:.9}.student-profile-nav__tab--active i,.student-profile-subnav__tab--active i{color:var(--app-color-primary-hover)}.student-profile-subnav__badge{min-width:1.25rem;padding:0 .35rem;font-size:.7rem;font-weight:600;line-height:1.25rem;text-align:center;color:#fff;background:var(--app-color-primary);border-radius:var(--app-radius-pill)}.student-tab-panel-enter-active{transition:opacity .4s ease,transform .4s ease}.student-tab-panel-leave-active{transition:opacity .2s ease,transform .2s ease}.student-tab-panel-enter-from{opacity:0;transform:translateY(10px)}.student-tab-panel-leave-to{opacity:0;transform:translateY(-6px)}.student-profile-subtab-panel{min-width:0}.student-profile-tab-root{display:flex;flex-direction:column;gap:1.5rem}.student-profile-tab-root .p-card,.student-profile-tab-root .achievement-card,.student-profile-tab-root .record-card,.student-profile-tab-root .claimed-reward-card,.student-profile-tab-root .recent-activity-item{transition:box-shadow .3s ease,transform .3s ease,border-color .3s ease,background-color .3s ease}.student-profile-tab-root .p-card:hover,.student-profile-tab-root .achievement-card:hover,.student-profile-tab-root .record-card:hover,.student-profile-tab-root .claimed-reward-card:hover,.student-profile-tab-root .recent-activity-item:hover{box-shadow:0 4px 6px -1px #0000001a,0 2px 4px -2px #0000001a;transform:translateY(-.25rem)}.student-profile-tab-root .claimed-reward-card:hover{background-color:#fff}.student-profile-tab-root .behavior-stat-card.p-card,.student-profile-tab-root .behavior-card.p-card,.student-profile-tab-root .parent-contact-stat-card.p-card,.student-profile-tab-root .parent-contact-card.p-card{border-radius:var(--app-radius-lg);overflow:hidden}@media (prefers-reduced-motion: reduce){.student-profile-tab-root .p-card:hover,.student-profile-tab-root .achievement-card:hover,.student-profile-tab-root .record-card:hover,.student-profile-tab-root .claimed-reward-card:hover,.student-profile-tab-root .recent-activity-item:hover{transform:none}}.student-tabview__panel .p-card .p-card-header{padding:0;border:none;background:transparent}.student-tabview__panel .p-card .p-card-header>div{background:linear-gradient(135deg,#faf5ff,#f5f3ff,#f9fafb);border-bottom:1px solid #ede9fe}.student-tabview__panel .p-card .p-card-header .rounded-lg[class*=flex]{background:var(--app-color-primary)!important;color:#fff!important}.student-tabview__panel .p-card .p-card-header .rounded-lg[class*=flex] i,.student-tabview__panel .p-card .p-card-header .rounded-lg[class*=flex] svg{color:#fff!important}.avatar-builder-dialog.p-dialog{max-width:min(64rem,96vw)}.avatar-builder-dialog .p-dialog-content{max-height:calc(90vh - 8rem);overflow:hidden}.avatar-builder-dialog__body{display:flex;flex-direction:column;gap:1rem;min-height:0}.avatar-builder-dialog__layout{display:grid;grid-template-columns:minmax(14rem,20rem) 1fr;gap:1.25rem;min-height:0;align-items:start}@media (max-width: 768px){.avatar-builder-dialog__layout{grid-template-columns:1fr}}.avatar-builder-dialog__preview-panel{position:sticky;top:0}.avatar-builder-dialog__preview-img{width:100%;aspect-ratio:1;-o-object-fit:contain;object-fit:contain;border-radius:var(--app-radius-lg);background:#fff}.avatar-builder-dialog__controls{display:flex;flex-direction:column;gap:.875rem;max-height:min(58vh,32rem);min-height:0;overflow-x:hidden;overflow-y:auto;padding-right:.35rem}.avatar-builder-dialog .app-dialog__section{flex-shrink:0;min-height:-moz-min-content;min-height:min-content;overflow:visible}.avatar-builder-dialog .app-dialog__section-body{overflow:visible}.avatar-builder-dialog .avatar-builder-section__header{display:flex;align-items:center;justify-content:space-between;gap:.75rem;padding:.75rem 1rem;background:#fafafa;border-bottom:1px solid var(--app-color-border-light)}.avatar-builder-dialog .avatar-builder-section__header .app-dialog__section-title{flex:1;min-width:0;padding:0;margin:0;border-bottom:none;background:transparent}.avatar-builder-dialog__controls::-webkit-scrollbar{width:6px}.avatar-builder-dialog__controls::-webkit-scrollbar-thumb{background:#d1d5db;border-radius:var(--app-radius-pill)}.avatar-builder-chip-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(5.75rem,1fr));gap:.5rem;width:100%}.avatar-builder-chip-grid .p-button,.avatar-builder-chip.p-button{display:inline-flex!important;align-items:center!important;justify-content:center!important;width:100%!important;border-radius:var(--app-radius-md)!important;font-size:.75rem!important;font-weight:500!important;padding:.45rem .5rem!important;min-height:2.375rem!important;height:auto!important;border:1px solid var(--app-color-border-light)!important;color:var(--app-color-text-muted)!important;background:#fff!important;box-shadow:none!important;white-space:normal!important;line-height:1.2!important}.avatar-builder-chip-grid .p-button .p-button-label{white-space:normal;text-align:center}.avatar-builder-chip.p-button:hover:not(:disabled){border-color:var(--app-hover-glow-border)!important;color:var(--app-color-primary-hover)!important;background:#faf5ff!important}.avatar-builder-chip--active.p-button{color:var(--app-color-primary-hover)!important;background:#fffffff2!important;border-color:var(--app-hover-glow-border)!important;box-shadow:var(--app-hover-glow-shadow)!important;font-weight:600!important}.avatar-builder-dialog__color-row{display:flex;flex-direction:column;align-items:flex-start;gap:.75rem;width:100%}.avatar-builder-dialog .p-colorpicker{display:inline-flex;width:2.5rem;height:2.5rem;flex-shrink:0;border-radius:var(--app-radius-md);overflow:hidden;border:1px solid var(--app-color-border-light)}.avatar-builder-dialog .p-colorpicker-preview.p-inputtext{width:100%!important;height:100%!important;min-width:0;min-height:0;padding:0!important;margin:0;cursor:pointer;border:none!important;box-shadow:none!important;color:transparent!important}.avatar-builder-dialog .p-colorpicker-preview.p-inputtext:enabled:hover,.avatar-builder-dialog .p-colorpicker-preview.p-inputtext:enabled:focus{border:none!important;box-shadow:none!important}.avatar-builder-color-picker--transparent .p-colorpicker-preview.p-inputtext{background-color:transparent!important;background-image:linear-gradient(45deg,#d1d5db 25%,transparent 25%),linear-gradient(-45deg,#d1d5db 25%,transparent 25%),linear-gradient(45deg,transparent 75%,#d1d5db 75%),linear-gradient(-45deg,transparent 75%,#d1d5db 75%)!important;background-size:10px 10px!important;background-position:0 0,0 5px,5px -5px,-5px 0!important}.learning-spaces-page{max-width:87.5rem;margin:0 auto;padding:1.5rem 1rem 2.5rem;display:flex;flex-direction:column;gap:1.25rem}.learning-spaces-page .welcome-banner{position:relative;overflow:hidden;margin:0;padding:1.5rem;border-radius:var(--app-radius-lg);color:#fff;background:linear-gradient(to right,var(--accent-blue, #00bbf9),var(--accent-purple, #9b5de5),var(--accent-pink, #f15bb5));background-size:200% 200%;animation:learning-spaces-banner-gradient 15s ease infinite;box-shadow:0 4px 14px #9b5de540}.learning-spaces-page .welcome-banner__title{margin:0 0 .5rem;font-size:1.75rem;font-weight:700;line-height:1.2}.learning-spaces-page .welcome-banner__subtitle{margin:0;font-size:1rem;color:#ffffffeb;line-height:1.45}.learning-spaces-page .wave-emoji{display:inline-block;animation:learning-spaces-wave 2.5s ease-in-out infinite}@keyframes learning-spaces-banner-gradient{0%{background-position:0% 50%}50%{background-position:100% 50%}to{background-position:0% 50%}}@keyframes learning-spaces-wave{0%,to{transform:rotate(0)}25%{transform:rotate(12deg)}75%{transform:rotate(-8deg)}}.learning-spaces-page .learning-spaces-panel{background:var(--app-color-surface);border:1px solid var(--app-color-border-light);border-radius:var(--app-radius-lg);box-shadow:var(--app-shadow-sm);padding:1.25rem 1.5rem 1.5rem}.learning-spaces-page .learning-spaces-toolbar{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:.75rem;margin-bottom:1.25rem}.learning-spaces-page .learning-spaces-toolbar__title{margin:0;font-size:1.125rem;font-weight:600;color:var(--app-color-text-heading)}.learning-spaces-page .learning-spaces-grid{display:grid;grid-template-columns:repeat(1,minmax(0,1fr));gap:1rem}@media (min-width: 768px){.learning-spaces-page .learning-spaces-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (min-width: 1024px){.learning-spaces-page .learning-spaces-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}.learning-spaces-page .learning-spaces-card{background:var(--app-color-surface);border:1px solid var(--app-color-border-light);border-radius:var(--app-radius-lg);cursor:pointer;transition:border-color .15s,box-shadow .15s,transform .15s}.learning-spaces-page .learning-spaces-card:hover{border-color:var(--app-hover-glow-border);box-shadow:var(--app-hover-glow-shadow);transform:translateY(-1px)}.learning-spaces-page .learning-spaces-card__body{padding:1rem 1.125rem}.learning-spaces-page .learning-spaces-card__header{display:flex;align-items:flex-start;justify-content:space-between;gap:.75rem}.learning-spaces-page .learning-spaces-card__title{margin:0 0 .25rem;font-size:1rem;font-weight:600;color:var(--app-color-text-heading);display:flex;flex-wrap:wrap;align-items:center;gap:.5rem}.learning-spaces-page .learning-spaces-card__meta{margin:0 0 .75rem;font-size:var(--app-font-size-sm);color:var(--app-color-text-muted)}.learning-spaces-page .learning-spaces-card__periods{display:flex;align-items:center;gap:.375rem;margin:0;font-size:var(--app-font-size-sm);color:var(--app-color-text-subtle)}.learning-spaces-page .learning-spaces-card__periods .pi{font-size:.875rem}.learning-spaces-page .learning-spaces-card__actions{display:flex;gap:.125rem;flex-shrink:0}.learning-spaces-page .learning-spaces-badge{display:inline-flex;align-items:center;padding:.125rem .5rem;font-size:.6875rem;font-weight:600;line-height:1.25;border-radius:var(--app-radius-pill);background:var(--app-color-primary-muted);color:var(--app-color-primary)}.learning-spaces-page .learning-spaces-loading{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:.75rem;min-height:12rem;padding:2rem;color:var(--app-color-text-muted);font-size:var(--app-font-size-sm)}.learning-spaces-page .learning-spaces-loading__icon{font-size:2.5rem;color:#f59e0b;filter:drop-shadow(0 0 8px rgba(245,158,11,.45));animation:learning-spaces-bolt 2s ease-in-out infinite}@keyframes learning-spaces-bolt{0%,to{transform:scale(1) rotate(0);opacity:1}50%{transform:scale(1.08) rotate(-5deg);opacity:.85}}.learning-spaces-page .learning-spaces-empty{text-align:center;padding:2.5rem 1.5rem}.learning-spaces-page .learning-spaces-empty__title{margin:0 0 .5rem;font-size:1.25rem;font-weight:600;color:var(--app-color-text-heading)}.learning-spaces-page .learning-spaces-empty__text{margin:0 0 1.25rem;font-size:var(--app-font-size-sm);color:var(--app-color-text-muted)}.learning-spaces-page .learning-spaces-period-row{display:flex;flex-wrap:wrap;align-items:center;gap:.5rem}.learning-spaces-page .learning-spaces-period-row__hint{font-size:var(--app-font-size-sm);color:var(--app-color-text-muted)}.p-dialog.app-dialog.period-selector-dialog .p-dialog-content{max-height:min(70vh,36rem);overflow-y:auto}.p-dialog.app-dialog.period-selector-dialog .period-selector{gap:1rem}.p-dialog.app-dialog.period-selector-dialog .period-selector-tabs.p-tabview .p-tabview-nav{display:flex;flex-wrap:wrap;gap:.25rem;padding:.25rem;margin:0;background:var(--app-color-surface-track);border:none;border-radius:var(--app-radius-lg)}.p-dialog.app-dialog.period-selector-dialog .period-selector-tabs.p-tabview .p-tabview-nav li{margin:0}.p-dialog.app-dialog.period-selector-dialog .period-selector-tabs.p-tabview .p-tabview-nav-link{border:none!important;border-radius:var(--app-radius-md)!important;padding:.4rem .65rem!important;margin:0!important;font-size:.75rem;font-weight:500;color:var(--app-color-text-muted)!important;background:transparent!important}.p-dialog.app-dialog.period-selector-dialog .period-selector-tabs.p-tabview .p-tabview-nav li.p-highlight .p-tabview-nav-link{background:var(--app-color-surface)!important;color:var(--app-color-primary-hover)!important;box-shadow:var(--app-shadow-sm)}.p-dialog.app-dialog.period-selector-dialog .period-selector-tabs.p-tabview .p-tabview-ink-bar{display:none}.p-dialog.app-dialog.period-selector-dialog .period-selector-tabs.p-tabview .p-tabview-panels{padding:.75rem 0 0;background:transparent;border:none}.p-dialog.app-dialog.period-selector-dialog .period-selector-day{min-height:8rem}.p-dialog.app-dialog.period-selector-dialog .period-selector-day--weekend{padding:.25rem;border-radius:var(--app-radius-md);background:var(--app-color-surface-muted)}.p-dialog.app-dialog.period-selector-dialog .period-selector-list{display:flex;flex-direction:column;gap:.5rem}.p-dialog.app-dialog.period-selector-dialog .period-selector-card{width:100%;margin:0;padding:.75rem 1rem;text-align:left;background:var(--app-color-surface);border:1px solid var(--app-color-border-light);border-radius:var(--app-radius-md);cursor:pointer;transition:border-color .15s,box-shadow .15s,background .15s}.p-dialog.app-dialog.period-selector-dialog .period-selector-card:hover{border-color:var(--app-color-primary-focus);box-shadow:var(--app-shadow-sm)}.p-dialog.app-dialog.period-selector-dialog .period-selector-card--selected{border-color:var(--app-color-primary);background:var(--app-color-primary-muted)}.p-dialog.app-dialog.period-selector-dialog .period-selector-card__main{display:flex;align-items:flex-start;justify-content:space-between;gap:.75rem}.p-dialog.app-dialog.period-selector-dialog .period-selector-card__title{margin:0 0 .25rem;font-size:var(--app-font-size-sm);font-weight:600;color:var(--app-color-text-heading)}.p-dialog.app-dialog.period-selector-dialog .period-selector-card__subject{margin-left:.375rem;font-weight:500;color:var(--app-color-text-muted)}.p-dialog.app-dialog.period-selector-dialog .period-selector-card__time{margin:0 0 .25rem;font-size:.75rem;color:var(--app-color-text-muted)}.p-dialog.app-dialog.period-selector-dialog .period-selector-card__room{margin:0;font-size:.6875rem;color:var(--app-color-text-subtle)}.p-dialog.app-dialog.period-selector-dialog .period-selector-card__check{font-size:1.25rem;color:var(--app-color-text-subtle)}.p-dialog.app-dialog.period-selector-dialog .period-selector-card--selected .period-selector-card__check{color:var(--app-color-primary)}.p-dialog.app-dialog.period-selector-dialog .period-selector-empty{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:.5rem;padding:2rem 1rem;text-align:center}.p-dialog.app-dialog.period-selector-dialog .period-selector-empty__icon{font-size:1.75rem;color:var(--app-color-text-subtle)}.p-dialog.app-dialog.period-selector-dialog .period-selector-empty__text{font-size:var(--app-font-size-sm);color:var(--app-color-text-muted)}.p-dialog.app-dialog.learning-widget-dialog .p-dialog-content{max-height:min(75vh,42rem);overflow-y:auto;padding:0!important}.p-dialog.app-dialog.learning-widget-dialog .learning-widget-dialog__body{display:flex;flex-direction:column;gap:.75rem;padding:1rem 1.125rem 1.125rem}.p-dialog.app-dialog.learning-widget-dialog .learning-widget-dialog__list{display:flex;flex-direction:column;gap:.5rem}.p-dialog.app-dialog.learning-widget-dialog .learning-widget-dialog__list-item{display:flex;align-items:flex-start;gap:.75rem;padding:.625rem .75rem;background:var(--app-color-surface);border:1px solid var(--app-color-border-light);border-radius:var(--app-radius-md)}.p-dialog.app-dialog.learning-widget-dialog .learning-widget-dialog__list-item .min-w-0{flex:1;min-width:0}.p-dialog.app-dialog.learning-widget-dialog .learning-widget-dialog__empty{padding:1.5rem 1rem;text-align:center;font-size:var(--app-font-size-sm);color:var(--app-color-text-muted)}.p-dialog.app-dialog.announcements-manage-dialog .announcements-manage-dialog__priority{width:.625rem;height:.625rem;margin-top:.35rem;border-radius:50%;flex-shrink:0}.p-dialog.app-dialog.announcements-manage-dialog .announcements-manage-dialog__priority--high{background:#f87171;box-shadow:0 0 0 2px #f8717140}.p-dialog.app-dialog.announcements-manage-dialog .announcements-manage-dialog__priority--medium{background:#fbbf24;box-shadow:0 0 0 2px #fbbf2440}.p-dialog.app-dialog.announcements-manage-dialog .announcements-manage-dialog__priority--low{background:#60a5fa;box-shadow:0 0 0 2px #60a5fa40}.p-dialog.app-dialog.announcements-manage-dialog .announcements-manage-dialog__message{margin:0;font-size:var(--app-font-size-sm);font-weight:500;color:var(--app-color-text-heading);line-height:1.4;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;word-break:break-word}.p-dialog.app-dialog.announcements-manage-dialog .announcements-manage-dialog__meta{margin:.25rem 0 0;font-size:.75rem;color:var(--app-color-text-muted)}.p-dialog.app-dialog.announcements-manage-dialog .announcements-manage-dialog__status{display:inline-block;margin-top:.25rem;font-size:.6875rem;font-weight:600;letter-spacing:.02em;text-transform:uppercase}.p-dialog.app-dialog.announcements-manage-dialog .announcements-manage-dialog__status--active{color:#059669}.p-dialog.app-dialog.announcements-manage-dialog .announcements-manage-dialog__status--expired{color:#dc2626}.p-dialog.app-dialog.announcements-manage-dialog .announcements-manage-dialog__actions{display:flex;flex-direction:column;gap:.125rem;flex-shrink:0}.p-dialog.app-dialog.announcements-manage-dialog .announcements-manage-dialog__footer{width:100%}.p-dialog.app-dialog.learning-widget-dialog .learning-widget-dialog__tabs.p-tabview .p-tabview-nav{display:flex;flex-wrap:wrap;gap:.25rem;padding:.75rem .75rem 0;margin:0;background:#fafafa;border:none;border-bottom:1px solid var(--app-color-border-light)}.p-dialog.app-dialog.learning-widget-dialog .learning-widget-dialog__tabs.p-tabview .p-tabview-nav li{margin:0}.p-dialog.app-dialog.learning-widget-dialog .learning-widget-dialog__tabs.p-tabview .p-tabview-nav-link{border:none!important;border-radius:var(--app-radius-md)!important;padding:.45rem .875rem!important;margin:0!important;font-size:var(--app-font-size-sm)!important;font-weight:500!important;color:var(--app-color-text-muted)!important;background:transparent!important}.p-dialog.app-dialog.learning-widget-dialog .learning-widget-dialog__tabs.p-tabview .p-tabview-nav-container{padding:0;background:transparent}.p-dialog.app-dialog.learning-widget-dialog .learning-widget-dialog__tabs.p-tabview .p-tabview-nav{padding:.25rem;margin:.75rem .75rem 0;background:var(--app-color-surface-track);border:none;border-radius:var(--app-radius-lg)}.p-dialog.app-dialog.learning-widget-dialog .learning-widget-dialog__tabs.p-tabview .p-tabview-nav li.p-highlight .p-tabview-nav-link{background:var(--app-color-surface)!important;color:var(--app-color-primary-hover)!important;box-shadow:var(--app-shadow-sm)!important}.p-dialog.app-dialog.learning-widget-dialog .learning-widget-dialog__tabs.p-tabview .p-tabview-ink-bar{display:none!important}.p-dialog.app-dialog.learning-widget-dialog .learning-widget-dialog__tabs.p-tabview .p-tabview-panels{padding:0!important;background:transparent!important;border:none!important}.p-dialog.app-dialog.learning-widget-dialog .learning-widget-dialog__tab-panel{padding:0 0 .25rem}.p-dialog.app-dialog.learning-widget-dialog .learning-widget-dialog__quick-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(6.5rem,1fr));gap:.5rem}.p-dialog.app-dialog.learning-widget-dialog .learning-widget-dialog__quick-item{display:flex;flex-direction:column;align-items:center;gap:.375rem;padding:.625rem .5rem;text-align:center;background:var(--app-color-surface);border:1px solid var(--app-color-border-light);border-radius:var(--app-radius-md);cursor:pointer;transition:border-color .15s,background .15s}.p-dialog.app-dialog.learning-widget-dialog .learning-widget-dialog__quick-item:hover{border-color:var(--app-color-primary-focus);background:#faf5ff}.p-dialog.app-dialog.learning-widget-dialog .learning-widget-dialog__confirm{display:flex;align-items:flex-start;gap:.75rem;margin:0;padding:1rem 1.125rem 1.125rem;font-size:var(--app-font-size-sm);line-height:1.5;color:var(--app-color-text)}.p-dialog.app-dialog.learning-widget-dialog .learning-widget-dialog__confirm .pi{flex-shrink:0;margin-top:.125rem;font-size:1.125rem}.p-dialog.app-dialog.learning-widget-dialog .learning-widget-dialog__confirm-detail{display:block;margin-top:.35rem;font-size:.75rem;font-weight:400;color:var(--app-color-text-muted);line-height:1.45}.p-dialog.app-dialog.materials-widget-dialog .p-dialog-content{max-height:min(88vh,36rem);overflow-y:auto}.p-dialog.app-dialog.materials-widget-dialog .learning-widget-dialog__body{gap:1.125rem;padding:1.25rem 1.375rem 1.375rem}.p-dialog.app-dialog.materials-widget-dialog .materials-widget-dialog__layout{display:grid;gap:1rem;align-items:stretch}.p-dialog.app-dialog.materials-widget-dialog:not(.materials-widget-dialog--manage) .materials-widget-dialog__layout{grid-template-columns:1fr;grid-template-areas:"quick" "form" "current"}@media (min-width: 40rem){.p-dialog.app-dialog.materials-widget-dialog:not(.materials-widget-dialog--manage) .materials-widget-dialog__layout{grid-template-columns:1.15fr .85fr 1fr;grid-template-areas:"quick form current"}}.p-dialog.app-dialog.materials-widget-dialog .materials-widget-dialog__panel--quick{grid-area:quick}.p-dialog.app-dialog.materials-widget-dialog .materials-widget-dialog__panel--form{grid-area:form}.p-dialog.app-dialog.materials-widget-dialog .materials-widget-dialog__panel--current{grid-area:current}.p-dialog.app-dialog.materials-widget-dialog .materials-widget-dialog__panel{display:flex;flex-direction:column;min-height:0;height:100%}.p-dialog.app-dialog.materials-widget-dialog .materials-widget-dialog__panel .app-dialog__section-body{flex:1;min-height:0}.p-dialog.app-dialog.materials-widget-dialog--manage .materials-widget-dialog__layout--manage{grid-template-columns:1fr;grid-template-areas:"form" "current"}@media (min-width: 36rem){.p-dialog.app-dialog.materials-widget-dialog--manage .materials-widget-dialog__layout--manage{grid-template-columns:minmax(14rem,.9fr) minmax(0,1.1fr);grid-template-areas:"form current"}}.p-dialog.app-dialog.materials-widget-dialog .materials-widget-dialog__quick-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:.75rem}.p-dialog.app-dialog.materials-widget-dialog .materials-widget-dialog__materials-grid{display:flex;flex-direction:column;gap:.5rem}@media (min-width: 36rem){.p-dialog.app-dialog.materials-widget-dialog--manage .materials-widget-dialog__materials-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.5rem}}.p-dialog.app-dialog.materials-widget-dialog .app-dialog__section-title{padding:.875rem 1.125rem}.p-dialog.app-dialog.materials-widget-dialog .app-dialog__section-body{padding:1.125rem 1.25rem;gap:1rem}.p-dialog.app-dialog.materials-widget-dialog .app-dialog__hint{margin:0 0 .25rem}.p-dialog.app-dialog.materials-widget-dialog .learning-widget-dialog__quick-item{min-height:5rem;padding:.875rem .625rem;gap:.5rem}.p-dialog.app-dialog.materials-widget-dialog .learning-widget-dialog__quick-item-icon{display:flex;align-items:center;justify-content:center;width:2.25rem;height:2.25rem;border-radius:var(--app-radius-md);background:#faf5ff;color:var(--app-color-primary)}.p-dialog.app-dialog.materials-widget-dialog .learning-widget-dialog__quick-item-icon .pi{font-size:1.25rem}.p-dialog.app-dialog.materials-widget-dialog .learning-widget-dialog__quick-item-label{font-size:.8125rem;font-weight:500;line-height:1.35;color:var(--app-color-text-heading);word-break:break-word}.p-dialog.app-dialog.materials-widget-dialog .material-row{display:grid;grid-template-columns:2.25rem minmax(0,1fr) auto;align-items:center;-moz-column-gap:.625rem;column-gap:.625rem;padding:.625rem .75rem;background:var(--app-color-surface);border:1px solid var(--app-color-border-light);border-radius:var(--app-radius-md);min-width:0}.p-dialog.app-dialog.materials-widget-dialog .material-row--manage{grid-template-columns:2.25rem minmax(0,1fr) auto}.p-dialog.app-dialog.materials-widget-dialog .material-row__icon{display:flex;align-items:center;justify-content:center;flex-shrink:0;width:2.25rem;height:2.25rem;border-radius:var(--app-radius-md);background:#faf5ff;color:var(--app-color-primary)}.p-dialog.app-dialog.materials-widget-dialog .material-row__icon .pi{font-size:1.125rem}.p-dialog.app-dialog.materials-widget-dialog .material-row__label{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:var(--app-font-size-sm);font-weight:500;line-height:1.35;color:var(--app-color-text-heading)}.p-dialog.app-dialog.materials-widget-dialog .material-row__actions{display:flex;align-items:center;gap:.125rem;justify-self:end}.p-dialog.app-dialog.materials-widget-dialog .material-row__delete.p-button,.p-dialog.app-dialog.materials-widget-dialog .material-row__edit.p-button{width:2rem!important;height:2rem!important;min-width:2rem!important;padding:0!important;margin:0;flex-shrink:0;border:none!important;border-radius:var(--app-radius-md)!important;box-shadow:none!important;color:var(--app-color-text-muted)!important;background:transparent!important}.p-dialog.app-dialog.materials-widget-dialog .material-row__edit.p-button:hover{color:var(--app-color-primary-hover)!important;background:var(--app-color-primary-muted)!important}.p-dialog.app-dialog.materials-widget-dialog .material-row__delete.p-button:hover{color:#dc2626!important;background:#fef2f2!important}.p-dialog.app-dialog.materials-widget-dialog .material-row__delete.p-button .pi,.p-dialog.app-dialog.materials-widget-dialog .material-row__edit.p-button .pi{font-size:.875rem}.p-dialog.app-dialog.materials-widget-dialog .learning-widget-dialog__empty{padding:2rem 1rem}.p-dialog.app-dialog.objectives-widget-dialog .p-dialog-content{max-height:min(88vh,40rem);overflow-y:auto}.p-dialog.app-dialog.objectives-widget-dialog .learning-widget-dialog__body{gap:1rem;padding:1.25rem 1.375rem 1.375rem}.p-dialog.app-dialog.objectives-widget-dialog .objectives-widget-dialog__layout{display:grid;gap:1rem;align-items:start}.p-dialog.app-dialog.objectives-widget-dialog .objectives-widget-dialog__layout:not(.objectives-widget-dialog__layout--dual){grid-template-columns:minmax(14rem,.9fr) minmax(0,1.1fr)}.p-dialog.app-dialog.objectives-widget-dialog .objectives-widget-dialog__layout:not(.objectives-widget-dialog__layout--dual) .objectives-widget-dialog__column{display:contents}.p-dialog.app-dialog.objectives-widget-dialog .objectives-widget-dialog__layout--dual{grid-template-columns:1fr 1fr}.p-dialog.app-dialog.objectives-widget-dialog .objectives-widget-dialog__layout--dual .objectives-widget-dialog__column{display:flex;flex-direction:column;gap:1rem;min-width:0}@media (max-width: 40rem){.p-dialog.app-dialog.objectives-widget-dialog .objectives-widget-dialog__layout,.p-dialog.app-dialog.objectives-widget-dialog .objectives-widget-dialog__layout--dual{grid-template-columns:1fr}.p-dialog.app-dialog.objectives-widget-dialog .objectives-widget-dialog__layout:not(.objectives-widget-dialog__layout--dual) .objectives-widget-dialog__column{display:flex;flex-direction:column}}.p-dialog.app-dialog.objectives-widget-dialog .objectives-widget-dialog__panel{min-height:0}.p-dialog.app-dialog.objectives-widget-dialog .objectives-widget-dialog__list{display:flex;flex-direction:column;gap:.5rem}.p-dialog.app-dialog.objectives-widget-dialog .objective-row{display:grid;align-items:center;-moz-column-gap:.5rem;column-gap:.5rem;padding:.625rem .75rem;background:var(--app-color-surface);border:1px solid var(--app-color-border-light);border-radius:var(--app-radius-md);min-width:0}.p-dialog.app-dialog.objectives-widget-dialog .objective-row--goal{grid-template-columns:1.5rem 2.25rem minmax(0,1fr) auto}.p-dialog.app-dialog.objectives-widget-dialog .objective-row--criterion{grid-template-columns:1.5rem 2rem minmax(0,1fr) auto;align-items:start;padding-top:.75rem;padding-bottom:.75rem}.p-dialog.app-dialog.objectives-widget-dialog .objective-row--ghost{opacity:.5;background:#faf5ff}.p-dialog.app-dialog.objectives-widget-dialog .objective-row__drag{display:flex;align-items:center;justify-content:center;width:1.5rem;height:1.5rem;padding:0;border:none;background:transparent;color:var(--app-color-text-subtle);cursor:grab;border-radius:var(--app-radius-sm)}.p-dialog.app-dialog.objectives-widget-dialog .objective-row__drag:hover{color:var(--app-color-text-muted);background:var(--app-color-surface-muted)}.p-dialog.app-dialog.objectives-widget-dialog .objective-row__icon{display:flex;align-items:center;justify-content:center;width:2.25rem;height:2.25rem;border-radius:var(--app-radius-md);flex-shrink:0}.p-dialog.app-dialog.objectives-widget-dialog .objective-row__icon--goal{background:#eff6ff;color:#3b82f6}.p-dialog.app-dialog.objectives-widget-dialog .objective-row__check{display:flex;align-items:center;justify-content:center;width:2rem;height:2rem;padding:0;border:none;background:transparent;cursor:pointer;color:#d1d5db;border-radius:var(--app-radius-md)}.p-dialog.app-dialog.objectives-widget-dialog .objective-row__check .pi-check-circle{color:#22c55e}.p-dialog.app-dialog.objectives-widget-dialog .objective-row__check:hover{background:#f0fdf4}.p-dialog.app-dialog.objectives-widget-dialog .objective-row__body{min-width:0}.p-dialog.app-dialog.objectives-widget-dialog .objective-row__label{display:block;font-size:var(--app-font-size-sm);font-weight:500;line-height:1.4;color:var(--app-color-text-heading);word-break:break-word}.p-dialog.app-dialog.objectives-widget-dialog .objective-row--goal .objective-row__label{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.p-dialog.app-dialog.objectives-widget-dialog .objective-row__meta{display:flex;flex-wrap:wrap;align-items:center;gap:.375rem;margin-top:.25rem}.p-dialog.app-dialog.objectives-widget-dialog .objective-row__badge{display:inline-flex;align-items:center;padding:.125rem .5rem;border-radius:9999px;font-size:.6875rem;font-weight:500}.p-dialog.app-dialog.objectives-widget-dialog .objective-row__link{display:inline-flex;align-items:center;font-size:.6875rem;color:var(--app-color-text-muted)}.p-dialog.app-dialog.objectives-widget-dialog .objective-row__actions{display:flex;align-items:center;gap:.125rem;justify-self:end}.p-dialog.app-dialog.objectives-widget-dialog .objective-row__delete.p-button,.p-dialog.app-dialog.objectives-widget-dialog .objective-row__edit.p-button,.p-dialog.app-dialog.objectives-widget-dialog .objective-row__ticket.p-button{width:2rem!important;height:2rem!important;min-width:2rem!important;padding:0!important;margin:0;border:none!important;border-radius:var(--app-radius-md)!important;box-shadow:none!important;color:var(--app-color-text-muted)!important;background:transparent!important}.p-dialog.app-dialog.objectives-widget-dialog .objective-row__edit.p-button:hover,.p-dialog.app-dialog.objectives-widget-dialog .objective-row__ticket.p-button:hover{color:var(--app-color-primary-hover)!important;background:var(--app-color-primary-muted)!important}.p-dialog.app-dialog.objectives-widget-dialog .objective-row__delete.p-button:hover{color:#dc2626!important;background:#fef2f2!important}.p-dialog.app-dialog.objectives-widget-dialog .objective-row__delete.p-button .pi,.p-dialog.app-dialog.objectives-widget-dialog .objective-row__edit.p-button .pi,.p-dialog.app-dialog.objectives-widget-dialog .objective-row__ticket.p-button .pi{font-size:.875rem}.p-dialog.app-dialog.objectives-widget-dialog .learning-widget-dialog__empty{padding:1.5rem 1rem}.p-dialog.app-dialog.objectives-widget-dialog--settings .p-dialog-content{padding:0!important}.p-dialog.app-dialog.objectives-widget-dialog--settings .objectives-widget-dialog__settings{gap:.75rem;padding:1rem 1.25rem 1.25rem}.p-dialog.app-dialog.objectives-widget-dialog--settings .objectives-widget-dialog__preset-list{display:flex;flex-direction:column;gap:.375rem}.p-dialog.app-dialog.objectives-widget-dialog--settings .objectives-widget-dialog__preset{display:flex;align-items:center;gap:.625rem;margin:0;padding:.5rem .75rem;border:1px solid var(--app-color-border-light);border-radius:var(--app-radius-md);background:var(--app-color-surface);cursor:pointer;transition:border-color .15s ease,background .15s ease}.p-dialog.app-dialog.objectives-widget-dialog--settings .objectives-widget-dialog__preset:hover{border-color:var(--app-color-primary-focus);background:#faf5ff}.p-dialog.app-dialog.objectives-widget-dialog--settings .objectives-widget-dialog__preset--selected{border-color:var(--app-color-primary);background:#faf5ff}.p-dialog.app-dialog.objectives-widget-dialog--settings .objectives-widget-dialog__preset-label{flex:1;min-width:0;font-size:var(--app-font-size-sm);line-height:1.35;color:var(--app-color-text-heading)}.p-dialog.app-dialog.objectives-widget-dialog--settings .objectives-widget-dialog__custom-labels{margin-top:.25rem;padding-top:.75rem;border-top:1px solid var(--app-color-border-light)}.p-dialog.app-dialog.objectives-widget-dialog--settings .objectives-widget-dialog__checkbox-row--muted{opacity:.55}.p-dialog.app-dialog.materials-widget-dialog .materials-widget-dialog__section-head{display:flex;align-items:center;justify-content:space-between;gap:.75rem;padding:.75rem 1rem;background:#fafafa;border-bottom:1px solid var(--app-color-border-light)}.p-dialog.app-dialog.materials-widget-dialog .materials-widget-dialog__section-head .app-dialog__section-title{margin:0;padding:0;background:transparent;border:none}.p-dialog.app-dialog.materials-widget-dialog .materials-widget-dialog__manage-presets{flex-shrink:0;padding:.25rem .5rem;border:none;background:transparent;font-size:.75rem;font-weight:600;color:var(--app-color-primary-hover);cursor:pointer;transition:color .15s ease}.p-dialog.app-dialog.materials-widget-dialog .materials-widget-dialog__manage-presets:hover{color:var(--app-color-primary);text-decoration:underline}.p-dialog.app-dialog.exit-ticket-create-dialog .learning-widget-dialog__body{padding:1.25rem 1.375rem;gap:1rem}.p-dialog.app-dialog.exit-ticket-create-dialog .exit-ticket-create-dialog__criterion{padding:.625rem .75rem;font-size:var(--app-font-size-sm);line-height:1.45;color:var(--app-color-text);background:var(--app-color-surface-muted);border:1px solid var(--app-color-border-light);border-radius:var(--app-radius-md)}.p-dialog.app-dialog.exit-ticket-create-dialog .exit-ticket-create-dialog__type-options{display:flex;flex-wrap:wrap;gap:.75rem 1.25rem}.p-dialog.app-dialog.exit-ticket-create-dialog .exit-ticket-create-dialog__options{display:flex;flex-direction:column;gap:.5rem}.p-dialog.app-dialog.exit-ticket-create-dialog .exit-ticket-create-dialog__option-row,.p-dialog.app-dialog.exit-ticket-widget-dialog .exit-ticket-create-dialog__option-row{display:flex;align-items:center;gap:.5rem;padding:.5rem .625rem;background:var(--app-color-surface);border:1px solid var(--app-color-border-light);border-radius:var(--app-radius-md);min-width:0}.p-dialog.app-dialog.exit-ticket-create-dialog .exit-ticket-create-dialog__option-input,.p-dialog.app-dialog.exit-ticket-widget-dialog .exit-ticket-create-dialog__option-input{flex:1;min-width:0;width:auto}.p-dialog.app-dialog.exit-ticket-create-dialog .exit-ticket-create-dialog__option-correct,.p-dialog.app-dialog.exit-ticket-widget-dialog .exit-ticket-create-dialog__option-correct{display:inline-flex;align-items:center;gap:.25rem;flex-shrink:0;margin:0;font-size:.6875rem;font-weight:500;line-height:1;color:var(--app-color-text-muted);cursor:pointer;white-space:nowrap}.p-dialog.app-dialog.exit-ticket-create-dialog .exit-ticket-create-dialog__option-correct .p-radiobutton,.p-dialog.app-dialog.exit-ticket-widget-dialog .exit-ticket-create-dialog__option-correct .p-radiobutton,.p-dialog.app-dialog.exit-ticket-create-dialog .exit-ticket-create-dialog__type-options .p-radiobutton,.p-dialog.app-dialog.exit-ticket-widget-dialog .exit-ticket-create-dialog__type-options .p-radiobutton,.p-dialog.app-dialog.exit-ticket-create-dialog .app-dialog__checkbox-row .p-radiobutton,.p-dialog.app-dialog.exit-ticket-widget-dialog .app-dialog__checkbox-row .p-radiobutton{display:inline-flex;align-items:center;width:auto;height:auto;flex-shrink:0}.p-dialog.app-dialog.exit-ticket-create-dialog .exit-ticket-create-dialog__option-correct .p-radiobutton-box,.p-dialog.app-dialog.exit-ticket-widget-dialog .exit-ticket-create-dialog__option-correct .p-radiobutton-box,.p-dialog.app-dialog.exit-ticket-create-dialog .exit-ticket-create-dialog__type-options .p-radiobutton-box,.p-dialog.app-dialog.exit-ticket-widget-dialog .exit-ticket-create-dialog__type-options .p-radiobutton-box,.p-dialog.app-dialog.exit-ticket-create-dialog .app-dialog__checkbox-row .p-radiobutton-box,.p-dialog.app-dialog.exit-ticket-widget-dialog .app-dialog__checkbox-row .p-radiobutton-box{width:.875rem;height:.875rem}.p-dialog.app-dialog.exit-ticket-create-dialog .exit-ticket-create-dialog__option-correct .p-radiobutton-icon,.p-dialog.app-dialog.exit-ticket-widget-dialog .exit-ticket-create-dialog__option-correct .p-radiobutton-icon,.p-dialog.app-dialog.exit-ticket-create-dialog .exit-ticket-create-dialog__type-options .p-radiobutton-icon,.p-dialog.app-dialog.exit-ticket-widget-dialog .exit-ticket-create-dialog__type-options .p-radiobutton-icon,.p-dialog.app-dialog.exit-ticket-create-dialog .app-dialog__checkbox-row .p-radiobutton-icon,.p-dialog.app-dialog.exit-ticket-widget-dialog .app-dialog__checkbox-row .p-radiobutton-icon{width:.375rem;height:.375rem}.p-dialog.app-dialog.exit-ticket-create-dialog .exit-ticket-create-dialog__option-delete.p-button,.p-dialog.app-dialog.exit-ticket-widget-dialog .exit-ticket-create-dialog__option-delete.p-button{width:2rem!important;height:2rem!important;min-width:2rem!important;padding:0!important;margin:0;border:none!important;border-radius:var(--app-radius-md)!important;box-shadow:none!important;color:var(--app-color-text-muted)!important;background:transparent!important}.p-dialog.app-dialog.exit-ticket-create-dialog .exit-ticket-create-dialog__option-delete.p-button:hover,.p-dialog.app-dialog.exit-ticket-widget-dialog .exit-ticket-create-dialog__option-delete.p-button:hover{color:#dc2626!important;background:#fef2f2!important}.p-dialog.app-dialog.exit-ticket-create-dialog .exit-ticket-create-dialog__add-option{margin-top:.375rem;color:var(--app-color-primary)!important}.p-dialog.app-dialog.exit-ticket-widget-dialog .exit-ticket-widget-dialog__tags{display:flex;flex-wrap:wrap;align-items:center;gap:.375rem}.p-dialog.app-dialog.exit-ticket-widget-dialog .exit-ticket-widget-dialog__tag-chip{display:inline-flex;align-items:center;gap:.2rem;max-width:100%;padding:.125rem .35rem .125rem .5rem;font-size:.6875rem;font-weight:500;line-height:1.2;color:#3b82f6;background:#3b82f61a;border-radius:9999px}.p-dialog.app-dialog.exit-ticket-widget-dialog .exit-ticket-widget-dialog__tag-remove{display:inline-flex;align-items:center;justify-content:center;width:.875rem;height:.875rem;padding:0;border:none;border-radius:9999px;font-size:.5rem;line-height:1;color:#3b82f6;background:transparent;cursor:pointer}.p-dialog.app-dialog.exit-ticket-widget-dialog .exit-ticket-widget-dialog__tag-remove:hover{color:#1d4ed8;background:#3b82f626}.p-dialog.app-dialog.exit-ticket-widget-dialog .exit-ticket-widget-dialog__tag-add{display:inline-flex;align-items:center;gap:.25rem}.p-dialog.app-dialog.exit-ticket-widget-dialog .exit-ticket-widget-dialog__tag-input{width:6.5rem;min-width:0}.p-dialog.app-dialog.exit-ticket-widget-dialog .exit-ticket-widget-dialog__tag-add-btn.p-button{width:1.75rem!important;height:1.75rem!important;min-width:1.75rem!important;padding:0!important}.p-dialog.app-dialog.exit-ticket-widget-dialog .p-dialog-content{max-height:min(88vh,42rem);overflow-y:auto;padding:0!important}.p-dialog.app-dialog.exit-ticket-widget-dialog .app-pill-section{padding:0}.p-dialog.app-dialog.exit-ticket-widget-dialog .app-pill-panel{padding:1rem 1.125rem 1.125rem}.p-dialog.app-dialog.exit-ticket-widget-dialog .exit-ticket-widget-dialog__layout{display:grid;grid-template-columns:minmax(14rem,.9fr) minmax(0,1.1fr);gap:1rem;align-items:start}.p-dialog.app-dialog.exit-ticket-widget-dialog .exit-ticket-widget-dialog__layout--sessions{grid-template-columns:minmax(0,1fr) minmax(0,1fr) minmax(11rem,.8fr);grid-template-rows:auto minmax(14rem,1fr);align-items:stretch}.p-dialog.app-dialog.exit-ticket-widget-dialog .exit-ticket-widget-dialog__session-settings{grid-column:1 / -1}.p-dialog.app-dialog.exit-ticket-widget-dialog .exit-ticket-widget-dialog__session-settings-body{display:grid;grid-template-columns:minmax(10rem,1.2fr) minmax(8rem,1fr) minmax(6rem,.7fr) auto;gap:.75rem;align-items:end}.p-dialog.app-dialog.exit-ticket-widget-dialog .exit-ticket-widget-dialog__session-students-field{grid-column:span 2}.p-dialog.app-dialog.exit-ticket-widget-dialog .exit-ticket-widget-dialog__session-create-wrap{min-width:8.5rem}.p-dialog.app-dialog.exit-ticket-widget-dialog .exit-ticket-widget-dialog__session-col{display:flex;flex-direction:column;min-height:0;min-width:0}.p-dialog.app-dialog.exit-ticket-widget-dialog .exit-ticket-widget-dialog__session-col .app-dialog__section-body{display:flex;flex-direction:column;flex:1;min-height:0}.p-dialog.app-dialog.exit-ticket-widget-dialog .exit-ticket-widget-dialog__count{font-weight:500;color:var(--app-color-text-muted)}.p-dialog.app-dialog.exit-ticket-widget-dialog .exit-ticket-widget-dialog__drop-zone--scroll{flex:1;min-height:12rem;max-height:min(22rem,50vh);overflow-y:auto}.p-dialog.app-dialog.exit-ticket-widget-dialog .exit-ticket-widget-dialog__drop-empty{margin:0;padding:1.25rem .5rem;text-align:center;font-size:.75rem;color:var(--app-color-text-muted)}.p-dialog.app-dialog.exit-ticket-widget-dialog .exit-ticket-widget-dialog__drag-handle{flex-shrink:0;font-size:.75rem;color:var(--app-color-text-subtle);cursor:grab}.p-dialog.app-dialog.exit-ticket-widget-dialog .exit-ticket-widget-dialog__drag-order{flex-shrink:0;width:1.125rem;font-size:.6875rem;font-weight:600;text-align:center;color:var(--app-color-text-muted)}.p-dialog.app-dialog.exit-ticket-widget-dialog .exit-ticket-widget-dialog__drag-label{flex:1;min-width:0;font-size:var(--app-font-size-sm);line-height:1.35;color:var(--app-color-text-heading);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.p-dialog.app-dialog.exit-ticket-widget-dialog .exit-ticket-widget-dialog__drag-actions{display:flex;flex-shrink:0;align-items:center;gap:.0625rem}@media (max-width: 56rem){.p-dialog.app-dialog.exit-ticket-widget-dialog .exit-ticket-widget-dialog__layout--sessions{grid-template-columns:1fr 1fr;grid-template-rows:auto auto auto}.p-dialog.app-dialog.exit-ticket-widget-dialog .exit-ticket-widget-dialog__session-col--list{grid-column:1 / -1}.p-dialog.app-dialog.exit-ticket-widget-dialog .exit-ticket-widget-dialog__session-settings-body{grid-template-columns:1fr 1fr}.p-dialog.app-dialog.exit-ticket-widget-dialog .exit-ticket-widget-dialog__session-students-field,.p-dialog.app-dialog.exit-ticket-widget-dialog .exit-ticket-widget-dialog__session-create-wrap{grid-column:1 / -1}}@media (max-width: 40rem){.p-dialog.app-dialog.exit-ticket-widget-dialog .exit-ticket-widget-dialog__layout,.p-dialog.app-dialog.exit-ticket-widget-dialog .exit-ticket-widget-dialog__layout--sessions,.p-dialog.app-dialog.exit-ticket-widget-dialog .exit-ticket-widget-dialog__session-settings-body{grid-template-columns:1fr}}.p-dialog.app-dialog.exit-ticket-widget-dialog .exit-ticket-widget-dialog__drop-zone{min-height:10rem;padding:.625rem;background:var(--app-color-surface-muted);border:1px dashed var(--app-color-border-light);border-radius:var(--app-radius-md)}.p-dialog.app-dialog.exit-ticket-widget-dialog .exit-ticket-widget-dialog__drag-item{display:flex;align-items:center;gap:.375rem;min-width:0;padding:.5rem .625rem;margin-bottom:.375rem;background:var(--app-color-surface);border:1px solid var(--app-color-border-light);border-radius:var(--app-radius-md);cursor:grab}.p-dialog.app-dialog.exit-ticket-widget-dialog .exit-ticket-widget-dialog__drag-item:last-child{margin-bottom:0}.p-dialog.app-dialog.exit-ticket-widget-dialog .exit-ticket-row{display:grid;grid-template-columns:2.25rem minmax(0,1fr) auto;align-items:start;-moz-column-gap:.625rem;column-gap:.625rem;padding:.625rem .75rem;background:var(--app-color-surface);border:1px solid var(--app-color-border-light);border-radius:var(--app-radius-md)}.p-dialog.app-dialog.exit-ticket-widget-dialog .exit-ticket-row--session{align-items:center}.p-dialog.app-dialog.exit-ticket-widget-dialog .exit-ticket-row__icon{display:flex;align-items:center;justify-content:center;width:2.25rem;height:2.25rem;border-radius:var(--app-radius-md);flex-shrink:0}.p-dialog.app-dialog.exit-ticket-widget-dialog .exit-ticket-row__icon--question{background:#fef2f2;color:#ef4444}.p-dialog.app-dialog.exit-ticket-widget-dialog .exit-ticket-row__icon--session{background:#faf5ff;color:var(--app-color-primary)}.p-dialog.app-dialog.exit-ticket-widget-dialog .exit-ticket-row__body{min-width:0}.p-dialog.app-dialog.exit-ticket-widget-dialog .exit-ticket-row__label{display:block;font-size:var(--app-font-size-sm);font-weight:500;line-height:1.35;color:var(--app-color-text-heading);word-break:break-word}.p-dialog.app-dialog.exit-ticket-widget-dialog .exit-ticket-row__detail{margin:.125rem 0 0;font-size:.75rem;color:var(--app-color-text-muted)}.p-dialog.app-dialog.exit-ticket-widget-dialog .exit-ticket-row__meta{display:flex;flex-wrap:wrap;align-items:center;gap:.375rem;margin-top:.25rem}.p-dialog.app-dialog.exit-ticket-widget-dialog .exit-ticket-row__actions{display:flex;align-items:center;gap:.125rem;justify-self:end}.p-dialog.app-dialog.exit-ticket-widget-dialog .exit-ticket-row__actions--session{flex-wrap:wrap;justify-content:flex-end;max-width:6.5rem}.p-dialog.app-dialog.exit-ticket-widget-dialog .exit-ticket-widget-dialog__results-panel{display:flex;flex-direction:column;gap:1rem}.p-dialog.app-dialog.exit-ticket-widget-dialog .exit-ticket-widget-dialog__results-heading{margin:0;font-size:var(--app-font-size-base);font-weight:600;color:var(--app-color-text-heading)}.p-dialog.app-dialog.exit-ticket-widget-dialog .exit-ticket-widget-dialog__results-date{display:block;margin-top:.25rem;font-size:.75rem;font-weight:400;color:var(--app-color-text-muted)}.p-dialog.app-dialog.exit-ticket-widget-dialog .exit-ticket-widget-dialog__stats{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.625rem}@media (max-width: 32rem){.p-dialog.app-dialog.exit-ticket-widget-dialog .exit-ticket-widget-dialog__stats{grid-template-columns:1fr}}.p-dialog.app-dialog.exit-ticket-widget-dialog .exit-ticket-widget-dialog__stat{padding:.75rem 1rem;text-align:center;background:var(--app-color-surface-muted);border:1px solid var(--app-color-border-light);border-radius:var(--app-radius-md)}.p-dialog.app-dialog.exit-ticket-widget-dialog .exit-ticket-widget-dialog__stat-label{display:block;font-size:.75rem;color:var(--app-color-text-muted);margin-bottom:.25rem}.p-dialog.app-dialog.exit-ticket-widget-dialog .exit-ticket-widget-dialog__stat-value{font-size:1.375rem;font-weight:700;color:var(--app-color-text-heading)}.p-dialog.app-dialog.exit-ticket-widget-dialog .exit-ticket-widget-dialog__stat-value--success{color:#16a34a}.p-dialog.app-dialog.exit-ticket-widget-dialog .exit-ticket-widget-dialog__stat-value--primary{color:var(--app-color-primary)}.p-dialog.app-dialog.exit-ticket-widget-dialog .exit-ticket-widget-dialog__results-table{margin-top:.25rem}.p-dialog.app-dialog.exit-ticket-widget-dialog .objective-row__delete.p-button,.p-dialog.app-dialog.exit-ticket-widget-dialog .objective-row__edit.p-button,.p-dialog.app-dialog.exit-ticket-widget-dialog .objective-row__ticket.p-button{width:2rem!important;height:2rem!important;min-width:2rem!important;padding:0!important;border:none!important;border-radius:var(--app-radius-md)!important;box-shadow:none!important;color:var(--app-color-text-muted)!important;background:transparent!important}.p-dialog.app-dialog.exit-ticket-widget-dialog .objective-row__edit.p-button:hover,.p-dialog.app-dialog.exit-ticket-widget-dialog .objective-row__ticket.p-button:hover{color:var(--app-color-primary-hover)!important;background:var(--app-color-primary-muted)!important}.p-dialog.app-dialog.exit-ticket-widget-dialog .objective-row__delete.p-button:hover{color:#dc2626!important;background:#fef2f2!important}.homework-widget{min-height:400px;max-height:70vh}.homework-widget .homework-widget__content{flex:1;min-height:0;overflow:hidden;display:flex;flex-direction:column}.homework-widget .homework-widget__list{display:grid;gap:.75rem;overflow-y:auto;padding:.125rem .25rem .125rem 0;grid-template-columns:repeat(auto-fill,minmax(17rem,1fr));align-content:start}.homework-widget .homework-widget__card{display:flex;flex-direction:column;gap:.5rem;padding:.75rem .875rem;border-radius:var(--app-radius-md);background:var(--app-color-surface-muted);border:1px solid var(--app-color-border-light);transition:border-color .15s,background .15s,box-shadow .15s}.homework-widget .homework-widget__card:hover{border-color:#d1d5db;background:#f9fafb;box-shadow:var(--app-shadow-sm)}.homework-widget .homework-widget__card-header{display:grid;grid-template-columns:2rem minmax(0,1fr) auto;align-items:center;gap:.375rem}.homework-widget .homework-widget__card-icon{display:flex;align-items:center;justify-content:center;width:2rem;height:2rem;border-radius:var(--app-radius-md);background:#f5f3ff;color:var(--app-color-primary)}.homework-widget .homework-widget__card-icon .pi{font-size:1rem}.homework-widget .homework-widget__card-title{min-width:0;font-size:var(--app-font-size-sm);font-weight:600;color:var(--app-color-text-heading);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.homework-widget .homework-widget__due-tag.p-tag{font-size:.6875rem;padding:.125rem .5rem}.homework-widget .homework-widget__card-due{display:flex;align-items:flex-start;gap:.5rem;padding:.375rem .5rem;border-radius:var(--app-radius-md);background:var(--app-color-surface);border:1px solid var(--app-color-border-light)}.homework-widget .homework-widget__card-due .pi{margin-top:.125rem;color:var(--app-color-primary);font-size:.875rem}.homework-widget .homework-widget__card-due-label{display:block;font-size:.6875rem;font-weight:500;color:var(--app-color-text-subtle)}.homework-widget .homework-widget__card-due-date{display:block;font-size:.8125rem;font-weight:500;color:var(--app-color-text-heading)}.homework-widget .homework-widget__card-description{margin:0;font-size:.8125rem;line-height:1.4;color:var(--app-color-text-muted)}.homework-widget .homework-widget__card-progress{padding-top:.375rem;border-top:1px solid var(--app-color-border-light)}.homework-widget .homework-widget__card-progress-labels{display:flex;justify-content:space-between;margin-bottom:.25rem;font-size:.75rem;color:var(--app-color-text-muted)}.homework-widget .homework-widget__card-progress .p-progressbar{height:.5rem;border-radius:var(--app-radius-sm);overflow:hidden;background:var(--app-color-surface);border:1px solid var(--app-color-border-light)}.homework-widget .homework-widget__card-progress .p-progressbar-value{background:var(--app-color-primary)!important;border-radius:var(--app-radius-sm)}.homework-widget .homework-widget__card-progress .p-progressbar-label{display:none!important}.homework-widget .homework-widget__card-action{margin-top:.25rem}.homework-widget .homework-widget__empty{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:.75rem;flex:1;min-height:12rem;padding:2rem 1rem;text-align:center;font-size:var(--app-font-size-sm);color:var(--app-color-text-muted)}.homework-widget .homework-widget__empty-icon{font-size:2.5rem;color:#d1d5db}.p-dialog.app-dialog.homework-widget-dialog:not(.homework-widget-dialog--progress) .p-dialog-content{max-height:min(88vh,44rem);overflow-y:auto;padding:0!important}.p-dialog.app-dialog.homework-widget-dialog--checkin .p-dialog-content{max-height:94vh;overflow-y:auto;padding:0!important}.p-dialog.app-dialog.homework-widget-dialog .homework-widget-dialog__body{padding:1.25rem 1.375rem 1.375rem}.p-dialog.app-dialog.homework-widget-dialog--checkin .p-dialog-header{padding:.625rem 1rem}.p-dialog.app-dialog.homework-widget-dialog--checkin .p-dialog-header .p-dialog-title{font-size:1rem;font-weight:600}.p-dialog.app-dialog.homework-widget-dialog--checkin .homework-widget-dialog__body{padding:.75rem 1rem 1rem}.p-dialog.app-dialog.homework-widget-dialog--checkin .traditional-homework,.p-dialog.app-dialog.homework-widget-dialog--checkin .dynamic-homework{padding:0}.p-dialog.app-dialog.homework-widget-dialog--checkin .progress-header{margin-bottom:.5rem}.p-dialog.app-dialog.homework-widget-dialog--checkin .progress-header .header-content{padding:.625rem .75rem}.p-dialog.app-dialog.homework-widget-dialog--checkin .progress-header .class-progress{padding-top:.5rem;border-top:1px solid var(--app-color-border-light)}.p-dialog.app-dialog.homework-widget-dialog--checkin .progress-header .progress-info{margin-bottom:.25rem}.p-dialog.app-dialog.homework-widget-dialog--checkin .progress-header .progress-info .label{font-size:.75rem}.p-dialog.app-dialog.homework-widget-dialog--checkin .progress-header .progress-info .percentage,.p-dialog.app-dialog.homework-widget-dialog--checkin .progress-header .target-section .value{font-size:.9375rem}.p-dialog.app-dialog.homework-widget-dialog--checkin .progress-header .class-progress-bar{height:.4375rem;margin-bottom:.5rem}.p-dialog.app-dialog.homework-widget-dialog--checkin .progress-header .stats{gap:.375rem;margin-top:.375rem}.p-dialog.app-dialog.homework-widget-dialog--checkin .progress-header .stat{min-width:0;padding:.375rem .5rem}.p-dialog.app-dialog.homework-widget-dialog--checkin .progress-header .stat .label{font-size:.625rem}.p-dialog.app-dialog.homework-widget-dialog--checkin .progress-header .stat .value{font-size:.875rem;line-height:1.2}.p-dialog.app-dialog.homework-widget-dialog--checkin .progress-header .target-section .label,.p-dialog.app-dialog.homework-widget-dialog--checkin .progress-header .due-info .label{font-size:.6875rem;margin-bottom:.125rem}.p-dialog.app-dialog.homework-widget-dialog--checkin .status-selector{margin-bottom:.5rem;padding:.5rem .75rem}.p-dialog.app-dialog.homework-widget-dialog--checkin .status-selector h3{margin-bottom:.5rem;font-size:.75rem}.p-dialog.app-dialog.homework-widget-dialog--checkin .status-selector .flex{gap:.375rem}.p-dialog.app-dialog.homework-widget-dialog--checkin .status-selector .status-button{min-width:0;flex:1 1 auto;gap:.25rem;padding:.375rem .5rem;font-size:.75rem;border-radius:var(--app-radius-sm)}.p-dialog.app-dialog.homework-widget-dialog--checkin .status-selector .status-button i{font-size:.75rem}.p-dialog.app-dialog.homework-widget-dialog--checkin .student-progress-grid{display:grid;gap:.5rem;padding:0;grid-template-columns:repeat(10,minmax(0,1fr))}.p-dialog.app-dialog.homework-widget-dialog--checkin .student-progress-card{padding:.375rem .25rem .5rem;border-radius:var(--app-radius-sm);border:1px solid var(--app-color-border-light);box-shadow:none}.p-dialog.app-dialog.homework-widget-dialog--checkin .student-progress-card:hover{transform:translateY(-1px);box-shadow:var(--app-shadow-sm)}.p-dialog.app-dialog.homework-widget-dialog--checkin .student-progress-card .student-avatar-container{margin-bottom:.25rem}.p-dialog.app-dialog.homework-widget-dialog--checkin .student-progress-card .student-avatar-container img,.p-dialog.app-dialog.homework-widget-dialog--checkin .student-progress-card>img{width:2.5rem;height:2.5rem;margin-bottom:0}.p-dialog.app-dialog.homework-widget-dialog--checkin .student-progress-card .student-info .name,.p-dialog.app-dialog.homework-widget-dialog--checkin .student-progress-card .progress-info .name{font-size:.6875rem;line-height:1.15;margin-bottom:.0625rem}.p-dialog.app-dialog.homework-widget-dialog--checkin .student-progress-card .student-info .status{font-size:.625rem;line-height:1.1}.p-dialog.app-dialog.homework-widget-dialog--checkin .student-progress-card .graded{font-size:.5625rem;margin-top:0}.p-dialog.app-dialog.homework-widget-dialog--checkin .student-progress-card .status-indicator{width:.9375rem;height:.9375rem;bottom:-1px;right:-1px}.p-dialog.app-dialog.homework-widget-dialog--checkin .student-progress-card .status-indicator i{font-size:.5rem}.p-dialog.app-dialog.homework-widget-dialog--checkin .student-progress-card .graded-indicator{width:.875rem;height:.875rem;top:-2px;right:-2px}.p-dialog.app-dialog.homework-widget-dialog--checkin .student-progress-card .graded-indicator i{font-size:.625rem}@media (max-width: 80rem){.p-dialog.app-dialog.homework-widget-dialog--checkin .student-progress-grid{grid-template-columns:repeat(8,minmax(0,1fr))}}@media (max-width: 64rem){.p-dialog.app-dialog.homework-widget-dialog--checkin .student-progress-grid{grid-template-columns:repeat(6,minmax(0,1fr))}}@media (max-width: 48rem){.p-dialog.app-dialog.homework-widget-dialog--checkin .student-progress-grid{grid-template-columns:repeat(4,minmax(0,1fr))}.p-dialog.app-dialog.homework-widget-dialog--checkin .status-selector .status-button{flex:1 1 calc(50% - .25rem)}}.p-dialog.app-dialog.homework-widget-dialog .progress-header{margin-bottom:1rem;background:var(--app-color-surface-muted);border:1px solid var(--app-color-border-light);border-radius:var(--app-radius-md);overflow:hidden}.p-dialog.app-dialog.homework-widget-dialog .progress-header .header-content{padding:1rem 1.125rem}.p-dialog.app-dialog.homework-widget-dialog .progress-header .label{font-size:.8125rem;font-weight:500;color:var(--app-color-text-muted)}.p-dialog.app-dialog.homework-widget-dialog .progress-header .percentage,.p-dialog.app-dialog.homework-widget-dialog .progress-header .target-section .value{font-size:1.125rem;font-weight:700;color:var(--app-color-primary-hover)}.p-dialog.app-dialog.homework-widget-dialog .progress-header .class-progress-bar .p-progressbar-value,.p-dialog.app-dialog.homework-widget-dialog .student-progress-card .p-progressbar-value{background:var(--app-color-primary)!important}.p-dialog.app-dialog.homework-widget-dialog .progress-header .stats{display:flex;flex-wrap:wrap;gap:.5rem;margin-top:.75rem}.p-dialog.app-dialog.homework-widget-dialog .progress-header .stat{flex:1 1 auto;min-width:5.5rem;padding:.5rem .75rem;border-radius:var(--app-radius-md);background:var(--app-color-surface);border:1px solid var(--app-color-border-light);text-align:center}.p-dialog.app-dialog.homework-widget-dialog .progress-header .stat .value{display:block;font-size:1rem;font-weight:600;color:var(--app-color-text-heading)}.p-dialog.app-dialog.homework-widget-dialog .status-selector{margin-bottom:1rem;padding:1rem 1.125rem;background:var(--app-color-surface);border:1px solid var(--app-color-border-light);border-radius:var(--app-radius-md)}.p-dialog.app-dialog.homework-widget-dialog .status-selector h3{margin:0 0 .75rem;font-size:var(--app-font-size-sm);font-weight:600;color:var(--app-color-text-heading)}.p-dialog.app-dialog.homework-widget-dialog.homework-widget-dialog--progress .p-dialog-content{padding:0!important}.p-dialog.app-dialog.homework-widget-dialog.homework-widget-dialog--progress .homework-widget-dialog__progress-input{padding:1.25rem 1.5rem 1.5rem}.p-dialog.app-dialog.homework-widget-dialog.homework-widget-dialog--progress .progress-input-content{max-width:22rem;margin-left:auto;margin-right:auto;gap:1rem}.p-dialog.app-dialog.homework-widget-dialog.homework-widget-dialog--progress .progress-input-content .keypad-grid{padding:.125rem}.p-dialog.app-dialog.homework-widget-dialog.homework-widget-dialog--progress .progress-input-content .input-display .number{color:var(--app-color-primary-hover)}.p-dialog.app-dialog.homework-widget-dialog.homework-widget-dialog--progress .progress-input-content .keypad-button.action-button{background:var(--app-color-primary);color:#fff;border-color:var(--app-color-primary)}.p-dialog.app-dialog.homework-widget-dialog.homework-widget-dialog--progress .progress-input-content .keypad-button.action-button:hover:not(.disabled){background:var(--app-color-primary-hover);border-color:var(--app-color-primary-hover)}.p-dialog.app-dialog.homework-widget-dialog.homework-widget-dialog--progress .progress-input-content .keypad-button.action-button.disabled{opacity:.5;cursor:not-allowed}.homework-display .homework-checkin-panel{max-width:96rem;margin:0 auto}.homework-display .traditional-homework,.homework-display .dynamic-homework{padding:0}.homework-display .progress-header{margin-bottom:clamp(.75rem,1.5vw,1.25rem);background:#ffffffe6;border:1px solid var(--app-color-border-light);border-radius:var(--app-radius-lg);overflow:hidden}.homework-display .progress-header .header-content{padding:clamp(.875rem,1.75vw,1.5rem)}.homework-display .progress-header .class-progress{padding-top:.75rem;border-top:1px solid var(--app-color-border-light)}.homework-display .progress-header .progress-info{display:flex;justify-content:space-between;align-items:center;margin-bottom:.5rem}.homework-display .progress-header .progress-info .label,.homework-display .progress-header .target-section .label,.homework-display .progress-header .due-info .label{font-size:clamp(.8125rem,1.25vw,.9375rem);font-weight:500;color:var(--app-color-text-muted)}.homework-display .progress-header .progress-info .percentage,.homework-display .progress-header .target-section .value{font-size:clamp(1.125rem,2vw,1.5rem);font-weight:700;color:var(--app-color-primary)}.homework-display .progress-header .class-progress-bar{height:clamp(.625rem,1vw,.875rem);margin-bottom:.75rem}.homework-display .progress-header .class-progress-bar .p-progressbar-value,.homework-display .student-progress-card .p-progressbar-value{background:var(--app-gradient-brand-horizontal);border-radius:9999px}.homework-display .progress-header .stats{display:flex;flex-wrap:wrap;gap:.5rem;margin-top:.5rem}.homework-display .progress-header .stat{display:flex;flex-direction:column;align-items:center;flex:1 1 auto;min-width:5rem;padding:.5rem .75rem;border-radius:var(--app-radius-md);background:var(--app-color-surface)}.homework-display .progress-header .stat .label{font-size:clamp(.6875rem,1vw,.75rem);color:var(--app-color-text-muted);font-weight:500}.homework-display .progress-header .stat .value{font-size:clamp(1rem,1.75vw,1.25rem);font-weight:600;color:var(--app-color-text-heading)}.homework-display .progress-header .target-section{display:flex;justify-content:space-between;align-items:flex-start;gap:1rem;margin-bottom:.75rem}.homework-display .status-selector{margin-bottom:clamp(.75rem,1.5vw,1.25rem);padding:clamp(.75rem,1.5vw,1.25rem);background:#fffffff2;border:1px solid var(--app-color-border-light);border-radius:var(--app-radius-lg);box-shadow:var(--app-shadow-sm)}.homework-display .status-selector h3{margin:0 0 .75rem;font-size:clamp(.8125rem,1.25vw,.9375rem);font-weight:600;color:var(--app-color-text-heading)}.homework-display .status-selector .flex{display:flex;flex-wrap:wrap;gap:.5rem}.homework-display .status-selector .status-button{display:inline-flex;align-items:center;justify-content:center;gap:.375rem;flex:1 1 auto;min-width:7rem;padding:.625rem .875rem;border:2px solid transparent;border-radius:var(--app-radius-md);background:var(--app-color-surface);font-size:clamp(.8125rem,1.1vw,.9375rem);font-weight:500;color:var(--status-color);cursor:pointer;transition:background .15s ease,border-color .15s ease}.homework-display .status-selector .status-button:hover{background:var(--app-color-surface-muted);border-color:var(--status-color)}.homework-display .status-selector .status-button.active{background:color-mix(in srgb,var(--status-color) 12%,white);border-color:var(--status-color)}.homework-display .student-progress-grid{display:grid;gap:clamp(.5rem,1vw,.875rem);grid-template-columns:repeat(8,minmax(0,1fr))}.homework-display .student-progress-card{display:flex;flex-direction:column;align-items:center;padding:clamp(.5rem,1vw,.875rem) clamp(.375rem,.75vw,.625rem);border:1px solid var(--app-color-border-light);border-radius:var(--app-radius-md);background:#fffffff2;cursor:pointer;transition:transform .15s ease,box-shadow .15s ease}.homework-display .student-progress-card:hover{transform:translateY(-2px);box-shadow:var(--app-shadow-md)}.homework-display .student-progress-card .student-avatar-container{position:relative;margin-bottom:.375rem}.homework-display .student-progress-card .student-avatar-container img,.homework-display .student-progress-card>img{width:clamp(3rem,5vw,4.5rem);height:clamp(3rem,5vw,4.5rem);border-radius:9999px;-o-object-fit:cover;object-fit:cover;border:2px solid var(--status-ring-color, var(--app-color-border-light))}.homework-display .student-progress-card .student-info,.homework-display .student-progress-card .progress-info{width:100%;text-align:center}.homework-display .student-progress-card .student-info .name,.homework-display .student-progress-card .progress-info .name{display:block;font-size:clamp(.75rem,1.1vw,.875rem);font-weight:600;color:var(--app-color-text-heading);margin-bottom:.125rem}.homework-display .student-progress-card .student-info .status{display:block;font-size:clamp(.6875rem,1vw,.75rem);font-weight:500;color:var(--status-color)}.homework-display .student-progress-card .progress-details{font-size:clamp(.6875rem,1vw,.75rem);color:var(--app-color-text-muted);margin-bottom:.375rem}.homework-display .student-progress-card .progress-bar{height:.4375rem}.homework-display .student-progress-card.completed .progress-bar .p-progressbar-value{background:#22c55e}.homework-display .student-progress-card .status-indicator{position:absolute;bottom:-2px;right:-2px;width:clamp(1rem,1.5vw,1.25rem);height:clamp(1rem,1.5vw,1.25rem);border-radius:9999px;display:flex;align-items:center;justify-content:center;background:var(--status-color);border:2px solid white;color:#fff}.homework-display .student-progress-card .status-indicator i{font-size:.625rem}.homework-display .student-progress-card .graded-indicator{position:absolute;top:-2px;right:-2px}.homework-display .progress-input-content{display:flex;flex-direction:column;gap:1.25rem}.homework-display .progress-input-content .current-progress{display:flex;flex-direction:column;gap:.25rem;padding:.875rem 1rem;border-radius:var(--app-radius-md);background:var(--app-color-surface-muted)}.homework-display .progress-input-content .input-display{display:flex;align-items:center;justify-content:center;padding:1.25rem;border-radius:var(--app-radius-md);background:var(--app-color-surface-muted)}.homework-display .progress-input-content .input-display .number{font-size:2.25rem;font-weight:700;color:var(--app-color-primary)}.homework-display .progress-input-content .keypad-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:.625rem}.homework-display .progress-input-content .keypad-button{padding:.875rem;border:1px solid var(--app-color-border-light);border-radius:var(--app-radius-md);background:var(--app-color-surface);font-size:1.125rem;font-weight:500;cursor:pointer;transition:background .15s ease,border-color .15s ease}.homework-display .progress-input-content .keypad-button:hover{border-color:var(--app-color-primary-focus);background:#faf5ff}.homework-display .progress-input-content .keypad-button.action-button{background:var(--app-color-primary);border-color:var(--app-color-primary);color:#fff}.homework-display .progress-input-content .keypad-button.action-button.disabled{opacity:.5;cursor:not-allowed}@media (max-width: 90rem){.homework-display .student-progress-grid{grid-template-columns:repeat(6,minmax(0,1fr))}}@media (max-width: 64rem){.homework-display .student-progress-grid{grid-template-columns:repeat(4,minmax(0,1fr))}}@media (max-width: 40rem){.homework-display .student-progress-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.homework-display .status-selector .status-button{flex:1 1 calc(50% - .25rem);min-width:0}}.p-dialog.app-dialog.spark-widget-dialog .p-dialog-content{max-height:min(92vh,52rem);overflow:hidden;padding:0!important}.p-dialog.app-dialog.spark-widget-dialog .app-pill-section{min-height:0}.p-dialog.app-dialog.spark-widget-dialog .app-pill-panel{min-height:0;padding:0}.p-dialog.app-dialog.spark-widget-dialog .spark-widget-dialog__panel{display:flex;flex-direction:column;padding:0 1.25rem 1rem}.p-dialog.app-dialog.spark-widget-dialog .spark-widget-dialog__panel .rewards-view{display:flex;flex-direction:column;flex:1;min-height:0}.p-dialog.app-dialog.spark-widget-dialog .spark-widget-dialog__toolbar{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:.75rem;padding:.75rem 0 1rem;border-bottom:1px solid var(--app-color-border-light)}.p-dialog.app-dialog.spark-widget-dialog .spark-widget-dialog__toolbar-title{margin:0;font-size:var(--app-font-size-sm);font-weight:600;color:var(--app-color-text-heading)}.p-dialog.app-dialog.spark-widget-dialog .spark-widget-dialog__toolbar-actions{display:flex;flex-wrap:wrap;gap:.5rem}.p-dialog.app-dialog.spark-widget-dialog .spark-widget-dialog__filter-btn.p-button{border:1px solid var(--app-color-border-light)!important;background:var(--app-color-surface)!important;color:var(--app-color-text-muted)!important;box-shadow:none!important}.p-dialog.app-dialog.spark-widget-dialog .spark-widget-dialog__filter-btn.p-button:hover{border-color:var(--app-color-primary-focus)!important;color:var(--app-color-primary-hover)!important;background:var(--app-color-primary-muted)!important}.p-dialog.app-dialog.spark-widget-dialog .spark-widget-dialog__filter-btn--active.p-button{border-color:var(--app-color-primary)!important;color:var(--app-color-primary-hover)!important;background:#faf5ff!important}.p-dialog.app-dialog.spark-widget-dialog .spark-widget-dialog__footer-shell{display:grid;grid-template-rows:0fr;transition:grid-template-rows .16s cubic-bezier(.22,1,.36,1)}.p-dialog.app-dialog.spark-widget-dialog .spark-widget-dialog__footer-shell--show{grid-template-rows:1fr}.p-dialog.app-dialog.spark-widget-dialog .spark-widget-dialog__footer{display:flex;align-items:center;justify-content:space-between;gap:.75rem;min-height:0;overflow:hidden;margin-top:.75rem;padding-top:.75rem;border-top:1px solid transparent;opacity:0;transform:translateY(.375rem);pointer-events:none;transition:opacity .12s ease,transform .16s cubic-bezier(.22,1,.36,1),border-color .12s ease}.p-dialog.app-dialog.spark-widget-dialog .spark-widget-dialog__footer-shell--show .spark-widget-dialog__footer{border-top-color:var(--app-color-border-light);opacity:1;transform:translateY(0);pointer-events:auto}.p-dialog.app-dialog.spark-widget-dialog .spark-widget-dialog__footer-label{font-size:var(--app-font-size-sm);color:var(--app-color-text-muted)}.p-dialog.app-dialog.spark-widget-dialog.spark-widget-dialog--quick .spark-widget-dialog__quick-award{padding:1.25rem 1.5rem 1.5rem}.p-dialog.app-dialog.spark-widget-dialog .spark-widget-dialog__quick-award-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.625rem}.p-dialog.app-dialog.spark-widget-dialog .spark-widget-dialog__quick-award-btn{padding:.875rem .5rem;border:1px solid var(--app-color-primary-focus);border-radius:var(--app-radius-md);background:#faf5ff;font-size:1.125rem;font-weight:700;color:var(--app-color-primary-hover);cursor:pointer;transition:background .15s ease,transform .15s ease}.p-dialog.app-dialog.spark-widget-dialog .spark-widget-dialog__quick-award-btn:hover{background:var(--app-color-primary-muted);transform:translateY(-1px)}.p-dialog.app-dialog.spark-widget-dialog.spark-widget-dialog--keypad .spark-widget-dialog__keypad-wrap{padding:1.25rem 1.5rem 1.5rem}.p-dialog.app-dialog.spark-widget-dialog .spark-widget-dialog__keypad-target{margin:0 0 1rem;font-size:var(--app-font-size-sm);color:var(--app-color-text-muted)}@media (min-width: 64rem){.p-dialog.app-dialog.spark-widget-dialog .spark-widget-dialog__panel .students-grid-view,.p-dialog.app-dialog.spark-widget-dialog .spark-widget-dialog__panel .students-grid{grid-template-columns:repeat(auto-fill,minmax(8.25rem,1fr))}}.p-dialog.app-dialog.dashboard-spark-award-dialog{display:flex!important;flex-direction:column!important;width:100vw!important;max-width:100vw!important;height:100dvh!important;max-height:100dvh!important;margin:0!important;top:0!important;left:0!important;transform:none!important;border-radius:0!important;border-left:none!important;border-right:none!important}.p-dialog.app-dialog.dashboard-spark-award-dialog .p-dialog-content{display:flex;flex-direction:column;flex:1 1 auto;min-height:0;max-height:none!important;overflow:hidden;padding:0!important}.p-dialog.app-dialog.dashboard-spark-award-dialog .p-dialog-footer{flex-shrink:0;justify-content:stretch!important}.p-dialog.app-dialog.dashboard-spark-award-dialog .dashboard-spark-award{display:flex;flex:1 1 auto;min-height:0;overflow:hidden}.p-dialog.app-dialog.dashboard-spark-award-dialog .dashboard-spark-award__sidebar{flex-shrink:0;width:min(18rem,100%);padding:1.25rem;border-right:1px solid var(--app-color-border-light);background:var(--app-color-surface-muted);display:flex;flex-direction:column;gap:1rem}.p-dialog.app-dialog.dashboard-spark-award-dialog .dashboard-spark-award__sidebar-title{margin:0;font-size:var(--app-font-size-sm);font-weight:600;color:var(--app-color-text-heading)}.p-dialog.app-dialog.dashboard-spark-award-dialog .dashboard-spark-award__presets{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.5rem}.p-dialog.app-dialog.dashboard-spark-award-dialog .dashboard-spark-award__preset{padding:.75rem .5rem;border:1px solid var(--app-color-border-light);border-radius:var(--app-radius-md);background:var(--app-color-surface);font-size:var(--app-font-size-sm);font-weight:600;color:var(--app-color-text-muted);cursor:pointer;transition:border-color .15s ease,background .15s ease,color .15s ease}.p-dialog.app-dialog.dashboard-spark-award-dialog .dashboard-spark-award__preset:hover{border-color:var(--app-color-primary-focus);color:var(--app-color-primary-hover);background:var(--app-color-primary-muted)}.p-dialog.app-dialog.dashboard-spark-award-dialog .dashboard-spark-award__preset--active{border-color:var(--app-color-primary);color:var(--app-color-primary-hover);background:#faf5ff}.p-dialog.app-dialog.dashboard-spark-award-dialog .dashboard-spark-award__custom{margin-top:auto}.p-dialog.app-dialog.dashboard-spark-award-dialog .dashboard-spark-award__main{flex:1 1 auto;min-width:0;min-height:0;display:flex;flex-direction:column;padding:1rem 1.25rem 1.25rem}.p-dialog.app-dialog.dashboard-spark-award-dialog .dashboard-spark-award__toolbar{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:.75rem;padding-bottom:.875rem;margin-bottom:.875rem;border-bottom:1px solid var(--app-color-border-light)}.p-dialog.app-dialog.dashboard-spark-award-dialog .dashboard-spark-award__toolbar-label{font-size:var(--app-font-size-sm);font-weight:600;color:var(--app-color-text-heading)}.p-dialog.app-dialog.dashboard-spark-award-dialog .dashboard-spark-award__toolbar-actions{display:flex;flex-wrap:wrap;gap:.5rem}.p-dialog.app-dialog.dashboard-spark-award-dialog .dashboard-spark-award__grid{flex:1 1 auto;min-height:0;display:grid;grid-template-columns:repeat(auto-fill,minmax(7.75rem,1fr));gap:.625rem;align-content:start;overflow-y:auto;padding:.125rem}.p-dialog.app-dialog.dashboard-spark-award-dialog .dashboard-spark-award__card{position:relative;display:flex;flex-direction:column;align-items:center;min-height:8.75rem;padding:1.375rem .375rem .5rem;border:1px solid var(--app-color-border-light);border-radius:var(--app-radius-lg);background:var(--app-color-surface);cursor:pointer;transition:border-color .2s ease,box-shadow .2s ease,transform .2s ease}.p-dialog.app-dialog.dashboard-spark-award-dialog .dashboard-spark-award__card:hover{border-color:color-mix(in srgb,var(--app-color-primary) 25%,var(--app-color-border-light));box-shadow:var(--app-shadow-sm);transform:translateY(-2px)}.p-dialog.app-dialog.dashboard-spark-award-dialog .dashboard-spark-award__card--selected{border-color:var(--app-color-primary);background:color-mix(in srgb,var(--app-color-primary) 6%,var(--app-color-surface));box-shadow:var(--app-shadow-sm)}.p-dialog.app-dialog.dashboard-spark-award-dialog .dashboard-spark-award__card-badge{position:absolute;top:.375rem;left:.375rem;z-index:2;width:1.25rem;height:1.25rem;border-radius:50%;background:var(--app-color-primary);color:#fff;font-size:.6875rem;font-weight:700;display:flex;align-items:center;justify-content:center}.p-dialog.app-dialog.dashboard-spark-award-dialog .dashboard-spark-award__avatar{position:relative;width:3.5rem;height:3.5rem;margin-bottom:.25rem;flex-shrink:0}.p-dialog.app-dialog.dashboard-spark-award-dialog .dashboard-spark-award__ring{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;transform:rotate(-90deg);pointer-events:none}.p-dialog.app-dialog.dashboard-spark-award-dialog .dashboard-spark-award__ring-bg{stroke:#e5e7eb}.p-dialog.app-dialog.dashboard-spark-award-dialog .dashboard-spark-award__ring-fill{stroke:var(--app-color-primary);transition:stroke-dashoffset .5s ease}.p-dialog.app-dialog.dashboard-spark-award-dialog .dashboard-spark-award__avatar-img{position:relative;z-index:1;width:2.75rem;height:2.75rem;margin:.375rem;border-radius:50%;-o-object-fit:cover;object-fit:cover;border:2px solid #fff}.p-dialog.app-dialog.dashboard-spark-award-dialog .dashboard-spark-award__avatar-check{position:absolute;top:0;right:0;bottom:0;left:0;z-index:2;display:flex;align-items:center;justify-content:center;border-radius:50%;background:color-mix(in srgb,var(--app-color-primary) 75%,transparent);color:#fff;font-size:1.125rem;opacity:0;transition:opacity .2s ease}.p-dialog.app-dialog.dashboard-spark-award-dialog .dashboard-spark-award__card--selected .dashboard-spark-award__avatar-check{opacity:1}.p-dialog.app-dialog.dashboard-spark-award-dialog .dashboard-spark-award__card-name{max-width:100%;font-size:var(--app-font-size-sm);font-weight:600;color:var(--app-color-text-heading);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.p-dialog.app-dialog.dashboard-spark-award-dialog .dashboard-spark-award__card--selected .dashboard-spark-award__card-name{color:var(--app-color-primary-hover)}.p-dialog.app-dialog.dashboard-spark-award-dialog .dashboard-spark-award__card-level{font-size:.6875rem;color:var(--app-color-text-muted)}.p-dialog.app-dialog.dashboard-spark-award-dialog .dashboard-spark-award__card-points{margin-top:.125rem;font-size:.6875rem;font-weight:700;color:var(--app-color-primary-hover)}.p-dialog.app-dialog.dashboard-spark-award-dialog .dashboard-spark-award__card-points .pi{font-size:.625rem;margin-right:.125rem}.p-dialog.app-dialog.dashboard-spark-award-dialog .dashboard-spark-award__footer{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:.75rem;width:100%}.p-dialog.app-dialog.dashboard-spark-award-dialog .dashboard-spark-award__footer-hint{font-size:var(--app-font-size-sm);color:var(--app-color-text-muted)}.p-dialog.app-dialog.dashboard-spark-award-dialog .dashboard-spark-award__footer-hint strong{color:var(--app-color-primary-hover);font-weight:700}.p-dialog.app-dialog.dashboard-spark-award-dialog .dashboard-spark-award__footer-actions{display:flex;flex-wrap:wrap;align-items:center;gap:.5rem;margin-left:auto}@media (max-width: 48rem){.p-dialog.app-dialog.dashboard-spark-award-dialog .dashboard-spark-award{flex-direction:column}.p-dialog.app-dialog.dashboard-spark-award-dialog .dashboard-spark-award__sidebar{width:100%;border-right:none;border-bottom:1px solid var(--app-color-border-light);padding:1rem 1.25rem}.p-dialog.app-dialog.dashboard-spark-award-dialog .dashboard-spark-award__custom{margin-top:0}.p-dialog.app-dialog.dashboard-spark-award-dialog .dashboard-spark-award__presets{grid-template-columns:repeat(4,minmax(0,1fr))}}@media (min-width: 64rem){.p-dialog.app-dialog.dashboard-spark-award-dialog .dashboard-spark-award__grid{grid-template-columns:repeat(auto-fill,minmax(8.25rem,1fr))}}.p-dialog.app-dialog.seating-widget-dialog:not(.seating-widget-dialog--nested) .p-dialog-content{max-height:min(92vh,52rem);overflow:hidden;padding:0!important}.p-dialog.app-dialog.seating-widget-dialog .seating-widget-dialog__tabs .tab-content{max-height:min(68vh,34rem);overflow-y:auto}.p-dialog.app-dialog.seating-widget-dialog.seating-widget-dialog--nested .p-dialog-content{padding:0 1.25rem 1rem!important}.p-dialog.app-dialog.seating-widget-dialog .seating-widget-dialog__section{padding:.875rem;border:1px solid var(--app-color-border-light);border-radius:var(--app-radius-lg);background:var(--app-color-surface)}.p-dialog.app-dialog.seating-widget-dialog .seating-widget-dialog__empty{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:.5rem;padding:2.5rem 1rem;text-align:center;color:var(--app-color-text-muted)}.p-dialog.app-dialog.seating-widget-dialog .seating-widget-dialog__empty .pi{font-size:2rem;color:var(--app-color-border-light)}.p-dialog.app-dialog.seating-widget-dialog .seating-widget-dialog__empty h3{margin:0;font-size:var(--app-font-size-md, 1rem);font-weight:600;color:var(--app-color-text-heading)}.p-dialog.app-dialog.seating-widget-dialog .seating-widget-dialog__empty p{margin:0;font-size:var(--app-font-size-sm);max-width:24rem}.p-dialog.app-dialog.seating-widget-dialog .seating-widget-dialog__empty--compact{padding:1.5rem .75rem}.p-dialog.app-dialog.seating-widget-dialog .seating-widget-dialog__empty .p-button,.p-dialog.app-dialog.seating-widget-dialog .seating-widget-dialog__empty .p-button .p-button-label,.p-dialog.app-dialog.seating-widget-dialog .seating-widget-dialog__empty .p-button .p-button-icon{opacity:1}.p-dialog.app-dialog.seating-widget-dialog .seating-widget-dialog__empty--inline{grid-column:1 / -1}.p-dialog.app-dialog.seating-widget-dialog .seating-widget-dialog__hint{font-size:var(--app-font-size-xs, .75rem);color:var(--app-color-text-muted)}.p-dialog.app-dialog.seating-widget-dialog .seating-widget-dialog__unassigned{min-height:5.5rem;padding:.375rem;border-radius:var(--app-radius-md);transition:background .2s ease,border-color .2s ease}.p-dialog.app-dialog.seating-widget-dialog .seating-widget-dialog__unassigned--active{border:2px dashed var(--app-color-primary);background:#faf5ff}.p-dialog.app-dialog.seating-widget-dialog .seating-widget-dialog__unassigned .student-avatar-card{min-height:0;padding:.625rem .375rem .3rem}.p-dialog.app-dialog.seating-widget-dialog .seating-widget-dialog__unassigned .student-avatar-card .integrated-avatar{margin-bottom:.125rem}.p-dialog.app-dialog.seating-widget-dialog .students-grid,.p-dialog.app-dialog.seating-widget-dialog .students-grid-view{display:grid;grid-template-columns:repeat(auto-fill,minmax(7.75rem,1fr));gap:.625rem;align-content:start}.p-dialog.app-dialog.seating-widget-dialog .seating-widget-dialog__btn-primary.p-button,.p-dialog.app-dialog.seating-widget-dialog .seating-widget-dialog__btn-outline.p-button,.p-dialog.app-dialog.seating-widget-dialog .seating-widget-dialog__btn-text.p-button{padding:.35rem .65rem!important;font-size:.75rem!important;font-weight:600!important;border-radius:var(--app-radius-md)!important;gap:.35rem!important}.p-dialog.app-dialog.seating-widget-dialog .seating-widget-dialog__btn-primary.p-button .p-button-label,.p-dialog.app-dialog.seating-widget-dialog .seating-widget-dialog__btn-outline.p-button .p-button-label,.p-dialog.app-dialog.seating-widget-dialog .seating-widget-dialog__btn-text.p-button .p-button-label{font-size:.75rem!important;font-weight:600!important}.p-dialog.app-dialog.seating-widget-dialog .seating-widget-dialog__btn-primary.p-button .p-button-icon,.p-dialog.app-dialog.seating-widget-dialog .seating-widget-dialog__btn-outline.p-button .p-button-icon{font-size:.75rem!important}.p-dialog.app-dialog.seating-widget-dialog .seating-widget-dialog__btn-primary.p-button{border:1px solid var(--app-color-primary)!important;background:var(--app-color-primary)!important;color:#fff!important;box-shadow:none!important}.p-dialog.app-dialog.seating-widget-dialog .seating-widget-dialog__btn-primary.p-button:enabled:hover{border-color:var(--app-color-primary-hover)!important;background:var(--app-color-primary-hover)!important}.p-dialog.app-dialog.seating-widget-dialog .seating-widget-dialog__btn-outline.p-button{border:1px solid var(--app-color-primary-focus)!important;background:#faf5ff!important;color:var(--app-color-primary-hover)!important;box-shadow:none!important}.p-dialog.app-dialog.seating-widget-dialog .seating-widget-dialog__btn-outline.p-button:enabled:hover{border-color:var(--app-color-primary)!important;background:var(--app-color-primary-muted)!important}.p-dialog.app-dialog.seating-widget-dialog .seating-widget-dialog__empty .seating-widget-dialog__btn-outline.p-button,.p-dialog.app-dialog.seating-widget-dialog .seating-widget-dialog__empty .seating-widget-dialog__btn-outline.p-button .p-button-label,.p-dialog.app-dialog.seating-widget-dialog .seating-widget-dialog__empty .seating-widget-dialog__btn-outline.p-button .p-button-icon{border-color:var(--app-color-primary)!important;background:#faf5ff!important;color:var(--app-color-primary-hover)!important}.p-dialog.app-dialog.seating-widget-dialog .seating-widget-dialog__empty .seating-widget-dialog__btn-primary.p-button,.p-dialog.app-dialog.seating-widget-dialog .seating-widget-dialog__empty .seating-widget-dialog__btn-primary.p-button .p-button-label,.p-dialog.app-dialog.seating-widget-dialog .seating-widget-dialog__empty .seating-widget-dialog__btn-primary.p-button .p-button-icon{border-color:var(--app-color-primary)!important;background:var(--app-color-primary)!important;color:#fff!important}.p-dialog.app-dialog.seating-widget-dialog .seating-widget-dialog__btn-text.p-button{color:var(--app-color-text-muted)!important}.p-dialog.app-dialog.seating-widget-dialog .seating-widget-dialog__btn-text.p-button:enabled:hover{color:var(--app-color-primary-hover)!important;background:var(--app-color-primary-muted)!important}.p-dialog.app-dialog.seating-widget-dialog .seating-widget-dialog__icon-btn.p-button{width:2rem;height:2rem;padding:0!important;border-radius:var(--app-radius-md)!important;color:var(--app-color-text-muted)!important}.p-dialog.app-dialog.seating-widget-dialog .seating-widget-dialog__icon-btn.p-button:enabled:hover{color:var(--app-color-primary-hover)!important;background:var(--app-color-primary-muted)!important}.p-dialog.app-dialog.seating-widget-dialog .seating-widget-dialog__icon-btn--danger.p-button:enabled:hover{color:#dc2626!important;background:#fef2f2!important}.p-dialog.app-dialog.seating-widget-dialog .seating-widget-dialog__tab-add{border:1px dashed var(--app-color-border-light);color:var(--app-color-primary-hover);background:transparent}.p-dialog.app-dialog.seating-widget-dialog .seating-widget-dialog__tab-add:hover{border-color:var(--app-color-primary-focus);background:#faf5ff}.p-dialog.app-dialog.seating-widget-dialog .seating-widget-dialog__group-students{display:flex;flex-direction:column;gap:.375rem;max-height:none}.p-dialog.app-dialog.seating-widget-dialog .seating-widget-dialog__group-students .student-avatar-card{flex-direction:row;align-items:center;gap:.5rem;min-height:0;height:auto;padding:.35rem 1.75rem .35rem .4rem}.p-dialog.app-dialog.seating-widget-dialog .seating-widget-dialog__group-students .seating-student-card__remove{top:50%;right:.35rem;transform:translateY(-50%)}.p-dialog.app-dialog.seating-widget-dialog .seating-widget-dialog__group-students .student-avatar-card .integrated-avatar{width:2rem;height:2rem;margin-bottom:0}.p-dialog.app-dialog.seating-widget-dialog .seating-widget-dialog__group-students .student-avatar-card .student-avatar{width:1.75rem;height:1.75rem;border-width:1.5px}.p-dialog.app-dialog.seating-widget-dialog .seating-widget-dialog__group-students .student-avatar-card .student-info{flex:1;align-items:flex-start;min-width:0;text-align:left}.p-dialog.app-dialog.seating-widget-dialog .seating-widget-dialog__group-students .student-avatar-card .student-name{font-size:.8125rem;line-height:1.25}.p-dialog.app-dialog.seating-widget-dialog .seating-widget-dialog__group-students .student-avatar-card.selected{background:color-mix(in srgb,var(--app-color-primary) 5%,var(--app-color-surface))}.p-dialog.app-dialog.seating-widget-dialog .student-avatar-card{position:relative;display:flex;flex-direction:column;align-items:center;width:100%;min-width:0;min-height:8.75rem;padding:1.375rem .375rem .5rem;border:1px solid var(--app-color-border-light);border-radius:var(--app-radius-lg);background:var(--app-color-surface);cursor:grab;transition:border-color .2s ease,box-shadow .2s ease,transform .2s ease;overflow:hidden}.p-dialog.app-dialog.seating-widget-dialog .student-avatar-card:hover{border-color:color-mix(in srgb,var(--app-color-primary) 25%,var(--app-color-border-light));box-shadow:var(--app-shadow-sm);transform:translateY(-1px)}.p-dialog.app-dialog.seating-widget-dialog .student-avatar-card.selected{border-color:var(--app-color-primary);background:color-mix(in srgb,var(--app-color-primary) 6%,var(--app-color-surface))}.p-dialog.app-dialog.seating-widget-dialog .student-avatar-card .integrated-avatar{position:relative;display:flex;align-items:center;justify-content:center;flex-shrink:0;width:3.5rem;height:3.5rem;margin-bottom:.25rem}.p-dialog.app-dialog.seating-widget-dialog .student-avatar-card .student-avatar{position:relative;width:2.75rem;height:2.75rem;border:2px solid #fff;border-radius:9999px;-o-object-fit:cover;object-fit:cover;box-shadow:0 2px 5px #0000001a;z-index:10}.p-dialog.app-dialog.seating-widget-dialog .student-avatar-card .student-info{display:flex;flex-direction:column;align-items:center;width:100%;text-align:center}.p-dialog.app-dialog.seating-widget-dialog .student-avatar-card .student-name{font-size:var(--app-font-size-sm);font-weight:600;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:100%;color:var(--app-color-text-heading)}.p-dialog.app-dialog.seating-widget-dialog .student-avatar-card.selected .student-name{color:var(--app-color-primary-hover)}.p-dialog.app-dialog.seating-widget-dialog .seating-widget-dialog__form{padding:1rem 0 .25rem}.p-dialog.app-dialog.seating-widget-dialog .student-option{border:1px solid var(--app-color-border-light);border-radius:var(--app-radius-md);transition:border-color .15s ease,background .15s ease}.p-dialog.app-dialog.seating-widget-dialog .student-option:hover{border-color:var(--app-color-primary-focus);background:#faf5ff}@media (min-width: 64rem){.p-dialog.app-dialog.seating-widget-dialog .students-grid,.p-dialog.app-dialog.seating-widget-dialog .students-grid-view{grid-template-columns:repeat(auto-fill,minmax(8.25rem,1fr))}}.p-dialog.app-dialog.timer-widget-dialog .p-dialog-content{padding:0!important}.p-dialog.app-dialog.timer-widget-dialog .timer-widget-dialog__body{gap:.75rem}.p-dialog.app-dialog.timer-widget-dialog .timer-widget-dialog__hero{display:flex;flex-direction:column;align-items:center;gap:.625rem;padding:1.25rem 1rem 1rem;border:1px solid var(--app-color-border-light);border-radius:var(--app-radius-lg);background:#faf5ff;text-align:center}.p-dialog.app-dialog.timer-widget-dialog .timer-widget-dialog__time{margin:0;padding:.25rem .5rem;border:none;background:transparent;font-size:clamp(3rem,10vw,3.75rem);font-weight:700;font-variant-numeric:tabular-nums;line-height:1;color:var(--app-color-primary-hover);cursor:pointer;transition:opacity .15s ease,color .15s ease}.p-dialog.app-dialog.timer-widget-dialog .timer-widget-dialog__time:hover{opacity:.85}.p-dialog.app-dialog.timer-widget-dialog .timer-widget-dialog__time--warning{color:#dc2626;animation:timer-widget-time-pulse 2s ease-in-out infinite}@keyframes timer-widget-time-pulse{0%,to{color:#dc2626}50%{color:#f87171}}.p-dialog.app-dialog.timer-widget-dialog .timer-widget-dialog__set-time{display:inline-flex;align-items:center;gap:.4rem;padding:.4rem .85rem;border:1px solid var(--app-color-primary);border-radius:9999px;background:var(--app-color-primary);font-size:.75rem;font-weight:600;color:#fff;cursor:pointer;transition:background .15s ease,transform .15s ease,box-shadow .15s ease}.p-dialog.app-dialog.timer-widget-dialog .timer-widget-dialog__set-time:hover{background:var(--app-color-primary-hover);transform:translateY(-1px);box-shadow:var(--app-shadow-sm)}.p-dialog.app-dialog.timer-widget-dialog .timer-widget-dialog__status{margin:0;font-size:var(--app-font-size-sm);color:var(--app-color-text-muted)}.p-dialog.app-dialog.timer-widget-dialog .timer-widget-dialog__presets{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:.5rem}.p-dialog.app-dialog.timer-widget-dialog .timer-widget-dialog__preset{padding:.55rem .35rem;border:1px solid var(--app-color-border-light);border-radius:var(--app-radius-md);background:var(--app-color-surface);font-size:var(--app-font-size-sm);font-weight:600;color:var(--app-color-text-heading);cursor:pointer;transition:border-color .15s ease,background .15s ease,color .15s ease}.p-dialog.app-dialog.timer-widget-dialog .timer-widget-dialog__preset:hover{border-color:var(--app-color-primary-focus);background:#faf5ff;color:var(--app-color-primary-hover)}.p-dialog.app-dialog.timer-widget-dialog .timer-widget-dialog__volume{display:flex;align-items:center;gap:.625rem}.p-dialog.app-dialog.timer-widget-dialog .timer-widget-dialog__volume .pi{flex-shrink:0;font-size:1rem;color:var(--app-color-text-muted)}.p-dialog.app-dialog.timer-widget-dialog .timer-widget-dialog__volume-slider{flex:1;min-width:0}.p-dialog.app-dialog.timer-widget-dialog .timer-widget-dialog__volume-slider.p-slider .p-slider-handle{border-color:var(--app-color-primary)!important;background:var(--app-color-primary)!important}.p-dialog.app-dialog.timer-widget-dialog .timer-widget-dialog__volume-slider.p-slider .p-slider-range{background:var(--app-color-primary)!important}.p-dialog.app-dialog.timer-widget-dialog .timer-widget-dialog__volume-value{flex-shrink:0;min-width:2.5rem;font-size:var(--app-font-size-sm);font-weight:500;color:var(--app-color-text-muted);text-align:right}.p-dialog.app-dialog.timer-widget-dialog .timer-widget-dialog__controls{display:flex;align-items:center;justify-content:center;gap:.625rem}.p-dialog.app-dialog.timer-widget-dialog .timer-widget-dialog__control{display:inline-flex;align-items:center;justify-content:center;width:2.75rem;height:2.75rem;padding:0;border-radius:9999px;border:1px solid var(--app-color-border-light);background:var(--app-color-surface);color:var(--app-color-text-muted);cursor:pointer;transition:border-color .15s ease,background .15s ease,color .15s ease,transform .15s ease}.p-dialog.app-dialog.timer-widget-dialog .timer-widget-dialog__control .pi{font-size:1.125rem}.p-dialog.app-dialog.timer-widget-dialog .timer-widget-dialog__control:hover{border-color:var(--app-color-primary-focus);background:#faf5ff;color:var(--app-color-primary-hover)}.p-dialog.app-dialog.timer-widget-dialog .timer-widget-dialog__control--primary{width:3.25rem;height:3.25rem;border:none;color:#fff}.p-dialog.app-dialog.timer-widget-dialog .timer-widget-dialog__control--play{background:#16a34a}.p-dialog.app-dialog.timer-widget-dialog .timer-widget-dialog__control--play:hover{background:#15803d;color:#fff}.p-dialog.app-dialog.timer-widget-dialog .timer-widget-dialog__control--pause{background:#dc2626}.p-dialog.app-dialog.timer-widget-dialog .timer-widget-dialog__control--pause:hover{background:#b91c1c;color:#fff}.p-dialog.app-dialog.timer-number-pad-dialog .p-dialog-content{padding:1.25rem 1.5rem 1.5rem!important}.p-dialog.app-dialog.timer-number-pad-dialog .p-dialog-header{padding-bottom:.75rem!important}.board-display{position:fixed;top:0;right:0;bottom:0;left:0;z-index:10000;display:flex;flex-direction:column;background:linear-gradient(165deg,#faf5ff,#f8fafc 45%,#f0f9ff);color:var(--app-color-text-heading)}.board-display__header{display:flex;align-items:center;justify-content:space-between;gap:1rem;flex-shrink:0;padding:1rem 1.5rem;border-bottom:1px solid var(--app-color-border-light);background:#ffffffd9;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}.board-display__heading{min-width:0}.board-display__title{margin:0;font-size:clamp(1.375rem,2.5vw,2rem);font-weight:700;line-height:1.2}.board-display__subtitle{margin:.2rem 0 0;font-size:var(--app-font-size-sm);font-weight:500;color:var(--app-color-text-muted)}.board-display__exit{display:inline-flex;align-items:center;gap:.5rem;flex-shrink:0;padding:.5rem 1rem;border:1px solid var(--app-color-border-light);border-radius:var(--app-radius-md);background:var(--app-color-surface);font-size:var(--app-font-size-sm);font-weight:500;color:var(--app-color-text-muted);cursor:pointer;transition:background .15s ease,color .15s ease,border-color .15s ease}.board-display__exit:hover{border-color:var(--app-color-primary-focus);background:#faf5ff;color:var(--app-color-primary-hover)}.board-display__main{flex:1;min-height:0;overflow:auto;padding:clamp(1.25rem,3vw,2.5rem) clamp(1.5rem,4vw,3.5rem) 2rem}.board-display__central-idea{margin:0 0 clamp(1rem,2vw,1.5rem);padding:.5rem .75rem;border-left:3px solid var(--app-color-primary);font-size:clamp(.875rem,1.5vw,1.0625rem);line-height:1.45;color:var(--app-color-text-muted)}.board-display__central-idea-label{display:block;margin-bottom:.2rem;font-size:.6875rem;font-weight:600;letter-spacing:.06em;text-transform:uppercase;color:var(--app-color-primary-hover)}.board-display__date-block{margin-bottom:clamp(1.5rem,3vw,2.5rem);padding-bottom:clamp(1rem,2vw,1.5rem);border-bottom:2px solid rgba(139,92,246,.15)}.board-display__date-label{margin:0 0 .35rem;font-size:clamp(1rem,1.75vw,1.25rem);font-weight:600;letter-spacing:.04em;text-transform:uppercase;color:var(--app-color-primary-hover)}.board-display__date{font-size:clamp(3.25rem,10vw,6.5rem);font-weight:700;line-height:1.05;letter-spacing:-.02em;color:#111827;font-variant-numeric:tabular-nums}.board-display__layout{display:flex;flex-direction:column;gap:clamp(1.5rem,3vw,2.5rem)}.board-display__layout--with-aside{display:grid;grid-template-columns:minmax(0,1.35fr) minmax(16rem,.85fr);gap:clamp(1.5rem,3vw,2.5rem);align-items:start}.board-display__section-title{margin:0 0 clamp(.75rem,1.5vw,1.25rem);font-size:clamp(1.5rem,3vw,2.25rem);font-weight:600;color:var(--app-color-primary-hover);line-height:1.25}.board-display__goals-list{list-style:none;margin:0;padding:0}.board-display__goal-item{font-size:clamp(2rem,5vw,3.25rem);font-weight:500;line-height:1.35;color:#111827;padding:clamp(.65rem,1.5vw,1rem) 0;border-bottom:1px solid rgba(0,0,0,.06)}.board-display__goal-item:last-child{border-bottom:none;padding-bottom:0}.board-display__criteria-block{margin-top:clamp(1.25rem,2.5vw,2rem);padding-top:clamp(1rem,2vw,1.5rem);border-top:2px solid rgba(139,92,246,.12)}.board-display__criteria-title{margin:0 0 clamp(.5rem,1vw,.75rem);font-size:clamp(1.25rem,2.5vw,1.75rem);font-weight:600;color:var(--app-color-text-heading);line-height:1.25}.board-display__empty{font-size:clamp(1.25rem,2.5vw,1.75rem);color:var(--app-color-text-muted);font-style:italic}.board-display__aside{display:flex;flex-direction:column;gap:1rem;min-width:0}.board-display__panel{padding:clamp(1rem,2vw,1.25rem);border:1px solid var(--app-color-border-light);border-radius:var(--app-radius-lg);background:#ffffffb8;box-shadow:0 1px 3px #0f172a0a}.board-display__panel--bell{border-color:#eab30859;background:#fffbebe6}.board-display__panel-title{display:flex;align-items:center;gap:.5rem;margin:0 0 .75rem;font-size:clamp(1rem,1.75vw,1.25rem);font-weight:600;color:var(--app-color-text-heading)}.board-display__panel-title .pi{color:#ca8a04}.board-display__bell-title{margin:0 0 .5rem;font-size:clamp(1.125rem,2vw,1.5rem);font-weight:600;color:#1f2937}.board-display__bell-content{margin:0;font-size:clamp(1.125rem,2.25vw,1.625rem);line-height:1.45;color:#374151}.board-display__timer{margin-top:1rem;padding-top:1rem;border-top:1px solid rgba(0,0,0,.08)}.board-display__timer-head{display:flex;align-items:baseline;justify-content:space-between;gap:.75rem;margin-bottom:.5rem;font-size:var(--app-font-size-sm);font-weight:500;color:var(--app-color-text-muted)}.board-display__timer-value{font-size:clamp(1.75rem,4vw,2.75rem);font-weight:700;font-variant-numeric:tabular-nums;color:var(--app-color-primary-hover)}.board-display__timer-value--warn{color:#ca8a04}.board-display__timer-value--danger{color:#dc2626}.board-display__timer-track{height:.625rem;border-radius:9999px;background:#00000014;overflow:hidden}.board-display__timer-fill{height:100%;border-radius:9999px;background:var(--app-color-primary);transition:width .3s ease,background .2s ease}.board-display__timer-fill--warn{background:#eab308}.board-display__timer-fill--danger{background:#ef4444}.board-display__timer-actions{display:flex;flex-wrap:wrap;gap:.5rem;margin-top:.75rem}.board-display__timer-btn{display:inline-flex;align-items:center;gap:.4rem;padding:.45rem .85rem;border:1px solid var(--app-color-border-light);border-radius:var(--app-radius-md);background:var(--app-color-surface);font-size:var(--app-font-size-sm);font-weight:600;color:var(--app-color-text-heading);cursor:pointer;transition:background .15s ease,border-color .15s ease}.board-display__timer-btn--play{border-color:#16a34a;background:#16a34a;color:#fff}.board-display__timer-btn--play:hover{background:#15803d}.board-display__timer-btn--pause{border-color:#dc2626;background:#dc2626;color:#fff}.board-display__timer-btn--pause:hover{background:#b91c1c}.board-display__timer-btn--reset:hover{border-color:var(--app-color-primary-focus);background:#faf5ff}.board-display__criteria-list,.board-display__materials-list{list-style:none;margin:0;padding:0}.board-display__primary .board-display__criterion-item{font-size:clamp(1.5rem,3.5vw,2.25rem);font-weight:400;line-height:1.4;color:#374151;padding:clamp(.4rem,1vw,.65rem) 0;border-bottom:1px solid rgba(0,0,0,.06)}.board-display__primary .board-display__criterion-item:last-child{border-bottom:none;padding-bottom:0}.board-display__material-item{display:flex;align-items:center;gap:.625rem;font-size:clamp(1rem,1.75vw,1.25rem);color:#4b5563;padding:.35rem 0}.board-display__material-item .pi{font-size:1.125rem;color:var(--app-color-primary)}.board-display-fade-enter-active,.board-display-fade-leave-active{transition:opacity .2s ease}.board-display-fade-enter-from,.board-display-fade-leave-to{opacity:0}@media (max-width: 56rem){.board-display__layout--with-aside{grid-template-columns:1fr}}.p-dialog.app-dialog.central-idea-widget-dialog .p-dialog-content{padding:0!important}.p-dialog.app-dialog.central-idea-widget-dialog .learning-widget-dialog__body{gap:.75rem;padding:1rem 1.25rem 1.25rem}.p-dialog.app-dialog.central-idea-widget-dialog .central-idea-widget-dialog__understandings{display:flex;flex-direction:column;gap:.5rem}.p-dialog.app-dialog.central-idea-widget-dialog .central-idea-widget-dialog__understanding-row{display:flex;align-items:center;gap:.5rem}.p-dialog.app-dialog.central-idea-widget-dialog .central-idea-widget-dialog__understanding-input{flex:1;min-width:0}.p-dialog.app-dialog.central-idea-widget-dialog .central-idea-widget-dialog__understanding-delete.p-button{flex-shrink:0;width:2.25rem;height:2.25rem;padding:0;border:1px solid var(--app-color-border-light);border-radius:var(--app-radius-md);background:var(--app-color-surface);color:var(--app-color-text-muted)}.p-dialog.app-dialog.central-idea-widget-dialog .central-idea-widget-dialog__understanding-delete.p-button:hover:not(:disabled){border-color:#fecaca;background:#fef2f2;color:#dc2626}.p-dialog.app-dialog.central-idea-widget-dialog .central-idea-widget-dialog__understanding-delete.p-button:disabled{opacity:.4;cursor:not-allowed}.p-dialog.app-dialog.central-idea-widget-dialog .central-idea-widget-dialog__understanding-delete.p-button .pi{font-size:.875rem}.p-dialog.app-dialog.central-idea-widget-dialog .central-idea-widget-dialog__add-understanding{display:inline-flex;align-items:center;gap:.4rem;margin-top:.25rem;padding:.4rem .65rem;border:1px dashed var(--app-color-border-light);border-radius:var(--app-radius-md);background:transparent;font-size:var(--app-font-size-sm);font-weight:600;color:var(--app-color-primary-hover);cursor:pointer;transition:border-color .15s ease,background .15s ease,color .15s ease}.p-dialog.app-dialog.central-idea-widget-dialog .central-idea-widget-dialog__add-understanding:hover{border-color:var(--app-color-primary-focus);background:#faf5ff;color:var(--app-color-primary)}.p-dialog.app-dialog.central-idea-widget-dialog .central-idea-widget-dialog__delete.p-button{min-width:auto}.class-timetable-page{display:flex;flex-direction:column;gap:1.25rem;width:100%}.timetable-page-header{display:flex;flex-wrap:wrap;align-items:flex-start;justify-content:space-between;gap:1rem;padding:1.25rem 1.5rem;background:linear-gradient(135deg,#faf5ff,#f5f3ff,#f9fafb);border:1px solid #ede9fe;border-radius:.75rem;box-shadow:0 1px 3px #0000000f,0 1px 2px #0000000a}.timetable-page-header__main{display:flex;align-items:flex-start;gap:1rem;flex:1;min-width:0}.timetable-page-header__icon{flex-shrink:0;width:2.5rem;height:2.5rem;display:flex;align-items:center;justify-content:center;border-radius:.625rem;background:var(--app-color-primary);color:#fff;font-size:1rem}.timetable-page-header__title{margin:0;font-size:1.25rem;font-weight:600;color:#1f2937;line-height:1.3}.timetable-page-header__subtitle{margin:.25rem 0 0;font-size:.8125rem;color:#6b7280;line-height:1.45}.timetable-page-header__actions{display:flex;flex-wrap:wrap;gap:.5rem;align-items:center}.timetable-back-btn.p-button{color:#6b7280!important}.timetable-back-btn.p-button:hover{color:var(--app-color-primary-hover)!important;background:#f5f3ff!important}.timetable-primary-btn.p-button{background:var(--app-color-primary)!important;border:none!important;border-radius:.5rem!important;font-weight:600!important;font-size:.8125rem!important;box-shadow:0 1px 2px #8b5cf640!important}.timetable-primary-btn.p-button:hover:not(:disabled){background:var(--app-color-primary-hover)!important}.timetable-outlined-btn.p-button{border-radius:.5rem!important;font-size:.8125rem!important;border-color:#e5e7eb!important;color:#374151!important;background:#fff!important;background-image:none!important;box-shadow:none!important}.timetable-outlined-btn.p-button:hover:not(:disabled){border-color:#c4b5fd!important;color:var(--app-color-primary-hover)!important;background:#faf5ff!important;transform:none!important}.timetable-nav{display:flex;flex-wrap:wrap;gap:.25rem;padding:.25rem;background:#f3f4f6;border-radius:.75rem;width:100%}.timetable-nav__tab{display:inline-flex;align-items:center;gap:.5rem;padding:.5rem .875rem;border:none;border-radius:.5rem;background:transparent;color:#6b7280;font-size:.875rem;font-weight:500;cursor:pointer;transition:background .15s,color .15s}.timetable-nav__tab:hover{color:var(--app-color-primary-hover);background:#ede9fe}.timetable-nav__tab--active{background:#fff;color:var(--app-color-primary-hover);box-shadow:0 1px 2px #0000000f}.timetable-nav--days{margin-top:.25rem}.timetable-nav--days .timetable-nav__tab{font-size:.8125rem;padding:.4rem .75rem}.timetable-panel{display:flex;flex-direction:column;gap:1rem}.timetable-section-card.p-card{margin:0;border:1px solid #f3f4f6;border-radius:.75rem;box-shadow:0 1px 3px #0000000f,0 1px 2px #0000000a;overflow:hidden}.timetable-section-card .p-card-body{padding:0}.timetable-section-card .p-card-content{padding:1.25rem 1.5rem 1.5rem}.timetable-day-schedule__header{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:.75rem;margin-bottom:1rem}.timetable-day-schedule__title{margin:0;font-size:1rem;font-weight:600;color:#374151}.class-timetable-page .p-inputtext,.class-timetable-page .p-dropdown,.class-timetable-page .p-calendar .p-inputtext{border-radius:.5rem!important;border-color:#e5e7eb!important;font-size:.875rem}.class-timetable-page .p-inputtext:enabled:focus,.class-timetable-page .p-dropdown:not(.p-disabled).p-focus,.class-timetable-page .p-calendar .p-inputtext:enabled:focus{border-color:#c4b5fd!important;box-shadow:0 0 0 3px #8b5cf61f!important}.class-timetable-page .timetable-datatable .p-datatable-header{background:#f9fafb;border-color:#f3f4f6}.class-timetable-page .timetable-datatable .p-column-header-content{font-weight:600;color:#374151;font-size:.8125rem}.class-timetable-page .timetable-action-btn.p-button{width:2rem!important;height:2rem!important;color:#9ca3af!important}.class-timetable-page .timetable-action-btn.p-button:hover{color:var(--app-color-primary-hover)!important;background:#f5f3ff!important}.class-timetable-page .timetable-action-btn--danger.p-button:hover{color:#dc2626!important;background:#fef2f2!important}.class-timetable-page .timetable-assign-btn.p-button{font-size:.8125rem!important;border-color:#c4b5fd!important;color:var(--app-color-primary-hover)!important;background:#faf5ff!important;background-image:none!important}.class-timetable-page .timetable-assign-btn.p-button:hover{background:#f5f3ff!important;border-color:var(--app-color-primary)!important}.timetable-empty{padding:2.5rem 1.5rem;text-align:center}.timetable-empty__icon{width:3rem;height:3rem;margin:0 auto 1rem;display:flex;align-items:center;justify-content:center;border-radius:9999px;background:#f3f4f6;color:#9ca3af;font-size:1.25rem}.timetable-empty__title{margin:0;font-weight:600;color:#374151}.timetable-empty__text{margin:.5rem 0 1.25rem;font-size:.875rem;color:#9ca3af}.class-timetable-page .p-paginator .p-paginator-pages .p-paginator-page.p-highlight{background:var(--app-color-primary);border-color:var(--app-color-primary)}.p-dialog.app-dialog.timetable-dialog .timetable-dialog__confirm{display:flex;align-items:flex-start;gap:.75rem;margin:0;font-size:.875rem;line-height:1.5;color:#374151}.p-dialog.app-dialog.timetable-dialog .timetable-dialog__confirm .pi{flex-shrink:0;margin-top:.125rem;font-size:1.125rem;color:#d97706}.p-dialog.app-dialog.timetable-dialog .timetable-dialog__confirm-detail{display:block;margin-top:.35rem;font-size:.8125rem;color:#6b7280;line-height:1.45}.class-jobs-page{display:flex;flex-direction:column;gap:1.25rem;width:100%}.jobs-page-header{display:flex;flex-wrap:wrap;align-items:flex-start;justify-content:space-between;gap:1rem;padding:1.25rem 1.5rem;background:linear-gradient(135deg,#faf5ff,#f5f3ff,#f9fafb);border:1px solid #ede9fe;border-radius:.75rem;box-shadow:0 1px 3px #0000000f,0 1px 2px #0000000a}.jobs-page-header__main{display:flex;align-items:flex-start;gap:1rem;flex:1;min-width:0}.jobs-page-header__icon{flex-shrink:0;width:2.5rem;height:2.5rem;display:flex;align-items:center;justify-content:center;border-radius:.625rem;background:var(--app-color-primary);color:#fff;font-size:1rem}.jobs-page-header__title{margin:0;font-size:1.25rem;font-weight:600;color:#1f2937;line-height:1.3}.jobs-page-header__subtitle{margin:.25rem 0 0;font-size:.8125rem;color:#6b7280;line-height:1.45}.jobs-page-header__stats{display:flex;flex-wrap:wrap;gap:.5rem;margin-top:.75rem}.jobs-stat-pill{display:inline-flex;align-items:center;gap:.35rem;padding:.2rem .6rem;font-size:.75rem;font-weight:500;color:#6b7280;background:#fff;border:1px solid #ede9fe;border-radius:9999px}.jobs-stat-pill strong{color:var(--app-color-primary-hover);font-weight:600}.jobs-page-header__actions{display:flex;flex-wrap:wrap;gap:.5rem;align-items:center}.jobs-back-btn.p-button{color:#6b7280!important}.jobs-back-btn.p-button:hover{color:var(--app-color-primary-hover)!important;background:#f5f3ff!important}.jobs-primary-btn.p-button{background:var(--app-color-primary)!important;border:none!important;border-radius:.5rem!important;font-weight:600!important;font-size:.8125rem!important;box-shadow:0 1px 2px #8b5cf640!important}.jobs-primary-btn.p-button:hover:not(:disabled){background:var(--app-color-primary-hover)!important}.jobs-outlined-btn.p-button{border-radius:.5rem!important;font-size:.8125rem!important;border-color:#e5e7eb!important;color:#374151!important;background:#fff!important;background-image:none!important;box-shadow:none!important}.jobs-outlined-btn.p-button:hover:not(:disabled){border-color:#c4b5fd!important;color:var(--app-color-primary-hover)!important;background:#faf5ff!important;transform:none!important}.jobs-icon-btn.p-button{color:#9ca3af!important}.jobs-icon-btn.p-button:hover{color:var(--app-color-primary-hover)!important;background:#f5f3ff!important}.jobs-rotation-banner{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:.75rem;padding:.875rem 1rem;background:linear-gradient(135deg,#fffbeb,#fef3c7);border:1px solid #fde68a;border-radius:.625rem}.jobs-rotation-banner__text{display:flex;align-items:center;gap:.5rem;margin:0;font-size:.875rem;font-weight:500;color:#92400e}.jobs-grid{display:grid;grid-template-columns:1fr;gap:1rem}@media (min-width: 768px){.jobs-grid{grid-template-columns:repeat(2,1fr)}}@media (min-width: 1024px){.jobs-grid{grid-template-columns:repeat(3,1fr)}}.jobs-empty{padding:3rem 1.5rem;text-align:center;background:#fff;border:1px dashed #e5e7eb;border-radius:.75rem}.jobs-empty__icon{width:3rem;height:3rem;margin:0 auto 1rem;display:flex;align-items:center;justify-content:center;border-radius:9999px;background:#f5f3ff;color:var(--app-color-primary-hover);font-size:1.25rem}.jobs-empty__title{margin:0;font-weight:600;color:#374151}.jobs-empty__text{margin:.5rem 0 1.25rem;font-size:.875rem;color:#9ca3af}.jobs-card.p-card{margin:0;height:100%;border:1px solid #f3f4f6;border-radius:.75rem;box-shadow:0 1px 3px #0000000f,0 1px 2px #0000000a;overflow:hidden;position:relative;transition:border-color .15s,box-shadow .15s}.jobs-card.p-card:hover{border-color:#ddd6fe;box-shadow:0 4px 6px #8b5cf614,0 2px 4px #0000000a}.jobs-card .p-card-header{padding:0;border:none}.jobs-card__header{display:flex;align-items:center;justify-content:space-between;gap:.5rem;padding:.875rem 1rem;background:linear-gradient(135deg,#faf5ff,#f5f3ff,#f9fafb);border-bottom:1px solid #ede9fe}.jobs-card__title{margin:0;font-size:.9375rem;font-weight:600;color:#1f2937;line-height:1.3}.jobs-card__actions{display:flex;gap:.15rem;opacity:0;transition:opacity .15s}.jobs-card:hover .jobs-card__actions{opacity:1}.jobs-card__rotate-badge{position:absolute;top:.5rem;right:.5rem;display:inline-flex;align-items:center;gap:.25rem;padding:.15rem .5rem;font-size:.6875rem;font-weight:500;color:var(--app-color-primary-hover);background:#ede9fe;border-radius:9999px;opacity:0;transition:opacity .15s;z-index:1}.jobs-card:hover .jobs-card__rotate-badge{opacity:1}.jobs-card .p-card-body{display:flex;flex-direction:column;flex:1}.jobs-card .p-card-content{padding:1rem;flex:1}.jobs-card__description{margin:0 0 1rem;font-size:.8125rem;color:#6b7280;line-height:1.45}.jobs-card__meta{display:flex;align-items:center;justify-content:space-between;gap:.5rem;margin-bottom:.75rem;font-size:.8125rem;color:#6b7280}.jobs-card__status{padding:.15rem .5rem;font-size:.6875rem;font-weight:600;border-radius:9999px}.jobs-card__status--empty{background:#f3f4f6;color:#6b7280}.jobs-card__status--partial{background:#fffbeb;color:#b45309}.jobs-card__status--full{background:#ecfdf5;color:#059669}.jobs-card__progress{width:100%;height:.375rem;margin-bottom:1rem;background:#e5e7eb;border-radius:9999px;overflow:hidden}.jobs-card__progress-fill{height:100%;border-radius:9999px;transition:width .3s ease}.jobs-card__progress-fill--empty{background:#d1d5db}.jobs-card__progress-fill--partial{background:#f59e0b}.jobs-card__progress-fill--full{background:#22c55e}.jobs-card__section-title{margin:0 0 .5rem;font-size:.8125rem;font-weight:600;color:#374151}.jobs-card__students-header{display:flex;align-items:center;justify-content:space-between;gap:.5rem;margin-bottom:.5rem}.jobs-card__student-row{display:flex;align-items:center;justify-content:space-between;gap:.5rem;padding:.5rem .625rem;background:#f9fafb;border:1px solid #f3f4f6;border-radius:.5rem}.jobs-card__student-row+.jobs-card__student-row{margin-top:.375rem}.jobs-card__student-info{display:flex;align-items:center;gap:.5rem;min-width:0}.jobs-card__student-info img{width:2rem;height:2rem;border-radius:9999px;-o-object-fit:cover;object-fit:cover;background:#e5e7eb}.jobs-card__student-name{font-size:.8125rem;color:#374151}.jobs-card__empty-students{padding:1.25rem 1rem;text-align:center;background:#f9fafb;border:1px dashed #e5e7eb;border-radius:.5rem}.jobs-card__empty-students i{font-size:1.25rem;color:#c4b5fd;margin-bottom:.35rem;display:block}.jobs-card__empty-students p{margin:0 0 .5rem;font-size:.8125rem;color:#9ca3af}.jobs-card .p-card-footer{padding:0;border:none}.jobs-card__footer{padding:.625rem 1rem;font-size:.75rem;color:#6b7280;background:#f9fafb;border-top:1px solid #f3f4f6}.jobs-card__footer i{color:#a78bfa}.jobs-action-btn.p-button{width:2rem!important;height:2rem!important;color:#9ca3af!important}.jobs-action-btn.p-button:hover{color:var(--app-color-primary-hover)!important;background:#f5f3ff!important}.jobs-action-btn--danger.p-button:hover{color:#dc2626!important;background:#fef2f2!important}.jobs-assign-btn.p-button{font-size:.75rem!important;color:var(--app-color-primary-hover)!important}.jobs-assign-btn.p-button:hover{background:#f5f3ff!important}.class-jobs-page .p-inputtext,.class-jobs-page .p-dropdown,.class-jobs-page .p-inputnumber .p-inputtext,.class-jobs-page .p-textarea{border-radius:.5rem!important;border-color:#e5e7eb!important}.class-jobs-page .p-inputtext:enabled:focus,.class-jobs-page .p-dropdown:not(.p-disabled).p-focus,.class-jobs-page .p-textarea:enabled:focus{border-color:#c4b5fd!important;box-shadow:0 0 0 3px #8b5cf61f!important}.class-jobs-page .p-inputswitch.p-inputswitch-checked .p-inputswitch-slider,.class-jobs-page .p-inputswitch.p-highlight .p-inputswitch-slider{background:var(--app-color-primary)!important}.class-jobs-page .p-checkbox .p-checkbox-box.p-highlight{border-color:var(--app-color-primary);background:var(--app-color-primary)}.class-jobs-page .jobs-dialog-notice{padding:.875rem 1rem;background:#faf5ff;border:1px solid #ede9fe;border-radius:.5rem;font-size:.8125rem;color:#6b7280}.class-jobs-page .jobs-dialog-notice--assign{display:flex;align-items:center;justify-content:space-between;gap:.75rem;color:#5b21b6}.p-dialog.app-dialog.jobs-assign-dialog .p-dialog-content{max-height:min(78vh,40rem);overflow-y:auto}.p-dialog.app-dialog.jobs-assign-dialog .jobs-assign-dialog__body{display:flex;flex-direction:column;gap:1.25rem}.p-dialog.app-dialog.jobs-assign-dialog .jobs-assign-dialog__summary{display:flex;align-items:center;justify-content:space-between;gap:.75rem;padding:.875rem 1rem;background:#faf5ff;border:1px solid #ede9fe;border-radius:.5rem;font-size:.8125rem;color:#5b21b6}.p-dialog.app-dialog.jobs-assign-dialog .jobs-assign-dialog__summary-main{display:inline-flex;align-items:center;gap:.5rem;font-weight:500}.p-dialog.app-dialog.jobs-assign-dialog .jobs-assign-dialog__summary-count{font-weight:600;font-variant-numeric:tabular-nums}.p-dialog.app-dialog.jobs-assign-dialog .jobs-assign-dialog__section{display:flex;flex-direction:column;gap:.875rem}.p-dialog.app-dialog.jobs-assign-dialog .jobs-assign-dialog__toolbar{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:.75rem}.p-dialog.app-dialog.jobs-assign-dialog .jobs-assign-dialog__section-title{margin:0;font-size:.875rem;font-weight:600;color:#374151}.p-dialog.app-dialog.jobs-assign-dialog .jobs-assign-dialog__filter{display:inline-flex;align-items:center;gap:.5rem}.p-dialog.app-dialog.jobs-assign-dialog .jobs-assign-dialog__filter-label{font-size:.8125rem;color:#6b7280}.p-dialog.app-dialog.jobs-assign-dialog .jobs-assign-dialog__filter-dropdown{min-width:9rem}.p-dialog.app-dialog.jobs-assign-dialog .jobs-assign-dialog__grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.625rem}@media (min-width: 640px){.p-dialog.app-dialog.jobs-assign-dialog .jobs-assign-dialog__grid{grid-template-columns:repeat(3,minmax(0,1fr))}}@media (min-width: 960px){.p-dialog.app-dialog.jobs-assign-dialog .jobs-assign-dialog__grid{grid-template-columns:repeat(4,minmax(0,1fr))}}.p-dialog.app-dialog.jobs-assign-dialog .jobs-assign-dialog__student{display:flex;align-items:center;gap:.625rem;padding:.625rem .75rem;border:1px solid #e5e7eb;border-radius:.5rem;background:#fff;cursor:pointer;transition:border-color .15s,background .15s,box-shadow .15s}.p-dialog.app-dialog.jobs-assign-dialog .jobs-assign-dialog__student:hover:not(.jobs-assign-dialog__student--disabled){border-color:#c4b5fd;background:#faf5ff}.p-dialog.app-dialog.jobs-assign-dialog .jobs-assign-dialog__student--selected{border-color:var(--app-color-primary);background:#faf5ff;box-shadow:0 0 0 1px #8b5cf626}.p-dialog.app-dialog.jobs-assign-dialog .jobs-assign-dialog__student--disabled{opacity:.55;cursor:not-allowed}.p-dialog.app-dialog.jobs-assign-dialog .jobs-assign-dialog__avatar{flex-shrink:0;width:2rem;height:2rem;border-radius:9999px;-o-object-fit:cover;object-fit:cover;background:#f3f4f6}.p-dialog.app-dialog.jobs-assign-dialog .jobs-assign-dialog__student-info{display:flex;flex-direction:column;min-width:0;gap:.125rem}.p-dialog.app-dialog.jobs-assign-dialog .jobs-assign-dialog__student-name{font-size:.8125rem;font-weight:600;color:#374151;line-height:1.3;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.p-dialog.app-dialog.jobs-assign-dialog .jobs-assign-dialog__student-status{font-size:.6875rem;color:#9ca3af;line-height:1.3;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.p-dialog.app-dialog.jobs-assign-dialog .jobs-assign-dialog__empty{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:.5rem;padding:2.5rem 1rem;border:1px dashed #e5e7eb;border-radius:.75rem;color:#9ca3af;font-size:.875rem}.p-dialog.app-dialog.jobs-assign-dialog .jobs-assign-dialog__empty .pi{font-size:1.25rem}.p-dialog.app-dialog.jobs-assign-dialog .jobs-assign-dialog__footer{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:.75rem;width:100%}.p-dialog.app-dialog.jobs-assign-dialog .jobs-assign-dialog__footer-actions{display:flex;flex-wrap:wrap;align-items:center;gap:.5rem;margin-left:auto}.p-dialog.app-dialog.jobs-assign-dialog .p-checkbox .p-checkbox-box.p-highlight{border-color:var(--app-color-primary);background:var(--app-color-primary)}.p-dialog.app-dialog.jobs-assign-dialog .p-dropdown{border-radius:.5rem!important;border-color:#e5e7eb!important;font-size:.8125rem}.p-dialog.app-dialog.jobs-assign-dialog .p-dropdown:not(.p-disabled).p-focus{border-color:#c4b5fd!important;box-shadow:0 0 0 3px #8b5cf61f!important}.p-dialog.app-dialog.jobs-delete-dialog .jobs-delete-dialog__confirm{display:flex;align-items:flex-start;gap:.75rem;margin:0;font-size:.875rem;line-height:1.5;color:#374151}.p-dialog.app-dialog.jobs-delete-dialog .jobs-delete-dialog__confirm .pi{flex-shrink:0;margin-top:.125rem;font-size:1.125rem;color:#d97706}.p-dialog.app-dialog.jobs-delete-dialog .jobs-delete-dialog__confirm-detail{display:block;margin-top:.35rem;font-size:.8125rem;color:#6b7280;line-height:1.45}.p-dialog.student-profile-dialog.jobs-rotation-dialog .jobs-rotation-dialog__toggle-row{align-items:flex-start}.p-dialog.student-profile-dialog.jobs-rotation-dialog .jobs-rotation-dialog__notice{padding:.875rem 1rem;background:#faf5ff;border:1px solid #ede9fe;border-radius:.5rem;font-size:.8125rem;color:#5b21b6}.p-dialog.student-profile-dialog.jobs-rotation-dialog .jobs-rotation-dialog__switch.p-inputswitch{flex-shrink:0;width:3rem;height:1.75rem;position:relative;display:inline-block}.p-dialog.student-profile-dialog.jobs-rotation-dialog .jobs-rotation-dialog__switch .p-inputswitch-input{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;margin:0;opacity:0;z-index:1;cursor:pointer}.p-dialog.student-profile-dialog.jobs-rotation-dialog .jobs-rotation-dialog__switch .p-inputswitch-slider{position:absolute;top:0;right:0;bottom:0;left:0;background:#d1d5db!important;border-radius:9999px!important;transition:background-color .2s ease}.p-dialog.student-profile-dialog.jobs-rotation-dialog .jobs-rotation-dialog__switch .p-inputswitch-slider:before{content:"";position:absolute;top:50%;left:.25rem;width:1.25rem;height:1.25rem;margin-top:-.625rem;background:#fff!important;border-radius:50%;box-shadow:0 1px 2px #0000001f;transition:transform .2s ease}.p-dialog.student-profile-dialog.jobs-rotation-dialog .jobs-rotation-dialog__switch.p-highlight .p-inputswitch-slider{background:var(--app-color-primary)!important}.p-dialog.student-profile-dialog.jobs-rotation-dialog .jobs-rotation-dialog__switch.p-highlight .p-inputswitch-slider:before{transform:translate(1.25rem)}.p-dialog.student-profile-dialog.jobs-rotation-dialog .jobs-rotation-dialog__switch:not(.p-disabled):has(.p-inputswitch-input:hover) .p-inputswitch-slider{background:#c4b5fd!important}.p-dialog.student-profile-dialog.jobs-rotation-dialog .jobs-rotation-dialog__switch:not(.p-disabled):has(.p-inputswitch-input:hover).p-highlight .p-inputswitch-slider{background:var(--app-color-primary-hover)!important}.p-dialog.student-profile-dialog.jobs-rotation-dialog .jobs-rotation-dialog__switch:not(.p-disabled):has(.p-inputswitch-input:focus-visible) .p-inputswitch-slider{box-shadow:0 0 0 3px #8b5cf633;outline:none}.class-jobs-page .jobs-content-loading{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:.75rem;min-height:16rem}.class-jobs-page .jobs-content-loading__bolt{display:flex;align-items:center;justify-content:center}.class-jobs-page .jobs-content-loading__bolt .animated-bolt-loader{font-size:2rem;color:#eab308}.class-jobs-page .jobs-content-loading span{font-size:.875rem;color:#6b7280}.class-jobs-page .jobs-error-banner{padding:.875rem 1rem;border-radius:.5rem;background:#fef2f2;border:1px solid #fecaca;color:#b91c1c;font-size:.875rem}.class-jobs-page .jobs-loading{display:flex;align-items:center;justify-content:center;min-height:40vh;color:var(--app-color-primary);font-size:2rem}.jobs-assign-row--selected{background:#faf5ff!important}.class-attendance-page{display:flex;flex-direction:column;gap:1.5rem;width:100%;max-width:90rem;margin:0 auto;padding:2rem}.class-attendance-page .attendance-banner-dropdown.p-dropdown{background:#fffffff2!important;border:1px solid rgba(255,255,255,.5)!important;border-radius:.5rem!important}.class-attendance-page .attendance-banner-btn.p-button{border-radius:.5rem!important;font-weight:600!important;font-size:.8125rem!important;color:#fff!important;border:1px solid rgba(255,255,255,.55)!important;background:#ffffff1f!important;background-image:none!important;box-shadow:none!important}.class-attendance-page .attendance-banner-btn.p-button:hover:not(:disabled){background:#ffffff38!important;border-color:#fff!important}.class-attendance-page .attendance-banner-btn .p-button-label,.class-attendance-page .attendance-banner-btn .p-button-icon{color:#fff!important}.attendance-date-card.p-card{margin:0;border:1px solid var(--app-color-border);border-radius:.75rem;box-shadow:var(--app-shadow-sm)}.attendance-date-card .p-card-content{padding:1rem 1.25rem}.attendance-date-toolbar{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:1rem}.attendance-date-toolbar__left{display:flex;flex-wrap:wrap;align-items:center;gap:.75rem}.attendance-today-btn.p-button{border-radius:.5rem!important;font-size:.875rem!important;font-weight:500!important}.attendance-today-btn.p-button:not(.attendance-today-btn--inactive){background:var(--app-color-primary)!important;border-color:var(--app-color-primary)!important;color:#fff!important;box-shadow:0 1px 2px #8b5cf640!important}.attendance-today-btn--inactive.p-button{border-color:#e5e7eb!important;color:#374151!important;background:#fff!important;background-image:none!important}.attendance-today-btn--inactive.p-button:hover{border-color:#c4b5fd!important;color:var(--app-color-primary-hover)!important;background:#faf5ff!important}.attendance-nav-btn.p-button{width:2.25rem!important;height:2.25rem!important;color:#6b7280!important;border-radius:.5rem!important}.attendance-nav-btn.p-button:hover{color:var(--app-color-primary-hover)!important;background:#f5f3ff!important}.attendance-tab-section{display:flex;flex-direction:column;gap:1rem}.attendance-nav{display:flex;flex-wrap:wrap;gap:.25rem;padding:.25rem;background:#f3f4f6;border-radius:.75rem;width:100%}.attendance-nav__tab{display:inline-flex;align-items:center;gap:.5rem;padding:.5rem .875rem;border:none;border-radius:.5rem;background:transparent;color:#6b7280;font-size:.875rem;font-weight:500;cursor:pointer;transition:background .15s,color .15s}.attendance-nav__tab:hover{color:var(--app-color-primary-hover);background:#ede9fe}.attendance-nav__tab--active{background:#fff;color:var(--app-color-primary-hover);box-shadow:0 1px 2px #0000000f}.class-attendance-page .attendance-panel-card.p-card{margin:0;border:1px solid #f3f4f6;border-radius:.75rem;box-shadow:0 1px 2px #0000000a}.class-attendance-page .attendance-panel-card .p-card-content{padding:1.25rem 1.5rem 1.5rem}.class-attendance-page .attendance-empty{padding:2.5rem 1.5rem;text-align:center}.class-attendance-page .attendance-empty__title{margin:0 0 .5rem;font-size:1.25rem;font-weight:600;color:var(--app-color-text-heading)}.class-attendance-page .attendance-empty__text{margin:0;font-size:var(--app-font-size-sm);color:var(--app-color-text-muted)}.class-attendance-page .p-inputtext,.class-attendance-page .p-inputtextarea,.class-attendance-page .p-dropdown,.class-attendance-page .p-multiselect,.class-attendance-page .p-calendar .p-inputtext{border-radius:.5rem!important;border:1px solid var(--app-control-border)!important}.class-attendance-page .p-inputtext:enabled:focus,.class-attendance-page .p-dropdown:not(.p-disabled).p-focus,.class-attendance-page .p-calendar .p-inputtext:enabled:focus{border-color:#c4b5fd!important;box-shadow:0 0 0 3px #8b5cf61f!important}.class-attendance-page .p-calendar .p-datepicker-trigger{background:var(--app-color-primary)!important;border-color:var(--app-color-primary)!important;border-radius:0 .5rem .5rem 0!important}.class-attendance-page .attendance-datatable .p-datatable-header{background:#f9fafb;border-color:#f3f4f6}.class-attendance-page .attendance-history-link.p-button{color:#6b7280!important;font-weight:500!important}.class-attendance-page .attendance-history-link.p-button:hover{color:var(--app-color-primary-hover)!important;background:#f5f3ff!important}.class-attendance-page .attendance-history-link .pi-eye{color:#a78bfa!important}.class-attendance-page .p-paginator .p-paginator-pages .p-paginator-page.p-highlight{background:var(--app-color-primary);border-color:var(--app-color-primary)}.attendance-toolbar-btn.p-button{border-radius:.5rem!important;font-size:.8125rem!important;font-weight:600!important;box-shadow:none!important}.attendance-toolbar-btn--primary.p-button{background:var(--app-color-primary)!important;border:none!important;color:#fff!important}.attendance-toolbar-btn--primary.p-button:hover:not(:disabled){background:var(--app-color-primary-hover)!important}.attendance-toolbar-btn--outline.p-button{border:1.5px solid #d1d5db!important;color:#374151!important;background:#fff!important;background-image:none!important;box-shadow:0 1px 2px #0000000a!important}.attendance-toolbar-btn--outline.p-button:hover:not(:disabled){border-color:var(--app-color-primary-focus)!important;color:var(--app-color-primary-hover)!important;background:#faf5ff!important}.attendance-toolbar-btn--outline.attendance-toolbar-btn--active.p-button{border-color:var(--app-color-primary)!important;color:var(--app-color-primary-hover)!important;background:#f5f3ff!important;box-shadow:0 0 0 1px #8b5cf626!important}.attendance-toolbar-btn--muted.p-button{border:1.5px solid #d1d5db!important;color:#6b7280!important;background:#f9fafb!important;background-image:none!important;box-shadow:0 1px 2px #0000000a!important}.attendance-toolbar-btn--muted.p-button:hover:not(:disabled){border-color:#9ca3af!important;color:#374151!important;background:#f3f4f6!important}.attendance-bulk-status.p-button-success{background:#22c55e!important;border:none!important}.attendance-bulk-status.p-button-danger{background:#ef4444!important;border:none!important}.attendance-bulk-status.p-button-warning,.attendance-bulk-status.p-button-warn{background:#eab308!important;border:none!important}.attendance-bulk-status.p-button-info{background:#3b82f6!important;border:none!important}.attendance-filter-select{border-radius:.5rem;border:1px solid #e5e7eb;padding:.375rem .75rem;font-size:.875rem;color:#374151;background:#fff}.attendance-filter-select:focus{outline:none;border-color:#c4b5fd;box-shadow:0 0 0 3px #8b5cf61f}.attendance-multi-count{font-size:.8125rem;font-weight:500;color:var(--app-color-primary-hover)}.attendance-stat-badge{display:inline-flex;padding:.2rem .65rem;font-size:.75rem;font-weight:600;border-radius:9999px}.attendance-stat-badge--present{background:#ecfdf5;color:#059669}.attendance-stat-badge--absent{background:#fef2f2;color:#dc2626}.attendance-stat-badge--late{background:#fffbeb;color:#b45309}.attendance-stat-badge--excused{background:#eff6ff;color:#2563eb}.attendance-grid .student-card.selected{outline:2px solid var(--app-color-primary);outline-offset:1px}.attendance-load-more.p-button{border-radius:.5rem!important;border-color:#e5e7eb!important;color:#374151!important;background:#fff!important;background-image:none!important}.attendance-load-more.p-button:hover{border-color:#c4b5fd!important;color:var(--app-color-primary-hover)!important;background:#faf5ff!important}.attendance-note-save.p-button{background:var(--app-color-primary)!important;border:none!important}.attendance-grid .status-actions-row{position:absolute;left:50%;top:50%;z-index:2;display:inline-flex;align-items:center;gap:.25rem;padding:.25rem;background:#fff;border:1px solid #e5e7eb;border-radius:9999px;box-shadow:0 4px 12px #00000014,0 1px 2px #0000000a;opacity:0;visibility:hidden;pointer-events:none;transform:translate(-50%,-50%) scale(.92);transition:opacity .15s ease,visibility .15s ease,transform .15s ease}.attendance-grid .status-actions-row.is-visible{opacity:1;visibility:visible;pointer-events:auto;transform:translate(-50%,-50%) scale(1)}.attendance-grid .status-icon-btn{display:inline-flex;align-items:center;justify-content:center;width:1.75rem;height:1.75rem;padding:0;border:1px solid transparent;border-radius:9999px;background:#fff;font-size:.75rem;cursor:pointer;transition:background .15s,border-color .15s,color .15s,transform .15s}.attendance-grid .status-icon-btn:hover:not(:disabled){transform:translateY(-1px)}.attendance-grid .status-icon-btn:disabled{opacity:.5;cursor:not-allowed}.attendance-grid .status-icon-btn.present{color:#059669;border-color:#bbf7d0}.attendance-grid .status-icon-btn.present:hover:not(:disabled){background:#ecfdf5;border-color:#86efac}.attendance-grid .status-icon-btn.absent{color:#dc2626;border-color:#fecaca}.attendance-grid .status-icon-btn.absent:hover:not(:disabled){background:#fef2f2;border-color:#fca5a5}.attendance-grid .status-icon-btn.late{color:#b45309;border-color:#fde68a}.attendance-grid .status-icon-btn.late:hover:not(:disabled){background:#fffbeb;border-color:#fcd34d}.attendance-grid .status-icon-btn.excused{color:#2563eb;border-color:#bfdbfe}.attendance-grid .status-icon-btn.excused:hover:not(:disabled){background:#eff6ff;border-color:#93c5fd}.attendance-grid .status-icon-btn.note-btn{color:#6b7280;border-color:#e5e7eb}.attendance-grid .status-icon-btn.note-btn:hover:not(:disabled){color:var(--app-color-primary-hover);background:#faf5ff;border-color:#ddd6fe}.attendance-grid .status-icon-btn.note-btn .has-note{color:var(--app-color-primary-hover)}.attendance-grid .student-card.show-actions{z-index:3;border-color:#ddd6fe;box-shadow:0 4px 12px #8b5cf61a,0 1px 2px #0000000a}.attendance-grid .student-card{position:relative}.attendance-bolt-loading{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:.75rem;padding:3rem 1.5rem;text-align:center;color:#9ca3af}.attendance-bolt-loading p{margin:0;font-size:.875rem}.attendance-bolt-loading .bolt-container{display:flex;justify-content:center;align-items:center;height:2.5rem}.attendance-bolt-loading .animated-bolt-loader{font-size:2.5rem;animation:attendance-bolt-shake 2s ease-in-out infinite;filter:drop-shadow(0 0 8px rgba(245,158,11,.6))}@keyframes attendance-bolt-shake{0%,to{transform:scale(1) rotate(0);opacity:1}50%{transform:scale(1.1) rotate(-5deg);opacity:.8}}.class-gradebook-page{max-width:87.5rem;margin:0 auto;padding:1.5rem 1rem;display:flex;flex-direction:column;gap:1.5rem}.gradebook-page-body{display:flex;flex-direction:column;gap:1.5rem}.gradebook-page-header{display:flex;flex-wrap:wrap;align-items:flex-start;justify-content:space-between;gap:1rem;padding:1.25rem 1.5rem;background:linear-gradient(135deg,#faf5ff,#f5f3ff,#f9fafb);border:1px solid #ede9fe;border-radius:.75rem;box-shadow:0 1px 2px #0000000a}.gradebook-page-header__icon{flex-shrink:0;width:2.5rem;height:2.5rem;display:flex;align-items:center;justify-content:center;border-radius:.625rem;background:var(--app-color-primary);color:#fff;font-size:1rem}.gradebook-page-header__title{margin:0;font-size:1.25rem;font-weight:600;color:#1f2937;line-height:1.3}.gradebook-page-header__subtitle{margin:.25rem 0 0;font-size:.8125rem;color:#6b7280;line-height:1.45}.gradebook-page-header__actions{display:flex;gap:.25rem;align-items:center}.gradebook-selector-card{padding:1rem 1.25rem;background:#fff;border:1px solid #f3f4f6;border-radius:.75rem;box-shadow:0 1px 2px #0000000a}.gradebook-selector-row{display:flex;flex-wrap:wrap;gap:.5rem;align-items:center}.gradebook-primary-btn.p-button{background:var(--app-color-primary)!important;border:none!important;border-radius:.5rem!important;font-weight:600!important;font-size:.8125rem!important;box-shadow:0 1px 2px #8b5cf640!important}.gradebook-primary-btn.p-button:hover:not(:disabled){background:var(--app-color-primary-hover)!important}.gradebook-outlined-btn.p-button{border-radius:.5rem!important;font-size:.8125rem!important;border-color:#e5e7eb!important;color:#374151!important;background:#fff!important;background-image:none!important;box-shadow:none!important}.gradebook-outlined-btn.p-button:hover:not(:disabled){border-color:#c4b5fd!important;color:var(--app-color-primary-hover)!important;background:#faf5ff!important;transform:none!important}.gradebook-icon-btn.p-button{color:#6b7280!important;border-radius:.5rem!important}.gradebook-icon-btn.p-button:hover{color:var(--app-color-primary-hover)!important;background:#f5f3ff!important}.gradebook-metric-card{padding:1rem 1.25rem;background:#fff;border:1px solid #f3f4f6;border-radius:.75rem;box-shadow:0 1px 2px #0000000a}.gradebook-metric-card__title{margin:0 0 .5rem;font-size:.875rem;font-weight:600;color:#6b7280}.gradebook-metric-card__value{font-size:1.75rem;font-weight:700;line-height:1.2;font-variant-numeric:tabular-nums}.gradebook-metric-card__value--violet{color:var(--app-color-primary-hover)}.gradebook-metric-card__value--green{color:#059669}.gradebook-metric-card__value--amber{color:#d97706}.gradebook-metric-card__value--blue{color:#2563eb}.gradebook-empty{padding:2.5rem 1.5rem;text-align:center;background:#fff;border:1px dashed #e5e7eb;border-radius:.75rem}.gradebook-empty__title{margin:0 0 .5rem;font-size:1.25rem;font-weight:600;color:var(--app-color-text-heading)}.gradebook-empty__text{margin:0;font-size:var(--app-font-size-sm);color:var(--app-color-text-muted)}.gradebook-pin-card{padding:2rem 1.5rem;text-align:center;background:#fff;border:1px solid #f3f4f6;border-radius:.75rem;box-shadow:0 1px 2px #0000000a}.gradebook-pin-card__icon{width:4rem;height:4rem;margin:0 auto 1rem;display:flex;align-items:center;justify-content:center;border-radius:9999px;background:#f5f3ff;color:var(--app-color-primary-hover);font-size:1.5rem}.gradebook-tab-section{display:flex;flex-direction:column;gap:0;background:#fff;border:1px solid #f3f4f6;border-radius:.75rem;box-shadow:0 1px 2px #0000000a;overflow:hidden}.gradebook-nav-wrap{padding:.75rem .75rem 0;background:#fafafa;border-bottom:1px solid #f3f4f6}.gradebook-nav{display:flex;flex-wrap:nowrap;gap:.25rem;padding:.25rem;background:#f3f4f6;border-radius:.75rem;overflow-x:auto;-webkit-overflow-scrolling:touch}.gradebook-nav__tab{display:inline-flex;align-items:center;gap:.4rem;flex-shrink:0;padding:.45rem .75rem;border:none;border-radius:.5rem;background:transparent;color:#6b7280;font-size:.8125rem;font-weight:500;white-space:nowrap;cursor:pointer;transition:background .15s,color .15s}.gradebook-nav__tab:hover{color:var(--app-color-primary-hover);background:#ede9fe}.gradebook-nav__tab--active{background:#fff;color:var(--app-color-primary-hover);box-shadow:0 1px 2px #0000000f}.gradebook-tab-panel{min-height:12rem}.class-gradebook-page .p-inputtext,.class-gradebook-page .p-inputtextarea,.class-gradebook-page .p-dropdown,.class-gradebook-page .p-multiselect,.class-gradebook-page .p-calendar .p-inputtext{border-radius:.5rem!important;border:1px solid var(--app-control-border)!important}.class-gradebook-page .p-inputtext:enabled:focus,.class-gradebook-page .p-dropdown:not(.p-disabled).p-focus{border-color:#c4b5fd!important;box-shadow:0 0 0 3px #8b5cf61f!important}.class-gradebook-page .p-button.p-button-primary:not(.gradebook-primary-btn){background:var(--app-color-primary)!important;border:none!important;border-radius:.5rem!important;background-image:none!important}.class-gradebook-page .p-button.p-button-primary:not(.gradebook-primary-btn):hover:not(:disabled){background:var(--app-color-primary-hover)!important}.class-gradebook-page .p-button.p-button-outlined:not(.gradebook-outlined-btn){border-radius:.5rem!important;border-color:#e5e7eb!important;color:#374151!important;background:#fff!important;background-image:none!important}.class-gradebook-page .p-button.p-button-outlined:not(.gradebook-outlined-btn):hover:not(:disabled){border-color:#c4b5fd!important;color:var(--app-color-primary-hover)!important;background:#faf5ff!important}.class-gradebook-page .p-paginator .p-paginator-pages .p-paginator-page.p-highlight{background:var(--app-color-primary);border-color:var(--app-color-primary)}.gradebook-threshold-input{width:4rem;padding:.25rem .5rem;font-size:.875rem;border:1px solid #e5e7eb;border-radius:.375rem}.gradebook-threshold-input:focus{outline:none;border-color:#c4b5fd;box-shadow:0 0 0 3px #8b5cf61f}.gradebook-term-badge{display:inline-flex;padding:.1rem .45rem;font-size:.6875rem;font-weight:600;color:#059669;background:#ecfdf5;border-radius:9999px}.gradebook-bolt-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:50;display:flex;align-items:center;justify-content:center;background:#00000040}.gradebook-bolt-overlay__card{padding:1.5rem 2rem;text-align:center;background:#fff;border-radius:.75rem;box-shadow:0 10px 25px #0000001f}.gradebook-bolt-loading{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:.75rem;padding:2rem 1rem}.gradebook-bolt-loading .bolt-container{display:flex;justify-content:center;align-items:center;width:3.75rem;height:3.75rem;border-radius:9999px;background:#fafafa;box-shadow:0 0 15px #f59e0b40}.gradebook-bolt-loading .animated-bolt-loader{font-size:2.5rem;animation:gradebook-bolt-shake 2s ease-in-out infinite;filter:drop-shadow(0 0 8px rgba(245,158,11,.6))}@keyframes gradebook-bolt-shake{0%,to{transform:scale(1) rotate(0);opacity:1}50%{transform:scale(1.1) rotate(-5deg);opacity:.85}}.gradebook-overview-category{padding:1rem;background:#fff;border:1px solid #e5e7eb;border-radius:.5rem;cursor:pointer;transition:border-color .15s,box-shadow .15s,background .15s}.gradebook-overview-category:hover{border-color:#c4b5fd;background:#faf5ff}.gradebook-overview-category--active{border-color:var(--app-color-primary);background:#faf5ff;box-shadow:0 0 0 2px #8b5cf633}.gradebook-overview-filter-clear{display:inline-flex;align-items:center;gap:.35rem;padding:.25rem .625rem;font-size:.8125rem;font-weight:500;color:var(--app-color-primary-hover);background:#faf5ff;border:1px solid #ede9fe;border-radius:9999px;cursor:pointer;transition:background .15s,border-color .15s}.gradebook-overview-filter-clear:hover{background:#f5f3ff;border-color:#c4b5fd}*,:before,:after{--tw-border-spacing-x: 0;--tw-border-spacing-y: 0;--tw-translate-x: 0;--tw-translate-y: 0;--tw-rotate: 0;--tw-skew-x: 0;--tw-skew-y: 0;--tw-scale-x: 1;--tw-scale-y: 1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness: proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width: 0px;--tw-ring-offset-color: #fff;--tw-ring-color: rgb(59 130 246 / .5);--tw-ring-offset-shadow: 0 0 #0000;--tw-ring-shadow: 0 0 #0000;--tw-shadow: 0 0 #0000;--tw-shadow-colored: 0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: ;--tw-contain-size: ;--tw-contain-layout: ;--tw-contain-paint: ;--tw-contain-style: }::backdrop{--tw-border-spacing-x: 0;--tw-border-spacing-y: 0;--tw-translate-x: 0;--tw-translate-y: 0;--tw-rotate: 0;--tw-skew-x: 0;--tw-skew-y: 0;--tw-scale-x: 1;--tw-scale-y: 1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness: proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width: 0px;--tw-ring-offset-color: #fff;--tw-ring-color: rgb(59 130 246 / .5);--tw-ring-offset-shadow: 0 0 #0000;--tw-ring-shadow: 0 0 #0000;--tw-shadow: 0 0 #0000;--tw-shadow-colored: 0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: ;--tw-contain-size: ;--tw-contain-layout: ;--tw-contain-paint: ;--tw-contain-style: }*,:before,:after{box-sizing:border-box;border-width:0;border-style:solid;border-color:#e5e7eb}:before,:after{--tw-content: ""}html,:host{line-height:1.5;-webkit-text-size-adjust:100%;-moz-tab-size:4;-o-tab-size:4;tab-size:4;font-family:ui-sans-serif,system-ui,sans-serif,"Apple Color Emoji","Segoe UI Emoji",Segoe UI Symbol,"Noto Color Emoji";font-feature-settings:normal;font-variation-settings:normal;-webkit-tap-highlight-color:transparent}body{margin:0;line-height:inherit}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace;font-feature-settings:normal;font-variation-settings:normal;font-size:1em}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}button,input,optgroup,select,textarea{font-family:inherit;font-feature-settings:inherit;font-variation-settings:inherit;font-size:100%;font-weight:inherit;line-height:inherit;letter-spacing:inherit;color:inherit;margin:0;padding:0}button,select{text-transform:none}button,input:where([type=button]),input:where([type=reset]),input:where([type=submit]){-webkit-appearance:button;background-color:transparent;background-image:none}:-moz-focusring{outline:auto}:-moz-ui-invalid{box-shadow:none}progress{vertical-align:baseline}::-webkit-inner-spin-button,::-webkit-outer-spin-button{height:auto}[type=search]{-webkit-appearance:textfield;outline-offset:-2px}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{-webkit-appearance:button;font:inherit}summary{display:list-item}blockquote,dl,dd,h1,h2,h3,h4,h5,h6,hr,figure,p,pre{margin:0}fieldset{margin:0;padding:0}legend{padding:0}ol,ul,menu{list-style:none;margin:0;padding:0}dialog{padding:0}textarea{resize:vertical}input::-moz-placeholder,textarea::-moz-placeholder{opacity:1;color:#9ca3af}input::placeholder,textarea::placeholder{opacity:1;color:#9ca3af}button,[role=button]{cursor:pointer}:disabled{cursor:default}img,svg,video,canvas,audio,iframe,embed,object{display:block;vertical-align:middle}img,video{max-width:100%;height:auto}[hidden]:where(:not([hidden=until-found])){display:none}.p-component{font-family:inherit;font-size:inherit;box-sizing:border-box}.container{width:100%}@media (min-width: 640px){.container{max-width:640px}}@media (min-width: 768px){.container{max-width:768px}}@media (min-width: 1024px){.container{max-width:1024px}}@media (min-width: 1280px){.container{max-width:1280px}}@media (min-width: 1536px){.container{max-width:1536px}}.animated-bolt{animation:auth-bolt-pulse 1.5s ease-in-out infinite;filter:drop-shadow(0 0 8px rgba(255,235,59,.5))}@keyframes auth-bolt-pulse{0%,to{transform:scale(1) rotate(0);opacity:1}50%{transform:scale(1.2) rotate(-10deg);opacity:.8}}::-webkit-scrollbar{width:8px;height:8px}::-webkit-scrollbar-track{border-radius:9999px;--tw-bg-opacity: 1;background-color:rgb(243 244 246 / var(--tw-bg-opacity, 1))}::-webkit-scrollbar-thumb{border-radius:9999px;--tw-bg-opacity: 1;background-color:rgb(221 214 254 / var(--tw-bg-opacity, 1))}::-webkit-scrollbar-thumb:hover{--tw-bg-opacity: 1;background-color:rgb(196 181 253 / var(--tw-bg-opacity, 1))}.\!visible{visibility:visible!important}.visible{visibility:visible}.collapse{visibility:collapse}.static{position:static}.fixed{position:fixed}.absolute{position:absolute}.relative{position:relative}.sticky{position:sticky}.inset-0{top:0;right:0;bottom:0;left:0}.inset-x-0{left:0;right:0}.-bottom-1{bottom:-.25rem}.-left-2{left:-.5rem}.-right-1{right:-.25rem}.-right-1\.5{right:-.375rem}.-right-2{right:-.5rem}.-top-1{top:-.25rem}.-top-1\.5{top:-.375rem}.-top-2{top:-.5rem}.-top-6{top:-1.5rem}.bottom-0{bottom:0}.bottom-1{bottom:.25rem}.bottom-24{bottom:6rem}.bottom-6{bottom:1.5rem}.left-0{left:0}.left-1\/2{left:50%}.right-0{right:0}.right-1{right:.25rem}.right-2{right:.5rem}.right-24{right:6rem}.top-0{top:0}.top-1\/2{top:50%}.top-2{top:.5rem}.z-10{z-index:10}.z-50{z-index:50}.z-\[100\]{z-index:100}.z-\[9999\]{z-index:9999}.col-span-1{grid-column:span 1 / span 1}.col-span-2{grid-column:span 2 / span 2}.col-span-3{grid-column:span 3 / span 3}.col-span-full{grid-column:1 / -1}.col-start-1{grid-column-start:1}.col-start-2{grid-column-start:2}.col-start-3{grid-column-start:3}.row-start-1{grid-row-start:1}.m-0{margin:0}.mx-0\.5{margin-left:.125rem;margin-right:.125rem}.mx-1{margin-left:.25rem;margin-right:.25rem}.mx-2{margin-left:.5rem;margin-right:.5rem}.mx-6{margin-left:1.5rem;margin-right:1.5rem}.mx-auto{margin-left:auto;margin-right:auto}.my-0\.5{margin-top:.125rem;margin-bottom:.125rem}.my-2{margin-top:.5rem;margin-bottom:.5rem}.\!mb-0{margin-bottom:0!important}.-mb-px{margin-bottom:-1px}.mb-0{margin-bottom:0}.mb-0\.5{margin-bottom:.125rem}.mb-1{margin-bottom:.25rem}.mb-1\.5{margin-bottom:.375rem}.mb-2{margin-bottom:.5rem}.mb-20{margin-bottom:5rem}.mb-3{margin-bottom:.75rem}.mb-4{margin-bottom:1rem}.mb-5{margin-bottom:1.25rem}.mb-6{margin-bottom:1.5rem}.mb-8{margin-bottom:2rem}.ml-1{margin-left:.25rem}.ml-2{margin-left:.5rem}.ml-4{margin-left:1rem}.ml-auto{margin-left:auto}.mr-0{margin-right:0}.mr-1{margin-right:.25rem}.mr-1\.5{margin-right:.375rem}.mr-2{margin-right:.5rem}.mr-3{margin-right:.75rem}.mr-4{margin-right:1rem}.mt-0\.5{margin-top:.125rem}.mt-1{margin-top:.25rem}.mt-2{margin-top:.5rem}.mt-3{margin-top:.75rem}.mt-4{margin-top:1rem}.mt-5{margin-top:1.25rem}.mt-6{margin-top:1.5rem}.mt-8{margin-top:2rem}.mt-auto{margin-top:auto}.line-clamp-2{overflow:hidden;display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2}.line-clamp-3{overflow:hidden;display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:3}.block{display:block}.inline-block{display:inline-block}.inline{display:inline}.flex{display:flex}.inline-flex{display:inline-flex}.\!table{display:table!important}.table{display:table}.grid{display:grid}.\!hidden{display:none!important}.hidden{display:none}.h-0{height:0px}.h-1\.5{height:.375rem}.h-10{height:2.5rem}.h-12{height:3rem}.h-14{height:3.5rem}.h-16{height:4rem}.h-2{height:.5rem}.h-2\.5{height:.625rem}.h-20{height:5rem}.h-24{height:6rem}.h-3{height:.75rem}.h-32{height:8rem}.h-4{height:1rem}.h-48{height:12rem}.h-5{height:1.25rem}.h-6{height:1.5rem}.h-7{height:1.75rem}.h-8{height:2rem}.h-\[3\.75rem\]{height:3.75rem}.h-full{height:100%}.h-screen{height:100vh}.max-h-80{max-height:20rem}.max-h-96{max-height:24rem}.max-h-\[90vh\]{max-height:90vh}.min-h-\[200px\]{min-height:200px}.min-h-\[60px\]{min-height:60px}.min-h-\[60vh\]{min-height:60vh}.min-h-screen{min-height:100vh}.w-1{width:.25rem}.w-1\.5{width:.375rem}.w-10{width:2.5rem}.w-12{width:3rem}.w-14{width:3.5rem}.w-16{width:4rem}.w-2{width:.5rem}.w-2\.5{width:.625rem}.w-20{width:5rem}.w-24{width:6rem}.w-28{width:7rem}.w-3{width:.75rem}.w-32{width:8rem}.w-36{width:9rem}.w-4{width:1rem}.w-48{width:12rem}.w-5{width:1.25rem}.w-56{width:14rem}.w-6{width:1.5rem}.w-64{width:16rem}.w-7{width:1.75rem}.w-8{width:2rem}.w-80{width:20rem}.w-\[3\.75rem\]{width:3.75rem}.w-full{width:100%}.min-w-0{min-width:0px}.min-w-44{min-width:11rem}.min-w-\[12rem\]{min-width:12rem}.min-w-\[280px\]{min-width:280px}.min-w-full{min-width:100%}.min-w-max{min-width:-moz-max-content;min-width:max-content}.max-w-2xl{max-width:42rem}.max-w-3xl{max-width:48rem}.max-w-4xl{max-width:56rem}.max-w-7xl{max-width:80rem}.max-w-\[9rem\]{max-width:9rem}.max-w-lg{max-width:32rem}.max-w-md{max-width:28rem}.max-w-none{max-width:none}.max-w-xs{max-width:20rem}.flex-1{flex:1 1 0%}.flex-none{flex:none}.flex-shrink{flex-shrink:1}.flex-shrink-0,.shrink-0{flex-shrink:0}.flex-grow,.grow{flex-grow:1}.border-collapse{border-collapse:collapse}.-translate-x-1\/2{--tw-translate-x: -50%;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.-translate-y-0{--tw-translate-y: -0px;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.-translate-y-1{--tw-translate-y: -.25rem;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.-translate-y-1\/2{--tw-translate-y: -50%;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.-translate-y-2{--tw-translate-y: -.5rem;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.translate-y-0{--tw-translate-y: 0px;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.rotate-180{--tw-rotate: 180deg;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.scale-110{--tw-scale-x: 1.1;--tw-scale-y: 1.1;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.transform{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.animate-fade-in{animation:fadeIn .5s ease-out forwards}@keyframes float{0%,to{transform:translateY(0)}50%{transform:translateY(-5px)}}.animate-float{animation:float 3s ease-in-out infinite}@keyframes pulse{50%{opacity:.5}0%,to{opacity:1}}.animate-pulse{animation:pulse 2s ease-in-out infinite}@keyframes slideIn{0%{transform:translate(-10px);opacity:0}to{transform:translate(0);opacity:1}}.animate-slide-in{animation:slideIn .5s ease-out forwards}.cursor-help{cursor:help}.cursor-pointer{cursor:pointer}.select-none{-webkit-user-select:none;-moz-user-select:none;user-select:none}.resize{resize:both}.list-inside{list-style-position:inside}.list-decimal{list-style-type:decimal}.list-disc{list-style-type:disc}.grid-cols-1{grid-template-columns:repeat(1,minmax(0,1fr))}.grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.grid-cols-4{grid-template-columns:repeat(4,minmax(0,1fr))}.grid-cols-6{grid-template-columns:repeat(6,minmax(0,1fr))}.flex-col{flex-direction:column}.flex-wrap{flex-wrap:wrap}.items-start{align-items:flex-start}.items-end{align-items:flex-end}.items-center{align-items:center}.items-baseline{align-items:baseline}.items-stretch{align-items:stretch}.justify-end{justify-content:flex-end}.justify-center{justify-content:center}.justify-between{justify-content:space-between}.gap-1{gap:.25rem}.gap-1\.5{gap:.375rem}.gap-2{gap:.5rem}.gap-3{gap:.75rem}.gap-4{gap:1rem}.gap-6{gap:1.5rem}.space-x-2>:not([hidden])~:not([hidden]){--tw-space-x-reverse: 0;margin-right:calc(.5rem * var(--tw-space-x-reverse));margin-left:calc(.5rem * calc(1 - var(--tw-space-x-reverse)))}.space-x-3>:not([hidden])~:not([hidden]){--tw-space-x-reverse: 0;margin-right:calc(.75rem * var(--tw-space-x-reverse));margin-left:calc(.75rem * calc(1 - var(--tw-space-x-reverse)))}.space-x-4>:not([hidden])~:not([hidden]){--tw-space-x-reverse: 0;margin-right:calc(1rem * var(--tw-space-x-reverse));margin-left:calc(1rem * calc(1 - var(--tw-space-x-reverse)))}.space-x-8>:not([hidden])~:not([hidden]){--tw-space-x-reverse: 0;margin-right:calc(2rem * var(--tw-space-x-reverse));margin-left:calc(2rem * calc(1 - var(--tw-space-x-reverse)))}.space-y-1>:not([hidden])~:not([hidden]){--tw-space-y-reverse: 0;margin-top:calc(.25rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(.25rem * var(--tw-space-y-reverse))}.space-y-1\.5>:not([hidden])~:not([hidden]){--tw-space-y-reverse: 0;margin-top:calc(.375rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(.375rem * var(--tw-space-y-reverse))}.space-y-2>:not([hidden])~:not([hidden]){--tw-space-y-reverse: 0;margin-top:calc(.5rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(.5rem * var(--tw-space-y-reverse))}.space-y-3>:not([hidden])~:not([hidden]){--tw-space-y-reverse: 0;margin-top:calc(.75rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(.75rem * var(--tw-space-y-reverse))}.space-y-4>:not([hidden])~:not([hidden]){--tw-space-y-reverse: 0;margin-top:calc(1rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(1rem * var(--tw-space-y-reverse))}.space-y-6>:not([hidden])~:not([hidden]){--tw-space-y-reverse: 0;margin-top:calc(1.5rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(1.5rem * var(--tw-space-y-reverse))}.divide-y>:not([hidden])~:not([hidden]){--tw-divide-y-reverse: 0;border-top-width:calc(1px * calc(1 - var(--tw-divide-y-reverse)));border-bottom-width:calc(1px * var(--tw-divide-y-reverse))}.divide-gray-200>:not([hidden])~:not([hidden]){--tw-divide-opacity: 1;border-color:rgb(229 231 235 / var(--tw-divide-opacity, 1))}.self-center{align-self:center}.overflow-auto{overflow:auto}.overflow-hidden{overflow:hidden}.overflow-x-auto{overflow-x:auto}.overflow-y-auto{overflow-y:auto}.truncate{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.whitespace-nowrap{white-space:nowrap}.whitespace-pre-wrap{white-space:pre-wrap}.text-wrap{text-wrap:wrap}.rounded{border-radius:.25rem}.rounded-2xl{border-radius:1rem}.rounded-3xl{border-radius:1.5rem}.rounded-full{border-radius:9999px}.rounded-lg{border-radius:.5rem}.rounded-md{border-radius:.375rem}.rounded-xl{border-radius:.75rem}.rounded-b-lg{border-bottom-right-radius:.5rem;border-bottom-left-radius:.5rem}.rounded-r-full{border-top-right-radius:9999px;border-bottom-right-radius:9999px}.rounded-t-lg{border-top-left-radius:.5rem;border-top-right-radius:.5rem}.border{border-width:1px}.border-0{border-width:0px}.border-2{border-width:2px}.border-4{border-width:4px}.border-b{border-bottom-width:1px}.border-b-2{border-bottom-width:2px}.border-l{border-left-width:1px}.border-r{border-right-width:1px}.border-t{border-top-width:1px}.border-none{border-style:none}.\!border-white\/60{border-color:#fff9!important}.border-accent-blue{--tw-border-opacity: 1;border-color:rgb(0 187 249 / var(--tw-border-opacity, 1))}.border-accent-blue\/20{border-color:#00bbf933}.border-accent-purple\/20{border-color:#8b5cf633}.border-blue-200{--tw-border-opacity: 1;border-color:rgb(191 219 254 / var(--tw-border-opacity, 1))}.border-blue-500{--tw-border-opacity: 1;border-color:rgb(59 130 246 / var(--tw-border-opacity, 1))}.border-gray-100{--tw-border-opacity: 1;border-color:rgb(243 244 246 / var(--tw-border-opacity, 1))}.border-gray-200{--tw-border-opacity: 1;border-color:rgb(229 231 235 / var(--tw-border-opacity, 1))}.border-gray-300{--tw-border-opacity: 1;border-color:rgb(209 213 219 / var(--tw-border-opacity, 1))}.border-gray-400{--tw-border-opacity: 1;border-color:rgb(156 163 175 / var(--tw-border-opacity, 1))}.border-green-200{--tw-border-opacity: 1;border-color:rgb(187 247 208 / var(--tw-border-opacity, 1))}.border-green-400\/40{border-color:#4ade8066}.border-green-500{--tw-border-opacity: 1;border-color:rgb(34 197 94 / var(--tw-border-opacity, 1))}.border-primary-300{--tw-border-opacity: 1;border-color:rgb(196 181 253 / var(--tw-border-opacity, 1))}.border-primary-500{--tw-border-opacity: 1;border-color:rgb(139 92 246 / var(--tw-border-opacity, 1))}.border-primary-600{--tw-border-opacity: 1;border-color:rgb(124 58 237 / var(--tw-border-opacity, 1))}.border-red-100{--tw-border-opacity: 1;border-color:rgb(254 226 226 / var(--tw-border-opacity, 1))}.border-red-500{--tw-border-opacity: 1;border-color:rgb(239 68 68 / var(--tw-border-opacity, 1))}.border-transparent{border-color:transparent}.border-white{--tw-border-opacity: 1;border-color:rgb(255 255 255 / var(--tw-border-opacity, 1))}.border-white\/20{border-color:#fff3}.border-white\/30{border-color:#ffffff4d}.bg-accent-blue{--tw-bg-opacity: 1;background-color:rgb(0 187 249 / var(--tw-bg-opacity, 1))}.bg-accent-blue\/10{background-color:#00bbf91a}.bg-accent-blue\/90{background-color:#00bbf9e6}.bg-accent-purple\/10{background-color:#8b5cf61a}.bg-accent-purple\/90{background-color:#8b5cf6e6}.bg-amber-100{--tw-bg-opacity: 1;background-color:rgb(254 243 199 / var(--tw-bg-opacity, 1))}.bg-amber-50{--tw-bg-opacity: 1;background-color:rgb(255 251 235 / var(--tw-bg-opacity, 1))}.bg-amber-500{--tw-bg-opacity: 1;background-color:rgb(245 158 11 / var(--tw-bg-opacity, 1))}.bg-black{--tw-bg-opacity: 1;background-color:rgb(0 0 0 / var(--tw-bg-opacity, 1))}.bg-black\/50{background-color:#00000080}.bg-blue-100{--tw-bg-opacity: 1;background-color:rgb(219 234 254 / var(--tw-bg-opacity, 1))}.bg-blue-400{--tw-bg-opacity: 1;background-color:rgb(96 165 250 / var(--tw-bg-opacity, 1))}.bg-blue-50{--tw-bg-opacity: 1;background-color:rgb(239 246 255 / var(--tw-bg-opacity, 1))}.bg-blue-50\/30{background-color:#eff6ff4d}.bg-blue-50\/80{background-color:#eff6ffcc}.bg-blue-500{--tw-bg-opacity: 1;background-color:rgb(59 130 246 / var(--tw-bg-opacity, 1))}.bg-blue-500\/20{background-color:#3b82f633}.bg-blue-500\/40{background-color:#3b82f666}.bg-blue-500\/80{background-color:#3b82f6cc}.bg-cyan-100{--tw-bg-opacity: 1;background-color:rgb(207 250 254 / var(--tw-bg-opacity, 1))}.bg-cyan-500{--tw-bg-opacity: 1;background-color:rgb(6 182 212 / var(--tw-bg-opacity, 1))}.bg-emerald-100{--tw-bg-opacity: 1;background-color:rgb(209 250 229 / var(--tw-bg-opacity, 1))}.bg-emerald-50{--tw-bg-opacity: 1;background-color:rgb(236 253 245 / var(--tw-bg-opacity, 1))}.bg-gray-100{--tw-bg-opacity: 1;background-color:rgb(243 244 246 / var(--tw-bg-opacity, 1))}.bg-gray-200{--tw-bg-opacity: 1;background-color:rgb(229 231 235 / var(--tw-bg-opacity, 1))}.bg-gray-300{--tw-bg-opacity: 1;background-color:rgb(209 213 219 / var(--tw-bg-opacity, 1))}.bg-gray-400{--tw-bg-opacity: 1;background-color:rgb(156 163 175 / var(--tw-bg-opacity, 1))}.bg-gray-50{--tw-bg-opacity: 1;background-color:rgb(249 250 251 / var(--tw-bg-opacity, 1))}.bg-gray-50\/80{background-color:#f9fafbcc}.bg-gray-500{--tw-bg-opacity: 1;background-color:rgb(107 114 128 / var(--tw-bg-opacity, 1))}.bg-gray-500\/20{background-color:#6b728033}.bg-gray-500\/80{background-color:#6b7280cc}.bg-green-100{--tw-bg-opacity: 1;background-color:rgb(220 252 231 / var(--tw-bg-opacity, 1))}.bg-green-400{--tw-bg-opacity: 1;background-color:rgb(74 222 128 / var(--tw-bg-opacity, 1))}.bg-green-50{--tw-bg-opacity: 1;background-color:rgb(240 253 244 / var(--tw-bg-opacity, 1))}.bg-green-500{--tw-bg-opacity: 1;background-color:rgb(34 197 94 / var(--tw-bg-opacity, 1))}.bg-green-500\/30{background-color:#22c55e4d}.bg-green-500\/40{background-color:#22c55e66}.bg-green-500\/80{background-color:#22c55ecc}.bg-indigo-100{--tw-bg-opacity: 1;background-color:rgb(224 231 255 / var(--tw-bg-opacity, 1))}.bg-orange-100{--tw-bg-opacity: 1;background-color:rgb(255 237 213 / var(--tw-bg-opacity, 1))}.bg-orange-500{--tw-bg-opacity: 1;background-color:rgb(249 115 22 / var(--tw-bg-opacity, 1))}.bg-orange-500\/20{background-color:#f9731633}.bg-orange-500\/40{background-color:#f9731666}.bg-pink-100{--tw-bg-opacity: 1;background-color:rgb(252 231 243 / var(--tw-bg-opacity, 1))}.bg-pink-500{--tw-bg-opacity: 1;background-color:rgb(236 72 153 / var(--tw-bg-opacity, 1))}.bg-primary-100{--tw-bg-opacity: 1;background-color:rgb(237 233 254 / var(--tw-bg-opacity, 1))}.bg-primary-50{--tw-bg-opacity: 1;background-color:rgb(245 243 255 / var(--tw-bg-opacity, 1))}.bg-primary-50\/60{background-color:#f5f3ff99}.bg-primary-50\/80{background-color:#f5f3ffcc}.bg-primary-500{--tw-bg-opacity: 1;background-color:rgb(139 92 246 / var(--tw-bg-opacity, 1))}.bg-primary-500\/10{background-color:#8b5cf61a}.bg-primary-600{--tw-bg-opacity: 1;background-color:rgb(124 58 237 / var(--tw-bg-opacity, 1))}.bg-purple-100{--tw-bg-opacity: 1;background-color:rgb(243 232 255 / var(--tw-bg-opacity, 1))}.bg-purple-500{--tw-bg-opacity: 1;background-color:rgb(168 85 247 / var(--tw-bg-opacity, 1))}.bg-purple-500\/40{background-color:#a855f766}.bg-red-100{--tw-bg-opacity: 1;background-color:rgb(254 226 226 / var(--tw-bg-opacity, 1))}.bg-red-400{--tw-bg-opacity: 1;background-color:rgb(248 113 113 / var(--tw-bg-opacity, 1))}.bg-red-50{--tw-bg-opacity: 1;background-color:rgb(254 242 242 / var(--tw-bg-opacity, 1))}.bg-red-500{--tw-bg-opacity: 1;background-color:rgb(239 68 68 / var(--tw-bg-opacity, 1))}.bg-red-500\/10{background-color:#ef44441a}.bg-red-500\/20{background-color:#ef444433}.bg-red-500\/80{background-color:#ef4444cc}.bg-red-600{--tw-bg-opacity: 1;background-color:rgb(220 38 38 / var(--tw-bg-opacity, 1))}.bg-sky-100{--tw-bg-opacity: 1;background-color:rgb(224 242 254 / var(--tw-bg-opacity, 1))}.bg-teal-100{--tw-bg-opacity: 1;background-color:rgb(204 251 241 / var(--tw-bg-opacity, 1))}.bg-transparent{background-color:transparent}.bg-violet-100{--tw-bg-opacity: 1;background-color:rgb(237 233 254 / var(--tw-bg-opacity, 1))}.bg-white{--tw-bg-opacity: 1;background-color:rgb(255 255 255 / var(--tw-bg-opacity, 1))}.bg-white\/10{background-color:#ffffff1a}.bg-white\/20{background-color:#fff3}.bg-white\/30{background-color:#ffffff4d}.bg-white\/90{background-color:#ffffffe6}.bg-yellow-100{--tw-bg-opacity: 1;background-color:rgb(254 249 195 / var(--tw-bg-opacity, 1))}.bg-yellow-400{--tw-bg-opacity: 1;background-color:rgb(250 204 21 / var(--tw-bg-opacity, 1))}.bg-yellow-50{--tw-bg-opacity: 1;background-color:rgb(254 252 232 / var(--tw-bg-opacity, 1))}.bg-yellow-500{--tw-bg-opacity: 1;background-color:rgb(234 179 8 / var(--tw-bg-opacity, 1))}.bg-yellow-500\/20{background-color:#eab30833}.bg-opacity-50{--tw-bg-opacity: .5}.bg-gradient-to-b{background-image:linear-gradient(to bottom,var(--tw-gradient-stops))}.bg-gradient-to-br{background-image:linear-gradient(to bottom right,var(--tw-gradient-stops))}.bg-gradient-to-r{background-image:linear-gradient(to right,var(--tw-gradient-stops))}.from-accent-blue{--tw-gradient-from: #00bbf9 var(--tw-gradient-from-position);--tw-gradient-to: rgb(0 187 249 / 0) var(--tw-gradient-to-position);--tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to)}.from-gray-50{--tw-gradient-from: #f9fafb var(--tw-gradient-from-position);--tw-gradient-to: rgb(249 250 251 / 0) var(--tw-gradient-to-position);--tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to)}.from-primary-50{--tw-gradient-from: #f5f3ff var(--tw-gradient-from-position);--tw-gradient-to: rgb(245 243 255 / 0) var(--tw-gradient-to-position);--tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to)}.from-primary-500{--tw-gradient-from: #8b5cf6 var(--tw-gradient-from-position);--tw-gradient-to: rgb(139 92 246 / 0) var(--tw-gradient-to-position);--tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to)}.from-purple-600{--tw-gradient-from: #9333ea var(--tw-gradient-from-position);--tw-gradient-to: rgb(147 51 234 / 0) var(--tw-gradient-to-position);--tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to)}.from-red-500{--tw-gradient-from: #ef4444 var(--tw-gradient-from-position);--tw-gradient-to: rgb(239 68 68 / 0) var(--tw-gradient-to-position);--tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to)}.from-white{--tw-gradient-from: #fff var(--tw-gradient-from-position);--tw-gradient-to: rgb(255 255 255 / 0) var(--tw-gradient-to-position);--tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to)}.via-accent-purple{--tw-gradient-to: rgb(139 92 246 / 0) var(--tw-gradient-to-position);--tw-gradient-stops: var(--tw-gradient-from), #8b5cf6 var(--tw-gradient-via-position), var(--tw-gradient-to)}.via-blue-600{--tw-gradient-to: rgb(37 99 235 / 0) var(--tw-gradient-to-position);--tw-gradient-stops: var(--tw-gradient-from), #2563eb var(--tw-gradient-via-position), var(--tw-gradient-to)}.via-white{--tw-gradient-to: rgb(255 255 255 / 0) var(--tw-gradient-to-position);--tw-gradient-stops: var(--tw-gradient-from), #fff var(--tw-gradient-via-position), var(--tw-gradient-to)}.to-accent-purple{--tw-gradient-to: #8b5cf6 var(--tw-gradient-to-position)}.to-gray-100{--tw-gradient-to: #f3f4f6 var(--tw-gradient-to-position)}.to-gray-50{--tw-gradient-to: #f9fafb var(--tw-gradient-to-position)}.to-indigo-700{--tw-gradient-to: #4338ca var(--tw-gradient-to-position)}.to-primary-50\/30{--tw-gradient-to: rgb(245 243 255 / .3) var(--tw-gradient-to-position)}.to-primary-800{--tw-gradient-to: #5b21b6 var(--tw-gradient-to-position)}.to-red-600{--tw-gradient-to: #dc2626 var(--tw-gradient-to-position)}.bg-clip-text{-webkit-background-clip:text;background-clip:text}.object-contain{-o-object-fit:contain;object-fit:contain}.object-cover{-o-object-fit:cover;object-fit:cover}.p-0{padding:0}.p-1{padding:.25rem}.p-1\.5{padding:.375rem}.p-2{padding:.5rem}.p-3{padding:.75rem}.p-4{padding:1rem}.p-5{padding:1.25rem}.p-6{padding:1.5rem}.p-8{padding:2rem}.px-1{padding-left:.25rem;padding-right:.25rem}.px-1\.5{padding-left:.375rem;padding-right:.375rem}.px-2{padding-left:.5rem;padding-right:.5rem}.px-3{padding-left:.75rem;padding-right:.75rem}.px-4{padding-left:1rem;padding-right:1rem}.px-6{padding-left:1.5rem;padding-right:1.5rem}.px-8{padding-left:2rem;padding-right:2rem}.py-0\.5{padding-top:.125rem;padding-bottom:.125rem}.py-1{padding-top:.25rem;padding-bottom:.25rem}.py-1\.5{padding-top:.375rem;padding-bottom:.375rem}.py-10{padding-top:2.5rem;padding-bottom:2.5rem}.py-12{padding-top:3rem;padding-bottom:3rem}.py-16{padding-top:4rem;padding-bottom:4rem}.py-2{padding-top:.5rem;padding-bottom:.5rem}.py-2\.5{padding-top:.625rem;padding-bottom:.625rem}.py-3{padding-top:.75rem;padding-bottom:.75rem}.py-4{padding-top:1rem;padding-bottom:1rem}.py-8{padding-top:2rem;padding-bottom:2rem}.pb-1{padding-bottom:.25rem}.pb-3{padding-bottom:.75rem}.pb-4{padding-bottom:1rem}.pb-6{padding-bottom:1.5rem}.pl-1{padding-left:.25rem}.pl-2{padding-left:.5rem}.pl-4{padding-left:1rem}.pl-5{padding-left:1.25rem}.pl-6{padding-left:1.5rem}.pt-2{padding-top:.5rem}.pt-3{padding-top:.75rem}.pt-4{padding-top:1rem}.pt-6{padding-top:1.5rem}.pt-\[var\(--dashboard-chrome-height\)\]{padding-top:var(--dashboard-chrome-height)}.text-left{text-align:left}.text-center{text-align:center}.text-right{text-align:right}.text-2xl{font-size:1.5rem;line-height:2rem}.text-3xl{font-size:1.875rem;line-height:2.25rem}.text-4xl{font-size:2.25rem;line-height:2.5rem}.text-5xl{font-size:3rem;line-height:1}.text-8xl{font-size:6rem;line-height:1}.text-\[0\.65rem\]{font-size:.65rem}.text-\[10px\]{font-size:10px}.text-base{font-size:1rem;line-height:1.5rem}.text-lg{font-size:1.125rem;line-height:1.75rem}.text-sm{font-size:.875rem;line-height:1.25rem}.text-xl{font-size:1.25rem;line-height:1.75rem}.text-xs{font-size:.75rem;line-height:1rem}.font-bold{font-weight:700}.font-medium{font-weight:500}.font-normal{font-weight:400}.font-semibold{font-weight:600}.uppercase{text-transform:uppercase}.lowercase{text-transform:lowercase}.capitalize{text-transform:capitalize}.italic{font-style:italic}.tabular-nums{--tw-numeric-spacing: tabular-nums;font-variant-numeric:var(--tw-ordinal) var(--tw-slashed-zero) var(--tw-numeric-figure) var(--tw-numeric-spacing) var(--tw-numeric-fraction)}.leading-none{line-height:1}.leading-relaxed{line-height:1.625}.leading-tight{line-height:1.25}.tracking-tight{letter-spacing:-.025em}.tracking-wide{letter-spacing:.025em}.tracking-wider{letter-spacing:.05em}.\!text-white{--tw-text-opacity: 1 !important;color:rgb(255 255 255 / var(--tw-text-opacity, 1))!important}.text-accent-blue{--tw-text-opacity: 1;color:rgb(0 187 249 / var(--tw-text-opacity, 1))}.text-accent-green{--tw-text-opacity: 1;color:rgb(0 245 212 / var(--tw-text-opacity, 1))}.text-accent-purple{--tw-text-opacity: 1;color:rgb(139 92 246 / var(--tw-text-opacity, 1))}.text-amber-300{--tw-text-opacity: 1;color:rgb(252 211 77 / var(--tw-text-opacity, 1))}.text-amber-400{--tw-text-opacity: 1;color:rgb(251 191 36 / var(--tw-text-opacity, 1))}.text-amber-500{--tw-text-opacity: 1;color:rgb(245 158 11 / var(--tw-text-opacity, 1))}.text-amber-600{--tw-text-opacity: 1;color:rgb(217 119 6 / var(--tw-text-opacity, 1))}.text-amber-700{--tw-text-opacity: 1;color:rgb(180 83 9 / var(--tw-text-opacity, 1))}.text-amber-800{--tw-text-opacity: 1;color:rgb(146 64 14 / var(--tw-text-opacity, 1))}.text-blue-200{--tw-text-opacity: 1;color:rgb(191 219 254 / var(--tw-text-opacity, 1))}.text-blue-300{--tw-text-opacity: 1;color:rgb(147 197 253 / var(--tw-text-opacity, 1))}.text-blue-500{--tw-text-opacity: 1;color:rgb(59 130 246 / var(--tw-text-opacity, 1))}.text-blue-600{--tw-text-opacity: 1;color:rgb(37 99 235 / var(--tw-text-opacity, 1))}.text-blue-700{--tw-text-opacity: 1;color:rgb(29 78 216 / var(--tw-text-opacity, 1))}.text-blue-800{--tw-text-opacity: 1;color:rgb(30 64 175 / var(--tw-text-opacity, 1))}.text-cyan-600{--tw-text-opacity: 1;color:rgb(8 145 178 / var(--tw-text-opacity, 1))}.text-emerald-500{--tw-text-opacity: 1;color:rgb(16 185 129 / var(--tw-text-opacity, 1))}.text-emerald-600{--tw-text-opacity: 1;color:rgb(5 150 105 / var(--tw-text-opacity, 1))}.text-gray-300{--tw-text-opacity: 1;color:rgb(209 213 219 / var(--tw-text-opacity, 1))}.text-gray-400{--tw-text-opacity: 1;color:rgb(156 163 175 / var(--tw-text-opacity, 1))}.text-gray-500{--tw-text-opacity: 1;color:rgb(107 114 128 / var(--tw-text-opacity, 1))}.text-gray-600{--tw-text-opacity: 1;color:rgb(75 85 99 / var(--tw-text-opacity, 1))}.text-gray-700{--tw-text-opacity: 1;color:rgb(55 65 81 / var(--tw-text-opacity, 1))}.text-gray-800{--tw-text-opacity: 1;color:rgb(31 41 55 / var(--tw-text-opacity, 1))}.text-gray-900{--tw-text-opacity: 1;color:rgb(17 24 39 / var(--tw-text-opacity, 1))}.text-green-100{--tw-text-opacity: 1;color:rgb(220 252 231 / var(--tw-text-opacity, 1))}.text-green-200\/90{color:#bbf7d0e6}.text-green-300{--tw-text-opacity: 1;color:rgb(134 239 172 / var(--tw-text-opacity, 1))}.text-green-500{--tw-text-opacity: 1;color:rgb(34 197 94 / var(--tw-text-opacity, 1))}.text-green-600{--tw-text-opacity: 1;color:rgb(22 163 74 / var(--tw-text-opacity, 1))}.text-green-700{--tw-text-opacity: 1;color:rgb(21 128 61 / var(--tw-text-opacity, 1))}.text-green-800{--tw-text-opacity: 1;color:rgb(22 101 52 / var(--tw-text-opacity, 1))}.text-indigo-600{--tw-text-opacity: 1;color:rgb(79 70 229 / var(--tw-text-opacity, 1))}.text-orange-200{--tw-text-opacity: 1;color:rgb(254 215 170 / var(--tw-text-opacity, 1))}.text-orange-300{--tw-text-opacity: 1;color:rgb(253 186 116 / var(--tw-text-opacity, 1))}.text-orange-500{--tw-text-opacity: 1;color:rgb(249 115 22 / var(--tw-text-opacity, 1))}.text-orange-600{--tw-text-opacity: 1;color:rgb(234 88 12 / var(--tw-text-opacity, 1))}.text-pink-500{--tw-text-opacity: 1;color:rgb(236 72 153 / var(--tw-text-opacity, 1))}.text-pink-600{--tw-text-opacity: 1;color:rgb(219 39 119 / var(--tw-text-opacity, 1))}.text-primary-400{--tw-text-opacity: 1;color:rgb(167 139 250 / var(--tw-text-opacity, 1))}.text-primary-500{--tw-text-opacity: 1;color:rgb(139 92 246 / var(--tw-text-opacity, 1))}.text-primary-500\/70{color:#8b5cf6b3}.text-primary-600{--tw-text-opacity: 1;color:rgb(124 58 237 / var(--tw-text-opacity, 1))}.text-primary-700{--tw-text-opacity: 1;color:rgb(109 40 217 / var(--tw-text-opacity, 1))}.text-primary-emphasis{--tw-text-opacity: 1;color:rgb(147 51 234 / var(--tw-text-opacity, 1))}.text-purple-300{--tw-text-opacity: 1;color:rgb(216 180 254 / var(--tw-text-opacity, 1))}.text-purple-500{--tw-text-opacity: 1;color:rgb(168 85 247 / var(--tw-text-opacity, 1))}.text-purple-600{--tw-text-opacity: 1;color:rgb(147 51 234 / var(--tw-text-opacity, 1))}.text-purple-800{--tw-text-opacity: 1;color:rgb(107 33 168 / var(--tw-text-opacity, 1))}.text-red-200{--tw-text-opacity: 1;color:rgb(254 202 202 / var(--tw-text-opacity, 1))}.text-red-300{--tw-text-opacity: 1;color:rgb(252 165 165 / var(--tw-text-opacity, 1))}.text-red-500{--tw-text-opacity: 1;color:rgb(239 68 68 / var(--tw-text-opacity, 1))}.text-red-600{--tw-text-opacity: 1;color:rgb(220 38 38 / var(--tw-text-opacity, 1))}.text-red-700{--tw-text-opacity: 1;color:rgb(185 28 28 / var(--tw-text-opacity, 1))}.text-red-800{--tw-text-opacity: 1;color:rgb(153 27 27 / var(--tw-text-opacity, 1))}.text-sky-600{--tw-text-opacity: 1;color:rgb(2 132 199 / var(--tw-text-opacity, 1))}.text-teal-600{--tw-text-opacity: 1;color:rgb(13 148 136 / var(--tw-text-opacity, 1))}.text-violet-600{--tw-text-opacity: 1;color:rgb(124 58 237 / var(--tw-text-opacity, 1))}.text-white{--tw-text-opacity: 1;color:rgb(255 255 255 / var(--tw-text-opacity, 1))}.text-white\/60{color:#fff9}.text-white\/70{color:#ffffffb3}.text-white\/80{color:#fffc}.text-white\/90{color:#ffffffe6}.text-yellow-200{--tw-text-opacity: 1;color:rgb(254 240 138 / var(--tw-text-opacity, 1))}.text-yellow-300{--tw-text-opacity: 1;color:rgb(253 224 71 / var(--tw-text-opacity, 1))}.text-yellow-400{--tw-text-opacity: 1;color:rgb(250 204 21 / var(--tw-text-opacity, 1))}.text-yellow-500{--tw-text-opacity: 1;color:rgb(234 179 8 / var(--tw-text-opacity, 1))}.text-yellow-600{--tw-text-opacity: 1;color:rgb(202 138 4 / var(--tw-text-opacity, 1))}.text-yellow-800{--tw-text-opacity: 1;color:rgb(133 77 14 / var(--tw-text-opacity, 1))}.underline{text-decoration-line:underline}.opacity-0{opacity:0}.opacity-100{opacity:1}.opacity-40{opacity:.4}.opacity-50{opacity:.5}.opacity-60{opacity:.6}.shadow{--tw-shadow: 0 1px 3px 0 rgb(0 0 0 / .1), 0 1px 2px -1px rgb(0 0 0 / .1);--tw-shadow-colored: 0 1px 3px 0 var(--tw-shadow-color), 0 1px 2px -1px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}.shadow-\[0_8px_32px_rgba\(0\,0\,0\,0\.15\)\]{--tw-shadow: 0 8px 32px rgba(0,0,0,.15);--tw-shadow-colored: 0 8px 32px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}.shadow-\[0_8px_32px_rgba\(0\,0\,0\,0\.3\)\]{--tw-shadow: 0 8px 32px rgba(0,0,0,.3);--tw-shadow-colored: 0 8px 32px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}.shadow-lg{--tw-shadow: 0 10px 15px -3px rgb(0 0 0 / .1), 0 4px 6px -4px rgb(0 0 0 / .1);--tw-shadow-colored: 0 10px 15px -3px var(--tw-shadow-color), 0 4px 6px -4px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}.shadow-md{--tw-shadow: 0 4px 6px -1px rgb(0 0 0 / .1), 0 2px 4px -2px rgb(0 0 0 / .1);--tw-shadow-colored: 0 4px 6px -1px var(--tw-shadow-color), 0 2px 4px -2px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}.shadow-sm{--tw-shadow: 0 1px 2px 0 rgb(0 0 0 / .05);--tw-shadow-colored: 0 1px 2px 0 var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}.shadow-xl{--tw-shadow: 0 20px 25px -5px rgb(0 0 0 / .1), 0 8px 10px -6px rgb(0 0 0 / .1);--tw-shadow-colored: 0 20px 25px -5px var(--tw-shadow-color), 0 8px 10px -6px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}.outline{outline-style:solid}.ring-2{--tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow, 0 0 #0000)}.ring-accent-blue\/20{--tw-ring-color: rgb(0 187 249 / .2)}.ring-primary-500\/20{--tw-ring-color: rgb(139 92 246 / .2)}.blur{--tw-blur: blur(8px);filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)}.drop-shadow{--tw-drop-shadow: drop-shadow(0 1px 2px rgb(0 0 0 / .1)) drop-shadow(0 1px 1px rgb(0 0 0 / .06));filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)}.drop-shadow-lg{--tw-drop-shadow: drop-shadow(0 10px 8px rgb(0 0 0 / .04)) drop-shadow(0 4px 3px rgb(0 0 0 / .1));filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)}.filter{filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)}.backdrop-blur-lg{--tw-backdrop-blur: blur(16px);-webkit-backdrop-filter:var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia);backdrop-filter:var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia)}.backdrop-blur-sm{--tw-backdrop-blur: blur(4px);-webkit-backdrop-filter:var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia);backdrop-filter:var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia)}.backdrop-filter{-webkit-backdrop-filter:var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia);backdrop-filter:var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia)}.transition{transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,-webkit-backdrop-filter;transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,backdrop-filter;transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,backdrop-filter,-webkit-backdrop-filter;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.transition-all{transition-property:all;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.transition-colors{transition-property:color,background-color,border-color,text-decoration-color,fill,stroke;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.transition-opacity{transition-property:opacity;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.transition-transform{transition-property:transform;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.duration-150{transition-duration:.15s}.duration-200{transition-duration:.2s}.duration-300{transition-duration:.3s}.duration-500{transition-duration:.5s}.ease-in-out{transition-timing-function:cubic-bezier(.4,0,.2,1)}.ease-out{transition-timing-function:cubic-bezier(0,0,.2,1)}.p-password-input{background-color:transparent!important}.hover\:scale-105:hover{--tw-scale-x: 1.05;--tw-scale-y: 1.05;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.hover\:scale-110:hover{--tw-scale-x: 1.1;--tw-scale-y: 1.1;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.hover\:transform:hover{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.hover\:border-gray-300:hover{--tw-border-opacity: 1;border-color:rgb(209 213 219 / var(--tw-border-opacity, 1))}.hover\:border-gray-400:hover{--tw-border-opacity: 1;border-color:rgb(156 163 175 / var(--tw-border-opacity, 1))}.hover\:border-gray-500:hover{--tw-border-opacity: 1;border-color:rgb(107 114 128 / var(--tw-border-opacity, 1))}.hover\:\!bg-white\/10:hover{background-color:#ffffff1a!important}.hover\:bg-accent-blue\/90:hover{background-color:#00bbf9e6}.hover\:bg-gray-100:hover{--tw-bg-opacity: 1;background-color:rgb(243 244 246 / var(--tw-bg-opacity, 1))}.hover\:bg-gray-200:hover{--tw-bg-opacity: 1;background-color:rgb(229 231 235 / var(--tw-bg-opacity, 1))}.hover\:bg-gray-50:hover{--tw-bg-opacity: 1;background-color:rgb(249 250 251 / var(--tw-bg-opacity, 1))}.hover\:bg-gray-50\/50:hover{background-color:#f9fafb80}.hover\:bg-primary-50:hover{--tw-bg-opacity: 1;background-color:rgb(245 243 255 / var(--tw-bg-opacity, 1))}.hover\:bg-primary-50\/80:hover{background-color:#f5f3ffcc}.hover\:bg-primary-600:hover{--tw-bg-opacity: 1;background-color:rgb(124 58 237 / var(--tw-bg-opacity, 1))}.hover\:bg-red-600:hover{--tw-bg-opacity: 1;background-color:rgb(220 38 38 / var(--tw-bg-opacity, 1))}.hover\:bg-white\/15:hover{background-color:#ffffff26}.hover\:bg-white\/30:hover{background-color:#ffffff4d}.hover\:text-gray-600:hover{--tw-text-opacity: 1;color:rgb(75 85 99 / var(--tw-text-opacity, 1))}.hover\:text-gray-700:hover{--tw-text-opacity: 1;color:rgb(55 65 81 / var(--tw-text-opacity, 1))}.hover\:text-gray-800:hover{--tw-text-opacity: 1;color:rgb(31 41 55 / var(--tw-text-opacity, 1))}.hover\:text-green-800:hover{--tw-text-opacity: 1;color:rgb(22 101 52 / var(--tw-text-opacity, 1))}.hover\:text-primary-500:hover{--tw-text-opacity: 1;color:rgb(139 92 246 / var(--tw-text-opacity, 1))}.hover\:text-primary-800:hover{--tw-text-opacity: 1;color:rgb(91 33 182 / var(--tw-text-opacity, 1))}.hover\:text-teal-900:hover{--tw-text-opacity: 1;color:rgb(19 78 74 / var(--tw-text-opacity, 1))}.hover\:opacity-75:hover{opacity:.75}.hover\:opacity-80:hover{opacity:.8}.hover\:opacity-90:hover{opacity:.9}.hover\:shadow-lg:hover{--tw-shadow: 0 10px 15px -3px rgb(0 0 0 / .1), 0 4px 6px -4px rgb(0 0 0 / .1);--tw-shadow-colored: 0 10px 15px -3px var(--tw-shadow-color), 0 4px 6px -4px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}.hover\:shadow-md:hover{--tw-shadow: 0 4px 6px -1px rgb(0 0 0 / .1), 0 2px 4px -2px rgb(0 0 0 / .1);--tw-shadow-colored: 0 4px 6px -1px var(--tw-shadow-color), 0 2px 4px -2px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}.hover\:shadow-xl:hover{--tw-shadow: 0 20px 25px -5px rgb(0 0 0 / .1), 0 8px 10px -6px rgb(0 0 0 / .1);--tw-shadow-colored: 0 20px 25px -5px var(--tw-shadow-color), 0 8px 10px -6px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}.focus\:outline-none:focus{outline:2px solid transparent;outline-offset:2px}.focus\:ring-2:focus{--tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow, 0 0 #0000)}.focus\:ring-red-500:focus{--tw-ring-opacity: 1;--tw-ring-color: rgb(239 68 68 / var(--tw-ring-opacity, 1))}.disabled\:cursor-not-allowed:disabled{cursor:not-allowed}.disabled\:opacity-50:disabled{opacity:.5}.disabled\:opacity-70:disabled{opacity:.7}.disabled\:hover\:scale-100:hover:disabled{--tw-scale-x: 1;--tw-scale-y: 1;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.disabled\:hover\:shadow-none:hover:disabled{--tw-shadow: 0 0 #0000;--tw-shadow-colored: 0 0 #0000;box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}@media (min-width: 640px){.sm\:w-auto{width:auto}.sm\:max-w-\[12rem\]{max-width:12rem}.sm\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.sm\:grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.sm\:gap-2{gap:.5rem}.sm\:gap-3{gap:.75rem}.sm\:px-6{padding-left:1.5rem;padding-right:1.5rem}}@media (min-width: 768px){.md\:col-span-1{grid-column:span 1 / span 1}.md\:col-span-2{grid-column:span 2 / span 2}.md\:flex{display:flex}.md\:w-1\/2{width:50%}.md\:grid-cols-1{grid-template-columns:repeat(1,minmax(0,1fr))}.md\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.md\:grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.md\:grid-cols-4{grid-template-columns:repeat(4,minmax(0,1fr))}.md\:grid-cols-5{grid-template-columns:repeat(5,minmax(0,1fr))}.md\:grid-cols-7{grid-template-columns:repeat(7,minmax(0,1fr))}.md\:flex-row{flex-direction:row}.md\:items-start{align-items:flex-start}.md\:items-center{align-items:center}.md\:justify-between{justify-content:space-between}.md\:p-6{padding:1.5rem}.md\:text-3xl{font-size:1.875rem;line-height:2.25rem}.md\:text-4xl{font-size:2.25rem;line-height:2.5rem}.md\:text-xl{font-size:1.25rem;line-height:1.75rem}}@media (min-width: 1024px){.lg\:max-w-none{max-width:none}.lg\:grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.lg\:grid-cols-4{grid-template-columns:repeat(4,minmax(0,1fr))}.lg\:grid-cols-5{grid-template-columns:repeat(5,minmax(0,1fr))}.lg\:grid-cols-6{grid-template-columns:repeat(6,minmax(0,1fr))}.lg\:p-8{padding:2rem}.lg\:px-4{padding-left:1rem;padding-right:1rem}.lg\:px-8{padding-left:2rem;padding-right:2rem}}@media (min-width: 1280px){.xl\:grid-cols-5{grid-template-columns:repeat(5,minmax(0,1fr))}}
