/* Core-only presentation layer. Loaded after legacy/vendor styles. */
@font-face{font-family:CoreReadex;src:url('/ReadexPro-VariableFont_wght.ttf') format('truetype');font-weight:100 900;font-display:swap}
:root{
 --app-primary:#087e76;--app-primary-dark:#05645e;--app-primary-soft:#e8f5f1;
 --app-navy:#153b50;--app-navy-soft:#214e64;--app-text:#153b50;--app-muted:#5e737f;
 --app-canvas:#f3f8f8;--app-border:#dce8eb;--app-surface:#fff;
 --app-focus:0 0 0 3px #087e762e;--app-shadow-sm:0 5px 20px #153b5009;
 --navy:var(--app-navy);--ink:var(--app-text);--teal:var(--app-primary);--teal-dark:var(--app-primary-dark);
 --muted:var(--app-muted);--mint:var(--app-primary-soft);--line:var(--app-border);
}
@media screen{
 body.core-ui{font-family:CoreReadex,'Segoe UI',Tahoma,sans-serif;color:var(--app-text);line-height:1.65}
 .core-ui #content-wrapper,.core-ui #content{min-width:0;max-width:100%}
 .core-ui .container-fluid{padding:24px;max-width:1520px}
 .core-ui .app-sidebar.sidebar{background:linear-gradient(165deg,#102f43,#17465b)!important;overflow:visible}
 .core-ui .sidebar .nav-link{min-height:44px;font-style:normal}
 .core-ui .sidebar .nav-link span{white-space:normal;overflow-wrap:anywhere}
 .core-ui .app-topbar{border-bottom:1px solid var(--app-border);box-shadow:none!important}
 .core-ui .container-fluid h1,.core-ui .container-fluid h2,.core-ui .container-fluid h3{line-height:1.5;letter-spacing:normal}
 .core-ui .card,.core-ui .panel{border:1px solid var(--app-border);border-radius:16px;box-shadow:var(--app-shadow-sm)}
 .core-ui .card-header,.core-ui .panel-heading{background:#f5faf9;color:var(--app-navy);border-bottom:1px solid var(--app-border);padding:16px 20px}
 .core-ui .card-body,.core-ui .panel-body{padding:22px;min-width:0}
 .core-ui .card-header h6{font-size:1rem;line-height:1.6}
 .core-ui label,.core-ui .control-label{font-size:.875rem;font-weight:600;line-height:1.6}
 .core-ui .form-group{margin-bottom:20px}
 .core-ui .container-fluid>form>.form-horizontal:not(:has(.card)):not(.organized-form){max-width:960px;padding:24px;border:1px solid var(--app-border);border-radius:16px;background:#fff;box-shadow:var(--app-shadow-sm)}
 .core-ui .container-fluid>form>.form-horizontal>.form-group>[class*=col-md-]{width:100%;max-width:640px;padding-inline:0}
 .core-ui .container-fluid>form>.form-horizontal>hr:first-child{margin-top:0}
 .core-ui .form-control,.core-ui .form-select{min-height:44px;height:auto;border:1px solid #b9cfd3;border-radius:9px;background:#fbfdfd;color:var(--app-text);font-size:.9rem;padding:10px 12px;max-width:100%}
 .core-ui textarea.form-control{min-height:110px;resize:vertical}
 .core-ui input[type=file]{max-width:100%;font-size:.85rem}
 .core-ui input[type=checkbox],.core-ui input[type=radio]{accent-color:var(--app-primary)}
 .core-ui .form-control:focus{border-color:var(--app-primary);box-shadow:var(--app-focus);background:#fff}
 .core-ui .form-control:disabled,.core-ui .form-control[readonly]{background:#edf2f3;color:#586b76}
 .core-ui .field-validation-error,.core-ui .validation-summary-errors{color:#a52e40;font-size:.875rem;line-height:1.7}
 .core-ui .input-validation-error{border-color:#b33649!important}
 .core-ui .btn{min-height:40px;padding:9px 15px;border-radius:9px;font-size:.85rem;line-height:1.5;white-space:normal}
 .core-ui .btn-sm{min-height:34px;padding:6px 10px;font-size:.8rem}
 .core-ui .btn-primary,.core-ui .btn-success{background:var(--app-primary);border-color:var(--app-primary);color:#fff}
 .core-ui .btn-primary:hover,.core-ui .btn-success:hover{background:var(--app-primary-dark);border-color:var(--app-primary-dark)}
 .core-ui .btn:disabled,.core-ui .btn.disabled{opacity:.6;box-shadow:none;cursor:not-allowed}
 .core-ui .btn-group,.core-ui .btn-toolbar{flex-wrap:wrap;gap:6px}
 .core-ui .table{font-size:.875rem;color:var(--app-text)}
 .core-ui .table th{font-size:.8rem;line-height:1.7;background:#eef6f5;color:#385766}
 .core-ui .table th,.core-ui .table td{padding:12px;vertical-align:middle}
 .core-ui .table td{border-color:#e4edef}
 .core-ui .table-responsive,.core-ui .student-credit-result>.table-responsive{overflow-x:auto!important}
 .core-ui .dataTables_wrapper{min-width:0}
 .core-ui .dataTables_filter label,.core-ui .dataTables_length label{display:inline-flex;align-items:center;gap:8px;flex-wrap:wrap;max-width:100%}
 .core-ui .dataTables_filter input{max-width:100%;margin-inline-start:0}
 .core-ui .pagination{flex-wrap:wrap;gap:3px}
 .core-ui .page-link{min-height:38px;border-radius:6px}
 .core-ui .nav-tabs{gap:4px;flex-wrap:wrap}
 .core-ui .nav-tabs .nav-link{padding:12px 16px}
 .core-ui .nav-tabs .nav-link.active{box-shadow:inset 0 3px var(--app-primary)}
 .core-ui .modal-content{overflow:visible;border-radius:16px}
 .core-ui .modal-header{border-radius:16px 16px 0 0}
 .core-ui .modal-footer{border-radius:0 0 16px 16px;flex-wrap:wrap;gap:6px}
 .core-ui .modal-body{min-width:0}
 .core-ui .selectize-input{min-height:44px;border-radius:9px;font-size:.9rem;border-color:#b9cfd3;text-align:start}
 .core-ui .selectize-control.form-control{height:auto;min-height:0;padding:0;border:0;background:transparent}
 .core-ui .selectize-dropdown{border-radius:9px;border-color:var(--app-border);box-shadow:0 8px 28px #153b5020;z-index:1060;text-align:start}
 .core-ui .selectize-dropdown .option{padding:10px 12px;font-size:.875rem}
 .core-ui .selectize-dropdown .active{background:var(--app-primary-soft);color:var(--app-primary-dark)}
 .core-ui .ui-dialog{border:1px solid var(--app-border);border-radius:12px;box-shadow:0 12px 38px #153b5022}
 .core-ui .ui-dialog-titlebar{background:#eff7f5;color:var(--app-navy);border:0}
 .core-ui .ui-dialog-buttonpane{border-color:var(--app-border)}
 .core-ui .text-muted{color:var(--app-muted)!important}
 .core-ui .owner-primary,.core-ui .submit-button{background:var(--app-primary)}
 .core-ui .owner-profile small{overflow-wrap:anywhere}
 .core-ui .owner-intro,.core-ui .registration-intro{min-width:0}
 .core-ui .dashboard-heading,.core-ui .panel-heading{gap:14px;flex-wrap:wrap}
 .core-ui .owner-login-card>p,.core-ui .form-heading p{font-size:.875rem}
 .core-ui :is(a,button,input,select,textarea,[tabindex]):focus-visible{outline:3px solid #087e76!important;outline-offset:3px;box-shadow:none!important}
 .core-ui .sidebar :is(a,button):focus-visible{outline-color:#83e0ce!important}
 .core-ui[dir=rtl] .input-group>.form-control{border-radius:9px}
 .core-ui .alert{overflow-wrap:anywhere}
}
@media screen and (max-width:767px){
 .core-ui .container-fluid{padding:16px 12px}
 .core-ui .card-body,.core-ui .panel-body{padding:16px}
 .core-ui .form-horizontal .control-label{text-align:start}
 .core-ui .form-horizontal [class*=col-md-offset]{margin-inline-start:0}
 .core-ui .input-group{flex-wrap:wrap}
 .core-ui .input-group>.form-control{min-width:120px}
 .core-ui .dataTables_wrapper .row{row-gap:12px}
 .core-ui .modal-dialog{margin:12px}
 .core-ui .owner-profile{flex-wrap:wrap;justify-content:flex-end}
 .core-ui .owner-topbar{height:auto;min-height:76px;padding-block:12px}
 .core-ui .owner-topbar>.dashboard-shell{gap:12px;flex-wrap:wrap}
 .core-ui .table-responsive>.table{min-width:0}
 .core-ui .table-responsive .table th{white-space:nowrap}
}
@media screen and (max-width:575px){
 .core-ui .app-topbar.topbar{height:auto;min-height:68px;padding:8px;gap:4px;flex-wrap:wrap}
 .core-ui .app-topbar .navbar-nav{flex-wrap:wrap;min-width:0}
 .core-ui .app-topbar .language-selector{min-width:0;max-width:95px}
 .core-ui .app-sidebar.sidebar{width:5rem!important;min-width:5rem!important}
 .core-ui .app-sidebar.sidebar.toggled{width:0!important;min-width:0!important;padding:0!important;overflow:hidden}
 .core-ui .app-sidebar .nav-item .nav-link{width:100%;padding:10px 3px;font-size:.7rem;flex-direction:column;gap:5px}
 .core-ui .app-sidebar .collapse{left:auto;right:auto;inset-inline-start:5rem;max-width:calc(100vw - 6rem)}
 .core-ui .app-sidebar .collapse-inner{min-width:0!important;max-width:100%}
 .core-ui .app-sidebar .collapse-item{white-space:normal;overflow-wrap:anywhere}
 .core-ui .login-shell{padding:16px}
 .core-ui .login-card__body{padding:24px 18px}
}
@media(prefers-reduced-motion:reduce){.core-ui *,.core-ui *::before,.core-ui *::after{animation-duration:.01ms!important;transition-duration:.01ms!important;scroll-behavior:auto!important}}

/* Form polish: presentation only; retains field order, visibility and widget hooks. */
@media screen{
 .core-ui .container-fluid form>.form-horizontal:not(:has(.card)):not(.card-body .form-horizontal):not(.organized-form){max-width:1120px;padding:28px;border:1px solid var(--app-border);border-top:3px solid var(--app-primary);border-radius:16px;background:#fff;box-shadow:0 8px 28px #153b5009}
 .core-ui form .form-horizontal>h4,.core-ui form .form-horizontal>h3{padding-bottom:14px;margin-bottom:22px;border-bottom:1px solid var(--app-border);color:var(--app-navy);font-size:1.15rem;font-weight:700;line-height:1.6}
 .core-ui form .form-horizontal>.row{row-gap:10px}
 .core-ui form .form-group>label,.core-ui form .form-group>.control-label,.core-ui form .field>label{display:inline-block;margin-bottom:8px;color:#294e60;font-weight:650;letter-spacing:normal}
 .core-ui form .form-control:not(.selectize-control),.core-ui form .form-select{min-height:48px;border-color:#c3d5d9;background:#fcfefe;padding:11px 13px;line-height:1.6;box-shadow:0 1px 2px #153b5004}
 .core-ui form .form-control:not(:disabled):not([readonly]):hover,.core-ui form .form-select:hover{border-color:#8db4b7}
 .core-ui form .form-control:focus,.core-ui form .form-select:focus{border-color:var(--app-primary);box-shadow:var(--app-focus);background:#fff}
 .core-ui form textarea.form-control{min-height:120px}
 .core-ui form .form-control:disabled,.core-ui form .form-control[readonly]{background:#eff4f5;color:#60737f}
 .core-ui form .form-text,.core-ui form .help-block{display:block;margin-top:7px;color:var(--app-muted);font-size:.8rem;line-height:1.7}
 .core-ui form .field-validation-error{display:block;margin-top:6px;font-style:normal}
 .core-ui form .validation-summary-errors{padding:14px 18px;margin-bottom:22px;border:1px solid #edc8cf;border-inline-start:4px solid #b33649;border-radius:10px;background:#fff6f7}
 .core-ui form .validation-summary-errors ul{margin:0;padding-inline-start:20px}
 .core-ui form .input-group-text{border-color:#c3d5d9;border-radius:9px;background:#eef6f5;color:#385d69;font-size:.85rem}
 .core-ui form input[type=file]::file-selector-button{padding:9px 13px;margin-inline-end:12px;border:1px solid #bad5d2;border-radius:8px;background:#edf7f4;color:#086d65;font:inherit;cursor:pointer}
 .core-ui form .checkbox{padding-block:6px;line-height:1.8}
 .core-ui form .checkbox label{display:inline-flex;align-items:center;gap:9px;margin-bottom:0;cursor:pointer}
 .core-ui form .checkbox input{position:static;margin:0;flex-shrink:0}
 .core-ui form .form-group:last-child:has([type=submit]){margin-top:24px;padding-top:20px;border-top:1px solid #e3edef;margin-bottom:0}
 .core-ui form .form-group:last-child:has([type=submit])>div{display:flex;align-items:center;gap:12px;flex-wrap:wrap}
 .core-ui form :is(button,input)[type=submit].btn{min-height:46px;padding:11px 22px;font-weight:700;box-shadow:0 4px 12px #153b5010}
 .core-ui form .form-group:last-child:has([type=submit]) .btn{margin-inline:0!important}
 .core-ui form .selectize-input{min-height:48px;padding:11px 13px;line-height:1.6}
 .core-ui .owner-login-card label,.core-ui .field label{font-size:.875rem}
 .core-ui .input-wrap{border-color:#c3d5d9;background:#fcfefe}
}
@media screen and (max-width:767px){
 .core-ui .container-fluid form>.form-horizontal:not(:has(.card)):not(.card-body .form-horizontal):not(.organized-form){padding:20px 16px}
 .core-ui form .form-horizontal>.row{row-gap:4px}
 .core-ui form .form-group:last-child:has([type=submit])>div{padding-inline:0}
 .core-ui form .form-group:last-child:has([type=submit]) .btn{flex:0 1 auto;max-width:100%}
}

/* Explicit card layouts; no field visibility, names, order, or submission changes. */
@media screen {
 body.core-ui .organized-form { width:100%; margin:24px auto; padding:24px; border:1px solid #dce8eb; border-radius:18px; background:#fff; box-shadow:0 10px 32px #153b500b; }
 body.core-ui .organized-form--compact { max-width:760px; }
 body.core-ui .organized-form--wide { max-width:1120px; }
 body.core-ui .organized-form.card,body.core-ui .organized-form:has(>.organized-form__body) { padding:0; }
 body.core-ui .organized-form__header { padding:22px 24px; margin:-24px -24px 24px; border:0; border-bottom:1px solid #dce8eb; border-radius:18px 18px 0 0; background:linear-gradient(110deg,#eff8f5,#f8fbfc); text-align:start; }
 body.core-ui .organized-form.card>.organized-form__header,body.core-ui .organized-form:has(>.organized-form__body)>.organized-form__header { margin:0; }
 body.core-ui .organized-form__header :is(h2,h3,h4,h5,h6) { margin:0!important; font-size:1.25rem!important; color:#153b50; line-height:1.6; text-align:start; }
 body.core-ui .organized-form__body { padding:24px; }
 body.core-ui .organized-form__section { margin:0 0 24px; padding:0 0 24px; border:0; border-bottom:1px solid #e6eef0; min-width:0; }
 body.core-ui .organized-form__section:last-child { margin:0; padding:0; border-bottom:0; }
 body.core-ui .organized-form__section>.form-group { margin-bottom:0; }
 body.core-ui .organized-form>.form-group>[class*=col-md-],body.core-ui .organized-form .form-horizontal>.form-group>[class*=col-md-] { width:100%; max-width:100%; padding-inline:0; margin-inline:0; }
 body.core-ui .organized-form--compact .row>[class*=col-md-] { flex:0 0 100%; max-width:100%; }
 body.core-ui .organized-form>.organized-form__header+hr { display:none; }
 body.core-ui .organized-form .control-label { text-align:start; }
 body.core-ui .organized-choice-group legend { float:none; width:auto; margin-bottom:12px; padding:0; font-size:.95rem; font-weight:700; color:#294e60; }
 body.core-ui .organized-choice-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:12px; }
 body.core-ui .organized-choice { display:flex; align-items:center; gap:10px; padding:16px 12px; margin:0; min-height:64px; border:1px solid #cbdcdf; border-radius:12px; background:#fbfdfd; cursor:pointer; font-size:.9rem; overflow-wrap:anywhere; }
 body.core-ui .organized-choice:has(input:checked) { border-color:#087e76; background:#eaf7f2; box-shadow:inset 0 0 0 1px #087e76; }
 body.core-ui .organized-choice:focus-within { outline:3px solid #93d5c8; outline-offset:3px; }
 body.core-ui .organized-choice input { flex-shrink:0; width:18px; height:18px; margin:0; accent-color:#087e76; }
 body.core-ui .organized-toggle { display:flex; align-items:center; gap:12px; padding:16px; border:1px solid #dce8eb; border-radius:12px; background:#f8fbfc; }
 body.core-ui .organized-toggle>.form-check-input { position:static; float:none; width:20px; height:20px; margin:0!important; flex-shrink:0; transform:none!important; }
 body.core-ui .organized-choice,body.core-ui .organized-choice span { font-style:normal; }
 body.core-ui .organized-toggle>.form-check-label { margin:0!important; cursor:pointer; line-height:1.7; }
 body.core-ui .organized-form__actions { display:flex; flex-wrap:wrap; align-items:center; gap:12px; margin:24px -24px -24px!important; padding:20px 24px!important; border-top:1px solid #dce8eb; border-radius:0 0 18px 18px; background:#f8fbfc; }
 body.core-ui .organized-form:has(>.organized-form__body)>.organized-form__actions { margin:0!important; }
 body.core-ui .organized-form__actions>div { display:flex; align-items:center; flex-wrap:wrap; gap:12px; padding-inline:0; max-width:100%; margin:0; }
 body.core-ui .organized-form__actions .btn { margin:0!important; min-width:110px; min-height:44px; }
 body.core-ui .organized-form__actions a { min-height:44px; display:inline-flex!important; align-items:center; padding-inline:12px!important; border-radius:8px; color:#05645e; }
 body.core-ui .organized-form__actions a:hover { background:#e8f5f1; }
}
@media screen and (min-width:768px) {
 body.core-ui .organized-form--wide .row>.col-md-4 { flex:0 0 50%; max-width:50%; }
 body.core-ui .organized-form--wide .row>[class*=col-md-]:has(textarea) { flex:0 0 100%; max-width:100%; }
}
@media screen and (max-width:767px) {
 body.core-ui .organized-form { margin:16px auto; padding:18px; border-radius:14px; }
 body.core-ui .organized-form__header { margin:-18px -18px 20px; padding:18px; border-radius:14px 14px 0 0; }
 body.core-ui .organized-form__body { padding:18px; }
 body.core-ui .organized-choice-grid { grid-template-columns:1fr; }
 body.core-ui .organized-choice { min-height:54px; padding:13px; }
 body.core-ui .organized-form__actions { margin:20px -18px -18px!important; padding:16px 18px!important; border-radius:0 0 14px 14px; }
 body.core-ui .organized-form .row>[class*=col-md-] { flex:0 0 100%; max-width:100%; }
}

/* School navigation: quiet group labels, consistent rows and readable submenus. */
@media screen {
 body.core-ui #accordionSidebar.app-sidebar { padding:18px 12px!important; background:linear-gradient(180deg,#102f43 0%,#153e50 100%)!important; }
 body.core-ui #accordionSidebar .sidebar-section-title { margin:22px 10px 8px!important; padding:0!important; color:#a2c2cc!important; font-size:.66rem!important; font-weight:600; letter-spacing:.04em; text-align:start!important; list-style:none; }
 body.core-ui #accordionSidebar .nav-item { margin:3px 0!important; }
 body.core-ui #accordionSidebar>.nav-item:first-child { display:flex; align-items:center; border-bottom:1px solid #ffffff18; padding-bottom:10px; }
 body.core-ui #accordionSidebar>.nav-item:first-child>i { display:none!important; }
 body.core-ui #accordionSidebar>.nav-item:first-child>a::before { content:'\f015'; font-family:'Font Awesome 5 Free'; font-weight:900; color:#79d5c7; }
 body.core-ui #accordionSidebar .nav-item>.nav-link { display:flex!important; align-items:center; gap:11px; width:100%!important; padding:12px!important; margin:0!important; border:1px solid transparent; border-radius:10px; background:transparent!important; color:#e0edf1!important; text-align:start!important; font-size:.8rem!important; font-weight:500!important; font-style:normal!important; line-height:1.6; }
 body.core-ui #accordionSidebar .nav-link span { font-size:inherit!important; font-style:normal!important; }
 body.core-ui #accordionSidebar .nav-link i { width:24px!important; min-width:24px; height:26px; margin:0!important; display:inline-flex; align-items:center; justify-content:center; font-size:1rem!important; color:#79d5c7!important; background:transparent!important; }
 body.core-ui #accordionSidebar .nav-item>.nav-link:hover,
 body.core-ui #accordionSidebar .nav-item>.nav-link[aria-expanded=true]:not(.collapsed) { background:#234e60!important; border-color:#376474; color:#fff!important; }
 body.core-ui #accordionSidebar .nav-link:focus-visible,
 body.core-ui #accordionSidebar .collapse-item:focus-visible { outline:3px solid #83e1d0; outline-offset:2px; }
 body.core-ui #accordionSidebar .nav-link[data-toggle=collapse]::after { margin-inline-start:auto; float:none; position:static; opacity:.7; }
 body.core-ui #accordionSidebar .collapse-inner { margin:4px 0 10px!important; padding:8px!important; border:1px solid #d7e7e7!important; border-radius:12px!important; background:#f6faf9!important; box-shadow:0 8px 20px #071e3020!important; }
 body.core-ui #accordionSidebar .collapse-header { padding:10px 10px 5px!important; color:#526e7a!important; font-size:.66rem!important; letter-spacing:0; white-space:normal; text-align:start; }
 body.core-ui #accordionSidebar .collapse-item { margin:2px 0!important; padding:10px!important; min-height:40px; border-radius:7px!important; font-size:.76rem!important; line-height:1.6; font-style:normal!important; white-space:normal!important; overflow-wrap:anywhere; text-align:start!important; color:#234859!important; }
 body.core-ui #accordionSidebar .collapse-item:hover,
 body.core-ui #accordionSidebar .collapse-item.active { color:#05645e!important; background:#deefea!important; }
 body.core-ui #accordionSidebar .collapse-divider { margin:8px 10px!important; border-top:1px solid #d9e7e7; }
 body.core-ui #accordionSidebar .sidebar-divider { margin:12px 8px!important; border-color:#ffffff18!important; }
}
@media screen and (max-width:575px) {
 body.core-ui #accordionSidebar.app-sidebar { padding:12px 6px!important; }
 body.core-ui #accordionSidebar .sidebar-section-title { font-size:.56rem!important; margin:18px 2px 6px!important; overflow-wrap:anywhere; }
 body.core-ui #accordionSidebar .nav-item>.nav-link { flex-direction:column; gap:5px; padding:10px 3px!important; font-size:.62rem!important; text-align:center!important; }
 body.core-ui #accordionSidebar .nav-link[data-toggle=collapse]::after { display:none; }
 body.core-ui #accordionSidebar .collapse-inner { max-width:calc(100vw - 100px); }
}
