@import"https://fonts.googleapis.com/css2?family=Barlow+Condensed:wght@600&family=Open+Sans:ital,wght@0,400;0,700;1,400;1,700&display=swap";html,body{width:100%;height:100%}input::-ms-clear,input::-ms-reveal{display:none}html{font-family:sans-serif;line-height:1.15;-webkit-text-size-adjust:100%;-ms-text-size-adjust:100%;-ms-overflow-style:scrollbar;-webkit-tap-highlight-color:rgba(0,0,0,0)}body{margin:0}[tabindex="-1"]:focus{outline:none}hr{box-sizing:content-box;height:0;overflow:visible}h1,h2,h3,h4,h5,h6{margin-top:0;margin-bottom:.5em;font-weight:500}p{margin-top:0;margin-bottom:1em}abbr[title],abbr[data-original-title]{-webkit-text-decoration:underline dotted;text-decoration:underline dotted;border-bottom:0;cursor:help}address{margin-bottom:1em;font-style:normal;line-height:inherit}input[type=text],input[type=password],input[type=number],textarea{-webkit-appearance:none}ol,ul,dl{margin-top:0;margin-bottom:1em}ol ol,ul ul,ol ul,ul ol{margin-bottom:0}dt{font-weight:500}dd{margin-bottom:.5em;margin-left:0}blockquote{margin:0 0 1em}dfn{font-style:italic}b,strong{font-weight:bolder}small{font-size:80%}sub,sup{position:relative;font-size:75%;line-height:0;vertical-align:baseline}sub{bottom:-.25em}sup{top:-.5em}pre,code,kbd,samp{font-size:1em;font-family:SFMono-Regular,Consolas,Liberation Mono,Menlo,Courier,monospace}pre{margin-top:0;margin-bottom:1em;overflow:auto}figure{margin:0 0 1em}img{vertical-align:middle;border-style:none}a,area,button,[role=button],input:not([type=range]),label,select,summary,textarea{touch-action:manipulation}table{border-collapse:collapse}caption{padding-top:.75em;padding-bottom:.3em;text-align:left;caption-side:bottom}input,button,select,optgroup,textarea{margin:0;color:inherit;font-size:inherit;font-family:inherit;line-height:inherit}button,input{overflow:visible}button,select{text-transform:none}button,html [type=button],[type=reset],[type=submit]{-webkit-appearance:button}button::-moz-focus-inner,[type=button]::-moz-focus-inner,[type=reset]::-moz-focus-inner,[type=submit]::-moz-focus-inner{padding:0;border-style:none}input[type=radio],input[type=checkbox]{box-sizing:border-box;padding:0}input[type=date],input[type=time],input[type=datetime-local],input[type=month]{-webkit-appearance:listbox}textarea{overflow:auto;resize:vertical}fieldset{min-width:0;margin:0;padding:0;border:0}legend{display:block;width:100%;max-width:100%;margin-bottom:.5em;padding:0;color:inherit;font-size:1.5em;line-height:inherit;white-space:normal}progress{vertical-align:baseline}[type=number]::-webkit-inner-spin-button,[type=number]::-webkit-outer-spin-button{height:auto}[type=search]{outline-offset:-2px;-webkit-appearance:none}[type=search]::-webkit-search-cancel-button,[type=search]::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{font:inherit;-webkit-appearance:button}output{display:inline-block}summary{display:list-item}template{display:none}[hidden]{display:none!important}:root{--font-family-base: "Open Sans", sans-serif;--font-family-heading: "Barlow Condensed", sans-serif;--font-weight-regular: 400;--font-weight-bold: 700;--line-height-base: 1.4;--transition-smooth: .18s ease;--control-height: 40px;--color-primary: #003566;--color-primary-dark: #001d3d;--color-secondary: #ffd60a;--color-white: #ffffff;--color-text-muted: #90a0b0;--color-text-secondary: #8aa0b3;--color-surface: #ffffff;--color-background-light: #EBF2F8;--color-page-background: #dfe8f1;--color-surface-subtle: #f7fafd;--color-surface-muted: #ebf2f8;--color-surface-blue: #e8f2fa;--color-surface-info: #bed2e4;--color-table-row: #cfe0f2;--color-border: #d9e2ec;--color-border-strong: #bdd4e8;--color-info-background: #e5f1fb;--color-accent: #6889ff;--color-accent-light: #B1C2FF;--color-accent-lighter: #92aaff;--color-accent-dark: #5d79ff;--color-accent-soft: #8da4ff;--color-accent-muted: #7a99ff;--color-accent-subtle: #7c99ff;--color-warning: #ef7100;--color-warning-light: #ffe8d1;--color-warning-accent: #ffd60a;--color-warning-accent-light: #fff6cb;--color-warning-text: #F7AB13;--color-danger: #ec3153;--color-danger-hover: #b7102f;--color-danger-medium: #da808f;--color-danger-light: #ffd5dc;--color-info-alert: #3CC3DF;--color-info-alert-background: #CEF2F9;--color-success: #70c426;--color-success-hover: #56a213;--color-success-light: #e2f5cf;--color-grade-capture-regular: #CAD5FE;--color-grade-capture-risk: #FFB066;--color-grade-capture-failed: #FF99AC;--space-1: 4px;--space-2: 8px;--space-3: 12px;--space-4: 16px;--space-5: 20px;--space-6: 24px;--space-7: 28px;--space-8: 32px;--space-10: 40px;--space-12: 48px;--radius-sm: 4px;--radius-md: 8px;--radius-lg: 12px;--radius-pill: 999px;--border-width: 1px;--content-max-width: 1440px;--shadow-sm: 0 4px 10px rgba(0, 0, 0, .1)}.alert{border:var(--border-width) solid transparent;border-radius:var(--radius-md);color:var(--color-primary);font-size:14px;padding:var(--space-3) var(--space-4)}.alert .ant-alert-icon{align-self:flex-start;font-size:14px;margin-top:3px}.alert--error{background:var(--color-danger-light);border-color:var(--color-danger);color:var(--color-primary)}.alert--success{background:var(--color-success-light);border-color:var(--color-success);color:var(--color-primary)}.alert.ant-alert .ant-alert-title,.alert.ant-alert .ant-alert-message,.alert.ant-alert .ant-alert-description{color:var(--color-primary);font-size:14px}.alert.ant-alert.alert--error{background:var(--color-danger-light);border-color:var(--color-danger)}.alert.ant-alert.alert--error .ant-alert-icon{color:var(--color-danger)}.alert.ant-alert.alert--error .ant-alert-message,.alert.ant-alert.alert--error .ant-alert-description{color:var(--color-primary)}.alert.ant-alert.alert--success{background:var(--color-success-light);border-color:var(--color-success)}.alert.ant-alert.alert--success .ant-alert-icon{color:var(--color-success)}.alert.ant-alert.alert--success .ant-alert-message,.alert.ant-alert.alert--success .ant-alert-description{color:var(--color-primary)}.alert.ant-alert.alert--info{background:var(--color-info-alert-background);border-color:var(--color-info-alert)}.alert.ant-alert.alert--info .ant-alert-icon{color:var(--color-info-alert);margin-top:3px}.alert.ant-alert.alert--info .ant-alert-message,.alert.ant-alert.alert--info .ant-alert-description{color:var(--color-primary)}.alert.ant-alert.alert--warning{background:var(--color-warning-accent-light);border-color:var(--color-warning-accent)}.alert.ant-alert.alert--warning .ant-alert-icon{color:var(--color-warning-text)}.alert.ant-alert.alert--warning .ant-alert-message,.alert.ant-alert.alert--warning .ant-alert-description{color:var(--color-primary)}.alert--info{background:var(--color-info-alert-background);border-color:var(--color-info-alert)}.alert--warning,.alert--warning-accent{background:var(--color-warning-accent-light);border-color:var(--color-warning-accent)}.alert--empty{background:var(--color-info-background);border-color:var(--color-border-strong)}.alert-link{background:transparent;border:0;color:var(--color-accent);cursor:pointer;font:inherit;font-weight:var(--font-weight-bold);padding:0;text-decoration:underline}.alert-link:hover,.alert-link:focus-visible{color:var(--color-primary);text-decoration:none}.button{align-items:center;background:transparent;border:var(--border-width) solid var(--color-accent);border-radius:var(--radius-md);color:var(--color-accent);cursor:pointer;display:inline-flex;font-family:var(--font-family-base);font-size:16px;font-weight:var(--font-weight-bold);gap:var(--space-2);justify-content:center;min-height:42px;padding:var(--space-2) var(--space-4);transition:background-color var(--transition-smooth),border-color var(--transition-smooth),color var(--transition-smooth),transform var(--transition-smooth)}.button:hover:not(:disabled){border-color:var(--color-accent);color:var(--color-accent)}.button:active:not(:disabled){transform:translateY(1px)}.button:focus-visible{outline:3px solid rgba(104,137,255,.35);outline-offset:2px}.button:disabled{cursor:not-allowed;opacity:.6}.button--primary{background:var(--color-accent);border-color:var(--color-accent);color:var(--color-white)}.button--primary:hover:not(:disabled){background:var(--color-primary);border-color:var(--color-primary);color:var(--color-white)}.button--primary-dark{background:var(--color-primary);border-color:var(--color-primary);color:var(--color-white)}.button--primary-dark:hover:not(:disabled){background:var(--color-accent);border-color:var(--color-accent);color:var(--color-white)}.button--secondary{background:transparent;color:var(--color-accent)}.button--secondary:hover:not(:disabled){border-color:var(--color-primary);color:var(--color-primary)}.button--dashed{border-style:dashed}.button--secondary-danger{background:transparent;border-color:var(--color-danger);color:var(--color-danger)}.button--secondary-danger:hover:not(:disabled){border-color:var(--color-danger-hover);color:var(--color-danger-hover)}.button--tertiary{border-color:transparent;min-height:auto;padding-inline:var(--space-2)}.button--tertiary:hover:not(:disabled){border-color:transparent;color:var(--color-primary)}.button--tertiary-danger{border-color:transparent;color:var(--color-danger);min-height:auto;padding-inline:var(--space-2)}.button--tertiary-danger:hover:not(:disabled){border-color:transparent;color:var(--color-danger-hover)}.button--tertiary-sm{font-size:14px}.button--lg{min-height:48px;padding-block:var(--space-2)}.button--link{text-decoration:underline}.button--link:hover:not(:disabled){text-decoration:none}.button--danger{background:var(--color-danger);border-color:var(--color-danger);color:var(--color-white)}.button--danger:hover:not(:disabled){background:var(--color-danger-hover);border-color:var(--color-danger-hover);color:var(--color-white)}.button--active{background:var(--color-success);border-color:var(--color-success);color:var(--color-white)}.button--active:hover:not(:disabled){background:var(--color-success-hover);border-color:var(--color-success-hover);color:var(--color-white)}.button.button--primary.ant-btn{background:var(--color-accent);border-color:var(--color-accent);color:var(--color-white)}.button.button--primary.ant-btn:hover:not(:disabled){background:var(--color-primary);border-color:var(--color-primary);color:var(--color-white)}.button.button--secondary.ant-btn{background:transparent;border-color:var(--color-accent);color:var(--color-accent)}.button.button--secondary.ant-btn:hover:not(:disabled){background:transparent;border-color:var(--color-primary);color:var(--color-primary)}.button.button--primary-dark.ant-btn{background:var(--color-primary);border-color:var(--color-primary);color:var(--color-white)}.button.button--primary-dark.ant-btn:hover:not(:disabled){background:var(--color-accent);border-color:var(--color-accent);color:var(--color-white)}.button.button--secondary-danger.ant-btn{background:transparent;border-color:var(--color-danger);color:var(--color-danger)}.button.button--secondary-danger.ant-btn:hover:not(:disabled){background:transparent;border-color:var(--color-danger-hover);color:var(--color-danger-hover)}.button.button--tertiary.ant-btn,.button.button--tertiary.ant-btn:focus{box-shadow:none}.button.button--tertiary.ant-btn:not(:disabled):not(.ant-btn-disabled):hover{background:transparent;border-color:transparent;box-shadow:none;color:var(--color-primary)}.button.button--tertiary-danger.ant-btn,.button.button--tertiary-danger.ant-btn:focus{box-shadow:none}.button.button--tertiary-danger.ant-btn:not(:disabled):not(.ant-btn-disabled):hover{background:transparent;border-color:transparent;box-shadow:none;color:var(--color-danger-hover)}.button.button--danger.ant-btn{background:var(--color-danger);border-color:var(--color-danger);color:var(--color-white)}.button.button--danger.ant-btn:hover:not(:disabled){background:var(--color-danger-hover);border-color:var(--color-danger-hover);color:var(--color-white)}.button.button--active.ant-btn{background:var(--color-success);border-color:var(--color-success);color:var(--color-white)}.button.button--active.ant-btn:hover:not(:disabled){background:var(--color-success-hover);border-color:var(--color-success-hover);color:var(--color-white)}.ant-drawer .ant-drawer-content,.ant-drawer .ant-drawer-header,.ant-drawer .ant-drawer-body,.ant-drawer .ant-drawer-footer{background:var(--color-page-background)}.ant-drawer .ant-drawer-title{color:var(--color-primary);font-size:20px;font-weight:var(--font-weight-bold)}.ant-drawer .ant-drawer-close{color:var(--color-accent)}.ant-drawer .drawer-actions{align-items:center;display:flex;flex-wrap:wrap;gap:var(--space-4);justify-content:flex-end}.ant-input:not(textarea),.ant-input-affix-wrapper,.ant-input-number,.ant-picker{height:var(--control-height);border:var(--border-width) solid var(--color-white)!important;transition:border-color var(--transition-smooth)}.ant-input-affix-wrapper .ant-input{border:none!important;height:100%}.ant-input-number-input,.ant-picker-input>input{height:100%}.ant-select-single .ant-select-selector{align-items:center;border:var(--border-width) solid var(--color-white)!important;height:var(--control-height);transition:border-color var(--transition-smooth)}.ant-select.ant-select-outlined{--ant-select-border-color: var(--color-white);--ant-select-hover-border-color: var(--color-accent-light);--ant-select-active-border-color: var(--color-accent);--ant-select-active-outline-color: transparent}.ant-select.ant-select-outlined .ant-select-selector{border:var(--border-width) solid var(--color-white);border-radius:10px;box-shadow:none;transition:border-color var(--transition-smooth)}label,input,textarea,select,.ant-form-item-label>label,.ant-form-item-explain,.ant-input,.ant-input-affix-wrapper,.ant-input-number-input,.ant-picker-input>input,.ant-select-selection-item,.ant-select-selection-placeholder,.ant-checkbox-wrapper,.ant-radio-wrapper{font-family:var(--font-family-base)!important}.ant-input,.ant-input-affix-wrapper,.ant-input-number-input,.ant-picker-input>input,.ant-select-selection-item,.ant-select-selection-placeholder{font-size:16px!important;font-weight:400!important}.ant-select,.ant-picker,.ant-input-affix-wrapper,.ant-select-item-option-content,textarea,select,input:not([type=hidden]){font-weight:400!important;color:var(--color-primary)}.ant-form-item-extra{color:var(--color-text-secondary)!important;font-family:var(--font-family-base)!important;font-size:12px}.app-page label,.app-page .ant-form-item-label>label,.app-page .ant-checkbox-wrapper,.app-page .ant-radio-wrapper,.ant-modal label,.ant-modal .ant-form-item-label>label,.ant-modal .ant-checkbox-wrapper,.ant-modal .ant-radio-wrapper,.ant-drawer label,.ant-drawer .ant-form-item-label>label,.ant-drawer .ant-checkbox-wrapper,.ant-drawer .ant-radio-wrapper{color:var(--color-primary)!important;font-size:14px!important;font-weight:var(--font-weight-bold)!important}.form-filters label,.form-filters .ant-form-item-label>label,.form-filters .form-filter-label,.form-filters [class$=-filter-label],.form-filters .ant-checkbox-wrapper,.form-filters .ant-radio-wrapper{color:var(--color-text-muted)!important;font-size:12px!important;font-weight:var(--font-weight-bold)!important}.ant-input-textarea .ant-input,textarea,select,input:not([type=hidden]){border:var(--border-width) solid var(--color-white)!important;transition:border-color var(--transition-smooth)}.ant-input-textarea .ant-input:hover,textarea:hover,select:hover,input:not([type=hidden]):hover{border-color:var(--color-accent-light)!important}.ant-input-textarea .ant-input:focus,textarea:focus,select:focus,select:active,input:not([type=hidden]):focus,input:not([type=hidden]):active{border-color:var(--color-accent)!important;outline:none}.ant-checkbox .ant-checkbox-inner,.ant-radio .ant-radio-inner{border:var(--border-width) solid var(--color-white)!important;transition:border-color var(--transition-smooth)}.ant-switch{height:22px;min-height:22px;transition:background-color var(--transition-smooth)}.ant-switch:not(.ant-switch-checked){background:#6889ff59}.ant-switch:not(.ant-switch-checked):not(.ant-switch-disabled):hover{background:var(--color-accent-light)}.form-switch-field{align-items:center;display:inline-flex;gap:14px}.form-switch-label{color:var(--color-primary);font-family:var(--font-family-base);font-size:14px;font-weight:var(--font-weight-regular)}.form-field{display:flex;flex-direction:column;gap:var(--space-2)}.form-field>.ant-input,.form-field>.ant-input-affix-wrapper,.form-field>.ant-select{width:100%}.form-control{background:var(--color-white);border:var(--border-width) solid var(--color-white);border-radius:var(--radius-md);color:var(--color-primary);height:var(--control-height);padding-inline:var(--space-3);transition:border-color var(--transition-smooth)}.form-control--full{width:100%}textarea.form-control{height:auto;min-height:80px;padding-block:var(--space-3);resize:vertical}.form-search-input .ant-input-prefix{color:var(--color-text-muted)}.form-required{color:var(--color-danger);display:inline-block;margin-right:var(--space-1)}.ant-select input,.ant-select input:hover,.ant-select input:focus,.ant-select input:active{border:none!important;box-shadow:none!important;outline:none}.ant-checkbox-wrapper:hover .ant-checkbox-inner,.ant-checkbox:hover .ant-checkbox-inner,.ant-radio-wrapper:hover .ant-radio-inner,.ant-radio:hover .ant-radio-inner{border-color:var(--color-accent-light)!important}.ant-checkbox.ant-checkbox-checked .ant-checkbox-inner,.ant-radio.ant-radio-checked .ant-radio-inner{border-color:var(--color-accent)!important}.ant-checkbox.ant-checkbox-checked .ant-checkbox-inner{background:var(--color-accent)!important}.ant-radio.ant-radio-checked .ant-radio-inner:after{background:var(--color-accent)!important}input[type=checkbox],input[type=radio]{accent-color:var(--color-accent)}.ant-input:not(textarea):hover,.ant-input-affix-wrapper:hover,.ant-input-number:hover,.ant-picker:hover{border-color:var(--color-accent-light)!important}.ant-input:not(textarea):focus,.ant-input:not(textarea):active,.ant-input-affix-wrapper:focus-within,.ant-input-affix-wrapper:active,.ant-input-number:focus-within,.ant-input-number:active,.ant-picker:focus-within,.ant-picker:active{border-color:var(--color-accent)!important}.ant-input-number .ant-input-number-input,.ant-picker .ant-picker-input>input{border:none!important;box-shadow:none!important;outline:none}.ant-input-number .ant-input-number-input:hover,.ant-input-number .ant-input-number-input:focus,.ant-input-number .ant-input-number-input:active,.ant-picker .ant-picker-input>input:hover,.ant-picker .ant-picker-input>input:focus,.ant-picker .ant-picker-input>input:active{border:none!important;box-shadow:none!important;outline:none}.ant-select.ant-select-outlined:not(.ant-select-disabled):hover .ant-select-selector{border-color:var(--color-accent-light)}.ant-select.ant-select-outlined.ant-select-focused .ant-select-selector,.ant-select.ant-select-outlined:focus-within .ant-select-selector{border-color:var(--color-accent);box-shadow:none;outline:none}.ant-select.ant-select-outlined:active .ant-select-selector{border-color:var(--color-accent)}.ant-input:disabled,.ant-input-disabled,.ant-input-affix-wrapper-disabled,.ant-input-number-disabled,.ant-picker-disabled,.ant-select-disabled .ant-select-selector,input:disabled,textarea:disabled,select:disabled{--ant-color-text-disabled: var(--color-text-muted);background:var(--color-border)!important;border-color:var(--color-border)!important;color:var(--color-text-muted)!important}.ant-input-number-disabled .ant-input-number-input,.ant-picker-disabled .ant-picker-input>input,.ant-select-disabled .ant-select-selection-item{color:var(--color-text-muted)!important}.ant-radio-wrapper-disabled{--ant-color-text-disabled: var(--color-text-muted);color:var(--color-text-muted)!important}.ant-checkbox-disabled .ant-checkbox-inner,.ant-radio-disabled .ant-radio-inner{background:var(--color-border)!important;border-color:var(--color-border)!important}.ant-form-item .ant-form-item-explain-error{color:var(--color-danger)}.app-page{background:var(--color-page-background);color:var(--color-primary);display:flex;flex-direction:column;min-height:100vh;padding:var(--space-4)}.main-content>h1,.page-title{color:var(--color-primary);font-size:36px;line-height:1.1;margin:0 0 var(--space-5)}.main-content{flex:1;margin-inline:auto;max-width:var(--content-max-width);padding:var(--space-7) 0 0;width:100%}@media only screen and (min-width:768px){.app-page{padding:var(--space-4) var(--space-4) var(--space-5)}.main-content>h1,.page-title{font-size:50px}.main-content{padding-top:38px}}@media only screen and (min-width:992px){.app-page{padding:var(--space-8) var(--space-8) var(--space-5)}}.ant-modal,.ant-modal-container{--ant-modal-content-bg: var(--color-background-light);--modal-content-padding: var(--space-6);color:var(--color-primary);font-family:var(--font-family-base)}.ant-modal.modal--xs,.ant-modal-container.modal--xs{width:min(400px,100vw - 32px)}.ant-modal.modal--sm,.ant-modal-container.modal--sm{width:min(500px,100vw - 32px)}.ant-modal.modal--md,.ant-modal-container.modal--md{width:min(750px,100vw - 32px)}.ant-modal.modal--lg,.ant-modal-container.modal--lg{width:min(900px,100vw - 32px)}.ant-modal .ant-modal-content,.ant-modal .ant-modal-header,.ant-modal .ant-modal-body,.ant-modal .ant-modal-footer,.ant-modal-container .ant-modal-content,.ant-modal-container .ant-modal-header,.ant-modal-container .ant-modal-body,.ant-modal-container .ant-modal-footer{background:var(--color-background-light)!important}.ant-modal .ant-modal-content,.ant-modal-container .ant-modal-content{padding:var(--modal-content-padding)}.ant-modal .ant-modal-body,.ant-modal-container .ant-modal-body{font-size:16px;line-height:1.35}.ant-modal .ant-modal-footer,.ant-modal.ant-modal-confirm .ant-modal-confirm-btns,.ant-modal-container .ant-modal-footer,.ant-modal-container.ant-modal-confirm .ant-modal-confirm-btns{margin-top:var(--space-6)}.ant-modal .ant-typography,.ant-modal-container .ant-typography{color:var(--color-primary)!important}.ant-modal .ant-modal-content,.ant-modal .ant-modal-title,.ant-modal.ant-modal-confirm .ant-modal-confirm-title,.ant-modal.ant-modal-confirm .ant-modal-confirm-content,.ant-modal-container .ant-modal-content,.ant-modal-container .ant-modal-title,.ant-modal-container.ant-modal-confirm .ant-modal-confirm-title,.ant-modal-container.ant-modal-confirm .ant-modal-confirm-content{color:var(--color-primary);font-family:var(--font-family-base)}.ant-modal .ant-modal-close,.ant-modal-container .ant-modal-close{color:var(--color-accent)}.ant-modal .ant-modal-close:hover,.ant-modal .ant-modal-close:focus-visible,.ant-modal-container .ant-modal-close:hover,.ant-modal-container .ant-modal-close:focus-visible{background:transparent;color:var(--color-accent)}.ant-modal .ant-modal-title,.ant-modal.ant-modal-confirm .ant-modal-confirm-title,.ant-modal-container .ant-modal-title,.ant-modal-container.ant-modal-confirm .ant-modal-confirm-title{font-size:20px;font-weight:700}.ant-modal .ant-modal-header,.ant-modal-container .ant-modal-header{margin-bottom:var(--space-4);padding-right:var(--space-7)}.ant-modal:not(.modal--danger) .ant-modal-title svg,.ant-modal:not(.modal--danger).ant-modal-confirm .ant-modal-confirm-title svg,.ant-modal:not(.modal--danger) .modal-title-with-icon svg,.ant-modal:not(.modal--danger) .modal-content-icon,.ant-modal:not(.modal--danger) .ant-upload-drag-icon .anticon,.ant-modal-container:not(.modal--danger) .ant-modal-title svg,.ant-modal-container:not(.modal--danger).ant-modal-confirm .ant-modal-confirm-title svg,.ant-modal-container:not(.modal--danger) .modal-title-with-icon svg,.ant-modal-container:not(.modal--danger) .modal-content-icon,.ant-modal-container:not(.modal--danger) .ant-upload-drag-icon .anticon{color:var(--color-accent)}.modal--danger .modal-title-with-icon svg,.modal--danger .ant-modal-confirm-title svg{color:var(--color-danger)!important}.modal--danger .modal-danger-icon{color:var(--color-danger);height:20px;margin:2px 5px 0 0;width:20px}.ant-modal-root.modal--danger .ant-modal .modal-title-with-icon svg,.ant-modal-root.modal--danger .ant-modal .ant-modal-confirm-title svg{color:var(--color-danger)!important}.modal-danger-icon{color:var(--color-danger)!important}.modal-actions,.modal-header,.modal-title-with-icon,.modal-heading{align-items:center;display:flex}.modal-description{color:var(--color-primary);font-size:16px;font-weight:var(--font-weight-regular);line-height:1.35;margin:0 0 var(--space-4)}.modal-description+.modal-description{margin-top:var(--space-3)}.ant-modal .ant-typography.modal-description{color:var(--color-primary)!important;font-size:16px;font-weight:var(--font-weight-regular);line-height:1.35}.modal-header{gap:var(--space-4);justify-content:space-between;margin-bottom:var(--space-4)}.modal-actions{flex-wrap:wrap;gap:var(--space-4);justify-content:flex-end;margin-top:var(--space-6)}.modal-title-with-icon{gap:5px}.modal-title-with-icon>svg{flex:0 0 auto;height:20px;width:20px}.modal-title-with-icon h2{color:var(--color-primary);font-family:var(--font-family-base);font-size:20px;font-weight:var(--font-weight-bold);line-height:1.35;margin:0;min-width:0;overflow-wrap:anywhere}.modal-heading{align-items:flex-start;flex-direction:column;gap:var(--space-2)}.modal-heading__title{color:var(--color-primary);font-size:20px;font-weight:var(--font-weight-bold);line-height:1.35}.modal-heading__subtitle{color:var(--color-primary);font-size:16px;font-weight:var(--font-weight-regular);line-height:1.35}.modal-close-button{background:transparent;border:0;color:var(--color-accent);cursor:pointer;display:grid;height:24px;padding:0;place-items:center;width:24px}.modal-close-button:disabled{cursor:not-allowed;opacity:.45}.ant-modal .ant-typography.modal-context{font-style:italic}.status-tag{align-items:center;border-radius:var(--radius-pill);color:var(--color-white);display:inline-flex;font-family:var(--font-family-base);font-size:12px;font-weight:var(--font-weight-bold);justify-content:center;padding:5px 10px 4px;white-space:nowrap}.status-tag--active{background:var(--color-success)}.status-tag--pending{background:var(--color-primary)}.status-tag--inactive,.status-tag--withdrawn{background:var(--color-danger)}.status-tag--temporary-withdrawal{background:var(--color-warning)}.status-tag--graduated{background:var(--color-primary)}table.table{background:transparent}table.table thead th{background:transparent;border-bottom:1px solid var(--color-text-secondary);color:var(--color-text-muted);font-weight:600}table.table tbody tr>td{background:var(--color-page-background);border-bottom:0;color:var(--color-primary)}table.table tbody tr:nth-child(2n)>td{background:var(--color-surface-muted)}table.table tbody tr:hover>td{background:var(--color-table-row)}table.table tbody tr:last-child>td{border-bottom:1px solid var(--color-text-secondary)}.ant-table-wrapper .ant-table,.ant-table-wrapper .ant-table-container,.ant-table-wrapper .ant-table-content{min-width:0;width:100%}.ant-table-wrapper .ant-table-content>table{max-width:100%;min-width:0;table-layout:fixed!important;width:100%!important}.ant-table-wrapper .ant-table-cell{overflow-wrap:anywhere;white-space:normal}.ant-table-wrapper .ant-table{background:transparent;border-radius:0}.ant-table-wrapper .ant-table .ant-table-thead>tr>th{background:transparent!important;border-bottom:1px solid var(--color-text-secondary);color:var(--color-text-muted)!important;font-weight:600}.ant-table-wrapper .ant-table .ant-table-thead>tr>th.ant-table-column-sort{background:transparent!important;color:var(--color-text-muted)!important}.ant-table-wrapper .ant-table .ant-table-thead>tr>th:before{display:none}.ant-table-wrapper .ant-table .ant-table-tbody>tr>td{border-bottom:none;color:var(--color-primary)}.ant-table-wrapper .ant-table .ant-table-tbody>tr:hover>td{background:var(--color-table-row)!important}.ant-table-wrapper .ant-table .ant-table-tbody>tr:last-child>td{border-bottom:1px solid var(--color-text-secondary)}.ant-table-wrapper .ant-table-column-sorter{color:var(--color-text-muted)!important}.ant-table-wrapper .ant-table-container{border-radius:0}.ant-table-wrapper .table-action.ant-btn{border-radius:5px;color:var(--color-accent)}.ant-table-wrapper .table-action.ant-btn:hover,.ant-table-wrapper .table-action.ant-btn:focus{background:var(--color-white);border-radius:5px;color:var(--color-primary)}.ant-table-wrapper .table-action.ant-btn.table-action--danger{color:var(--color-danger)}.ant-table-wrapper .table-action.ant-btn.table-action--danger:hover,.ant-table-wrapper .table-action.ant-btn.table-action--danger:focus{color:var(--color-danger-hover)}.ant-table-wrapper .table-actions{display:flex;gap:0}.ant-table-wrapper .ant-table-placeholder>td{background:var(--color-page-background)!important}.table-row--light>td{background:var(--color-surface-muted)!important}.table-row>td{background:var(--color-page-background)}.ant-table-tbody>tr.table-row>.ant-table-cell.ant-table-cell-fix{background:var(--color-page-background)!important}.ant-table-tbody>tr.table-row.table-row--light>.ant-table-cell.ant-table-cell-fix{background:var(--color-surface-muted)!important}.ant-table-tbody>tr.table-row:hover>.ant-table-cell.ant-table-cell-fix{background:var(--color-table-row)!important}.ant-table-thead>tr>.ant-table-cell.ant-table-cell-fix{background:var(--color-page-background)!important}.ant-table-wrapper .ant-table .ant-table-thead>tr>.ant-table-cell-fix{background:var(--color-page-background)!important}.table-section{margin-top:var(--space-6)}.table--compact .ant-table-thead>tr>th,.table--compact .ant-table-tbody>tr>td{padding-block:var(--space-1)}.table-empty-state{align-items:center;background:var(--color-page-background);color:var(--color-primary);display:flex;flex-direction:column;padding:var(--space-8) var(--space-4);text-align:center}.table-empty-state__icon{color:var(--color-text-muted);font-size:32px;margin-bottom:var(--space-3)}.table-empty-state__title{color:var(--color-primary);font-family:var(--font-family-base);font-size:16px;font-weight:var(--font-weight-bold);margin:0 0 var(--space-2)}.table-empty-state__description{color:var(--color-primary);font-size:14px;margin:0 0 var(--space-4);max-width:420px}.ant-pagination:has(.ant-pagination-total-text){display:flex;justify-content:center;position:relative;width:100%}.ant-pagination{margin-top:var(--space-4)}.ant-pagination .ant-pagination-total-text{align-items:center;color:var(--color-text-muted);display:flex;font-size:14px;height:100%;position:absolute;right:0}.ant-pagination .ant-pagination-item{height:30px;line-height:28px;min-width:30px;width:30px}.ant-pagination .ant-pagination-item a{font-size:14px}.ant-pagination .ant-pagination-item:not(.ant-pagination-item-active){background:transparent}.ant-pagination .ant-pagination-item:not(.ant-pagination-item-active) a{color:var(--color-accent);font-weight:var(--font-weight-bold)}.ant-pagination .ant-pagination-prev:not(.ant-pagination-disabled) .ant-pagination-item-link,.ant-pagination .ant-pagination-next:not(.ant-pagination-disabled) .ant-pagination-item-link{color:var(--color-accent)}.pagination-summary{color:var(--color-text-muted);font-size:14px}.pagination-empty-summary{display:flex;justify-content:flex-end;margin-top:var(--space-4)}.app-tabs{align-items:flex-end;display:flex;overflow-x:auto;position:relative}.app-tabs:after{background:var(--color-accent);bottom:0;content:"";height:1px;left:0;position:absolute;right:0;pointer-events:none;z-index:0}.app-tabs__item{align-items:center;background:var(--color-surface-muted);border:1px solid var(--color-border);border-bottom:none;border-radius:10px 10px 0 0;color:var(--color-primary);cursor:pointer;display:inline-flex;font-size:16px;gap:10px;height:40px;padding:0 10px;position:relative;white-space:nowrap;z-index:1}.app-tabs__item:after{background:var(--color-accent);bottom:0;content:"";height:1px;left:-1px;position:absolute;right:-1px;pointer-events:none;z-index:1}.app-tabs__item.is-active{background:var(--color-page-background);border-color:var(--color-accent);border-bottom:none;color:var(--color-accent);z-index:2}.app-tabs__item.is-active:after{background:var(--color-page-background);left:0;right:0}.app-tabs__item:disabled{background:var(--color-surface-muted);border-color:var(--color-border);color:var(--color-text-muted);cursor:not-allowed;opacity:.7}.app-tabs__status{color:#adc5db;font-size:15px}.app-tabs--pill{align-items:center;flex-wrap:wrap;gap:15px;overflow:visible}.app-tabs--pill:after{display:none}.app-tabs--pill .app-tabs__item{background:transparent;border:1px solid var(--color-accent);border-radius:999px;color:var(--color-accent);font-weight:var(--font-weight-bold);height:42px;padding:10px 28px;transition:background-color var(--transition-smooth),border-color var(--transition-smooth),color var(--transition-smooth)}.app-tabs--pill .app-tabs__item:after{display:none}.app-tabs--pill .app-tabs__item.is-active{background:var(--color-accent);border-color:var(--color-accent);color:var(--color-surface-muted)}.app-tabs--pill .app-tabs__item:hover,.app-tabs--pill .app-tabs__item:focus-visible{background:var(--color-accent-light);border-color:var(--color-accent-light);color:var(--color-surface-muted);outline:none}:root{font-family:var(--font-family-base);line-height:var(--line-height-base);font-weight:var(--font-weight-regular);color:var(--color-white);background-color:var(--color-primary);font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}*,*:before,*:after{box-sizing:border-box}body{margin:0;min-width:320px;min-height:100vh;background-color:var(--color-primary);font-family:var(--font-family-base)!important}#root{min-height:100vh}.page-layout{display:flex;flex-direction:column;min-height:100vh}.page-layout__content{flex:1}.page-layout>footer{margin-top:auto}.ant-row,.ant-col{font-family:var(--font-family-base)}h1,h2{font-family:var(--font-family-heading);font-size:50px;font-weight:var(--font-weight-bold);margin-bottom:15px}h3{font-family:var(--font-family-base);font-size:20px;font-weight:var(--font-weight-bold);margin-bottom:15px}button,input{font-family:inherit}.app-footer{align-items:center;display:flex;flex-direction:row-reverse;gap:var(--space-6);justify-content:center;padding-top:38px}.app-footer .proaula-logo{width:85px}.app-footer .support-email{color:var(--color-accent);font-size:14px;font-weight:var(--font-weight-bold);text-decoration:none}@media only screen and (min-width:768px){.app-footer{justify-content:flex-start}}.app-footer--auth{flex-direction:column;gap:var(--space-2);margin-top:auto;padding-top:0}.app-footer--auth .proaula-logo{height:38px;margin-bottom:10px;object-fit:contain;width:126px}.app-footer--auth .support-email{font-size:12px}@media only screen and (min-width:576px){.app-footer--auth .support-email{font-size:16px}}.dashboard-topbar{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:12px;background:var(--color-primary);border-radius:14px;padding:12px;box-shadow:0 10px 20px #0000001f}.dashboard-brand{align-items:center;display:flex;flex:0 0 132px;height:52px;justify-content:flex-start}.dashboard-brand__logo{display:block;height:100%;max-width:100%;object-fit:contain;object-position:left center;width:100%}.dashboard-nav{display:flex;align-items:center;gap:20px;flex:1;order:3;min-width:100%;flex-basis:100%;flex-wrap:nowrap;justify-content:flex-start;overflow-x:auto;padding-bottom:4px}.dashboard-nav__item{background:transparent;border:none;color:#fff;font-weight:700;font-size:15px;cursor:pointer;padding:6px 4px;flex:0 0 auto;transition:color var(--transition-smooth)}.dashboard-nav__item:hover{color:var(--color-secondary)}.dashboard-nav__item:active{color:var(--color-accent)}.dashboard-nav__item.is-active{color:var(--color-secondary)}.dashboard-user{background:transparent;border:none;color:var(--color-secondary);font-family:var(--font-family-heading);font-size:14px;cursor:pointer;display:flex;align-items:center;border-radius:var(--radius-md);transition:color var(--transition-smooth)}@media only screen and (min-width:576px){.dashboard-topbar{gap:36px;border-radius:20px;padding:16px 24px}.dashboard-brand{flex-basis:164px;height:64px}.dashboard-user{font-size:16px;transition:color var(--transition-smooth);padding:5px 10px}.dashboard-user:hover{background:var(--color-secondary);color:var(--color-primary)}.dashboard-nav__item{padding:6px 8px}}@media only screen and (min-width:992px){.dashboard-topbar{flex-wrap:nowrap}.dashboard-nav{order:0;min-width:0;flex-basis:auto;flex-wrap:wrap;overflow-x:visible;padding-bottom:0}.dashboard-nav__item{flex:initial}}.table-sort-button{align-items:center;background:transparent;border:0;color:inherit;cursor:pointer;display:inline-flex;font:inherit;font-weight:inherit;gap:8px;padding:0;text-align:left}.table-sort-button:focus-visible{outline:2px solid var(--color-accent);outline-offset:2px}.table-sort-button__icon{color:var(--color-text-muted);font-size:16px;line-height:1}.table-sort-button--selected .table-sort-button__icon{color:var(--color-accent)}.subject-import-modal{color:var(--color-primary)}.subject-import-modal--invalid.ant-modal{width:min(650px,100vw - 32px)}.subject-import-modal__header{display:flex;align-items:center;justify-content:space-between;min-height:27px;margin-bottom:8px}.subject-import-modal__title-icon{width:20px;height:20px;font-size:20px}.subject-import-modal__context{margin:0 0 12px;color:#31536f;font-size:13px;line-height:1.4}.subject-import-modal__intro,.subject-import-modal__validation-copy,.subject-import-modal__result{margin:0;color:var(--color-primary);font-size:16px;line-height:1.4}.subject-import-modal__trace-id{margin:12px 0 0;color:#31536f;font-size:13px}.subject-import-modal__trace-id code{overflow-wrap:anywhere;color:#003566}.subject-import-modal__link{padding:0;border:0;background:transparent;color:var(--color-accent);font:inherit;font-weight:700;text-decoration:underline;cursor:pointer}.subject-import-modal__link:disabled{cursor:wait;opacity:.6}.subject-import-modal__link:hover:not(:disabled){text-decoration:none}.subject-import-modal__dropzone.ant-upload-wrapper{display:block;margin-top:15px}.subject-import-modal__dropzone.ant-upload-wrapper .ant-upload-drag.ant-upload-wrapper{min-height:120px}.subject-import-modal__dropzone.ant-upload-wrapper .ant-upload-drag{min-height:120px;border:1px dashed var(--color-text-muted);border-radius:10px;background:var(--color-page-background);transition:background-color var(--transition-smooth),border-color var(--transition-smooth),transform var(--transition-smooth)}.subject-import-modal__dropzone.ant-upload-wrapper .ant-upload-drag:not(.ant-upload-disabled):hover{border-color:var(--color-accent);background:var(--color-surface-subtle);transform:translateY(-1px)}.subject-import-modal__dropzone .ant-upload{padding:18px 16px}.subject-import-modal__dropzone .ant-upload-drag .ant-upload-drag-icon{margin-bottom:7px}.subject-import-modal__dropzone .ant-upload-drag .ant-upload-drag-icon .anticon{font-size:35px}.subject-import-modal__drop-title{margin:0;color:var(--color-primary);font-size:14px;font-weight:700}.subject-import-modal__drop-hint{margin:4px 0 0;color:#889298;font-size:12px}.subject-import-modal__file{display:flex;align-items:center;gap:6px;min-width:0;margin:13px 3px 0;color:var(--color-primary);font-size:14px}.subject-import-modal__file span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.subject-import-modal__notice{margin:15px 3px 0}.subject-import-modal__alert{margin:12px 3px 0}.subject-import-modal__processing{display:flex;align-items:center;justify-content:center;gap:10px;min-height:54px;color:var(--color-primary);font-size:14px}.subject-import-modal__validation-copy{font-size:14px}.subject-import-modal__validation-copy>span{color:var(--color-danger)}.subject-import-modal__error-download{margin-top:16px;font-size:14px}.subject-import-modal__errors{margin-top:15px;padding:11px 20px 0;overflow:hidden;border-radius:10px;background:var(--color-page-background)}.subject-import-modal__error-header,.subject-import-modal__error-row{display:grid;grid-template-columns:minmax(130px,.8fr) minmax(0,1.7fr);gap:20px}.subject-import-modal__error-header{padding-bottom:8px;border-bottom:1px solid rgba(0,53,102,.2);color:var(--color-text-muted);font-size:12px}.subject-import-modal__error-row{min-height:44px;align-items:center;border-bottom:1px solid rgba(0,53,102,.14);color:var(--color-primary);font-size:14px}.subject-import-modal__error-row:last-child{border-bottom:0}.subject-import-modal__error-row span{overflow:hidden;text-overflow:ellipsis}.subject-import-modal__footer{margin-top:24px}.subject-import-modal--success .subject-import-modal__result,.subject-import-modal--technical-error .subject-import-modal__result,.subject-import-modal--forbidden .subject-import-modal__result{min-height:45px}@media(max-width:700px){.subject-import-modal__footer{flex-direction:column-reverse}.subject-import-modal__footer .ant-btn{width:100%}.subject-import-modal__errors{overflow-x:auto}.subject-import-modal__error-header,.subject-import-modal__error-row{min-width:520px}}.careers-config{width:100%}.careers-config__back-row{margin-bottom:26px}.careers-config__floating-alert{width:min(100%,460px);margin-left:auto}.careers-config__summary-card{max-width:920px;width:fit-content;background:var(--color-secondary);border-radius:14px;padding:24px 28px;box-shadow:var(--shadow-sm)}.careers-config__summary-row{display:grid;grid-template-columns:170px minmax(0,1fr);gap:12px}.careers-config__summary-row+.careers-config__summary-row{margin-top:14px}.careers-config__summary-label.ant-typography,.careers-config__summary-value.ant-typography{color:var(--color-primary);font-size:18px}.careers-config__summary-label.ant-typography{font-weight:700}.careers-config__summary-value--muted.ant-typography{font-style:italic}.careers-config__controls{display:flex;align-items:center;margin:52px 0 34px}.careers-config__loading{min-height:220px;display:flex;align-items:center;justify-content:center}.careers-plan-workspace{margin-top:22px}.careers-plan-workspace__toolbar{display:flex;align-items:center;justify-content:space-between;gap:20px;flex-wrap:wrap;margin-top:18px}.careers-plan-workspace__links{display:flex;align-items:center;justify-content:flex-end;gap:10px;flex-wrap:wrap}.careers-plan-workspace__summary{margin:28px auto 0;max-width:100%;width:max-content;padding:24px 28px;border-radius:10px;background:#ffffffb8;box-shadow:0 12px 22px #0035661f}.careers-plan-workspace__summary-totals{display:flex;align-items:center;justify-content:space-between;gap:18px;flex-wrap:wrap}.careers-plan-workspace__summary-total.ant-typography{color:var(--color-primary);font-size:16px}.careers-plan-workspace__summary-table{display:grid;gap:0;margin-top:18px;overflow-x:auto;width:100%}.careers-plan-workspace__summary-row{display:grid;grid-template-columns:140px repeat(var(--summary-column-count),minmax(88px,1fr));min-width:max-content;width:100%;border:1px solid rgba(0,53,102,.16);border-bottom:none}.careers-plan-workspace__summary-row:last-child{border-bottom:1px solid rgba(0,53,102,.16)}.careers-plan-workspace__summary-row span{padding:10px 12px;color:var(--color-primary);font-size:15px;text-align:center}.careers-plan-workspace__summary-row span:first-child{font-weight:700;text-align:left}.careers-plan-workspace__summary-row--head{background:var(--color-table-row)}.careers-plan-workspace__filters{display:grid;grid-template-columns:minmax(240px,1.6fr) minmax(200px,.8fr) 110px auto;gap:18px;align-items:end;margin-top:28px}.careers-plan-workspace__actions{display:flex;justify-content:flex-end;gap:16px;flex-wrap:wrap}.careers-plan-workspace__alert{margin-top:18px}.careers-modal-footer{display:flex;align-items:center;justify-content:flex-end;gap:16px;flex-wrap:wrap}.careers-plan-modal__form{display:grid;gap:6px}.careers-plan-modal .ant-form-item{margin-bottom:20px}.careers-subject-modal__specialty-header{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap;margin-bottom:6px}.careers-subject-modal__grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:28px}.careers-specialties-editor{margin-bottom:28px;padding:20px;border:var(--border-width) solid var(--color-border);border-radius:10px;background:var(--color-page-background)}.careers-specialties-editor__title.ant-typography{margin:0 0 18px;color:var(--color-primary);font-size:16px}.careers-specialties-editor__form{display:block}.careers-specialties-editor__row{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:18px;align-items:end}.careers-specialties-editor__field{margin-bottom:0}.careers-specialties-editor__actions{display:flex;align-items:center;gap:12px;padding-bottom:1px;flex-wrap:wrap}.careers-specialties-modal__alert{margin-bottom:18px}@media(max-width:1200px){.careers-config__summary-card{max-width:100%}.careers-plan-workspace__filters{grid-template-columns:repeat(2,minmax(220px,1fr))}.careers-plan-workspace__actions{grid-column:1/-1;justify-content:flex-start}.careers-subject-modal__grid{grid-template-columns:1fr;gap:0}}@media(max-width:768px){.careers-plan-workspace__summary-table{-webkit-overflow-scrolling:touch;overflow-x:scroll;overscroll-behavior-x:contain}.careers-config__summary-card{padding:20px 22px}.careers-config__summary-row{grid-template-columns:1fr;gap:4px}.careers-config__controls{margin:36px 0 28px}.careers-plan-workspace__toolbar,.careers-plan-workspace__links,.careers-plan-workspace__summary-totals,.careers-subject-modal__specialty-header{justify-content:flex-start}.careers-plan-workspace__filters{grid-template-columns:1fr}}.careers-title-row{align-items:center;display:flex;flex-wrap:wrap;gap:16px;justify-content:space-between;margin-bottom:26px}.careers-title-row .button--primary{justify-content:center;width:100%}.careers-alert{margin-bottom:16px}.careers-feedback-meta{display:grid;gap:2px;margin-top:8px;font-size:13px}.careers-text.ant-typography{color:var(--color-primary);font-size:14px}.careers-text--strong.ant-typography{font-weight:400}.careers-text--muted.ant-typography{color:var(--color-text-muted);font-style:italic}.careers-form-helper.ant-typography{display:inline-block;margin-bottom:16px;color:#61758a}.careers-alert--drawer{margin-bottom:0}.careers-drawer .ant-drawer-content-wrapper{width:min(100%,460px)!important}@media only screen and (min-width:768px){.careers-title-row .button--primary{width:auto}}.students-create-alert{margin-bottom:var(--space-4)}.students-create-loading-alert{width:min(100%,760px);margin:0 auto 20px}.students-create-loading{display:flex;justify-content:center;padding:80px 0}.students-create-stepper{position:relative;display:grid;grid-template-columns:repeat(3,1fr);gap:16px;max-width:520px;margin:28px auto 32px}.students-create-stepper__track,.students-create-stepper__progress{position:absolute;top:3px;left:calc((100% - 32px) / 6);right:calc((100% - 32px) / 6);height:2px;border-radius:999px}.students-create-stepper__track{background:#b8d0e7}.students-create-stepper__progress{background:var(--color-accent);right:auto}.students-create-stepper__progress--0{width:0}.students-create-stepper__progress--1{width:calc(33.3333% + 5.3333px)}.students-create-stepper__progress--2{width:calc(66.6667% + 10.6667px)}.students-create-stepper__item{position:relative;display:flex;flex-direction:column;align-items:center;gap:8px;text-align:center;color:var(--color-text-muted)}.students-create-stepper__dot{width:8px;height:8px;border-radius:50%;background:#b8d0e7}.students-create-stepper__item.is-active .students-create-stepper__dot{background:var(--color-accent)}.students-create-stepper__label{font-size:12px;font-weight:600}.students-create-stepper__item.is-active .students-create-stepper__label{color:var(--color-accent)}.students-create-form{max-width:760px;margin:0 auto}.students-create-form-grid{display:grid;gap:16px 12px;grid-template-columns:1fr}.students-create-form-grid--personal,.students-create-form-grid--additional,.students-create-form-grid--academic-intro,.students-create-form-grid--academic-details{grid-template-columns:1fr}.students-create-form-item{margin-bottom:0}.students-create-form-item--date{grid-column:span 1}.students-create-form-item--career,.students-create-form-item--status{grid-column:auto}.students-create-academic-id-toggle{grid-column:1/-1;display:flex;flex-direction:column;align-items:flex-start;gap:var(--space-1)}.students-create-academic-id-toggle .alert{width:100%}.students-create-form-item--academic-id{grid-column:span 1}.students-create-academic-id-field{grid-column:1/-1;display:flex;flex-direction:column;align-items:flex-start;gap:var(--space-2)}.students-create-academic-id-field .students-create-form-item{width:100%}.students-create-field-label{display:inline-flex;align-items:center;gap:2px}.students-create-field-label__required{color:#ff4d6d}.students-create-form .ant-form-item-label{padding-bottom:4px}.students-create-form .ant-form-item-explain-error{font-size:12px}.students-create-actions{display:flex;align-items:stretch;flex-direction:column-reverse;gap:14px;margin-top:28px}.students-create-actions .button{justify-content:center;width:100%}.students-group-change-modal__message.ant-typography{color:var(--color-primary);font-size:15px;line-height:1.5}.students-group-change-modal__footer{display:flex;justify-content:flex-end;gap:12px}@media only screen and (min-width:992px){.students-create-alert{margin-left:auto;width:min(100%,420px)}.students-create-form-grid--personal,.students-create-form-grid--additional{grid-template-columns:repeat(3,minmax(0,1fr))}.students-create-form-grid--academic-intro{grid-template-columns:.7fr 1.3fr}.students-create-form-grid--academic-details{grid-template-columns:repeat(4,minmax(0,1fr))}.students-create-academic-id-field{flex-direction:column;align-items:flex-start}.students-create-academic-id-field .students-create-form-item{flex:0 0 calc(25% - 6px);width:auto}.students-create-form-item--career{grid-column:span 3}.students-create-form-item--status{grid-column:2/span 1}.students-create-actions{align-items:center;flex-direction:row;justify-content:flex-end}.students-create-actions .button{width:auto}}.students-detail-loading{display:grid;min-height:320px;place-items:center}.students-detail-header{display:flex;flex-direction:column;align-items:stretch;gap:var(--space-4);margin-bottom:var(--space-5)}.students-detail-header__copy{display:grid;justify-items:start;gap:var(--space-2)}.students-detail-header__actions{display:flex;align-items:center;justify-content:space-between;gap:var(--space-3)}.students-detail-top-row,.students-detail-panels{display:grid;grid-template-columns:1fr;gap:var(--space-4)}.students-detail-top-row{margin-bottom:26px}.students-detail-profile-card{display:grid;grid-template-columns:1fr;gap:var(--space-4);align-items:start;padding:18px 16px;border-radius:10px;background:var(--color-secondary);box-shadow:var(--shadow-sm)}.students-detail-profile-card__avatar{display:grid;width:78px;height:92px;place-items:center;border:1px solid rgba(0,53,102,.12);border-radius:2px;background:linear-gradient(180deg,var(--color-white) 0%,#eef4fb 100%);color:var(--color-text-muted);font-size:38px}.students-detail-profile-card__content{min-width:0}.students-detail-profile-card__heading{display:flex;flex-direction:column;align-items:flex-start;gap:var(--space-3)}.students-detail-profile-card__name.ant-typography{margin:0;color:var(--color-primary);font-size:20px;line-height:1.15}.students-detail-profile-card__career.ant-typography{margin:var(--space-1) 0 0;color:var(--color-primary);font-size:14px}.students-detail-profile-card__meta{display:grid;gap:var(--space-2);margin-top:var(--space-3)}.students-detail-profile-card__line.ant-typography{color:var(--color-primary);font-size:14px}.students-detail-summary{padding:18px 20px;border-radius:10px;background:var(--color-white);box-shadow:var(--shadow-sm)}.students-detail-summary__title.ant-typography{margin:0;color:var(--color-primary);font-size:18px;font-weight:var(--font-weight-bold)}.students-detail-summary__copy.ant-typography{margin:var(--space-2) 0 var(--space-3);color:var(--color-text-secondary);font-size:13px}.students-detail-summary__items{display:grid;gap:var(--space-2)}.students-detail-summary__item{display:block}.students-detail-summary__label.ant-typography{color:var(--color-primary);font-size:13px;font-weight:var(--font-weight-bold)}.students-detail-summary__value.ant-typography{color:var(--color-primary);font-size:14px;margin-left:var(--space-1)}.students-detail-section{padding:14px 16px 16px;border:1px solid rgba(104,137,255,.55);border-radius:8px;background:transparent}.students-detail-section__title.ant-typography{display:flex;align-items:center;width:100%;margin:0 0 var(--space-3);padding-right:0;background:var(--color-page-background);color:var(--color-accent);font-size:12px;font-weight:var(--font-weight-bold);line-height:1}.students-detail-section__title.ant-typography:after{flex:1;width:auto;height:1px;margin-left:var(--space-2);background:#6889ff8c;content:""}.students-detail-section__grid,.students-detail-field{display:grid;gap:var(--space-2)}.students-detail-field--inline{display:block}.students-detail-field__label.ant-typography,.students-detail-field__value.ant-typography{color:var(--color-primary);font-size:14px}.students-detail-field__label.ant-typography{font-weight:var(--font-weight-bold)}.students-detail-field--inline .students-detail-field__label.ant-typography,.students-detail-field--inline .students-detail-field__value.ant-typography{display:inline}.students-detail-field--inline .students-detail-field__value.ant-typography{margin-left:var(--space-1)}.students-detail-value--missing{color:var(--color-text-muted)!important;font-style:italic}.students-detail-contact-columns{display:grid;grid-template-columns:1fr;gap:var(--space-4)}.students-detail-contact-column{display:grid;gap:var(--space-2)}.students-detail-contact-column__title.ant-typography{color:var(--color-primary);font-size:14px;font-weight:var(--font-weight-bold)}.students-detail-contact-column__value.ant-typography{color:var(--color-primary);font-size:14px;line-height:1.35}.students-detail-contact-column__items{display:grid;gap:var(--space-1)}@media only screen and (min-width:768px){.students-detail-header{gap:var(--space-3)}.students-detail-profile-card{grid-template-columns:94px minmax(0,1fr)}.students-detail-profile-card__heading{flex-direction:row;justify-content:space-between}.students-detail-contact-columns{grid-template-columns:repeat(3,minmax(0,1fr))}}@media only screen and (min-width:1200px){.students-detail-top-row{grid-template-columns:repeat(2,minmax(0,1fr))}.students-detail-panels{grid-template-columns:minmax(0,.9fr) minmax(0,.9fr) minmax(0,1.55fr)}}.student-import-modal{color:var(--color-primary)}.student-import-modal__header{display:flex;align-items:center;justify-content:space-between;min-height:27px;margin-bottom:14px}.student-import-modal__title-icon{font-size:20px;height:20px;width:20px}.student-import-modal__intro,.student-import-modal__validation-copy,.student-import-modal__result{margin:0;color:var(--color-primary);font-size:16px;line-height:1.4}.student-import-modal__trace-id{margin:12px 0 0;color:#31536f;font-size:13px}.student-import-modal__trace-id code{overflow-wrap:anywhere;color:#003566}.student-import-modal__link{padding:0;border:0;background:transparent;color:var(--color-accent);font:inherit;font-weight:700;text-decoration:underline;cursor:pointer}.student-import-modal__link:disabled{cursor:wait;opacity:.6}.student-import-modal__link:hover:not(:disabled){text-decoration:none}.student-import-modal__dropzone.ant-upload-wrapper{display:block;margin-top:15px}.student-import-modal__dropzone.ant-upload-wrapper .ant-upload-drag.ant-upload-wrapper{min-height:120px}.student-import-modal__dropzone.ant-upload-wrapper .ant-upload-drag{background:var(--color-page-background);border:1px dashed var(--color-text-muted);border-radius:10px;min-height:120px;transition:background-color var(--transition-smooth),border-color var(--transition-smooth),transform var(--transition-smooth)}.student-import-modal__dropzone.ant-upload-wrapper .ant-upload-drag:not(.ant-upload-disabled):hover{background:var(--color-surface-subtle);border-color:var(--color-accent);transform:translateY(-1px)}.student-import-modal__dropzone .ant-upload{padding:18px 16px}.student-import-modal__dropzone .ant-upload-drag .ant-upload-drag-icon{margin-bottom:7px}.student-import-modal__dropzone .ant-upload-drag .ant-upload-drag-icon .anticon{font-size:35px}.student-import-modal__drop-title{margin:0;color:var(--color-primary);font-size:14px;font-weight:700}.student-import-modal__drop-hint{margin:4px 0 0;color:#889298;font-size:12px}.student-import-modal__file{display:flex;align-items:center;gap:6px;min-width:0;margin:13px 3px 0;color:var(--color-primary);font-size:14px}.student-import-modal__file span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.student-import-modal__notice{margin:15px 3px 0}.student-import-modal__alert{margin:12px 3px 0}.student-import-modal__processing{display:flex;align-items:center;justify-content:center;gap:10px;min-height:46px;color:var(--color-primary);font-size:14px}.student-import-modal__validation-copy{font-size:14px}.student-import-modal__validation-copy>span{color:var(--color-danger)}.student-import-modal__error-download{margin-top:16px;font-size:14px}.student-import-modal__errors{margin-top:15px;padding:11px 20px 0;overflow:hidden;border-radius:10px;background:var(--color-page-background)}.student-import-modal__error-header,.student-import-modal__error-row{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:20px}.student-import-modal__error-header{padding-bottom:8px;border-bottom:1px solid rgba(0,53,102,.2);color:var(--color-text-muted);font-size:12px}.student-import-modal__error-row{min-height:44px;align-items:center;border-bottom:1px solid rgba(0,53,102,.14);color:var(--color-primary);font-size:14px}.student-import-modal__error-row:last-child{border-bottom:0}.student-import-modal__error-row span{overflow:hidden;text-overflow:ellipsis}.student-import-modal--success .student-import-modal__result,.student-import-modal--technical-error .student-import-modal__result,.student-import-modal--forbidden .student-import-modal__result{min-height:45px}@media(max-width:700px){.student-import-modal__footer{flex-direction:column-reverse}.student-import-modal__footer .ant-btn{width:100%}.student-import-modal__errors{overflow-x:auto}.student-import-modal__error-header,.student-import-modal__error-row{min-width:520px}}.students-alert{margin-bottom:var(--space-4)}.students-feedback-meta{display:grid;font-size:13px;gap:2px;margin-top:var(--space-2)}.students-toolbar{margin-bottom:var(--space-4)}.students-actions{display:flex;flex-wrap:wrap;gap:var(--space-3)}.students-actions .button{width:100%}.students-filters{align-items:flex-end;display:flex;flex-direction:column;gap:var(--space-3);margin-bottom:var(--space-6);margin-top:var(--space-6)}.students-filter,.students-filter--search,.students-filter--status,.students-filter--semester,.students-filter--group{width:100%}.students-table-wrapper{overflow:hidden}.students-text.ant-typography{color:var(--color-primary);font-size:14px}.students-text.ant-typography--muted{color:var(--color-text-muted)}.students-table-actions{align-items:center;display:flex;flex-wrap:nowrap;gap:0;justify-content:flex-start;min-width:0}.students-action-button.ant-btn{min-width:0;padding-inline:4px}@media only screen and (min-width:768px){.students-filters{flex-direction:row;flex-wrap:wrap}.students-filter--search{width:min(100%,490px)}.students-filter--status{width:min(100%,240px)}.students-filter--semester{width:min(100%,90px)}.students-filter--group{width:min(100%,132px)}}@media only screen and (min-width:992px){.students-actions{justify-content:flex-end}.students-actions .button{width:auto}}.group-summary-card{width:100%;max-width:635px;background:var(--color-secondary);border-radius:8px;padding:20px 24px;box-shadow:var(--shadow-sm);display:flex;flex-direction:column;gap:16px;position:relative;overflow:hidden}.group-summary-card__loading{position:absolute;inset:0;z-index:2;display:flex;align-items:center;justify-content:center;background:var(--color-secondary)}.group-summary-card__header{display:flex;align-items:flex-start;justify-content:space-between;gap:16px}.group-summary-card__heading{display:flex;flex-direction:column;gap:4px}.group-summary-card__title.ant-typography{color:var(--color-primary);font-size:20px;font-weight:800}.group-summary-card__subtitle.ant-typography{color:var(--color-primary);font-size:16px}.group-summary-card__meta{display:flex;flex-wrap:wrap;gap:12px 24px;color:var(--color-primary);font-size:16px}.groups-title-row,.groups-actions,.groups-filters,.groups-filter{display:flex}.groups-title-row{align-items:center;flex-wrap:wrap;gap:var(--space-4);justify-content:space-between;margin-bottom:0}.groups-title-row .button{width:100%}.groups-actions{align-items:center;flex-wrap:wrap;gap:var(--space-3)}.groups-career-tabs{margin:0 0 var(--space-4)}.groups-filters{align-items:flex-end;flex-wrap:wrap;gap:var(--space-5);margin:var(--space-6) 0}.groups-filter{flex-direction:column;gap:var(--space-2);width:100%}.groups-input--search,.groups-select--generation,.groups-select--plan,.groups-select--grade,.groups-select--status{width:100%}.groups-table-wrapper{overflow:hidden}.groups-alert{margin-bottom:var(--space-4)}.groups-text,.groups-status{color:var(--color-primary)}.groups-status--inactive{color:var(--color-text-muted)}.groups-required{margin-right:var(--space-1);color:var(--color-danger)}.groups-drawer .form-switch-label{font-weight:var(--font-weight-bold)}.groups-delete-modal__alert,.groups-period-change-modal__alert{margin-top:var(--space-4)}@media only screen and (min-width:768px){.groups-title-row .button,.groups-filter{width:auto}.groups-input--search{width:490px}.groups-select--generation{width:120px}.groups-select--plan,.groups-select--status{width:240px}.groups-select--grade{width:90px}}.group-detail-alert{margin-bottom:var(--space-4)}.group-detail-back-row{margin-bottom:26px}.group-detail-toast{position:fixed;top:16px;right:16px;left:16px;z-index:1200;display:inline-flex;align-items:center;justify-content:space-between;gap:16px;padding:10px 16px;border-radius:12px;border:1px solid #2bb7e5;background:#d9f2ff;color:var(--color-primary);box-shadow:0 6px 16px #0035661f;max-width:none}.group-detail-toast__text{font-size:16px}.group-detail-toast__text strong{font-weight:800}.group-detail-toast__close{display:inline-flex;align-items:center;justify-content:center;border:0;background:transparent;color:var(--color-primary);cursor:pointer;font-size:18px}.group-detail-toast__close:hover,.group-detail-toast__close:focus{color:var(--color-accent)}.group-detail-toast--undo{border-color:#f2b200;background:#fff4cc}.group-detail-toast--promotion{border-color:#2bb7e5;background:#d9f2ff}.group-detail-toast__undo{display:inline-flex;align-items:center;gap:6px;margin-left:6px;padding:0;border:0;background:transparent;color:var(--color-accent);cursor:pointer;font-weight:700;text-decoration:underline}.group-detail-toast__undo:disabled{cursor:not-allowed;opacity:.6}.group-detail-toast__undo-icon{display:inline-flex;align-items:center;justify-content:center;font-size:14px}.group-detail-summary-row{display:flex;align-items:flex-start;justify-content:space-between;gap:24px;flex-wrap:wrap;margin-bottom:24px}.group-detail-card{width:100%;max-width:635px;background:var(--color-secondary);border-radius:10px;padding:20px 24px;box-shadow:var(--shadow-sm);display:flex;flex-direction:column;gap:16px;position:relative;overflow:hidden}.group-detail-card__loading{position:absolute;inset:0;z-index:2;display:flex;align-items:center;justify-content:center;background:var(--color-secondary)}.group-detail-card__header{display:flex;align-items:flex-start;justify-content:space-between;gap:16px}.group-detail-card__heading{display:flex;flex-direction:column;gap:4px}.group-detail-card__title.ant-typography{color:var(--color-primary);font-size:20px;font-weight:800}.group-detail-card__subtitle.ant-typography{color:var(--color-primary);font-size:16px}.group-detail-card__meta{display:flex;flex-wrap:wrap;gap:12px 24px;color:var(--color-primary);font-size:16px}.group-detail-actions{display:flex;align-items:center;justify-content:flex-start;flex:1;width:100%;gap:12px;flex-wrap:wrap}.group-detail-promote-trigger.ant-btn{padding-inline:18px}.group-detail-tabs{margin-top:var(--space-10);margin-bottom:var(--space-6)}.group-detail-filters{display:flex;align-items:flex-end;gap:20px;flex-wrap:wrap;margin-bottom:24px}.group-detail-filter{display:flex;flex-direction:column;gap:6px}.group-detail-input--search,.group-detail-select--status,.group-detail-select--teacher{width:100%}.group-detail-filter-actions{display:flex;align-items:center;margin-left:0}.group-detail-table-wrapper{overflow-x:auto}.group-detail-text{color:var(--color-primary)}.group-detail-remove-button.ant-btn{display:inline-grid;height:32px;line-height:1;min-width:32px;padding:0;place-items:center;width:32px}.group-detail-remove-button.ant-btn svg{font-size:20px}.group-detail-students-table .ant-table-tbody>tr>td:first-child{vertical-align:middle}.group-remove-modal__alert{margin-top:8px}.group-promote-modal .ant-modal-content{background:var(--color-surface-muted);border-radius:22px;padding:22px 20px}.group-promote-modal .ant-modal-header{background:transparent;margin-bottom:16px}.group-promote-modal .ant-modal-title{color:var(--color-primary)}.group-promote-modal .ant-modal-close{top:16px;inset-inline-end:18px;color:var(--color-accent)}.group-promote-modal .ant-modal-close:hover{color:var(--color-accent-light);background:transparent}.group-promote-modal__title{display:inline-flex;align-items:center;gap:8px;color:var(--color-primary);font-size:22px;font-weight:800}.group-promote-modal__message.ant-typography{color:var(--color-primary);font-size:16px;margin:0 0 20px}.group-promote-modal__message strong,.group-promote-modal__list strong,.group-promote-modal__warning strong{font-weight:800}.group-promote-modal__list{margin:0 0 24px;padding-left:24px;color:var(--color-primary);font-size:16px;line-height:1.35}.group-promote-modal__warning.ant-typography{margin:0;color:var(--color-primary);font-size:16px;font-weight:800}.group-promote-modal__period{display:flex;flex-direction:column;gap:8px;margin-top:18px;margin-bottom:4px}.group-promote-modal__period-label.ant-typography{color:var(--color-primary);font-size:16px;font-weight:var(--font-weight-regular)}.group-promote-modal__period-select{width:100%}.group-promote-modal__footer{display:flex;justify-content:flex-end;gap:10px;flex-direction:column}.group-promote-modal__cancel.ant-btn,.group-promote-modal__confirm.ant-btn{min-width:108px;width:100%}.group-promote-modal__confirm.ant-btn{display:inline-flex;align-items:center;justify-content:center;gap:8px}.group-promote-modal__alert{margin-top:16px}.subgroup-warning-modal__message.ant-typography{margin-bottom:var(--space-4)}.subgroup-warning-modal__icon{color:var(--color-danger)!important}.subgroup-warning-modal__students{display:flex;flex-direction:column;gap:var(--space-2);margin-bottom:var(--space-4)}.subgroup-warning-modal__student.ant-typography{margin:0;color:var(--color-primary);font-weight:var(--font-weight-bold)}.subgroup-warning-modal__alert{margin-top:8px}.group-assign-modal__title h2{font-size:18px}.group-students-modal .ant-modal-content,.group-subjects-modal .ant-modal-content{background:var(--color-surface-muted);border-radius:20px;padding:20px 27px 24px}.group-students-modal .ant-modal-header,.group-subjects-modal .ant-modal-header{background:transparent;border-bottom:none;padding:0 52px 0 0;margin-bottom:12px}.group-students-modal .ant-modal-title,.group-subjects-modal .ant-modal-title{width:100%}.group-students-modal .ant-modal-close,.group-subjects-modal .ant-modal-close{top:12px;inset-inline-end:18px;color:var(--color-accent)}.group-students-modal .ant-modal-close:hover,.group-subjects-modal .ant-modal-close:hover{color:var(--color-accent-light);background:transparent}.group-students-modal__heading,.group-subjects-modal__heading{display:flex;flex-direction:column;gap:6px}.group-students-modal__title.ant-typography,.group-subjects-modal__title.ant-typography{margin:0;font-size:20px;font-weight:700;color:var(--color-primary)}.group-students-modal__subtitle.ant-typography,.group-subjects-modal__subtitle.ant-typography{color:var(--color-primary);font-size:12px}.group-students-modal__filters,.group-subjects-modal__filters{display:flex;align-items:flex-end;gap:15px;flex-wrap:wrap;margin-bottom:18px}.group-students-modal__filter,.group-subjects-modal__filter{display:flex;flex-direction:column;gap:6px}.group-subjects-modal__label{font-size:12px;color:var(--color-text-muted)}.group-subjects-modal__input .ant-input,.group-subjects-modal__input .ant-input-affix-wrapper{height:40px;border-radius:5px;border:1px solid var(--color-border);background:var(--color-white)}.group-subjects-modal__input .ant-input-prefix{color:var(--color-text-muted)}.group-students-modal__input,.group-subjects-modal__input{width:457px}.group-subjects-modal__select .ant-select-selector{height:40px;border-radius:5px;border:1px solid var(--color-border);align-items:center}.group-students-modal__table,.group-subjects-modal__table{margin-bottom:16px}.group-students-modal__table-element .ant-table{background:transparent}.group-students-modal__table-element .ant-table-container{border-bottom:1px solid rgba(0,53,102,.25)}.group-students-modal__table-element .ant-table-thead>tr>th{padding:0 8px 10px;background:var(--color-surface-muted);color:var(--color-text-muted);font-size:12px;font-weight:700;border-bottom:1px solid rgba(0,53,102,.25)}.group-students-modal__table-element .ant-table-tbody>tr>td{padding:0 8px;height:50px;color:var(--color-primary);border-bottom:0}.group-students-modal__row>td{background:var(--color-page-background)}.group-students-modal__row--light>td{background:var(--color-surface-muted)}.group-students-modal__selection-button,.group-students-modal__selected-student{display:inline-flex;align-items:center;padding:0;border:0;background:transparent;color:var(--color-accent);cursor:pointer}.group-students-modal__selection-button{justify-content:center;width:14px;height:14px;font-size:14px}.group-students-modal__selection-button:hover,.group-students-modal__selection-button:focus-visible,.group-students-modal__selected-student:hover,.group-students-modal__selected-student:focus-visible{color:var(--color-accent)}.group-students-modal__selected{height:241px;margin:22px 3px 16px;padding:16px 27px;overflow:hidden;border-radius:10px;background-color:var(--color-surface-subtle)!important}.ant-modal .ant-typography.group-students-modal__selected-title{display:block;margin-bottom:22px;color:var(--color-primary)!important;font-size:16px;font-weight:var(--font-weight-bold)}.group-students-modal__selected-list{display:flex;flex-direction:column;gap:10px;height:156px;overflow-y:auto}.group-students-modal__selected-student{gap:7px;width:fit-content;color:var(--color-primary);font-size:14px;line-height:20px;text-align:left}.group-students-modal__selected-student svg{color:var(--color-accent);font-size:14px}.group-subjects-modal__table-element .ant-table{background:transparent}.group-subjects-modal__table-element .ant-table-thead>tr>th{background:var(--color-surface-muted);color:var(--color-text-muted);font-size:12px;font-weight:600;border-bottom:1px solid rgba(0,53,102,.25)}.group-subjects-modal__table-element .ant-table-tbody>tr>td{border-bottom:none;color:var(--color-primary)}.group-subjects-modal__row>td{background:var(--color-page-background)}.group-subjects-modal__row--light>td{background:var(--color-surface-muted)}.group-subjects-modal__text{color:var(--color-primary)}.group-students-modal__footer,.group-subjects-modal__footer{display:flex;align-items:center;justify-content:space-between;gap:16px}.ant-modal .ant-typography.group-students-modal__count,.ant-modal .ant-typography.group-subjects-modal__count{color:var(--color-text-muted)!important;font-size:14px}.group-students-modal__footer-actions,.group-subjects-modal__footer-actions{display:flex;align-items:center;gap:10px}.group-students-modal__footer-actions{margin-left:auto}.group-students-modal__alert,.group-subjects-modal__alert{margin-top:8px}.group-subject-drawer__alert{margin-top:var(--space-4)}.group-subject-drawer__alert--edit{margin-top:24px}@media only screen and (min-width:768px){.group-detail-actions{width:auto;justify-content:flex-end}.group-promote-modal .ant-modal-content{padding:22px 24px 26px}.group-promote-modal__footer{flex-direction:row}.group-promote-modal__cancel.ant-btn,.group-promote-modal__confirm.ant-btn{width:auto}.group-detail-toast{top:24px;right:24px;left:auto;max-width:520px}}@media only screen and (min-width:1200px){.group-detail-input--search{width:490px}.group-detail-select--status,.group-detail-select--teacher{width:240px}.group-detail-filter-actions{margin-left:auto}}.group-detail-text--muted.ant-typography{color:var(--color-text-muted);font-style:italic}.group-subject-schedules{display:grid}.group-subject-schedules__item+.group-subject-schedules__item{border-top:1px solid var(--color-border-light);margin-top:var(--space-2);padding-top:var(--space-2)}.group-schedule-heading{display:flex;align-items:flex-end;justify-content:space-between;gap:24px;margin-bottom:var(--space-5)}.group-schedule-heading .page-title{margin-bottom:0}.group-schedule-export.ant-btn{min-width:224px}.group-schedule-summary-row{display:flex;align-items:flex-start;justify-content:space-between;gap:var(--space-4);flex-wrap:wrap;margin-bottom:28px}.group-schedule-loading{min-height:360px;display:flex;align-items:center;justify-content:center}.group-schedule-workspace{display:grid;grid-template-columns:minmax(0,1fr) 280px;gap:20px;align-items:flex-start;margin-top:var(--space-8)}.group-schedule-board{min-width:0}.group-schedule-legend{display:flex;align-items:center;gap:28px;flex-wrap:wrap;margin-bottom:18px;color:var(--color-primary);font-size:13px;font-weight:600}.group-schedule-legend span{display:inline-flex;align-items:center;gap:8px}.group-schedule-legend__swatch{width:18px;height:18px;border-radius:4px;display:inline-block}.group-schedule-legend__swatch.is-assigned{background:var(--color-accent-light)}.group-schedule-legend__swatch.is-unassigned{background:#b8d5ec}.schedule-board{width:100%;min-width:860px;color:var(--color-primary)}.schedule-board__header{display:grid;grid-template-columns:86px repeat(7,minmax(112px,1fr));border-bottom:1px solid rgba(0,53,102,.18)}.schedule-board__corner,.schedule-board__day-name{height:34px}.schedule-board__day-name{display:flex;align-items:center;justify-content:center;border-left:1px solid rgba(0,53,102,.18);color:var(--color-text-muted);font-size:12px;font-weight:800;text-transform:capitalize}.schedule-board__body{display:grid;grid-template-columns:86px repeat(7,minmax(112px,1fr))}.schedule-board__time-column{border-right:1px solid rgba(0,53,102,.18)}.schedule-board__time-cell{display:flex;align-items:center;justify-content:center;border-bottom:1px solid rgba(0,53,102,.14);color:var(--color-text-muted);font-size:12px;font-weight:800}.schedule-board__day-column{position:relative;border-right:1px solid rgba(0,53,102,.18)}.schedule-board__drop-cell{border-bottom:1px solid rgba(0,53,102,.14);background:#dfe8f157;transition:background .16s ease,box-shadow .16s ease}.schedule-board__drop-cell:hover,.schedule-board__drop-cell.is-selected{background:#6889ff21;box-shadow:inset 0 0 0 1px #6889ff61}.schedule-board__block{position:absolute;left:0;right:0;text-align:center;z-index:2;border-radius:0;padding:6px 8px;display:flex;flex-direction:column;justify-content:center;gap:2px;overflow:hidden;color:var(--color-primary);font-size:11px;line-height:1.18;box-shadow:inset 0 0 0 1px #6889ff2e}.schedule-board__block[role=button]{cursor:pointer}.schedule-board__block[role=button]:focus{outline:2px solid var(--color-accent);outline-offset:1px}.schedule-board__block.is-assigned{background:var(--color-accent-light)}.schedule-board__block.is-unassigned{background:#b8d5ec}.schedule-board__block strong,.schedule-board__block span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.schedule-board__block strong{font-weight:800}.group-schedule-sidebar{display:flex;flex-direction:column;gap:14px;padding-top:32px}.group-schedule-sidebar__hint.ant-typography{color:var(--color-primary);font-size:12px;line-height:1.35}.group-schedule-sidebar__section{border:1px solid rgba(0,53,102,.18);border-radius:8px;padding:12px;background:#dfe8f173}.group-schedule-sidebar__title.ant-typography{display:block;margin-bottom:10px;color:var(--color-primary);font-size:13px;font-weight:800}.group-schedule-sidebar__list{display:flex;flex-direction:column;align-items:flex-start;gap:7px}.group-schedule-course{max-width:100%;min-height:24px;border:0;border-radius:3px;padding:4px 8px;background:#b8d5ec;color:var(--color-primary);font-size:12px;font-weight:800;text-align:left;cursor:grab;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.group-schedule-course:hover,.group-schedule-course:focus{background:var(--color-surface-subtle);outline:none}.group-schedule-course.is-assigned{background:var(--color-accent-light)}.group-schedule-course.is-assigned:hover,.group-schedule-course.is-assigned:focus{background:var(--color-surface-subtle);outline:none}.group-schedule-course.is-dragging{opacity:.58;cursor:grabbing}.group-schedule-sidebar__empty.ant-typography{display:block;color:var(--color-text-muted);font-size:12px}.group-schedule-modal .modal-heading{margin-bottom:var(--space-8)}.group-schedule-modal__teacher-row,.group-schedule-modal__field{display:grid;grid-template-columns:88px minmax(0,1fr) 34px;gap:12px;align-items:center}.group-schedule-modal__teacher-row{padding-bottom:18px;margin-bottom:16px;border-bottom:1px solid rgba(0,53,102,.18)}.group-schedule-modal__teacher-row label,.group-schedule-modal__field label{color:var(--color-primary);font-size:14px;font-weight:800}.group-schedule-modal__field label span{color:var(--color-danger)}.group-schedule-modal__rows{display:flex;flex-direction:column}.group-schedule-modal__block{display:flex;flex-direction:column;gap:12px;padding:16px 0;border-bottom:1px solid rgba(0,53,102,.18)}.group-schedule-modal__select.ant-select,.group-schedule-modal__input.ant-input,.group-schedule-modal__time.ant-picker{width:100%}.group-schedule-modal__alert{margin-top:16px}.group-schedule-modal__footer{display:flex;align-items:center;justify-content:space-between;gap:18px;padding-top:18px}.group-schedule-modal__actions{display:flex;justify-content:flex-end;gap:12px}@media(max-width:1200px){.group-schedule-workspace{grid-template-columns:1fr}.group-schedule-board{overflow-x:auto}.group-schedule-sidebar{padding-top:0}}@media(max-width:768px){.group-schedule-heading{align-items:flex-start;flex-direction:column}.group-schedule-export.ant-btn{width:100%}.group-schedule-modal__teacher-row,.group-schedule-modal__field{grid-template-columns:1fr 34px}.group-schedule-modal__teacher-row label,.group-schedule-modal__field label{grid-column:1/-1}.group-schedule-modal__select,.group-schedule-modal__input,.group-schedule-modal__time{grid-column:1/2}.group-schedule-modal__delete{grid-column:2/3}.group-schedule-modal__footer,.group-schedule-modal__actions{align-items:stretch;flex-direction:column}}.subgroup-student-conflict-alert{margin-top:16px}.subgroup-student-conflict-alert__list{margin:8px 0 0;padding-left:20px}.subgroup-detail-card__teacher{display:block;margin-top:8px;color:var(--color-primary);font-size:15px;line-height:1.45}.subgroup-detail-input{min-width:100%}.subgroup-detail-pagination{display:flex;flex-direction:column;align-items:center;gap:16px;margin-top:24px}.subgroup-detail-pagination .ant-pagination{align-self:center}.subgroup-detail-pagination__total{align-self:center;font-size:14px}@media only screen and (min-width:768px){.subgroup-detail-pagination{display:grid;grid-template-columns:1fr auto 1fr}.subgroup-detail-pagination .ant-pagination{grid-column:2}.subgroup-detail-pagination__total{grid-column:3;justify-self:end}.subgroup-detail-input{min-width:280px}}.periods-title-row{display:flex;flex-direction:column;align-items:stretch;gap:var(--space-4);margin-bottom:var(--space-7)}.periods-title-row .page-title{margin-bottom:0}.periods-title-row .button{width:100%}.periods-alert{margin-bottom:var(--space-4)}.periods-pagination{display:flex;justify-content:center}.periods-text{color:var(--color-primary)}.periods-status{font-weight:var(--font-weight-bold)}.periods-status--pendiente{color:var(--color-primary)}.periods-status--activo{color:var(--color-success-hover)}.periods-status--cerrado{color:var(--color-danger)}.periods-required{margin-right:var(--space-1);color:var(--color-danger)}.periods-form .ant-form-item{margin-bottom:var(--space-4)}.periods-delete-modal__alert,.periods-status-modal__alert,.periods-activation-blocked-modal__alert,.periods-delete-blocked-modal__alert{margin-top:var(--space-4)}.periods-activation-blocked-modal__link{padding:0;border:0;background:transparent;color:var(--color-accent);cursor:pointer;font:inherit;text-decoration:underline}.periods-activation-blocked-modal__link:hover,.periods-activation-blocked-modal__link:focus{color:var(--color-primary)}@media only screen and (min-width:768px){.periods-title-row{flex-direction:row;align-items:center;justify-content:space-between}.periods-title-row .button{width:auto}}.period-detail-back-row{margin-bottom:26px}.period-detail-alert{margin-bottom:var(--space-4)}.period-detail-loading{display:flex;align-items:center;justify-content:center;min-height:160px}.period-detail-summary-row{display:flex;flex-wrap:wrap;align-items:flex-start;gap:var(--space-6)}.period-detail-card{position:relative;width:100%;max-width:635px;min-height:160px;overflow:hidden;padding:22px 24px;border-radius:10px;background:var(--color-secondary);box-shadow:var(--shadow-sm)}.period-detail-card__loading{position:absolute;inset:0;z-index:2;display:flex;align-items:center;justify-content:center;background:var(--color-secondary)}.period-detail-card__meta{display:flex;flex-direction:column;gap:var(--space-2);padding-top:28px;color:var(--color-primary);font-size:16px}.period-detail-card__meta span,.period-detail-card__meta strong{display:block}.period-detail-card__meta strong{font-weight:var(--font-weight-bold)}.period-detail-status{position:absolute;top:20px;right:20px}.period-detail-actions{display:flex;flex:1;flex-wrap:wrap;align-items:center;justify-content:flex-start;width:100%;gap:var(--space-4)}@media only screen and (min-width:768px){.period-detail-card__meta{display:grid;grid-template-columns:180px 1fr;gap:12px 24px;padding-top:0}.period-detail-card__meta span{display:contents}.period-detail-actions{justify-content:flex-end;width:auto}}.reports-page{overflow-x:hidden}.reports-title-row{display:flex;flex-direction:column;align-items:stretch;gap:var(--space-4)}.reports-title-row .page-title{margin-bottom:0}.reports-filters{display:grid;grid-template-columns:1fr;gap:var(--space-3);margin-top:var(--space-6)}.reports-filter{display:flex;flex-direction:column;min-width:0;gap:var(--space-2)}.reports-required{color:var(--color-danger)}.reports-workspace{min-height:420px;margin-top:var(--space-7)}.reports-section-title.ant-typography{margin:0;color:var(--color-primary);font-family:var(--font-family-heading);font-size:30px}.reports-table-wrapper{margin-top:var(--space-5)}.reports-table-text{color:var(--color-primary);font-size:13px}.reports-capture-status{display:inline-flex;align-items:center;justify-content:center;min-width:74px;padding:6px 12px;border-radius:var(--radius-pill);font-size:11px;line-height:1;white-space:nowrap}.reports-capture-status--captured{background:#c7dff1;color:#315c7d}.reports-capture-status--pending{background:#f8c44f;color:#7a5200}.reports-capture-status--na{background:transparent;color:var(--color-text-muted)}.reports-pagination{display:flex;justify-content:center}.reports-feedback{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:240px;gap:var(--space-2);padding:var(--space-6);color:var(--color-primary);text-align:center}.reports-feedback-icon{margin-bottom:var(--space-2);color:var(--color-text-muted);font-size:54px}.reports-feedback span{font-size:13px}@media only screen and (min-width:768px){.reports-title-row{flex-direction:row;align-items:center;justify-content:space-between}.reports-filters{grid-template-columns:repeat(3,minmax(0,1fr))}.reports-feedback{min-height:300px}}@media only screen and (min-width:1200px){.reports-filters{grid-template-columns:minmax(220px,1.25fr) minmax(90px,.45fr) repeat(4,minmax(160px,1fr));gap:14px;margin-top:28px}.reports-workspace{margin-top:44px}}.loading-state{align-items:center;color:var(--color-primary);display:flex;font-size:14px;gap:var(--space-2);padding:var(--space-3)}.subgroup-summary-card{--subgroup-summary-card-divider-color: var(--color-border-strong);background:var(--color-surface-subtle);border:0;border-radius:10px;box-shadow:var(--shadow-sm);color:var(--color-primary);display:block;padding:18px 20px;text-align:left;width:100%}.subgroup-summary-card--current{--subgroup-summary-card-divider-color: var(--color-text-muted);background:var(--color-secondary)}.subgroup-summary-card--unscheduled{background:var(--color-surface-info)}.subgroup-summary-card--button{cursor:pointer;font:inherit;transition:box-shadow .16s ease,transform .16s ease}.subgroup-summary-card--button:hover,.subgroup-summary-card--button:focus{box-shadow:0 12px 22px #00000029;outline:none;transform:translateY(-1px)}.subgroup-summary-card__header{align-items:flex-start;display:flex;gap:18px;justify-content:space-between;margin-bottom:16px}.subgroup-summary-card__header>div{flex:1;min-width:0}.subgroup-summary-card__header h2{font-family:var(--font-family-base);font-size:18px;line-height:1.25;margin:0 0 4px}.subgroup-summary-card__header p,.subgroup-summary-card__body p{font-size:14px;font-weight:var(--font-weight-regular);margin:4px 0 0}.subgroup-summary-card__header strong{display:block;font-size:18px;font-weight:var(--font-weight-bold);white-space:nowrap}.subgroup-summary-card__schedule{display:grid;grid-template-columns:repeat(2,minmax(0,1fr))}.subgroup-summary-card__schedule-block{border-left:1px solid var(--subgroup-summary-card-divider-color);min-width:0;padding:0 var(--space-4)}.subgroup-summary-card__schedule-block:nth-child(odd){border-left:0;padding-left:0}.subgroup-summary-card__schedule-block:nth-child(2n){padding-right:0}.subgroup-summary-card__schedule-days-mobile{display:inline}.subgroup-summary-card__schedule-days-desktop{display:none}.subgroup-summary-card__schedule-time{white-space:nowrap}.subgroup-summary-card__details{align-items:center;display:flex;gap:var(--space-3);justify-content:space-between;margin-top:var(--space-4)}.subgroup-summary-card__details p{margin-top:0}.subgroup-summary-card__classroom{display:block}.subgroup-summary-card__body>.subgroup-summary-card__classroom{margin-top:var(--space-4)}.subgroup-summary-card__classroom strong{font-weight:var(--font-weight-bold)}@media only screen and (min-width:768px){.subgroup-summary-card__header h2{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.subgroup-summary-card__schedule{grid-template-columns:repeat(3,minmax(0,1fr))}.subgroup-summary-card__schedule-block{padding:0 var(--space-4)}.subgroup-summary-card__schedule-block:nth-child(odd){border-left:1px solid var(--color-border-strong);padding-left:var(--space-4)}.subgroup-summary-card__schedule-block:nth-child(3n+1){border-left:0;padding-left:0}.subgroup-summary-card__schedule-block:nth-child(3n){padding-right:0}.subgroup-summary-card__schedule-days-mobile{display:none}.subgroup-summary-card__schedule-days-desktop{display:inline}}.dashboard-apex-chart-loading{align-items:center;animation:dashboard-apex-chart-pulse 1.2s ease-in-out infinite alternate;background:#00356614;border-radius:8px;color:#617487;display:flex;justify-content:center;min-height:300px;width:100%}@keyframes dashboard-apex-chart-pulse{0%{opacity:.55}to{opacity:1}}@media(prefers-reduced-motion:reduce){.dashboard-apex-chart-loading{animation:none}}.director-absence-analysis{align-items:start;display:grid;gap:20px;grid-template-columns:minmax(620px,999px) minmax(420px,562px);margin-top:24px;max-width:1581px}.director-absence-analysis__trend,.director-absence-ranking{background:var(--color-surface-subtle);border-radius:10px;box-shadow:0 4px 10px #00000014}.director-absence-analysis__trend{min-height:570px;padding:34px 22px 24px}.director-absence-analysis__trend>h2{font-family:Barlow Condensed,Open Sans,sans-serif;font-size:30px;line-height:1;margin:0 0 12px 18px}.director-absence-analysis__chart{min-width:0;overflow-x:auto}.director-absence-analysis__chart-canvas>.apexcharts-canvas,.director-absence-analysis__chart-canvas>.dashboard-apex-chart-loading{min-width:620px}.director-absence-analysis__rankings{display:grid;gap:20px}.director-absence-ranking{min-height:275px;min-width:0;padding:17px 22px}.director-absence-ranking__heading{align-items:center;display:flex;gap:14px;justify-content:space-between}.director-absence-ranking h3{font-size:20px;line-height:1.25;margin:0}.director-absence-ranking__heading button{background:transparent;border:0;color:var(--color-accent);cursor:pointer;flex:0 0 auto;font:inherit;font-size:14px;font-weight:700;padding:3px 0;text-decoration:underline}.director-absence-ranking__heading button:disabled{cursor:not-allowed;opacity:.55}.director-absence-ranking__scroll{margin-top:10px;max-height:195px;overflow:auto}.director-absence-ranking table,.director-chart-data table{border-collapse:collapse;width:100%}.director-absence-ranking th{border-bottom:1px solid var(--color-text-muted);color:var(--color-text-muted);font-size:14px;font-weight:400;padding:0 10px 7px;text-align:left}.director-absence-ranking th:nth-child(2),.director-absence-ranking td:nth-child(2){text-align:center;width:74px}.director-absence-ranking th:last-child:not(:first-child),.director-absence-ranking td:last-child:not(:first-child){text-align:right}.director-absence-ranking td{font-size:14px;height:35px;max-width:270px;overflow:hidden;padding:6px 10px;text-overflow:ellipsis;white-space:nowrap}.director-absence-ranking tbody tr:nth-child(2n) td{background:var(--color-page-background)}.director-absence-ranking__empty,.director-absence-ranking>p[role=alert],.director-absence-analysis__empty{margin:20px 0 0}.director-chart-data{font-size:14px;margin:0 18px}.director-chart-data summary{color:var(--color-accent);cursor:pointer;font-weight:700;width:fit-content}.director-chart-data table{margin-top:10px}.director-chart-data th,.director-chart-data td{border-bottom:1px solid #d7e0e8;padding:7px 10px;text-align:left}.director-dashboard-panel-state{background:var(--color-surface-subtle);border:1px solid rgba(0,53,102,.14);border-radius:10px;margin:24px 0 0;max-width:999px;padding:24px}.director-dashboard-panel-state p{margin:0}.director-dashboard-panel-state button{background:var(--color-primary);border:0;border-radius:7px;color:var(--color-white);cursor:pointer;font-weight:700;margin-top:14px;padding:9px 16px}@media(max-width:1350px){.director-absence-analysis{grid-template-columns:minmax(0,999px)}.director-absence-analysis__rankings{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:760px){.director-absence-analysis{margin-top:18px}.director-absence-analysis__trend{min-height:auto;padding:24px 4px 20px}.director-absence-analysis__trend>h2{margin-left:14px}.director-absence-analysis__rankings{grid-template-columns:1fr}.director-absence-ranking{padding:18px}.director-absence-ranking__heading{align-items:flex-start;flex-direction:column}.director-absence-ranking table{min-width:480px}.director-chart-data{margin:0 14px}}.director-roll-call{align-items:start;display:grid;gap:20px;grid-template-columns:minmax(620px,999px) minmax(420px,562px);margin-top:24px;max-width:1626px}.director-roll-call__panel,.director-roll-call-teachers,.director-roll-call__teacher-state{background:var(--color-surface-subtle);border-radius:10px;box-shadow:0 4px 10px #00000014}.director-roll-call__panel{min-height:528px;padding:30px 40px 22px}.director-roll-call__heading{align-items:flex-start;display:flex;flex-wrap:wrap;gap:14px 24px;justify-content:space-between}.director-roll-call__heading>h2{font-family:Barlow Condensed,Open Sans,sans-serif;font-size:30px;line-height:1;margin:0}.director-roll-call__context{align-items:center;background:var(--color-page-background);border:1px solid #bed2e4;border-radius:999px;display:flex;flex-wrap:wrap;font-size:13px;gap:8px 14px;padding:6px 12px}.director-roll-call__context button{background:transparent;border:0;color:var(--color-accent);cursor:pointer;font:inherit;font-weight:700;padding:0;text-decoration:underline}.director-roll-call__charts{display:grid;gap:28px;grid-template-columns:minmax(300px,348px) minmax(420px,1fr);margin-top:18px}.director-roll-call__radial,.director-roll-call__weekly{min-width:0}.director-roll-call__radial h3,.director-roll-call__weekly h3{font-size:16px;margin:0 0 6px}.director-roll-call__radial-chart,.director-roll-call__weekly-chart{overflow:hidden}.director-roll-call__legend{display:flex;flex-wrap:wrap;font-size:12px;gap:8px 14px;justify-content:center;list-style:none;margin:-2px 0 0;padding:0}.director-roll-call__legend li{align-items:center;display:flex;gap:5px}.director-roll-call__legend li>span{border-radius:4px;display:inline-block;height:12px;width:12px}.director-roll-call__weekly-chart>.apexcharts-canvas,.director-roll-call__weekly-chart>.dashboard-apex-chart-loading{min-width:470px}.director-roll-call__weekly-chart{overflow-x:auto}.director-roll-call__empty{margin:16px 0 0}.director-roll-call__data{margin:14px 0 0}.director-roll-call__data>div{overflow-x:auto}.director-roll-call__data table{min-width:720px}.director-roll-call__state{margin:32px 0 0}.director-roll-call__state p,.director-roll-call__teacher-state p{margin:0}.director-roll-call__state button,.director-roll-call__teacher-state button{background:var(--color-primary);border:0;border-radius:7px;color:var(--color-white);cursor:pointer;font-weight:700;margin-top:14px;padding:9px 16px}.director-roll-call__teacher-state{margin:0;min-height:160px;padding:24px}.director-roll-call-teachers{min-height:528px;padding:17px 22px}.director-roll-call-teachers__heading{align-items:center;display:flex;gap:14px;justify-content:space-between}.director-roll-call-teachers__heading h2{font-size:20px;line-height:1.25;margin:0}.director-roll-call-teachers__heading button{background:transparent;border:0;color:var(--color-accent);cursor:pointer;flex:0 0 auto;font:inherit;font-size:14px;font-weight:700;padding:3px 0;text-decoration:underline}.director-roll-call-teachers__heading button:disabled{cursor:not-allowed;opacity:.55}.director-roll-call-teachers__scroll{margin-top:12px;max-height:420px;overflow:auto}.director-roll-call-teachers table{border-collapse:collapse;min-width:518px;width:100%}.director-roll-call-teachers th{border-bottom:1px solid var(--color-text-muted);color:var(--color-text-muted);font-size:14px;font-weight:400;padding:0 10px 8px;text-align:left}.director-roll-call-teachers th:nth-child(n+2),.director-roll-call-teachers td:nth-child(n+2){text-align:center;white-space:nowrap;width:118px}.director-roll-call-teachers td{font-size:14px;height:35px;padding:0 10px}.director-roll-call-teachers tbody tr:nth-child(2n) td{background:var(--color-page-background)}.director-roll-call-teachers tbody tr.is-selected td{background:#bed2e4}.director-roll-call-teachers td:first-child{max-width:280px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.director-roll-call-teachers td:first-child button{background:transparent;border:0;color:var(--color-accent);cursor:pointer;font:inherit;max-width:100%;overflow:hidden;padding:5px 0;text-decoration:underline;text-overflow:ellipsis;white-space:nowrap}.director-roll-call-teachers td:first-child button:focus-visible{border-radius:3px;outline:2px solid var(--color-primary);outline-offset:2px}.director-roll-call-teachers__help{align-items:center;background:var(--color-accent);border-radius:50%;color:var(--color-white);display:inline-flex;font-size:10px;font-weight:700;height:13px;justify-content:center;width:13px}.director-roll-call-teachers__empty,.director-roll-call-teachers>p[role=alert]{margin:20px 0 0}@media(max-width:1350px){.director-roll-call{grid-template-columns:minmax(0,999px)}}@media(max-width:900px){.director-roll-call__panel{padding:24px 18px}.director-roll-call__charts{grid-template-columns:1fr}.director-roll-call__radial{margin:0 auto;max-width:390px;width:100%}}@media(max-width:600px){.director-roll-call__heading{flex-direction:column}.director-roll-call__context{align-items:flex-start;border-radius:12px;flex-direction:column}.director-roll-call-teachers{min-height:auto;padding:18px}.director-roll-call-teachers__heading{align-items:flex-start;flex-direction:column}}.director-dashboard-page{min-height:100vh}.director-dashboard-content{padding-top:32px}.director-dashboard-content>h1{font-family:Barlow Condensed,Open Sans,sans-serif;font-size:50px;line-height:1.2;margin:0 0 6px}.director-dashboard-meta{display:flex;flex-wrap:wrap;gap:20px 50px;margin-bottom:28px}.director-dashboard-meta p,.director-dashboard-range{font-size:16px;margin:0}.director-dashboard-range{font-weight:700;margin-bottom:10px}.director-metrics-grid{display:grid;gap:20px;grid-template-columns:repeat(4,minmax(190px,235px))}.director-dashboard-overview{align-items:flex-start;display:flex;flex-wrap:wrap;gap:20px}.director-risk-section{flex:0 1 562px}.director-risk-cards{display:grid;gap:20px;grid-template-columns:repeat(2,minmax(0,271px))}.director-risk-card{background:#ffe9d5;border-radius:10px;box-shadow:var(--shadow-sm);color:var(--color-primary);height:175px;padding:23px 13px 14px}.director-risk-card--danger{background:#fbd4da}.director-risk-card h2{align-items:center;color:#f78113;display:flex;font-size:18px;gap:6px;line-height:normal;margin:0;white-space:nowrap}.director-risk-card--danger h2{color:var(--color-danger)}.director-risk-card h2 svg{flex:0 0 auto;height:18px;width:18px}.director-risk-card__total{font-size:50px;font-weight:700;line-height:normal;margin:10px 0 0;text-align:center}.director-risk-card__variation{font-size:12px;font-weight:700;line-height:normal;margin:8px 0 0;text-align:center;white-space:nowrap}.director-risk-card--loading{animation:director-dashboard-pulse 1.2s ease-in-out infinite alternate;background:#00356621}.director-risk-tables{display:grid;gap:20px;margin-top:50px}.director-risk-table{background:var(--color-surface-subtle);border-radius:10px;box-shadow:0 4px 10px #00000014;min-width:0;padding:18px 22px}.director-risk-table__heading{align-items:center;display:flex;gap:12px;justify-content:space-between}.director-risk-table h2{font-family:Barlow Condensed,Open Sans,sans-serif;font-size:27px;line-height:1;margin:0}.director-risk-table__heading button,.director-risk-state button{background:transparent;border:0;color:var(--color-accent);cursor:pointer;font:inherit;font-size:14px;font-weight:700;padding:2px 0;text-decoration:underline}.director-risk-table__heading button:disabled{cursor:not-allowed;opacity:.55}.director-risk-table__scroll{margin-top:12px;overflow-x:auto}.director-risk-table table{border-collapse:collapse;min-width:518px;width:100%}.director-risk-table th{font-size:14px;padding:0 10px 8px;text-align:left}.director-risk-table th:nth-child(2),.director-risk-table td:nth-child(2){text-align:center}.director-risk-table th:last-child,.director-risk-table td:last-child{text-align:right}.director-risk-table td{background:var(--color-white);font-size:14px;height:35px;max-width:250px;overflow:hidden;padding:6px 12px;text-overflow:ellipsis;white-space:nowrap}.director-risk-table tbody tr:nth-child(odd) td{background:#e9f0f5}.director-risk-table td:first-child{border-radius:8px 0 0 8px}.director-risk-table td:last-child{border-radius:0 8px 8px 0}.director-risk-table__empty,.director-risk-table>p[role=alert]{margin:18px 0 0}.director-risk-state{background:var(--color-surface-subtle);border:1px solid rgba(0,53,102,.14);border-radius:10px;margin:0;padding:18px}.director-risk-state p{margin:0}.director-risk-state button{margin-top:12px}.director-metric-card{align-items:center;background:var(--color-surface-subtle);border-radius:10px;box-shadow:var(--shadow-sm);color:var(--color-primary);display:flex;flex-direction:column;height:175px;justify-content:flex-start;padding:23px 16px;text-align:center}.director-metric-card h2{font-size:18px;line-height:normal;margin:0 0 6px}.director-metric-card p{font-size:50px;font-weight:700;line-height:normal;margin:0}.director-metric-card--danger,.director-metric-card--danger h2,.director-metric-card--danger p{color:var(--color-danger)}.director-dashboard-loading-copy{font-weight:700;margin:0 0 10px}.director-metric-card--loading{gap:20px;padding-top:30px}.director-metric-card__skeleton{animation:director-dashboard-pulse 1.2s ease-in-out infinite alternate;background:#00356621;border-radius:6px;display:block}.director-metric-card__skeleton--label{height:22px;width:58%}.director-metric-card__skeleton--value{height:58px;width:48%}.director-dashboard-state,.director-dashboard-no-records{background:var(--color-surface-subtle);border:1px solid rgba(0,53,102,.14);border-radius:10px;box-shadow:0 4px 10px #0000000f;max-width:760px;padding:22px 24px}.director-dashboard-state h2{font-size:20px;margin:0 0 6px}.director-dashboard-state p,.director-dashboard-no-records{margin-bottom:0;margin-top:0}.director-dashboard-state--error{border-color:#ec315373}.director-dashboard-state button{background:var(--color-primary);border:0;border-radius:7px;color:var(--color-white);cursor:pointer;font-weight:700;margin-top:16px;padding:9px 16px}.director-dashboard-no-records{margin-top:20px}.director-dashboard-divider{border:0;border-top:1px solid var(--color-text-muted);margin:24px 0 0;max-width:1578px}.director-attendance{background:var(--color-surface-subtle);border-radius:10px;box-shadow:0 4px 10px #00000014;margin-top:50px;max-width:999px;padding:31px 40px 32px}.director-attendance>h2{font-family:Barlow Condensed,Open Sans,sans-serif;font-size:30px;line-height:1;margin:0 0 25px}.director-attendance__layout{align-items:center;display:grid;gap:40px;grid-template-columns:minmax(360px,1fr) minmax(320px,380px)}.director-attendance__filters{display:flex;flex-direction:column;gap:18px}.director-attendance__mode{align-self:center;background:var(--color-accent);border-radius:100px;display:flex;padding:4px}.director-attendance__mode button{background:transparent;border:0;border-radius:100px;color:var(--color-surface-subtle);cursor:pointer;font-size:12px;font-weight:700;padding:10px 14px}.director-attendance__mode button.is-active{background:var(--color-white);color:var(--color-primary)}.director-attendance__field,.director-attendance__date-grid label{color:var(--color-primary);display:flex;flex-direction:column;font-size:14px;font-weight:700;gap:8px}.director-attendance__field .ant-select{width:100%}.director-attendance__field .ant-select-selector,.director-attendance__date-grid input{background:var(--color-white)!important;border-color:#cbd4dc!important;border-radius:10px!important;min-height:40px}.director-attendance__date-grid{display:grid;gap:14px;grid-template-columns:repeat(2,minmax(0,1fr))}.director-attendance__date-grid input{border-style:solid;border-width:1px;color:var(--color-primary);font:inherit;padding:8px 10px}.director-attendance__shift{border:0;margin:0;padding:0}.director-attendance__shift legend{font-size:14px;font-weight:700;margin-bottom:10px}.director-attendance__shift .ant-radio-group{display:flex;flex-wrap:wrap;gap:10px 18px}.director-attendance__shift .ant-radio-wrapper{color:var(--color-primary);margin:0}.director-attendance__validation{color:#b4233d;font-size:14px;margin:-6px 0 0}.director-attendance__actions{align-items:center;display:flex;flex-wrap:wrap;gap:12px 20px}.director-attendance__actions button,.director-attendance__error button{border-radius:10px;cursor:pointer;font-weight:700;min-height:42px;padding:9px 16px}.director-attendance__actions button:disabled{cursor:not-allowed;opacity:.55}.director-attendance__actions .is-clear{background:transparent;border:0;color:var(--color-accent);padding-left:0;padding-right:0}.director-attendance__actions .is-clear span{text-decoration:underline}.director-attendance__actions .is-secondary{background:transparent;border:1px solid var(--color-accent);color:var(--color-accent)}.director-attendance__actions .is-primary{background:var(--color-accent);border:1px solid var(--color-accent);color:var(--color-white)}.director-attendance__visual{align-items:center;display:flex;flex-direction:column;justify-content:center;min-height:430px}.director-attendance__pie{align-items:center;border-radius:50%;display:flex;height:min(100%,380px);justify-content:center;max-height:380px;max-width:380px;width:100%;aspect-ratio:1}.director-attendance__pie span{background:#003566db;border-radius:100px;color:var(--color-white);font-size:13px;font-weight:700;padding:7px 12px}.director-attendance__pie.is-empty{background:#d7e0e8;height:230px;width:230px}.director-attendance__empty{align-items:center;display:flex;flex-direction:column;gap:12px;text-align:center}.director-attendance__empty p,.director-attendance__visual>p,.director-attendance__error p{margin:0}.director-attendance__legend{display:grid;gap:18px 22px;grid-template-columns:repeat(2,max-content);list-style:none;margin:28px 0 0;padding:0}.director-attendance__legend li{align-items:center;display:flex;font-size:14px;gap:8px}.director-attendance__legend li>span{border-radius:5px;height:20px;width:20px}.director-attendance__legend small{color:#617487}.director-attendance__error{color:#b4233d;text-align:center}.director-attendance__error button{background:var(--color-primary);border:0;color:var(--color-white);margin-top:14px}@keyframes director-dashboard-pulse{0%{opacity:.45}to{opacity:1}}@media(max-width:1100px){.director-metrics-grid{grid-template-columns:repeat(2,minmax(190px,1fr));max-width:620px}.director-attendance__layout{grid-template-columns:minmax(340px,1fr) minmax(280px,340px)}.director-dashboard-overview{flex-direction:column}}@media(max-width:900px){.director-dashboard-content{padding-top:36px}.director-attendance__layout{grid-template-columns:1fr}.director-attendance__visual{min-height:0}.director-attendance__pie{height:340px;width:340px}}@media(max-width:600px){.director-dashboard-page{padding:16px 16px 32px}.director-dashboard-content{padding:32px 0 0}.director-dashboard-content>h1{font-size:40px}.director-dashboard-meta{align-items:flex-start;flex-direction:column;gap:8px;margin-bottom:24px}.director-metrics-grid{grid-template-columns:1fr;max-width:none}.director-metric-card{height:150px}.director-risk-section{flex-basis:auto;min-width:0;width:100%}.director-risk-cards{grid-template-columns:1fr}.director-risk-card{height:150px}.director-risk-card__variation{margin-top:4px}.director-risk-tables{margin-top:32px}.director-risk-table{padding:18px}.director-risk-table__heading{align-items:flex-start;flex-direction:column}.director-attendance{margin-top:32px;padding:24px 18px}.director-attendance>h2{font-size:26px}.director-attendance__date-grid{grid-template-columns:1fr}.director-attendance__actions{align-items:stretch;flex-direction:column}.director-attendance__actions button{width:100%}.director-attendance__pie{height:min(78vw,320px);width:min(78vw,320px)}.director-attendance__legend{gap:14px;grid-template-columns:1fr;width:100%}}@media(prefers-reduced-motion:reduce){.director-metric-card__skeleton{animation:none}}.school-control-period{font-size:16px}.school-control-range{font-size:16px;font-weight:var(--font-weight-bold);margin:0 0 10px}.school-control-alerts{display:flex;flex-wrap:wrap;gap:var(--space-5);margin-bottom:22px}.school-control-alert-card{align-items:center;background:var(--color-surface-subtle);border-radius:var(--radius-md);box-shadow:var(--shadow-sm);display:flex;flex:1 1 100%;flex-direction:column;justify-content:flex-start;max-width:none;min-height:176px;padding:var(--space-6) 18px;text-align:center}.school-control-alert-card h2{font-size:14px;font-family:var(--font-family-base);font-weight:var(--font-weight-bold);line-height:1.35;margin:0;min-height:50px}.school-control-alert-card>strong{color:var(--color-primary);font-size:48px;line-height:1;margin-top:var(--space-5)}.school-control-alert-card--units{background:var(--color-warning-light);color:var(--color-warning)}.school-control-alert-card--final{background:var(--color-danger-light);color:var(--color-danger)}.school-control-alert-card--loading{animation:school-control-pulse 1.3s infinite;background:linear-gradient(90deg,var(--color-surface-subtle) 25%,#eef3f8 50%,var(--color-surface-subtle) 75%);background-size:200% 100%}.school-control-alert-card__units{display:flex;flex-wrap:wrap;gap:6px;justify-content:center;margin-top:14px}.school-control-alert-card__units span{border:var(--border-width) solid var(--color-warning);border-radius:5px;color:var(--color-primary);font-size:14px;font-weight:var(--font-weight-bold);padding:7px 9px}@keyframes school-control-pulse{0%{background-position:200% 0}to{background-position:-200% 0}}.school-control-layout{align-items:stretch}.school-control-quick-access{display:grid;gap:var(--space-5);grid-template-columns:1fr}.school-control-quick-card,.school-control-activity{background:var(--color-surface-subtle);border-radius:var(--radius-md);box-shadow:var(--shadow-sm)}.school-control-quick-card{min-height:156px;padding:var(--space-5)}.school-control-quick-card__heading{align-items:center;display:flex;gap:var(--space-4);justify-content:space-between}.school-control-quick-card__heading h2{font-size:22px;margin:0}.school-control-quick-card__heading span{font-size:16px;font-weight:var(--font-weight-bold)}.school-control-quick-card__actions{align-items:center;display:flex;flex-wrap:wrap;gap:10px;margin-top:25px}.school-control-quick-card__actions .button{flex:1 1 auto}.school-control-quick-card__actions .button--link{flex:initial}.school-control-activity{display:flex;flex-direction:column;min-height:508px;min-width:0;padding:26px 22px var(--space-5)}.school-control-activity h2{font-size:22px;margin:0}.school-control-activity__heading{align-items:flex-start;display:flex;flex-direction:column;gap:var(--space-2);justify-content:space-between;margin-bottom:10px}.school-control-activity__heading p{font-size:14px;margin:0;text-align:left}.school-control-activity__table-wrap{min-width:0;overflow-x:auto}.school-control-activity table{border-collapse:collapse;min-width:720px;table-layout:fixed;width:100%}.school-control-activity th{border-bottom:var(--border-width) solid var(--color-text-muted);color:var(--color-text-muted);font-size:14px;font-weight:var(--font-weight-regular);padding:var(--space-2) var(--space-4);text-align:left}.school-control-activity th:first-child{width:44%}.school-control-activity th:nth-child(2){width:28%}.school-control-activity th:nth-child(3){width:28%}.school-control-activity td{color:var(--color-primary);font-size:15px;padding:var(--space-2) var(--space-4)}.school-control-activity th:nth-child(3),.school-control-activity td:nth-child(3){white-space:nowrap}.school-control-activity tbody tr:nth-child(2n){background:var(--color-page-background)}.school-control-activity__pagination{align-items:flex-end;display:flex;flex-direction:column;gap:var(--space-4);justify-content:flex-end;margin-top:auto;padding-top:18px}.school-control-activity__pagination>span{color:var(--color-text-muted);font-size:14px}@media only screen and (min-width:576px){.school-control-alert-card{flex-basis:calc(50% - 10px)}}@media only screen and (min-width:768px){.school-control-period{margin-bottom:38px}.school-control-alert-card{flex-basis:210px;max-width:272px}.school-control-quick-access{grid-template-columns:repeat(3,minmax(0,1fr))}.school-control-quick-card{padding:20px}.school-control-quick-card__heading{align-items:flex-start;flex-direction:column;font-family:var(--font-family-heading);font-size:25px}.school-control-quick-card__heading span{font-family:var(--font-family-base);font-weight:400;font-size:16px}.school-control-quick-card__actions .button:not(.button--link){flex:initial}.school-control-activity__heading{align-items:baseline;flex-direction:row;gap:var(--space-6)}.school-control-activity__heading p{text-align:right}.school-control-activity__pagination{align-items:center;flex-direction:row}.school-control-inline-state--error{margin-bottom:24px}}@media only screen and (min-width:1200px){.school-control-quick-access{display:flex;flex-direction:column}.school-control-quick-card{padding:var(--space-7)}.school-control-quick-card__heading{align-items:center;flex-direction:row}}.teacher-groups{display:grid;gap:var(--space-7)}.teacher-groups__section{display:grid;gap:var(--space-2)}.teacher-groups__label{margin:0;color:var(--color-text-muted);font-size:12px;font-weight:var(--font-weight-bold)}.teacher-groups__cards{display:grid;grid-template-columns:1fr;gap:var(--space-4);width:100%}.teacher-groups__card{color:var(--color-primary)}@media only screen and (min-width:768px){.teacher-groups__cards{grid-template-columns:repeat(2,minmax(0,1fr))}}@media only screen and (min-width:1200px){.teacher-groups__cards{grid-template-columns:repeat(3,minmax(0,1fr))}}.subgroup-units-page{color:var(--color-primary)}.subgroup-units-content{padding-top:var(--space-4)}.subgroup-units-back{align-items:center;background:transparent;border:0;color:var(--color-accent-dark);cursor:pointer;display:inline-flex;font-size:12px;font-weight:800;gap:6px;margin:0 0 16px;padding:0}.subgroup-units-notice-row{align-items:center;display:flex;gap:32px;justify-content:space-between;margin-bottom:20px}.subgroup-units-warning{align-items:center;background:#fff5cf;border:1px solid #f7c331;border-radius:6px;color:var(--color-primary);display:inline-flex;flex-wrap:wrap;font-size:13px;font-weight:600;gap:8px;min-height:34px;padding:7px 12px}.subgroup-units-warning .anticon{color:#f4a400}.subgroup-units-warning button{background:transparent;border:0;color:var(--color-accent-dark);cursor:pointer;font:inherit;font-weight:800;padding:0}.subgroup-units-config{align-items:center;background:transparent;border:0;color:var(--color-accent-dark);cursor:pointer;display:inline-flex;flex:0 0 auto;font-size:13px;font-weight:800;gap:6px;padding:0}.subgroup-units-tabs-row{align-items:center;display:flex;gap:22px;margin-bottom:30px}.subgroup-units-tabs{display:flex;flex:1;flex-wrap:wrap;gap:14px}.subgroup-units-tab-trigger{display:inline-flex}.subgroup-units-tab-trigger.is-disabled{cursor:help}.subgroup-units-tab{background:var(--color-white);border:1px solid transparent;border-radius:999px;color:var(--color-accent-dark);cursor:pointer;font-size:16px;font-weight:900;min-height:42px;min-width:130px;padding:0 24px}.subgroup-units-tab.is-selected{background:var(--color-accent);border-color:var(--color-accent);color:var(--color-white);box-shadow:none}.subgroup-units-tab:disabled{background:#ffffff94;color:#a7b5c4;cursor:default;pointer-events:none}.subgroup-units-tab-tooltip .ant-tooltip-inner{background:#b8d2e7;border-radius:8px;color:var(--color-primary);font-size:14px;line-height:1.35;max-width:290px;min-height:0;padding:10px 14px}.subgroup-units-tab-tooltip .ant-tooltip-inner em{font-style:italic}.subgroup-units-tab-tooltip .ant-tooltip-arrow:before{background:#b8d2e7}.subgroup-units-start{align-items:center;background:var(--color-accent);border:0;border-radius:8px;color:var(--color-white);cursor:pointer;display:inline-flex;font-size:13px;font-weight:800;gap:8px;min-height:38px;padding:0 18px;white-space:nowrap}.subgroup-units-close-selected{align-items:center;background:transparent;border:1px solid var(--color-danger-hover);border-radius:7px;color:var(--color-danger-hover);cursor:pointer;display:inline-flex;font-size:12px;font-weight:800;gap:7px;min-height:34px;padding:0 14px;white-space:nowrap}.subgroup-units-closed-label{color:var(--color-text-secondary);flex:0 0 auto;font-size:14px;font-weight:700;white-space:nowrap}.subgroup-units-final-capture-date{color:#9fb0bf;flex:0 0 auto;font-size:12px;font-weight:600;line-height:1.35;margin:0;max-width:420px;text-align:right}.subgroup-units-final-capture-date strong{color:var(--color-text-secondary);font-weight:900}.subgroup-units-workspace{align-items:flex-start;display:grid;gap:16px;grid-template-columns:minmax(280px,480px) minmax(180px,280px) 1fr;margin-bottom:34px}.subgroup-units-card{width:100%}.subgroup-units-card .subgroup-summary-card__header h2{font-family:var(--font-family-base);font-size:18px}.subgroup-units-card .subgroup-summary-card__header strong{font-family:var(--font-family-base);font-size:18px;font-weight:var(--font-weight-bold)}.subgroup-units-card .subgroup-summary-card__header p{font-family:var(--font-family-base);font-size:14px;font-weight:400}.subgroup-units-card .subgroup-summary-card__footer{display:flex;align-items:center;justify-content:space-between;gap:var(--space-3);margin-top:16px}.subgroup-units-card .subgroup-summary-card__footer p,.subgroup-units-card .subgroup-summary-card__footer strong{margin:0}.subgroup-units-card .subgroup-summary-card__footer p strong{display:inline;font-weight:var(--font-weight-bold)}.subgroup-units-card .subgroup-summary-card__footer p span{font-weight:400}.subgroup-units-card .subgroup-summary-card__schedule-pending{color:var(--color-text-muted);font-style:italic}.subgroup-units-main-actions{display:grid;gap:12px}.subgroup-units-main-actions button{align-items:center;background:var(--color-accent);border:0;border-radius:8px;color:var(--color-white);cursor:pointer;display:inline-flex;font-size:14px;font-weight:900;gap:8px;height:54px;justify-content:center;min-width:280px;padding:0 18px}.subgroup-units-main-actions button.is-dark{background:var(--color-primary)}.subgroup-units-main-actions button:disabled{cursor:default;opacity:.58}.subgroup-units-main-actions button.is-complete:disabled{background:var(--color-border-strong);color:#ffffffd1;opacity:1}.subgroup-units-grade-trigger{display:inline-flex}.subgroup-units-grade-complete-tooltip .ant-tooltip-inner{background:var(--color-border-strong);border-radius:14px;box-shadow:0 12px 28px #001d3d29;color:var(--color-primary);font-size:18px;line-height:1.2;min-height:0;padding:17px 21px}.subgroup-units-grade-complete-tooltip .ant-tooltip-arrow:before{background:var(--color-border-strong)}.subgroup-units-actions{display:flex;gap:12px;justify-content:flex-end;padding-top:4px}.subgroup-units-actions button{align-items:center;background:transparent;border:1px solid var(--color-accent-dark);border-radius:8px;color:var(--color-accent-dark);cursor:pointer;display:inline-flex;font-size:13px;font-weight:800;gap:8px;min-height:38px;padding:0 18px}.subgroup-units-actions button.is-primary{background:var(--color-accent-dark);color:var(--color-white)}.subgroup-units-state{background:var(--color-white);border:1px solid rgba(0,53,102,.14);border-radius:8px;color:var(--color-primary);display:grid;gap:12px;max-width:460px;padding:16px 20px}.subgroup-units-state--error{border-color:#ab333359;color:#8f2424}.subgroup-units-link{background:transparent;border:0;color:var(--color-accent-dark);cursor:pointer;font-weight:800;padding:0;text-align:left}.subgroup-units-toast{align-items:center;background:#d9f2ff;border:1px solid #2bb7e5;border-radius:8px;box-shadow:0 6px 16px #0035661f;color:var(--color-primary);display:inline-flex;gap:16px;justify-content:space-between;max-width:520px;min-width:400px;padding:10px 14px;position:fixed;right:24px;top:24px;z-index:1200}.subgroup-units-toast__text{font-size:16px;line-height:1.3}.subgroup-units-toast__text strong{font-weight:900}.subgroup-units-toast__close{align-items:center;background:transparent;border:0;color:var(--color-primary);cursor:pointer;display:inline-flex;font-size:16px;justify-content:center;padding:0}.subgroup-units-toast__close:hover,.subgroup-units-toast__close:focus{color:var(--color-accent)}.attendance-shell{color:var(--color-primary);width:100%}.attendance-shell__toolbar{align-items:end;display:grid;gap:14px;grid-template-columns:minmax(260px,400px) minmax(320px,auto) 1fr;margin-bottom:10px}.attendance-shell__search{color:var(--color-text-secondary);display:grid;font-size:11px;font-weight:700;gap:6px}.attendance-shell__search div{align-items:center;background:var(--color-white);border:1px solid rgba(138,160,179,.25);border-radius:4px;display:flex;height:36px;padding:0 10px}.attendance-shell__search input{background:transparent;border:0;color:var(--color-primary);flex:1;font-size:13px;outline:none}.attendance-shell__search .anticon{color:#b5c3d0;font-size:14px}.attendance-shell__legend{align-items:center;background:var(--color-white);border:1px solid rgba(0,53,102,.04);border-radius:999px;box-shadow:0 5px 12px #0035661a;display:flex;flex-wrap:wrap;gap:15px;min-height:32px;padding:0 12px}.attendance-shell__legend span{align-items:center;display:inline-flex;font-size:12px;font-weight:800;gap:4px;white-space:nowrap}.attendance-shell__legend .is-present{color:#51bd3d}.attendance-shell__legend .is-late{color:#f5a623}.attendance-shell__legend .is-justified{color:var(--color-accent-dark)}.attendance-shell__legend .is-absence{color:#ef3155}.attendance-shell__legend-icon{font-size:14px;line-height:1}.attendance-shell__legend .is-present{color:#52b91f}.attendance-shell__legend .is-late{color:#ff7a00}.attendance-shell__legend .is-justified{color:#4f79ff}.attendance-shell__legend .is-late-absence{color:var(--color-danger)}.attendance-shell__legend .is-absence{color:#ff3155}.attendance-shell__links{align-items:center;display:flex;gap:18px;justify-content:flex-end;min-height:36px}.attendance-shell__absence-limit{color:var(--color-primary);font-size:14px;font-weight:400;white-space:nowrap}.attendance-shell__absence-limit strong{font-weight:700}.attendance-shell__state{background:#ffffff9e;border:1px solid rgba(0,53,102,.1);border-radius:6px;color:#6c8298;font-size:13px;font-weight:700;padding:14px 16px}.attendance-shell__state--error{border-color:#ab333359;color:#8f2424}.attendance-shell__empty-alert{margin-bottom:16px}.attendance-shell__table-wrap{overflow-x:auto;padding-bottom:6px;scrollbar-color:rgba(102,135,255,.55) rgba(255,255,255,.42);scrollbar-width:thin}.attendance-shell__table-wrap::-webkit-scrollbar{height:8px}.attendance-shell__table-wrap::-webkit-scrollbar-track{background:#ffffff6b;border-radius:999px}.attendance-shell__table-wrap::-webkit-scrollbar-thumb{background:#6687ff8c;border-radius:999px}.attendance-shell__table{border-collapse:separate;border-spacing:0;table-layout:fixed;width:100%}.attendance-shell__table th,.attendance-shell__table td{border-right:0;font-size:11px;height:42px;padding:0 6px;text-align:left}.attendance-shell__table th{font-size:10px;height:22px}.attendance-shell__session-header-action{align-items:center;background:transparent;border:0;color:var(--color-accent);cursor:pointer;display:inline-flex;font:inherit;font-weight:900;gap:2px;height:22px;justify-content:center;line-height:1;padding:0;width:100%}.attendance-shell__session-header-action .anticon{font-size:12px}.attendance-shell-roll-call-tooltip .ant-tooltip-inner{background:var(--color-border-strong);border-radius:14px;box-shadow:0 12px 30px #001d3d24;color:var(--color-primary);font-size:18px;line-height:1.25;max-width:260px;padding:18px 22px;text-align:center}.attendance-shell-roll-call-tooltip .ant-tooltip-arrow:before{background:var(--color-border-strong)}.attendance-shell__table th:last-child,.attendance-shell__table td:last-child{border-right:0}.attendance-shell__table tbody tr.is-warning td{background:#ffe9d3}.attendance-shell__table tbody tr.is-danger td{background:#ffd6df}.attendance-shell__number{background:var(--color-page-background);left:0;position:sticky;z-index:3;width:34px}.attendance-shell__name{background:var(--color-page-background);font-weight:700;left:34px;position:sticky;z-index:3}.attendance-shell__student-name,.final-grades-shell__student-name{align-items:center;display:inline-flex;gap:7px;min-width:0}.absence-status-icon{align-items:center;display:inline-flex;flex:0 0 auto;font-size:13px;line-height:1}.absence-status-icon.is-warning{color:#ff8a00}.absence-status-icon.is-danger{color:var(--color-danger-hover)}.absence-status-tooltip .ant-tooltip-inner{background:var(--color-border-strong);border-radius:7px;box-shadow:0 10px 24px #001d3d2e;color:var(--color-primary);font-size:13px;font-weight:700;min-height:0;padding:10px 12px}.absence-status-tooltip .ant-tooltip-arrow:before{background:var(--color-border-strong)}.attendance-shell__col-number{width:34px}.attendance-shell__col-name{width:260px}.attendance-shell__col-session{width:36px}.attendance-shell__col-attendance,.attendance-shell__col-grade{width:96px}.attendance-shell__col-fill{width:auto}.attendance-shell__table .attendance-shell__session-header,.attendance-shell__table .attendance-shell__session-cell{border-right:1px solid rgba(0,53,102,.1);padding:0;text-align:center}.attendance-shell__session-header.is-week-boundary,.attendance-shell__session-cell.is-week-boundary,.attendance-shell__table .attendance-shell__name{border-right:2px solid rgba(0,53,102,.14)}.attendance-shell__session-cell.is-clickable{cursor:pointer}.attendance-shell__session-cell.is-clickable:hover{background:#dfeafb}.attendance-shell__session-button{align-items:center;background:transparent;border:0;cursor:pointer;display:inline-flex;height:100%;justify-content:center;padding:0;width:100%}.attendance-shell__fill{min-width:80px}.attendance-shell__attendance,.attendance-shell__grade{background:var(--color-page-background);position:sticky;z-index:3}.attendance-shell__attendance{border-left:2px solid rgba(0,53,102,.14);font-weight:900;right:96px;text-align:center}.attendance-shell__grade{border-left:2px solid rgba(0,53,102,.14);right:0;text-align:center}.attendance-shell__table th.attendance-shell__attendance,.attendance-shell__table td.attendance-shell__attendance,.attendance-shell__table th.attendance-shell__grade,.attendance-shell__table td.attendance-shell__grade,.final-grades-shell__table th.final-grades-shell__attendance,.final-grades-shell__table td.final-grades-shell__attendance,.final-grades-shell__table th.final-grades-shell__grade,.final-grades-shell__table td.final-grades-shell__grade{text-align:center;vertical-align:middle}.attendance-shell__grade-button,.final-grades-shell__grade-button{align-items:center;background:transparent;border:0;color:var(--color-primary);cursor:pointer;display:inline-flex;font:inherit;font-weight:900;height:30px;justify-content:center;padding:0;text-align:center;width:30px}.attendance-shell__grade-button:hover,.attendance-shell__grade-button:focus,.final-grades-shell__grade-button:hover,.final-grades-shell__grade-button:focus{background:var(--color-white);border-radius:5px;color:var(--color-accent);outline:none}.attendance-shell__table thead .attendance-shell__number,.attendance-shell__table thead .attendance-shell__name,.attendance-shell__table thead .attendance-shell__attendance,.attendance-shell__table thead .attendance-shell__grade{z-index:4}.attendance-shell__metric-header{align-items:center;display:inline-flex;gap:7px;justify-content:center;width:100%}.attendance-shell__metric-header button{align-items:center;background:transparent;border:0;color:var(--color-accent);cursor:pointer;display:inline-flex;font-size:14px;height:22px;justify-content:center;padding:0;width:22px}.attendance-shell__metric-header button:hover,.attendance-shell__metric-header button:focus-visible{color:var(--color-primary)}.attendance-shell__status{align-items:center;display:inline-flex;font-family:Arial,sans-serif;font-size:16px;font-weight:900;justify-content:center;line-height:1;min-width:16px}.attendance-shell__status.is-present{color:#52b91f}.attendance-shell__status.is-late{border:2px solid currentColor;border-radius:999px;color:#ff7a00;font-size:0;height:18px;line-height:1;width:18px}.attendance-shell__status.is-justified{color:#4f79ff}.attendance-shell__status.is-late-absence{align-items:center;border:2px solid currentColor;border-radius:999px;color:#f03a84;font-size:13px;height:18px;line-height:1;width:18px}.attendance-shell__status.is-absence{color:#ff3155}.attendance-shell-metric-popover{--ant-color-bg-elevated: var(--color-background-light);--ant-popover-inner-padding: 20px}.attendance-shell-metric-popover.ant-popover .ant-popover-container{--ant-popover-inner-padding: 20px;background:var(--color-background-light);border-radius:12px;box-shadow:0 12px 28px #001d3d29;padding:20px}.attendance-shell-metric-popover .ant-popover-arrow{display:none}.attendance-shell-metric-menu{color:var(--color-primary);display:grid;gap:var(--space-6);min-width:250px}.attendance-shell-metric-menu fieldset{border:0;display:flex;flex-wrap:wrap;gap:18px;margin:0;padding:0}.attendance-shell-metric-menu legend{color:var(--color-primary);flex:0 0 100%;font-family:var(--font-family-base);font-size:16px;font-weight:var(--font-weight-bold);line-height:1.1;margin-bottom:var(--space-3)}.attendance-shell-metric-menu__option.ant-radio-wrapper{color:var(--color-primary);font-size:14px!important;font-weight:400!important;line-height:1.1;white-space:nowrap}.final-grades-shell{color:var(--color-primary);width:100%}.final-grades-shell__toolbar{align-items:end;display:flex;gap:16px;justify-content:space-between;margin-bottom:10px}.final-grades-shell__search{width:min(100%,400px)}.final-grades-shell__toolbar .attendance-shell__absence-limit{margin-bottom:7px}.final-grades-shell__table-wrap{overflow-x:auto;padding-bottom:6px;scrollbar-color:rgba(102,135,255,.55) rgba(255,255,255,.42);scrollbar-width:thin}.final-grades-shell__table-wrap::-webkit-scrollbar{height:8px}.final-grades-shell__table-wrap::-webkit-scrollbar-track{background:#ffffff6b;border-radius:999px}.final-grades-shell__table-wrap::-webkit-scrollbar-thumb{background:#6687ff8c;border-radius:999px}.final-grades-shell__table{border-collapse:separate;border-spacing:0;table-layout:fixed;width:100%}.final-grades-shell__table th,.final-grades-shell__table td{border-right:0;color:var(--color-primary);font-size:11px;height:42px;padding:0 6px;text-align:left}.final-grades-shell__table th{color:var(--color-text-secondary);font-size:10px;height:22px}.final-grades-shell__table tbody tr.is-warning td{background:#ffe9d3}.final-grades-shell__table tbody tr.is-danger td{background:#ffd6df}.final-grades-shell__number,.final-grades-shell__name{background:var(--color-page-background);position:sticky;z-index:3}.final-grades-shell__number{left:0;width:34px}.final-grades-shell__name{box-shadow:1px 0 0 var(--color-border-strong);font-weight:700;left:34px}.final-grades-shell__attendance,.final-grades-shell__grade{text-align:center}.final-grades-shell__table th.final-grades-shell__attendance,.final-grades-shell__table td.final-grades-shell__attendance,.final-grades-shell__table th.final-grades-shell__unit-grade,.final-grades-shell__table td.final-grades-shell__unit-grade{border-right:1px solid var(--color-border-strong)}.final-grades-shell__table td.final-grades-shell__grade{padding:0}.final-grades-shell__table thead .final-grades-shell__number,.final-grades-shell__table thead .final-grades-shell__name{z-index:4}.final-grades-shell__grade-help{align-items:center;display:inline-flex;gap:8px;justify-content:center;width:100%}.final-grades-shell__grade-help button{align-items:center;border:0;border-radius:999px;color:var(--color-accent);cursor:pointer;display:inline-flex;flex:0 0 auto;font-size:14px;font-weight:900;justify-content:center;padding:0}.final-grades-shell__grade-help button:hover,.final-grades-shell__grade-help button:focus-visible{color:var(--color-primary)}.final-grades-shell-edit-tooltip .ant-tooltip-inner{background:var(--color-border-strong);border-radius:14px;box-shadow:0 12px 28px #001d3d29;color:var(--color-primary);font-size:18px;line-height:1.2;min-height:0;padding:17px 21px}.final-grades-shell-edit-tooltip .ant-tooltip-arrow:before{background:var(--color-border-strong)}.final-grades-shell__col-number{width:34px}.final-grades-shell__col-name{width:260px}.final-grades-shell__col-attendance,.final-grades-shell__col-grade{width:120px}.units-config-modal__header{justify-content:space-between;margin-bottom:var(--space-4)}.units-config-modal__description{font-size:14px;line-height:1.5;margin:0 0 var(--space-6)}.units-config-modal__live-region{clip:rect(0 0 0 0);clip-path:inset(50%);height:1px;margin:-1px;overflow:hidden;position:absolute;white-space:nowrap;width:1px}.units-config-modal__list{display:grid;gap:14px;margin:0 0 18px}.units-config-row{align-items:start;display:grid;gap:10px;grid-template-columns:24px minmax(0,1fr) auto auto}.units-config-row__order{align-items:center;align-self:start;color:var(--color-text-secondary);display:flex;font-size:16px;font-weight:900;height:var(--control-height);justify-content:center;text-align:center}.units-config-row__main{display:grid;gap:6px}.units-config-row__main input{width:100%}.units-config-row__status{font-size:12px;font-weight:900}.units-config-row__status.is-closed,.units-config-row__status.is-pending{color:var(--color-text-secondary)}.units-config-row__status.is-open{color:#6fc33f}.units-config-row__order-actions{align-items:center;align-self:start;display:flex;gap:8px;height:var(--control-height)}.units-config-row__order-actions button,.units-config-row__remove{align-items:center;background:transparent;border:0;color:var(--color-accent);cursor:pointer;display:inline-flex;font-size:22px;height:30px;justify-content:center;padding:0;width:30px}.units-config-row__order-actions button:disabled{cursor:default;opacity:0}.units-config-row__order-actions button:not(:disabled){border-radius:5px}.units-config-row__order-actions button:not(:disabled):hover,.units-config-row__order-actions button:not(:disabled):focus-visible{background:var(--color-white);color:var(--color-primary)}.units-config-row__remove{align-self:start;color:var(--color-danger);font-size:18px;height:var(--control-height);opacity:1}.units-config-row__remove:not(:disabled):hover,.units-config-row__remove:not(:disabled):focus-visible{color:var(--color-danger-hover)}.units-config-row--moved{animation-duration:.42s;animation-fill-mode:both;animation-timing-function:ease}.units-config-row--moved .units-config-row__main input{animation:units-config-input-highlight .7s ease}.units-config-row--moved-up{animation-name:units-config-row-move-up}.units-config-row--moved-down{animation-name:units-config-row-move-down}@keyframes units-config-row-move-up{0%{transform:translateY(10px)}to{transform:translateY(0)}}@keyframes units-config-row-move-down{0%{transform:translateY(-10px)}to{transform:translateY(0)}}@keyframes units-config-input-highlight{0%,55%{background:var(--color-white);box-shadow:0 0 0 3px var(--color-accent-light)}to{background:var(--color-white);box-shadow:none}}@media(prefers-reduced-motion:reduce){.units-config-row--moved,.units-config-row--moved .units-config-row__main input{animation:none}}.units-config-modal .ant-tooltip .ant-tooltip-inner{background:#b8d2e7;border-radius:8px;color:var(--color-primary);font-size:14px;min-height:0;padding:8px 12px}.units-config-modal .ant-tooltip .ant-tooltip-arrow:before{background:#b8d2e7}.units-config-modal__add{width:100%}.units-config-modal__alert{margin-top:14px}.attendance-session-picker-modal__field{color:var(--color-text-secondary);display:grid;font-size:12px;font-weight:700;gap:5px}.attendance-session-picker-modal__field select{appearance:none;background:var(--color-white);border:1px solid transparent;border-radius:5px;color:var(--color-primary);cursor:pointer;font-size:16px;height:42px;outline:none;padding:0 38px 0 13px;width:100%}.attendance-session-picker-modal__field:after{border:solid #b8c6d4;border-width:0 3px 3px 0;content:"";height:9px;justify-self:end;margin-right:14px;margin-top:-31px;pointer-events:none;transform:rotate(45deg);width:9px}.attendance-session-picker-modal__field select:disabled{color:var(--color-text-secondary);cursor:default}.attendance-edit-modal__header{justify-content:space-between;margin-bottom:26px}.attendance-edit-modal__meta{color:var(--color-primary);display:grid;gap:3px;margin-bottom:30px}.attendance-edit-modal__meta p{line-height:1.25;margin:0}.attendance-edit-modal__field{margin-bottom:var(--space-4)}.attendance-edit-modal__select{display:block;position:relative}.attendance-edit-modal__select select{appearance:none;cursor:pointer;padding-right:40px}.attendance-edit-modal__select svg{color:var(--color-text-muted);pointer-events:none;position:absolute;right:14px;top:50%;transform:translateY(-50%)}.attendance-edit-modal__select select:disabled{cursor:default}.attendance-edit-modal__select--placeholder select{color:var(--color-text-muted)}.attendance-edit-modal__select--placeholder select option{color:var(--color-primary)}.attendance-edit-modal__alert{margin-top:18px}.grade-edit-modal__header{justify-content:space-between;margin-bottom:18px}.grade-edit-modal__meta{color:var(--color-primary);display:grid;gap:2px;margin-bottom:20px}.grade-edit-modal__meta p{line-height:1.25;margin:0}.grade-edit-modal__field{align-items:center;justify-content:center;margin-bottom:26px;text-align:center}.grade-edit-modal__automatic-grade{display:block;font-size:16px;line-height:1.3}.grade-edit-modal__automatic-message{font-size:14px;line-height:1.45;margin:8px 0 0}.grade-edit-modal__input{width:82px}.grade-edit-modal__alert{margin:0 0 16px}.attendance-roll-call-modal .ant-modal-content{background:var(--color-info-background);border-radius:8px;box-shadow:none;min-height:378px;overflow:hidden;padding:0}.attendance-roll-call{background:linear-gradient(180deg,#c9d6ff 0%,var(--color-info-background) 100%);color:var(--color-primary);display:grid;min-height:378px;padding:22px 19px 15px}.attendance-roll-call.is-warning{background:linear-gradient(180deg,#ffb15f 0%,#ffd6a9 36%,var(--color-info-background) 100%)}.attendance-roll-call.is-danger{background:linear-gradient(180deg,#ff8ba4 0%,#ffc3d0 38%,var(--color-info-background) 100%)}.attendance-roll-call__heading{display:grid;justify-items:center}.attendance-roll-call__heading h2{font-family:var(--font-family-heading);font-size:25px;font-weight:900;line-height:1.2;margin:0 0 5px}.attendance-roll-call__heading span{font-size:14px;font-weight:500}.attendance-roll-call__avatar{background:#f8fbff;border-radius:8px;box-shadow:0 3px 11px #00356629;height:230px;justify-self:center;margin-top:var(--space-6);overflow:visible;position:relative;width:230px}.attendance-roll-call__avatar:before{background:#b9cfe2;border-radius:999px;content:"";height:126px;left:52px;position:absolute;top:34px;width:126px}.attendance-roll-call__avatar:after{background:#b9cfe2;border-radius:120px 120px 12px 12px;bottom:0;content:"";height:78px;left:0;position:absolute;width:230px}.attendance-roll-call__student{margin-top:var(--space-4);text-align:center}.attendance-roll-call__student h2{align-items:center;display:inline-flex;font-family:var(--font-family-base);font-size:25px;font-weight:900;gap:6px;justify-content:center;line-height:1.2;margin:0 0 5px}.attendance-roll-call__student h2 .absence-status-icon{font-size:20px}.attendance-roll-call__student span{display:block;font-family:var(--font-family-base);font-size:14px;font-weight:500}.attendance-roll-call.is-warning .attendance-roll-call__student span{color:#ff8a00}.attendance-roll-call.is-danger .attendance-roll-call__student span{color:var(--color-danger-hover)}.attendance-roll-call__alert{margin-top:12px}.attendance-roll-call__actions{align-items:center;display:flex;gap:42px;justify-content:center;margin-bottom:var(--space-8);margin-top:24px}.attendance-roll-call__mark{align-items:center;background:transparent;border:0;color:currentColor;cursor:pointer;display:inline-flex;font-size:100px;height:100px;justify-content:center;padding:0;width:100px}.attendance-roll-call__mark--absence{color:var(--color-danger)}.attendance-roll-call__mark--present{color:var(--color-success)}.attendance-roll-call__mark:disabled{cursor:default;opacity:.65}.attendance-roll-call-summary{align-content:center;background:var(--color-info-background);color:var(--color-primary);display:grid;justify-items:center;min-height:704px;padding:28px 24px;text-align:center}.attendance-roll-call-summary>svg{color:var(--color-accent);font-size:31px;margin-bottom:13px}.attendance-roll-call-summary h2{font-family:var(--font-family-base);font-size:30px;font-weight:900;line-height:1.1;margin:0}.attendance-roll-call-summary>span{font-family:var(--font-family-base);font-size:20px;font-weight:400;margin-bottom:42px}.attendance-roll-call-summary__cards{display:grid;gap:8px;grid-template-columns:1fr 1fr;width:100%}.attendance-roll-call-summary__cards div{align-content:center;background:#ffffff85;border-radius:5px;display:grid;gap:var(--space-2);min-height:86px;padding:15px}.attendance-roll-call-summary__cards strong{font-size:16px;font-weight:900;line-height:1.2}.attendance-roll-call-summary__cards b{font-size:25px;font-weight:900;margin-top:0}.attendance-roll-call-summary__cards span{font-size:14px;font-weight:400}.attendance-roll-call-summary .button{align-self:end;margin-top:57px;max-width:360px;width:100%}.unit-grade-capture{display:grid;isolation:isolate;padding:var(--space-6);position:relative}.unit-grade-capture>:not(.unit-grade-capture__overlay){position:relative;z-index:1}.unit-grade-capture__overlay{background:linear-gradient(180deg,var(--color-grade-capture-regular) 0%,var(--color-background-light) 100%);content:"";inset:0;pointer-events:none;position:absolute;z-index:0}.unit-grade-capture--risk .unit-grade-capture__overlay{background:linear-gradient(180deg,var(--color-grade-capture-risk) 0%,var(--color-background-light) 100%)}.unit-grade-capture--failed .unit-grade-capture__overlay{background:linear-gradient(180deg,var(--color-grade-capture-failed) 0%,var(--color-background-light) 100%)}.unit-grade-capture-modal:not(.unit-grade-capture-modal--unsaved){--modal-content-padding: 0}.unit-grade-capture-modal:not(.unit-grade-capture-modal--unsaved).ant-modal-container,.unit-grade-capture-modal:not(.unit-grade-capture-modal--unsaved) .ant-modal-container{border-radius:20px;padding:0!important}.unit-grade-capture-modal:not(.unit-grade-capture-modal--unsaved) .ant-modal-content{border-radius:20px;overflow:hidden;padding:0!important}.attendance-roll-call-modal.ant-modal-container,.attendance-roll-call-modal .ant-modal-container{border-radius:20px;padding:0!important}.attendance-roll-call-modal .ant-modal-content{border-radius:20px;overflow:hidden}.unit-grade-capture__heading{text-align:center}.unit-grade-capture__heading h2{font-size:25px;font-weight:400;line-height:1.2;margin:0 0 5px}.unit-grade-capture__heading strong{font-weight:900}.unit-grade-capture__heading span{display:block;font-size:14px;font-weight:500}.unit-grade-capture__state{align-self:center;font-size:15px;font-weight:800;justify-self:center}.unit-grade-capture__avatar{background:#f8fbff;border-radius:8px;box-shadow:0 3px 11px #00356629;height:230px;justify-self:center;margin-top:var(--space-6);overflow:visible;position:relative;width:230px}.unit-grade-capture__avatar:before{background:#b9cfe2;border-radius:999px;content:"";height:126px;left:52px;position:absolute;top:34px;width:126px}.unit-grade-capture__avatar:after{background:#b9cfe2;border-radius:120px 120px 12px 12px;bottom:0;content:"";height:78px;left:0;position:absolute;width:230px}.unit-grade-capture__save-feedback{background:#bfefff;border:1px solid #00a6d6;border-radius:8px;bottom:22px;color:var(--color-primary);font-size:16px;font-weight:500;left:50%;line-height:1.2;padding:10px 15px;position:absolute;transform:translate(-50%);white-space:nowrap;z-index:5}.unit-grade-capture__save-feedback.is-error{background:#ffe0e8;border-color:#ef3f63;bottom:22px}.unit-grade-capture h3{font-size:25px;font-weight:900;line-height:1.15;margin:var(--space-4) 0 var(--space-6);text-align:center}.unit-grade-capture__alert{justify-self:center;margin-bottom:var(--space-4);margin-top:8px;max-width:350px;width:100%}.unit-grade-capture__load-error{align-self:center;display:grid;gap:24px;justify-items:center}.unit-grade-capture__load-error button{align-items:center;background:var(--color-accent);border:1px solid var(--color-accent);border-radius:8px;color:var(--color-white);cursor:pointer;display:inline-flex;font-size:13px;font-weight:900;gap:7px;height:40px;justify-content:center;max-width:260px;width:100%}.unit-grade-capture__form{align-items:center;display:flex;gap:15px;justify-content:center;margin-top:0}.unit-grade-capture__form .form-control{width:112px}.unit-grade-capture__form .button.is-loading{min-width:226px}.unit-grade-capture__form button.is-loading svg{font-size:17px}.unit-grade-capture__form button:disabled,.unit-grade-capture__form input:disabled,.unit-grade-capture__search input:disabled,.unit-grade-capture__search-trigger:disabled,.unit-grade-capture__results button:disabled,.unit-grade-capture__skip:disabled{cursor:default;opacity:.65}.unit-grade-capture__form button.is-loading:disabled{opacity:1}.unit-grade-capture__search-trigger{justify-self:center;margin-top:26px;width:350px}.unit-grade-capture__search-panel{display:grid;justify-self:center;margin-top:26px;width:350px}.unit-grade-capture__search{color:#8aa8c0;display:grid;font-size:13px;font-weight:700;gap:6px;justify-self:center;width:350px}.unit-grade-capture__results{background:var(--color-white);border-radius:0 0 8px 8px;box-shadow:0 3px 10px #0035661f;display:grid;justify-self:center;overflow:hidden;padding:6px;width:100%}.unit-grade-capture__results button{background:transparent;border:0;border-radius:4px;color:var(--color-primary);cursor:pointer;font-size:14px;height:27px;overflow:hidden;padding:0 9px;text-align:left;text-overflow:ellipsis;white-space:nowrap}.unit-grade-capture__results button.is-selected,.unit-grade-capture__results button:hover{background:var(--color-info-background)}.unit-grade-capture__skip{justify-self:end;margin-top:var(--space-4);position:static}.unit-grade-capture-summary{align-content:center;background:var(--color-info-background);color:var(--color-primary);display:grid;justify-items:center;min-height:704px;padding:28px 24px;text-align:center}.unit-grade-capture-summary>svg{color:var(--color-accent);font-size:31px;margin-bottom:13px}.unit-grade-capture-summary h2{font-family:var(--font-family-base);font-size:30px;font-weight:900;line-height:1.1;margin:0}.unit-grade-capture-summary>span{font-family:var(--font-family-base);font-size:20px;font-weight:400;margin-bottom:42px}.unit-grade-capture-summary__state{font-size:14px;font-weight:800;min-height:95px}.unit-grade-capture-summary__cards{display:grid;gap:8px;grid-template-columns:1fr 1fr;width:100%}.unit-grade-capture-summary__cards div{align-content:center;background:#ffffff85;border-radius:5px;display:grid;gap:var(--space-2);min-height:86px;padding:15px}.unit-grade-capture-summary__cards strong{font-size:16px;font-weight:900;line-height:1.2}.unit-grade-capture-summary__cards b{font-size:25px;font-weight:900;margin-top:0}.unit-grade-capture-summary .button{align-self:end;margin-top:57px;max-width:360px;width:100%}@media(max-width:760px){.final-grades-shell__number,.final-grades-shell__name{position:static}.unit-grade-capture-modal{max-width:calc(100vw - 24px)}.unit-grade-capture h3{font-size:21px}.unit-grade-capture__form{align-items:stretch;flex-direction:column;gap:10px;justify-self:center;width:min(100%,350px)}.unit-grade-capture__form input,.unit-grade-capture__form button,.unit-grade-capture__search-trigger,.unit-grade-capture__search-panel,.unit-grade-capture__search,.unit-grade-capture__results{width:100%}.unit-grade-capture__form input{text-align:center}.attendance-roll-call-summary,.unit-grade-capture-summary{min-height:540px;padding:22px 14px}.attendance-roll-call-summary__cards,.unit-grade-capture-summary__cards{grid-template-columns:1fr}.subgroup-units-notice-row,.subgroup-units-tabs-row,.subgroup-units-actions,.final-grades-shell__toolbar,.attendance-shell__links{align-items:flex-start;flex-direction:column}.subgroup-units-warning{align-items:flex-start}.subgroup-units-workspace{grid-template-columns:1fr}.subgroup-units-final-capture-date{text-align:left}.subgroup-units-main-actions button{min-width:0;width:100%}.subgroup-units-grade-trigger{width:100%}.attendance-shell__toolbar{align-items:stretch;grid-template-columns:1fr}.subgroup-units-toast{left:16px;min-width:0;right:16px;top:16px}.units-config-row{grid-template-columns:20px 1fr}.units-config-row__order-actions,.units-config-row__remove{grid-column:2;grid-row:2}.units-config-row__order-actions{justify-content:flex-start}.units-config-row__remove{justify-self:end}.grade-edit-modal__footer{align-items:stretch;flex-direction:column}}.subgroup-units-page__notice{display:flex;flex-direction:column;align-items:stretch;gap:var(--space-3);margin-bottom:var(--space-5);margin-top:var(--space-2)}.subgroup-units-tabs-row{align-items:flex-start;gap:var(--space-4);justify-content:space-between;margin-bottom:var(--space-6);margin-top:var(--space-4)}.subgroup-units-tabs-row__actions{display:flex;flex-wrap:wrap;align-items:center;gap:var(--space-3)}.subgroup-units-tabs-row__primary{display:flex;flex:0 1 auto;flex-wrap:wrap;align-items:center;gap:var(--space-3);min-width:0}.subgroup-units-tabs{flex:0 1 auto;gap:var(--space-3);min-width:0}.subgroup-units-tab:disabled{border-color:#ffffff94}.subgroup-units-workspace{grid-template-columns:1fr;gap:var(--space-4);margin-bottom:var(--space-6)}.subgroup-units-workspace__main-actions,.subgroup-units-workspace__actions{display:flex;flex-wrap:wrap;gap:var(--space-3)}.subgroup-units-workspace__main-actions{flex-direction:column}.subgroup-units-workspace__actions{align-items:center;justify-content:flex-end}.subgroup-units-workspace__main-actions .button,.subgroup-units-workspace .subgroup-units-grade-trigger{width:100%}@media only screen and (min-width:768px){.attendance-shell__legend{height:40px;min-height:40px}.subgroup-units-page__notice{flex-direction:row;align-items:center;justify-content:flex-start}.subgroup-units-tabs-row{align-items:center}.subgroup-units-workspace{grid-template-columns:repeat(2,minmax(0,1fr))}.subgroup-units-workspace__actions{grid-column:1/-1;grid-template-columns:repeat(2,minmax(0,1fr))}}@media only screen and (min-width:1200px){.subgroup-units-workspace{grid-template-columns:minmax(280px,480px) minmax(220px,280px) minmax(0,1fr)}.subgroup-units-workspace__actions{grid-column:auto;grid-template-columns:1fr}}.users-actions{display:flex;align-items:center;gap:12px;flex-wrap:wrap}.users-filters{display:flex;align-items:flex-end;gap:20px;margin:16px 0 24px;flex-wrap:wrap}.users-filter{display:flex;flex-direction:column;gap:6px}.users-input{width:100%}.users-filter .users-select{width:320px}.users-alert{margin-bottom:16px}.users-table-wrapper{overflow:hidden}.users-text{color:var(--color-primary)}.users-resend-invitation-action.ant-btn{margin-top:-8px;padding-left:0}.users-resend-invitation-modal__message{margin:0}.users-resend-invitation-modal__recipient{display:block;margin:var(--space-3) var(--space-2) 0}.users-resend-invitation-modal__loading{align-items:center;display:flex;gap:var(--space-2);justify-content:center;min-height:32px}.users-resend-invitation-modal__error{margin-top:var(--space-4)}.users-pagination{display:flex;justify-content:center;margin-top:18px}@media only screen and (max-width:767px){.users-pagination .ant-pagination{flex-wrap:wrap;row-gap:8px}.users-pagination .ant-pagination .ant-pagination-total-text{position:static;order:1;width:100%;height:auto;margin-inline:0;justify-content:center}}@media only screen and (min-width:768px){.users-actions{justify-content:flex-end}.users-input{width:320px}}.sentry-test-content{max-width:1120px;margin:0 auto;padding-inline:24px}.sentry-test-content>h1.ant-typography{margin-bottom:12px;color:var(--color-primary);font-family:var(--font-family-heading);font-size:50px;line-height:1}.sentry-test-content>p.ant-typography{max-width:720px;margin-bottom:28px;color:#31536f;font-size:16px}.sentry-test-card{border:1px solid #c9d6e2;border-radius:12px;box-shadow:0 10px 24px #00356614}.sentry-test-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px}.sentry-test-card .ant-card-body{display:flex;min-height:470px;flex-direction:column}.sentry-test-card .ant-card-body>.ant-typography{min-height:66px;color:#31536f}.sentry-test-card .ant-card-head-title{color:var(--color-primary);font-size:18px}.sentry-test-card .ant-btn-primary{align-self:flex-start;min-height:44px;border-radius:10px;background:var(--color-accent);font-weight:700}.sentry-test-alert{margin:20px 0}.sentry-test-alert code{overflow-wrap:anywhere}.sentry-test-identifiers{display:grid;gap:6px}.sentry-test-loading{display:flex;min-height:190px;align-items:center;justify-content:center;gap:10px;color:#31536f}.sentry-test-receipt-note{margin-top:20px}@media(max-width:600px){.sentry-test-content{padding-inline:0}.sentry-test-content>h1.ant-typography{font-size:40px}.sentry-test-grid{grid-template-columns:1fr}.sentry-test-card .ant-card-body{min-height:0}}.login-page{background:var(--color-primary);color:var(--color-white);font-weight:var(--font-weight-bold);min-height:100vh;display:flex;flex-direction:column;align-items:center;padding:48px 16px 28px}.login-header{width:100%;display:flex;justify-content:center}.login-header .tenant-logo{max-width:100%}.tenant-logo{width:auto;object-fit:contain}.login-main{width:100%;max-width:363px;flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:24px;padding-top:20px}.login-title{margin:0;font-family:var(--font-family-heading);font-size:40px;line-height:1;color:var(--color-secondary);text-align:center}.google-login{width:100%;display:flex;justify-content:center;border-radius:10px;overflow:hidden}.google-login>div{width:100%!important}.google-button,.google-button.ant-btn{width:100%;max-width:363px;height:50px;border-radius:10px;background:var(--color-white);color:#000;border:none;display:flex;align-items:center;justify-content:center;gap:10px;font-weight:700;font-size:16px;cursor:pointer;box-shadow:none;padding:0 12px}.google-button__icon{width:26px;height:26px}.login-divider{width:100%;max-width:363px;display:flex;align-items:center;gap:14px;color:var(--color-white);font-size:16px}.login-divider:before,.login-divider:after{content:"";flex:1;height:1px;background:#ffffff59}.login-form{width:100%;max-width:363px;display:flex;flex-direction:column;gap:20px}.login-form .ant-form-item{margin-bottom:20px}.login-form .ant-form-item-label>label{color:var(--color-white);font-weight:700;font-size:14px}.login-form .ant-input,.login-form .ant-input-affix-wrapper{height:40px;border:none;border-radius:10px;padding:0 12px;font-size:16px;color:var(--color-primary-dark);background:var(--color-white);box-shadow:none}.login-form .ant-input-affix-wrapper{align-items:center}.login-form .ant-input-affix-wrapper input{height:100%}.login-form .ant-form-item{margin-bottom:0}.login-form .ant-form-item:last-of-type{margin-bottom:10px}.login-form .ant-form-item-explain-error{color:var(--color-danger-medium)}.login-error{width:100%;margin-bottom:12px}.auth-login-button,.primary-button.auth-login-button.ant-btn{height:44px;border:1px solid var(--color-accent)}.primary-button.auth-login-button.ant-btn:not(:disabled):hover{border:1px solid var(--color-primary-dark)}.primary-button,.primary-button.ant-btn{width:100%;border-radius:10px;border:none;background:var(--color-accent);color:var(--color-surface-muted);font-weight:700;font-size:16px;padding:10px 20px;display:flex;align-items:center;justify-content:center;gap:10px;cursor:pointer;box-shadow:none;height:auto;line-height:normal}.primary-button.ant-btn:not(:disabled):hover{border:none;background:var(--color-primary-dark);color:var(--color-surface)}.primary-button__icon{width:16px;height:16px}.proaula-logo{width:126px;height:38px;object-fit:contain}.support-email{font-weight:700;font-size:12px;color:var(--color-accent);text-decoration:none}.activation-page{background:var(--color-primary);color:var(--color-white);min-height:100vh;display:flex;flex-direction:column;align-items:center;padding:56px 16px 28px}.activation-header{width:100%;display:flex;justify-content:center}.activation-main{width:100%;max-width:440px;flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:20px;padding-top:32px}.activation-title{margin:0;font-family:var(--font-family-heading);font-size:40px;line-height:1;color:var(--color-secondary);text-align:center}.activation-status{width:100%;max-width:400px;display:flex;flex-direction:column;align-items:center;gap:16px;text-align:center}.activation-status p{margin:0;font-size:16px}.activation-form{width:100%;max-width:400px}.activation-form .ant-form-item{margin-bottom:20px}.activation-form .ant-form-item-label>label{color:var(--color-white);font-weight:700;font-size:16px}.activation-form .ant-input,.activation-form .ant-input-affix-wrapper{height:40px;border:none;border-radius:10px;padding:0 12px;font-size:16px;color:var(--color-primary-dark);background:var(--color-white);box-shadow:none}.activation-form .ant-input-affix-wrapper{align-items:center}.activation-form .ant-input-affix-wrapper input{height:100%}.activation-alert{width:100%;max-width:400px;margin-bottom:4px}.secondary-button,.secondary-button.ant-btn{width:100%;max-width:400px;border-radius:10px;border:1px solid var(--color-accent);background:transparent;color:var(--color-surface-muted);font-weight:700;font-size:16px;height:44px;box-shadow:none}.secondary-button.ant-btn:not(:disabled):hover{border-color:var(--color-accent);background:var(--color-accent);color:var(--color-surface-muted)}.activation-help{margin:0;width:100%;max-width:400px;text-align:center;color:#d1dcff;font-size:14px}.activation-help a{color:#9ab3ff}.activation-login-link{width:100%;max-width:400px;text-decoration:none}.activation-login-link .primary-button,.activation-login-link .primary-button.ant-btn{margin-top:4px}.home-page{background:var(--color-primary);color:var(--color-white);min-height:100vh;display:flex;flex-direction:column;align-items:center;padding:48px 16px 32px}.home-header{width:100%;display:flex;justify-content:center}.home-main{width:100%;flex:1;display:flex;align-items:center;justify-content:center}.home-card{width:min(480px,92vw);background:#ffffff14;border:1px solid rgba(255,255,255,.18);border-radius:16px;padding:32px;text-align:center;display:flex;flex-direction:column;gap:8px}.home-eyebrow{margin:0;font-size:12px;letter-spacing:.18em;text-transform:uppercase;color:#9ab3ff}.home-name{margin:0;font-size:26px;font-weight:700}.home-email{margin:0;font-size:16px;color:#d1dcff}.logout-button,.logout-button.ant-btn{margin-top:20px;height:44px;border-radius:10px;border:1px solid var(--color-accent);background:transparent;color:var(--color-accent);font-weight:700;box-shadow:none}.logout-button.ant-btn:hover,.logout-button.ant-btn:focus{border-color:var(--color-accent-lighter);color:var(--color-accent-lighter);background:#6889ff1a}.home-footer{width:100%;display:flex;flex-direction:column;align-items:center;gap:8px;margin-top:auto}.status-page{min-height:100vh;background:var(--color-white);display:flex;align-items:center;justify-content:center;color:var(--color-primary)}.status-page .ant-result-title{color:var(--color-primary)}.status-page .ant-result-subtitle{color:var(--color-text-muted)}@media only screen and (min-width:576px){.login-page{padding-top:56px}.tenant-logo{height:88px}.login-main{max-width:441px;padding-top:32px}.google-button,.google-login,.login-divider,.login-form{max-width:400px}.login-form .ant-form-item-label>label{font-size:16px}.support-email{font-size:16px}.home-page{padding-top:64px}.home-name{font-size:32px}}
