.card{background-color:var(--surface-card);border:1px solid var(--surface-border);border-radius:var(--border-radius);margin-bottom:2rem;padding:1rem}.card:last-child{margin-bottom:0}.ng-hidden{display:none!important}.grid-2-stack{grid-template-columns:repeat(2,minmax(0,1fr));display:grid}.grid-media-stack{grid-template-columns:auto minmax(0,1fr);display:grid}.grid-row-action-stack{grid-template-columns:minmax(0,1fr) minmax(0,1fr) auto;display:grid}.grid-row-action-stack.grid-row-action-wide{grid-template-columns:minmax(0,1fr) minmax(0,2fr) auto}@media screen and (max-width:640px){.grid-2-stack,.grid-media-stack,.grid-row-action-stack,.grid-row-action-stack.grid-row-action-wide{grid-template-columns:minmax(0,1fr)}.grid-row-action-stack>button:last-child{justify-self:end}}body{font-weight:400}h1,h2,h3,h4,h5,h6{font-family:var(--app-font-display),var(--app-font-family);letter-spacing:-.01em;color:var(--surface-900);margin:1.5rem 0 1rem;font-weight:600;line-height:1.2}h1:first-child,h2:first-child,h3:first-child,h4:first-child,h5:first-child,h6:first-child{margin-top:0}h1{font-size:2.5rem}h2{font-size:2rem}h3{font-size:1.75rem}h4{font-size:1.5rem}h5{font-size:1.25rem}h6{font-size:1rem}mark{border-radius:var(--border-radius);background:#fff8e1;padding:.25rem .4rem;font-family:monospace}blockquote{border-left:4px solid #90a4ae;margin:1rem 0;padding:0 2rem}hr{border-top:solid var(--surface-border);border-width:1px 0 0;margin:1rem 0}p{margin:0 0 1rem;line-height:1.5}p:last-child{margin-bottom:0}@keyframes px-mask-in{0%{background-color:#0000}to{background-color:var(--maskbg)}}@keyframes px-scalein{0%{opacity:0;transform:scaleY(.8)}to{opacity:1;transform:scaleY(1)}}@keyframes px-fadein{0%{opacity:0}to{opacity:1}}@keyframes px-fadeout{0%{opacity:1}to{opacity:0}}.px-scalein{animation:.12s cubic-bezier(0,0,.2,1) px-scalein}.px-fadein{animation:.15s linear px-fadein}.px-fadeout{animation:.15s linear px-fadeout}html{height:100%;font-size:15px}body{--font-family:var(--app-font-family);font-family:var(--font-family);--project-background:var(--app-surface);--project-border:var(--app-border);--project-primary:var(--app-primary);--project-secondary:var(--app-primary);--project-muted:var(--app-surface-muted);--project-muted-foreground:var(--app-text);--project-success:var(--app-success);--project-accent:var(--app-text-muted);--project-warning:var(--app-warning);--project-primary-strong:var(--app-primary-hover);--primary-color:var(--app-primary);--primary-color-text:var(--app-on-primary);--text-color:var(--app-text);--text-color-secondary:var(--app-text-muted);--surface-a:var(--app-surface);--surface-b:var(--app-surface-muted);--surface-c:var(--app-surface-sunken);--surface-d:var(--app-border);--surface-e:var(--app-surface);--surface-f:var(--app-surface);--surface-0:var(--app-surface);--surface-50:var(--app-surface-muted);--surface-100:var(--app-surface-sunken);--surface-200:var(--app-border);--surface-300:var(--app-border-strong);--surface-400:var(--app-text-subtle);--surface-500:var(--app-text-subtle);--surface-600:var(--app-text-muted);--surface-700:var(--app-text-muted);--surface-800:var(--app-text);--surface-900:var(--app-text);--surface-ground:var(--app-background);--surface-section:var(--app-surface);--surface-card:var(--app-surface);--surface-overlay:var(--app-surface);--surface-border:var(--app-border);--surface-hover:var(--app-surface-sunken);--maskbg:var(--app-overlay);--primary-50:color-mix(in srgb, var(--app-primary) 10%, var(--app-surface));--primary-100:color-mix(in srgb, var(--app-primary) 20%, var(--app-surface));--primary-200:color-mix(in srgb, var(--app-primary) 35%, var(--app-surface));--primary-300:color-mix(in srgb, var(--app-primary) 50%, var(--app-surface));--primary-400:color-mix(in srgb, var(--app-primary) 70%, var(--app-surface));--primary-500:var(--app-primary);--primary-600:var(--app-primary-hover);--primary-700:color-mix(in srgb, var(--app-primary-hover) 80%, var(--app-text));--primary-800:color-mix(in srgb, var(--app-primary-hover) 65%, var(--app-text));--primary-900:color-mix(in srgb, var(--app-primary-hover) 50%, var(--app-text));--green-50:var(--app-success-bg);--green-100:var(--app-success-bg);--green-200:color-mix(in srgb, var(--app-success) 35%, var(--app-surface));--green-300:color-mix(in srgb, var(--app-success) 50%, var(--app-surface));--green-400:color-mix(in srgb, var(--app-success) 70%, var(--app-surface));--green-500:var(--app-success);--green-600:var(--app-success);--green-700:var(--app-on-success-bg);--green-800:var(--app-on-success-bg);--green-900:var(--app-on-success-bg);--yellow-50:var(--app-warning-bg);--yellow-100:var(--app-warning-bg);--yellow-200:color-mix(in srgb, var(--app-warning) 35%, var(--app-surface));--yellow-300:color-mix(in srgb, var(--app-warning) 50%, var(--app-surface));--yellow-400:color-mix(in srgb, var(--app-warning) 70%, var(--app-surface));--yellow-500:var(--app-warning);--yellow-600:var(--app-warning);--yellow-700:var(--app-on-warning-bg);--yellow-800:var(--app-on-warning-bg);--yellow-900:var(--app-on-warning-bg);--orange-500:var(--app-warning);--focus-ring:0 0 0 .2rem color-mix(in srgb, var(--app-primary) 35%, transparent);background:var(--surface-ground);min-height:100%;color:var(--text-color);font-weight:400;font-family:var(--font-family);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;margin:0;padding:0}button,input,select,textarea{font-family:inherit}.pi,.pi:before{font-family:primeicons!important}a{text-decoration:none}.p-toast.p-toast-top-right,.p-toast.p-toast-top-left,.p-toast.p-toast-top-center{top:calc(var(--app-bar-height,72px) + 12px)}.p-dialog{font-family:var(--font-family)}.p-dialog:not(.p-dialog-maximized){max-width:calc(100vw - 2rem)}html:has(.p-dialog-mask,.p-sidebar-mask,.modal-backdrop){scrollbar-gutter:stable;overflow:hidden}html:has(.p-dialog-mask,.p-sidebar-mask,.modal-backdrop) body{overflow:hidden}.p-dialog-mask,.modal-backdrop{top:var(--visual-viewport-top,0px)!important;height:var(--visual-viewport-height,100dvh)!important;bottom:auto!important}.modal-backdrop{box-sizing:border-box;padding:1rem!important}html .modal-backdrop>:not(.p-toast){box-sizing:border-box;max-width:100%;max-height:100%;overflow-y:auto}.p-dialog-mask,.p-sidebar-mask,.modal-backdrop,.p-dialog .p-dialog-content{overscroll-behavior:contain}@media screen and (max-width:768px){:where(.p-button:not(.p-button-icon-only)){justify-content:center}.p-button>.p-button-label{flex:0 auto}}.p-inputtext,.p-dropdown,.p-multiselect,.p-autocomplete,.p-autocomplete .p-autocomplete-input,.p-autocomplete .p-autocomplete-multiple-container,.p-calendar,.p-calendar .p-inputtext,.p-inputnumber,.p-inputnumber .p-inputtext,.p-password,.p-password input,.p-treeselect,.p-cascadeselect,.p-chips,.p-chips .p-chips-multiple-container,.p-listbox,.p-selectbutton .p-button,.p-inputgroup .p-inputtext,.p-inputgroup .p-inputgroup-addon,input[type=search],input[type=text].p-inputtext-search,.p-button:not(.p-button-rounded):not(.p-button-icon-only){border-radius:var(--app-radius-md)!important}.p-button:not(.p-button-text):not(.p-button-link):not(.p-button-outlined):not(.p-button-rounded):not(.p-button-icon-only),.p-button:not(.p-button-text):not(.p-button-link):not(.p-button-outlined):not(.p-button-rounded):not(.p-button-icon-only):not(:disabled):hover{color:var(--app-on-primary)}.p-paginator .p-paginator-element{border-radius:6px!important}.p-calendar .p-datepicker-trigger,.p-calendar .p-datepicker-trigger .p-button-icon,.p-calendar .p-datepicker-trigger .pi{color:var(--app-on-primary)!important}.p-tag{white-space:nowrap;border-radius:var(--app-radius-sm)!important;letter-spacing:.02em!important;border:1px solid #0000!important;padding:.25rem .7rem!important;font-size:.78rem!important;font-weight:600!important}.p-tag.p-tag-success{background:var(--app-success-bg)!important;color:var(--app-on-success-bg)!important;border-color:color-mix(in srgb, var(--app-success) 30%, var(--app-surface))!important}.p-tag.p-tag-warning{background:color-mix(in srgb, var(--project-primary) 12%, var(--app-surface))!important;color:var(--project-primary)!important;border-color:color-mix(in srgb, var(--project-primary) 30%, var(--app-surface))!important}.p-tag.p-tag-danger{background:var(--app-error-bg)!important;color:var(--app-on-error-bg)!important;border-color:color-mix(in srgb, var(--app-error) 30%, var(--app-surface))!important}.p-tag.p-tag-info{background:color-mix(in srgb, var(--project-secondary) 14%, var(--app-surface))!important;color:var(--app-on-primary-soft)!important;border-color:color-mix(in srgb, var(--app-border) 32%, var(--app-surface))!important}body .p-paginator .p-dropdown{background:var(--app-surface);border:1px solid var(--app-border-strong);height:2.5rem;box-shadow:none;border-radius:8px;align-items:center;transition:border-color .15s,box-shadow .15s}body .p-paginator .p-dropdown:not(.p-disabled):hover{border-color:color-mix(in srgb, var(--project-primary) 55%, var(--app-border-strong))}body .p-paginator .p-dropdown:not(.p-disabled).p-focus{border-color:var(--project-primary);box-shadow:0 0 0 3px color-mix(in srgb, var(--project-primary) 18%, transparent)}body .p-paginator .p-dropdown .p-dropdown-label{color:var(--app-text);align-items:center;padding:0 .65rem;display:flex}body .p-paginator .p-dropdown .p-dropdown-trigger{width:2rem;color:var(--app-text-muted)}body .p-dropdown-panel{background:var(--app-surface);border:1px solid var(--app-border);border-radius:var(--app-radius-md);box-shadow:var(--app-shadow-popover);margin-top:4px;overflow:hidden}body .p-dropdown-panel .p-dropdown-items{padding:.35rem}body .p-dropdown-panel .p-dropdown-items .p-dropdown-item{color:var(--app-text);border-radius:6px;margin:1px 0;padding:.55rem .75rem}body .p-dropdown-panel .p-dropdown-items .p-dropdown-item:not(.p-highlight):not(.p-disabled):hover{background:var(--app-surface-sunken);color:var(--app-text)}body .p-dropdown-panel .p-dropdown-items .p-dropdown-item.p-highlight{background:color-mix(in srgb, var(--project-primary) 10%, var(--app-surface));color:var(--project-primary);font-weight:600}body .p-dialog-mask:has(.p-confirm-dialog){background:color-mix(in srgb, var(--app-overlay) 85%, transparent);-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}body .p-confirm-dialog{--tone-bg:var(--app-primary-soft);--tone-ink:var(--app-primary);border-radius:var(--app-radius-xl);border:1px solid var(--app-border);background:var(--app-surface);width:min(28rem,100vw - 2rem);box-shadow:var(--app-shadow-popover);overflow:hidden}body .p-confirm-dialog:has(.pi-exclamation-triangle,.tone-warning){--tone-bg:var(--app-warning-bg);--tone-ink:var(--app-warning)}body .p-confirm-dialog:has(.pi-check-circle,.tone-success){--tone-bg:var(--app-success-bg);--tone-ink:var(--app-success)}body .p-confirm-dialog:has(.p-button-danger){--tone-bg:var(--app-error-bg);--tone-ink:var(--app-error)}body .p-confirm-dialog .p-dialog-header{background:var(--app-surface);color:var(--app-text);border:0;order:2;padding:0 1.6rem}body .p-confirm-dialog .p-dialog-header .p-dialog-title{font-size:1.3rem;font-weight:600}body .p-confirm-dialog .p-dialog-header .p-dialog-header-icons{position:absolute;top:1rem;right:1rem}body .p-confirm-dialog .p-dialog-header .p-dialog-header-icon{width:2.25rem;height:2.25rem;color:var(--app-text-muted);border-radius:50%}body .p-confirm-dialog .p-dialog-header .p-dialog-header-icon:hover{background:var(--app-surface-sunken);color:var(--app-text)}body .p-confirm-dialog .p-dialog-content{background:var(--app-surface);order:1;display:contents}body .p-confirm-dialog .p-confirm-dialog-icon{background:var(--tone-bg);width:3.25rem;height:3.25rem;color:var(--tone-ink);border-radius:16px;order:1;align-self:flex-start;place-items:center;margin:1.6rem 1.6rem 1rem;font-size:1.4rem;display:grid}body .p-confirm-dialog .p-confirm-dialog-message{color:var(--app-text-muted);order:3;margin:.5rem 1.6rem 0;font-size:.98rem;line-height:1.55}body .p-confirm-dialog .p-dialog-footer{background:var(--app-surface);border:0;order:4;justify-content:flex-end;gap:.6rem;margin-top:1.5rem;padding:1rem 1.6rem 1.4rem;display:flex}body .p-confirm-dialog .p-dialog-footer .p-button{justify-content:center;min-width:7.5rem;height:2.9rem;margin:0;font-weight:600}body .p-confirm-dialog .p-dialog-footer .p-confirm-dialog-reject{background:var(--app-surface);border:1px solid var(--app-border);color:var(--app-text)}body .p-confirm-dialog .p-dialog-footer .p-confirm-dialog-reject:hover{background:var(--app-surface-sunken);color:var(--app-text)}body .p-confirm-dialog .p-dialog-footer .p-confirm-dialog-accept:not(.p-button-danger){background:var(--app-primary);border-color:var(--app-primary);color:var(--app-on-primary)}body .p-confirm-dialog .p-dialog-footer .p-confirm-dialog-accept:not(.p-button-danger):hover{background:var(--app-primary-hover);border-color:var(--app-primary-hover)}body .p-confirm-dialog .p-dialog-footer .p-confirm-dialog-accept.p-button-danger{background:var(--app-error);border-color:var(--app-error);color:#fff}body .p-confirm-dialog .p-dialog-footer .p-button:focus-visible{box-shadow:var(--focus-ring)}@media screen and (max-width:480px){body .p-confirm-dialog .p-dialog-footer{flex-direction:column-reverse}body .p-confirm-dialog .p-dialog-footer .p-button{width:100%}}body .p-toast{opacity:1;width:min(24rem,100vw - 2rem)}body .p-toast .p-toast-message{--tone-bg:var(--app-primary-soft);--tone-ink:var(--app-primary);border:1px solid var(--app-border);background:var(--app-surface);box-shadow:var(--app-shadow-popover);color:var(--app-text);-webkit-backdrop-filter:none;backdrop-filter:none;border-radius:18px;margin:0 0 .75rem}body .p-toast .p-toast-message.p-toast-message-success{--tone-bg:var(--app-success-bg);--tone-ink:var(--app-success)}body .p-toast .p-toast-message.p-toast-message-warn{--tone-bg:var(--app-warning-bg);--tone-ink:var(--app-warning)}body .p-toast .p-toast-message.p-toast-message-error{--tone-bg:var(--app-error-bg);--tone-ink:var(--app-error)}body .p-toast .p-toast-message .p-toast-message-content{background:0 0;border:0;align-items:flex-start;gap:.85rem;padding:.9rem .9rem .9rem 1rem}body .p-toast .p-toast-message .p-toast-message-icon{background:var(--tone-bg);width:2.5rem;height:2.5rem;color:var(--tone-ink);border-radius:12px;flex:none;padding:.65rem;font-size:1.1rem}body .p-toast .p-toast-message .p-toast-message-text{min-width:0;margin:0;padding-top:.1rem}body .p-toast .p-toast-message .p-toast-summary{color:var(--app-text);font-size:.98rem;font-weight:600}body .p-toast .p-toast-message .p-toast-detail{color:var(--app-text-muted);overflow-wrap:anywhere;margin:.15rem 0 0;font-size:.9rem;line-height:1.45}body .p-toast .p-toast-message .p-toast-icon-close{width:2rem;height:2rem;color:var(--app-text-subtle);border-radius:50%;flex:none}body .p-toast .p-toast-message .p-toast-icon-close:hover{background:var(--app-surface-sunken);color:var(--app-text)}body .p-toast .p-toast-message .p-toast-icon-close:focus-visible{box-shadow:var(--focus-ring)}b,strong{font-weight:600}.p-card .p-card-title,.p-message .p-message-summary,.p-toast .p-toast-message .p-toast-message-content .p-toast-summary,.p-tag,.p-badge{font-weight:600!important}:focus-visible{outline:3px solid var(--app-focus-ring);outline-offset:2px}body .p-inputtext,body .p-dropdown,body .p-multiselect,body .p-calendar .p-inputtext,body .p-inputnumber .p-inputtext,body .p-password input{border-color:var(--app-border-input);background:var(--app-surface);transition:border-color var(--app-duration-fast) var(--app-ease-out),box-shadow var(--app-duration-fast) var(--app-ease-out)}body .p-inputtext:enabled:focus,body .p-dropdown:not(.p-disabled).p-focus,body .p-multiselect:not(.p-disabled).p-focus{border-color:var(--app-primary);box-shadow:0 0 0 3px color-mix(in srgb, var(--app-primary) 22%, transparent)}body .p-inputtext:disabled,body .p-dropdown.p-disabled,body .p-multiselect.p-disabled{background:var(--app-disabled)}body .p-button{transition:background-color var(--app-duration-fast) var(--app-ease-out),border-color var(--app-duration-fast) var(--app-ease-out),transform var(--app-duration-fast) var(--app-ease-out);font-weight:600}body .p-button:not(:disabled):active{transform:translateY(1px)}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}body .p-dialog-mask.p-component-overlay{background:color-mix(in srgb, var(--app-overlay) 80%, transparent);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px)}body .p-dialog{border-radius:var(--app-radius-xl);background:var(--app-surface);box-shadow:var(--app-shadow-popover);border:0;overflow:hidden}body .p-dialog:not(.p-confirm-dialog) .p-dialog-header{background:var(--app-surface);color:var(--app-text);border:0;padding:1.6rem 1.75rem .75rem}body .p-dialog:not(.p-confirm-dialog) .p-dialog-header .p-dialog-title{font-family:var(--app-font-display);letter-spacing:-.02em;font-size:1.5rem;font-weight:700;line-height:1.2}body .p-dialog:not(.p-confirm-dialog) .p-dialog-header .p-dialog-header-icon{width:2.5rem;height:2.5rem;color:var(--app-text-muted);background:var(--app-surface-muted);border-radius:999px}body .p-dialog:not(.p-confirm-dialog) .p-dialog-header .p-dialog-header-icon:enabled:hover{background:var(--app-tint-blue);color:var(--app-text)}body .p-dialog:not(.p-confirm-dialog) .p-dialog-content{background:var(--app-surface);color:var(--app-text);padding:.5rem 1.75rem 1.5rem}body .p-dialog:not(.p-confirm-dialog) .p-dialog-footer{background:var(--app-surface);border:0;padding:1rem 1.75rem 1.5rem}body .p-dialog:not(.p-confirm-dialog) .p-dialog-footer .p-button{border-radius:var(--app-radius-md);min-height:2.9rem}@media screen and (max-width:576px){body .p-dialog:not(.p-confirm-dialog){border-radius:var(--app-radius-lg)}body .p-dialog:not(.p-confirm-dialog) .p-dialog-header{padding:1.25rem 1.25rem .5rem}body .p-dialog:not(.p-confirm-dialog) .p-dialog-content{padding:.5rem 1.25rem 1.25rem}body .p-dialog:not(.p-confirm-dialog) .p-dialog-footer{padding:.75rem 1.25rem 1.25rem}}body .p-toast .p-toast-message{background:color-mix(in srgb, var(--app-surface) 96%, transparent);box-shadow:var(--app-shadow-popover);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border:0;border-radius:26px}body .p-toast .p-toast-message .p-toast-message-content{align-items:center;padding:.7rem .7rem .7rem .75rem}body .p-toast .p-toast-message .p-toast-message-icon{border-radius:999px}body .p-tag{align-items:center;gap:.4rem;line-height:1.2;display:inline-flex;letter-spacing:0!important;border:0!important;border-radius:999px!important;padding:.3rem .75rem!important;font-size:.78rem!important}body .p-tag:not(:has(.p-tag-icon)):before{content:"";opacity:.75;background:currentColor;border-radius:50%;flex:none;width:.45rem;height:.45rem}body .p-tag.p-tag-warning{background:var(--app-tint-sun)!important;color:var(--app-tint-sun-ink)!important}body .p-tag.p-tag-info{background:var(--app-tint-blue)!important;color:var(--app-tint-blue-ink)!important}body .p-tag.p-tag-success{background:var(--app-tint-mint)!important;color:var(--app-tint-mint-ink)!important}body .p-button:disabled:not(.p-button-text):not(.p-button-outlined):not(.p-button-link):not(.p-button-secondary):not(.p-button-danger):not(.p-button-success):not(.p-button-warning):not(.p-button-info):not(.p-button-help){background:var(--app-primary);border-color:var(--app-primary);color:var(--app-on-primary);opacity:.55}body .p-dropdown.p-disabled .p-dropdown-label,body .p-multiselect.p-disabled .p-multiselect-label{background:0 0}:root{--page-gutter:2rem;--page-gap:1.25rem}@media screen and (max-width:991px){:root{--page-gutter:1rem}}.layout-content-wrapper{background:var(--app-background);flex-direction:column;min-height:100vh;display:flex}.layout-content-wrapper>div{flex-direction:column;flex:auto;display:flex}.layout-content-wrapper .layout-content{padding:var(--page-gutter);flex:auto}html.exam-focus .layout-sidebar,html.exam-focus .dashboard-hero-breadcrumb{display:none!important}html.exam-focus .layout-container .layout-content-wrapper{margin-left:0!important}body .p-datatable{background:0 0;font-size:14px}body .p-datatable>.p-datatable-wrapper{background:0 0;border:0}body .p-datatable .p-datatable-table{border-collapse:separate;border-spacing:0}body .p-datatable .p-datatable-thead>tr>th{border:0;border-bottom:1px solid var(--app-border);color:var(--app-text-muted);letter-spacing:.01em;text-transform:none;white-space:nowrap;background:0 0;padding:.85rem 1.25rem .75rem;font-size:.78rem;font-weight:600}body .p-datatable .p-datatable-thead>tr>th.p-sortable-column:not(.p-highlight):hover{color:var(--app-text);background:0 0}body .p-datatable .p-datatable-thead>tr>th.p-sortable-column.p-highlight{color:var(--app-primary);background:0 0}body .p-datatable .p-datatable-tbody>tr{color:var(--app-text);transition:background-color var(--app-duration-fast) var(--app-ease-out);background:0 0}body .p-datatable .p-datatable-tbody>tr>td{border:0;border-bottom:1px solid var(--app-border);font-variant-numeric:tabular-nums;vertical-align:middle;height:64px;padding:.75rem 1.25rem}body .p-datatable .p-datatable-tbody>tr:last-child>td{border-bottom:0}body .p-datatable .p-datatable-tbody>tr:not(.p-datatable-emptymessage):hover{background:var(--app-tint-blue)}body .p-datatable .p-datatable-tbody>tr.p-highlight{background:var(--app-primary-soft);color:var(--app-text)}body .p-datatable.p-datatable-striped .p-datatable-tbody>tr.p-row-odd{background:0 0}body .p-datatable.p-datatable-striped .p-datatable-tbody>tr.p-row-odd:hover{background:var(--app-tint-blue)}body .p-datatable .p-datatable-tbody>tr.p-datatable-emptymessage>td{border:0;height:auto;padding:0}body .p-datatable .p-datatable-loading-overlay{background:color-mix(in srgb, var(--app-surface) 70%, transparent);border-radius:var(--app-radius-xl)}body .p-datatable .p-datatable-loading-icon{color:var(--app-primary)}body .p-paginator{border:0;border-top:1px solid var(--app-border);background:0 0;border-radius:0;gap:.25rem;padding:.85rem .5rem .35rem}body .p-paginator .p-paginator-element,body .p-paginator .p-paginator-page,body .p-paginator .p-paginator-first,body .p-paginator .p-paginator-prev,body .p-paginator .p-paginator-next,body .p-paginator .p-paginator-last{min-width:2.5rem;height:2.5rem;color:var(--app-text-muted);transition:background-color var(--app-duration-fast) var(--app-ease-out),color var(--app-duration-fast) var(--app-ease-out);background:0 0;border:0;margin:0;font-weight:600;border-radius:999px!important}body .p-paginator .p-paginator-element:not(.p-disabled):not(.p-highlight):hover,body .p-paginator .p-paginator-page:not(.p-disabled):not(.p-highlight):hover,body .p-paginator .p-paginator-first:not(.p-disabled):not(.p-highlight):hover,body .p-paginator .p-paginator-prev:not(.p-disabled):not(.p-highlight):hover,body .p-paginator .p-paginator-next:not(.p-disabled):not(.p-highlight):hover,body .p-paginator .p-paginator-last:not(.p-disabled):not(.p-highlight):hover{background:var(--app-tint-blue);color:var(--app-text)}body .p-paginator .p-paginator-element.p-highlight,body .p-paginator .p-paginator-page.p-highlight,body .p-paginator .p-paginator-first.p-highlight,body .p-paginator .p-paginator-prev.p-highlight,body .p-paginator .p-paginator-next.p-highlight,body .p-paginator .p-paginator-last.p-highlight{background:var(--app-primary);color:var(--app-on-primary);box-shadow:0 8px 18px -10px color-mix(in srgb, var(--app-primary) 80%, transparent)}body .p-paginator .p-paginator-element:focus-visible,body .p-paginator .p-paginator-page:focus-visible,body .p-paginator .p-paginator-first:focus-visible,body .p-paginator .p-paginator-prev:focus-visible,body .p-paginator .p-paginator-next:focus-visible,body .p-paginator .p-paginator-last:focus-visible{outline:3px solid var(--app-focus-ring);outline-offset:2px;box-shadow:none}body .p-paginator .p-paginator-current{color:var(--app-text-muted)}@media screen and (max-width:640px){body .p-datatable.p-datatable-responsive-stack>.p-datatable-wrapper{background:0 0;padding:0}body .p-datatable.p-datatable-responsive-stack>.p-datatable-wrapper>.p-datatable-table{display:block}body .p-datatable.p-datatable-responsive-stack>.p-datatable-wrapper>.p-datatable-table>.p-datatable-thead,body .p-datatable.p-datatable-responsive-stack>.p-datatable-wrapper>.p-datatable-table>.p-datatable-tfoot{display:none}body .p-datatable.p-datatable-responsive-stack>.p-datatable-wrapper>.p-datatable-table>.p-datatable-tbody{flex-direction:column;gap:.75rem;display:flex}body .p-datatable.p-datatable-responsive-stack>.p-datatable-wrapper>.p-datatable-table>.p-datatable-tbody>tr:not(.p-datatable-emptymessage){border-radius:var(--app-radius-lg);background:var(--app-surface);box-shadow:var(--app-shadow);border:0;display:block;overflow:hidden}body .p-datatable.p-datatable-responsive-stack>.p-datatable-wrapper>.p-datatable-table>.p-datatable-tbody>tr:not(.p-datatable-emptymessage):hover{background:var(--app-surface)}body .p-datatable.p-datatable-responsive-stack>.p-datatable-wrapper>.p-datatable-table>.p-datatable-tbody>tr:not(.p-datatable-emptymessage)>td{text-align:right;overflow-wrap:anywhere;border:0;border-radius:0;justify-content:space-between;align-items:center;gap:1rem;height:auto;padding:.5rem 1rem;display:flex;width:100%!important;min-width:0!important}body .p-datatable.p-datatable-responsive-stack>.p-datatable-wrapper>.p-datatable-table>.p-datatable-tbody>tr:not(.p-datatable-emptymessage)>td>.p-column-title{text-align:left;max-width:45%;color:var(--app-text-muted);flex:none;font-size:.78rem;font-weight:600;display:block}body .p-datatable.p-datatable-responsive-stack>.p-datatable-wrapper>.p-datatable-table>.p-datatable-tbody>tr:not(.p-datatable-emptymessage)>td:first-child{text-align:left;justify-content:flex-start;padding-block:.9rem .7rem;border-bottom:1px solid var(--app-border)!important}body .p-datatable.p-datatable-responsive-stack>.p-datatable-wrapper>.p-datatable-table>.p-datatable-tbody>tr:not(.p-datatable-emptymessage)>td:first-child>.p-column-title{display:none}body .p-datatable.p-datatable-responsive-stack>.p-datatable-wrapper>.p-datatable-table>.p-datatable-tbody>tr:not(.p-datatable-emptymessage)>td:last-child{padding-bottom:.8rem}body .p-datatable.p-datatable-responsive-stack.table-stack-all-labels>.p-datatable-wrapper>.p-datatable-table>.p-datatable-tbody>tr>td:first-child{text-align:right;justify-content:space-between}body .p-datatable.p-datatable-responsive-stack.table-stack-all-labels>.p-datatable-wrapper>.p-datatable-table>.p-datatable-tbody>tr>td:first-child>.p-column-title{display:block}}:root{--app-bar-height:72px}.layout-container .layout-sidebar{background:var(--app-surface);border-right:1px solid var(--app-border)}.layout-container .layout-sidebar .layout-sidebar-logo-row{height:var(--app-bar-height);border-bottom:1px solid var(--app-border);color:var(--app-text);flex:none;align-items:center;gap:.75rem;padding:0 1.4rem;display:flex}.layout-container .layout-sidebar .layout-sidebar-logo-mark{flex:none;width:2.5rem;height:2.5rem}.layout-container .layout-sidebar .layout-sidebar-logo-text{font-family:var(--app-font-display);letter-spacing:-.01em;font-size:1.65rem;font-weight:700;line-height:1}.layout-container .layout-sidebar .layout-menu-container{min-height:0;padding:1rem .9rem}.layout-container .layout-sidebar .layout-sidebar-bottom{flex-direction:column;flex:none;gap:1rem;padding:0 .9rem;display:flex}.layout-menu-light{--menu-bg:var(--app-surface);--root-menuitem-text-color:var(--app-text-subtle);--menuitem-text-color:var(--app-text-muted);--menuitem-hover-bg:var(--app-surface-sunken);--active-menuitem-text-color:var(--app-text);--active-menuitem-bg:var(--app-primary-soft);--inline-menu-border-color:var(--app-border)}.layout-container .layout-sidebar .layout-menu .layout-root-menuitem>.layout-menuitem-root-text{letter-spacing:.06em;text-transform:uppercase;padding:.5rem 1rem;font-size:.75rem;font-weight:600}.layout-container .layout-sidebar .layout-menu .layout-root-menuitem+.layout-root-menuitem{margin-top:.75rem}.layout-container .layout-sidebar .layout-menu ul{flex-direction:column;gap:.2rem;display:flex}.layout-container .layout-sidebar .layout-menu ul a{border-radius:var(--app-radius-md);white-space:nowrap;transition:background-color var(--app-duration-fast) var(--app-ease-out),color var(--app-duration-fast) var(--app-ease-out);gap:.85rem;padding:.75rem 1rem;font-weight:500;position:relative}.layout-container .layout-sidebar .layout-menu ul a .layout-menuitem-icon{text-align:center;width:1.1rem;margin-right:0}.layout-container .layout-sidebar .layout-menu ul a:hover{color:var(--app-text)}.layout-container .layout-sidebar .layout-menu ul a.active-route{color:var(--app-on-primary-soft);background:var(--app-primary-soft);font-weight:600}.layout-container .layout-sidebar .layout-menu ul a.active-route:before{content:"";background:var(--app-primary);border-radius:0 4px 4px 0;width:4px;position:absolute;top:22%;bottom:22%;left:-.9rem}.layout-container .layout-sidebar .layout-menu ul a.active-route .layout-menuitem-icon{color:var(--app-primary)}.layout-container .layout-sidebar .layout-menu ul ul a{padding-left:2.6rem}.layout-sidebar-streak{border-radius:var(--app-radius-lg);background:var(--app-primary-soft);border:1px solid var(--app-tint-lilac-line);padding:1rem}.layout-sidebar-streak .layout-sidebar-streak-head{align-items:center;gap:.7rem;display:flex}.layout-sidebar-streak .layout-sidebar-streak-flame{background:var(--app-surface);width:2.6rem;height:2.6rem;box-shadow:0 0 0 1px var(--app-border);border-radius:12px;flex:none;place-items:center;font-size:1.3rem;display:grid}.layout-sidebar-streak strong{color:var(--app-text);font-size:1.4rem;font-weight:600;line-height:1.1;display:block}.layout-sidebar-streak small{color:var(--app-text-muted);font-size:.8rem}.layout-sidebar-streak .layout-sidebar-streak-days{grid-template-columns:repeat(7,1fr);gap:.3rem;margin-top:.8rem;display:grid}.layout-sidebar-streak .layout-sidebar-streak-days span{background:var(--app-surface);height:1.9rem;color:var(--app-text-subtle);border-radius:8px;place-items:center;font-size:.72rem;font-weight:600;display:grid}.layout-sidebar-streak .layout-sidebar-streak-days span.is-done{background:var(--app-primary);color:var(--app-on-primary)}.layout-sidebar-streak .layout-sidebar-streak-days span.is-today{outline:1.5px dashed var(--app-primary);outline-offset:-1.5px;color:var(--app-primary)}.layout-sidebar-streak.is-inline{align-items:center;gap:1rem;display:flex}.layout-sidebar-streak.is-inline .layout-sidebar-streak-days{flex:1;margin-top:0}@media screen and (min-width:992px){.layout-sidebar-streak.is-inline{display:none}}@media screen and (max-width:420px){.layout-sidebar-streak.is-inline{flex-direction:column;align-items:stretch}}.layout-sidebar-profile{border-top:1px solid var(--app-border);color:var(--app-text);align-items:center;gap:.8rem;margin:0 -.9rem;padding:1.1rem 1.4rem 1.25rem;transition:background-color .15s;display:flex}.layout-sidebar-profile:hover,.layout-sidebar-profile.is-active{background:var(--app-surface-muted)}.layout-sidebar-profile .layout-sidebar-profile-avatar{width:2.9rem;height:2.9rem;font-size:1.05rem}.layout-sidebar-profile .layout-sidebar-profile-text{flex-direction:column;min-width:0;display:flex}.layout-sidebar-profile .layout-sidebar-profile-text strong{white-space:nowrap;text-overflow:ellipsis;font-size:1.05rem;font-weight:600;line-height:1.25;overflow:hidden}.layout-sidebar-profile .layout-sidebar-profile-text small{color:var(--app-text-muted);font-size:.85rem}.app-avatar{object-fit:cover;background:var(--app-primary);color:var(--app-on-primary);border-radius:50%;flex:none;place-items:center;font-weight:600;line-height:1;display:inline-grid}.app-topbar{z-index:3;min-height:var(--app-bar-height);color:var(--app-text);background:0 0;justify-content:space-between;align-items:center;gap:1rem;padding:28px 64px 8px 40px;display:flex;position:relative}.app-topbar-left{align-items:center;gap:.75rem;min-width:0;display:flex}.app-topbar-title{min-width:0}.app-topbar-title h1{font-family:var(--app-font-display);letter-spacing:-.015em;text-wrap:balance;color:var(--app-text);overflow-wrap:anywhere;margin:0;font-size:1.85rem;font-weight:700;line-height:1.15}.app-topbar-title p{color:var(--app-text-muted);margin:.1rem 0 0;font-size:.85rem}.app-topbar-right{align-items:center;gap:.6rem;margin-left:auto;display:flex}.app-topbar-tools{flex-wrap:wrap;align-items:center;gap:.6rem;display:flex}.app-topbar-tools:empty{display:none}.dashboard-hero-guardian-select{min-width:12rem}.app-topbar-icon{border-radius:var(--app-radius-md);border:1px solid var(--app-border);background:var(--app-surface);width:2.75rem;height:2.75rem;color:var(--app-text);cursor:pointer;flex:none;place-items:center;transition:background-color .15s,border-color .15s;display:inline-grid;position:relative}.app-topbar-icon i{font-size:1rem}.app-topbar-icon:hover{background:var(--app-surface-sunken)}.app-topbar-menu-button{display:none}.app-topbar-dot{background:var(--app-error);width:.5rem;height:.5rem;box-shadow:0 0 0 2px var(--app-surface);border-radius:50%;position:absolute;top:.65rem;right:.7rem}.app-topbar-chip{border-radius:var(--app-radius-md);border:1px solid var(--app-border-input);background:var(--app-surface);height:2.75rem;color:var(--app-text);white-space:nowrap;cursor:pointer;align-items:center;gap:.5rem;padding:0 1.1rem;font-size:.9rem;font-weight:500;transition:background-color .15s;display:inline-flex}.app-topbar-chip:hover{background:var(--app-surface-sunken)}.app-topbar-live{background:var(--app-warning-bg);color:var(--app-on-warning-bg);border-color:color-mix(in srgb, var(--app-warning) 35%, var(--app-border))}.app-topbar-live:hover{background:var(--app-warning-bg);filter:brightness(.97)}.app-topbar-live .app-topbar-live-time{font-variant-numeric:tabular-nums;font-weight:600}.app-topbar-live.is-critical{background:var(--app-error);border-color:var(--app-error);color:var(--app-on-primary)}.app-topbar-profile{position:relative}.app-topbar-avatar-button{cursor:pointer;background:0 0;border:0;border-radius:50%;padding:0;display:grid}.app-topbar-avatar-button:focus-visible{box-shadow:var(--focus-ring);outline:none}.app-topbar-avatar{width:2.75rem;height:2.75rem;box-shadow:0 0 0 2px var(--app-surface),0 0 0 3px var(--app-border);font-size:.95rem}.app-topbar-menu{z-index:20;border-radius:var(--app-radius-lg);background:var(--app-surface);border:1px solid var(--app-border);width:16rem;box-shadow:var(--app-shadow-popover);padding:.4rem;position:absolute;top:calc(100% + .5rem);right:0}.app-topbar-menu .app-topbar-menu-who{border-bottom:1px solid var(--app-border);flex-direction:column;margin-bottom:.3rem;padding:.7rem .8rem .8rem;display:flex}.app-topbar-menu .app-topbar-menu-who strong{color:var(--app-text);font-weight:600}.app-topbar-menu .app-topbar-menu-who small{color:var(--app-text-muted);overflow-wrap:anywhere;font-size:.85rem}.app-topbar-menu button{width:100%;color:var(--app-text);font:inherit;text-align:left;cursor:pointer;background:0 0;border:0;border-radius:10px;align-items:center;gap:.7rem;padding:.7rem .8rem;display:flex}.app-topbar-menu button i{width:1rem;color:var(--app-text-muted)}.app-topbar-menu button:hover{background:var(--app-surface-muted)}.app-topbar-menu button.is-danger,.app-topbar-menu button.is-danger i{color:var(--app-error)}@media screen and (max-width:991px){.app-topbar-menu-button{display:inline-grid}.app-topbar-title h1{font-size:1.45rem}}@media screen and (max-width:640px){.app-topbar{flex-wrap:wrap;gap:.6rem .5rem}.app-topbar-left{flex:1 1 0;min-width:0}.app-topbar-title h1{-webkit-line-clamp:2;line-clamp:2;-webkit-box-orient:vertical;font-size:1.2rem;line-height:1.25;display:-webkit-box;overflow:hidden}.app-topbar-title p{display:none}.app-topbar-right{display:contents}.app-topbar-right>.app-topbar-icon,.app-topbar-profile{order:1}.app-topbar-icon,.app-topbar-avatar{width:2.4rem;height:2.4rem}.app-topbar-tools{flex:100%;order:2;gap:.5rem}.app-topbar-chip{height:2.4rem;padding:0 .9rem;font-size:.82rem}.app-topbar-live .app-topbar-chip-label{display:none}.dashboard-hero-guardian-select{flex:10rem;min-width:0;max-width:16rem}}.app-topbar-title h1{letter-spacing:-.03em;font-size:2.5rem}.app-topbar-icon,.app-topbar-chip{background:color-mix(in srgb, var(--app-surface) 78%, transparent)!important;border-radius:var(--app-radius-md)!important;border:0!important}.app-topbar-search{border-radius:var(--app-radius-md);background:color-mix(in srgb, var(--app-surface) 78%, transparent);min-width:18rem;height:2.75rem;color:var(--app-text-muted);font:inherit;cursor:pointer;border:0;align-items:center;gap:10px;padding:0 14px;font-size:14px;display:inline-flex}.app-topbar-search .app-topbar-search-label{text-align:left;flex:1}.app-topbar-search kbd{font:inherit;background:var(--app-primary-soft);color:var(--app-on-primary-soft);border-radius:8px;padding:2px 8px;font-size:12px;font-weight:700}.app-topbar-search:hover{background:var(--app-surface)}@media screen and (max-width:991px){.app-topbar{padding:16px 16px 4px}.app-topbar-title h1{font-size:1.75rem}.app-topbar-search{justify-content:center;width:2.4rem;min-width:0;height:2.4rem;padding:0}.app-topbar-search .app-topbar-search-label,.app-topbar-search kbd{display:none}}:root{--lx-rail:96px;--lx-tabbar:76px}body{background:var(--app-background)}.lx-shell{isolation:isolate;min-height:100dvh;position:relative}.lx-clouds{z-index:-1;pointer-events:none;position:fixed;inset:0;overflow:hidden}.lx-cloud{border-radius:50%;position:absolute}.lx-cloud-mint{background:radial-gradient(closest-side, var(--app-cloud-mint), transparent);width:900px;height:700px;top:-260px;left:8%}.lx-cloud-peach{background:radial-gradient(closest-side, var(--app-cloud-peach), transparent);width:760px;height:640px;top:-120px;right:-200px}.lx-cloud-lavender{background:radial-gradient(closest-side, var(--app-cloud-lavender), transparent);width:1100px;height:760px;top:60vh;left:36%}.lx-rail{z-index:20;width:var(--lx-rail);flex-direction:column;align-items:center;gap:6px;padding:28px 0 24px;display:flex;position:fixed;inset:0 auto 0 0}.lx-rail-logo{border-radius:var(--app-radius-md);margin-bottom:28px;display:grid}.lx-rail-list{flex-direction:column;gap:6px;margin:0;padding:0;list-style:none;display:flex;overflow-y:auto}.lx-rail-item{width:72px;color:var(--app-text-muted);transition:background-color var(--app-duration-fast) var(--app-ease-out),color var(--app-duration-fast) var(--app-ease-out),box-shadow var(--app-duration-fast);border-radius:18px;flex-direction:column;align-items:center;gap:4px;padding:10px 0;font-size:12px;font-weight:600;text-decoration:none;display:flex}.lx-rail-item:hover{color:var(--app-text);background:color-mix(in srgb, var(--app-surface) 60%, transparent)}.lx-rail-item.is-active{color:var(--app-primary);background:var(--app-surface);box-shadow:0 8px 20px -12px color-mix(in srgb, var(--app-primary) 45%, transparent);font-weight:700}.lx-rail-me{border-radius:16px;margin-top:auto;padding:2px}.lx-rail-me.is-active{box-shadow:0 0 0 2px var(--app-primary)}.lx-rail-avatar{width:44px;height:44px;font-size:15px;background:var(--app-sunshine)!important;color:var(--app-text)!important;border-radius:16px!important}.lx-main{margin-left:var(--lx-rail);flex-direction:column;min-height:100vh;display:flex;background:0 0!important}.lx-main>.layout-content{flex:auto;padding:8px 64px 64px 40px}.lx-tabbar{display:none}.lx-sheet-scrim,.lx-cmd-scrim{z-index:60;background:var(--app-overlay);-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);position:fixed;inset:0}.lx-sheet{z-index:61;padding:12px 16px calc(24px + env(safe-area-inset-bottom));border-radius:var(--app-radius-xl) var(--app-radius-xl) 0 0;background:var(--app-surface);box-shadow:var(--app-shadow-popover);position:fixed;bottom:0;left:0;right:0}.lx-sheet-head{justify-content:space-between;align-items:center;padding:6px 4px 12px;display:flex}.lx-sheet-head strong{font-family:var(--app-font-display);font-size:20px}.lx-icon-button{border-radius:var(--app-radius-md);background:var(--app-surface-muted);width:44px;height:44px;color:var(--app-text);cursor:pointer;border:0;place-items:center;display:grid}.lx-sheet-list{gap:4px;margin:0;padding:0;list-style:none;display:grid}.lx-sheet-item{border-radius:var(--app-radius-md);min-height:52px;color:var(--app-text);align-items:center;gap:14px;padding:6px 8px;font-weight:600;text-decoration:none;display:flex}.lx-sheet-item.is-active{background:var(--app-primary-soft);color:var(--app-on-primary-soft)}.lx-sheet-icon{background:var(--app-primary-soft);width:40px;height:40px;color:var(--app-primary);border-radius:12px;place-items:center;display:grid}.lx-cmd-scrim{justify-content:center;align-items:flex-start;padding:12vh 16px 16px;display:flex}.lx-cmd{border-radius:var(--app-radius-xl);background:var(--app-surface);width:min(640px,100%);box-shadow:var(--app-shadow-popover);overflow:hidden}.lx-cmd-input{border-bottom:1px solid var(--app-border);color:var(--app-text-muted);align-items:center;gap:12px;padding:18px 20px;display:flex}.lx-cmd-input input{font:inherit;color:var(--app-text);background:0 0;border:0;outline:none;flex:1;font-size:17px}.lx-cmd-input kbd{font:inherit;background:var(--app-primary-soft);color:var(--app-on-primary-soft);border-radius:8px;padding:2px 8px;font-size:12px;font-weight:700}.lx-cmd-list{max-height:60vh;margin:0;padding:8px;list-style:none;overflow-y:auto}.lx-cmd-item{border-radius:var(--app-radius-md);cursor:pointer;align-items:center;gap:14px;padding:10px 12px;display:flex}.lx-cmd-item.is-active{background:var(--app-primary-soft)}.lx-cmd-icon{background:var(--app-surface-muted);width:40px;height:40px;color:var(--app-primary);border-radius:12px;flex:none;place-items:center;display:grid}.lx-cmd-text{flex-direction:column;display:flex}.lx-cmd-text strong{color:var(--app-text);font-weight:600}.lx-cmd-text small{color:var(--app-text-muted);font-size:13px}.lx-cmd-empty{color:var(--app-text-muted);text-align:center;padding:24px 12px}@media screen and (max-width:991px){.lx-rail{display:none}.lx-main{margin-left:0}.lx-main>.layout-content{padding:8px 16px calc(var(--lx-tabbar) + 32px + env(safe-area-inset-bottom))}.lx-tabbar{left:12px;right:12px;bottom:calc(12px + env(safe-area-inset-bottom));z-index:40;background:color-mix(in srgb, var(--app-surface) 94%, transparent);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);height:68px;box-shadow:0 16px 40px -18px color-mix(in srgb, var(--app-text) 40%, transparent);border-radius:24px;justify-content:space-around;align-items:center;display:flex;position:fixed}.lx-tab{min-width:56px;min-height:52px;color:var(--app-text-muted);font:inherit;cursor:pointer;background:0 0;border:0;flex-direction:column;justify-content:center;align-items:center;gap:2px;font-size:11px;font-weight:600;text-decoration:none;display:flex}.lx-tab.is-active{color:var(--app-primary);font-weight:700}.app-topbar-menu-button{display:none!important}}html.exam-focus .lx-rail,html.exam-focus .lx-tabbar,html.exam-focus .lx-clouds{display:none!important}html.exam-focus .lx-main{margin-left:0}
