/* Shared LMIS presentation. Public entrance and signed-in header keep their own styling. */
/* Lime marks the current section; the underline also identifies it without colour. */
body.backbanner-loggedin #SiteMenu .navbar { opacity:1; }
body.backbanner-loggedin #SiteMenu .dropdown-menu { background:#000; border-color:#36444d; }
body.backbanner-loggedin #SiteMenu .dropdown-menu > li > a { color:#edf5fa; background:#000; }
body.backbanner-loggedin #SiteMenu .dropdown-menu .divider { background:#36444d; }
body.backbanner-loggedin .lmis-header-account > .glyphicon-ring-left,
body.backbanner-loggedin .lmis-header-identity > .glyphicon-ring-right { background:transparent; box-shadow:none; }
body.backbanner-loggedin #SiteMenu .navbar-nav > li > a { border-bottom:4px solid transparent; }
body.backbanner-loggedin #SiteMenu .navbar-nav > li > a:is(:hover,:focus-visible,.lmis-current-section),
body.backbanner-loggedin #SiteMenu .navbar-nav > li.open > a { color:#b4e600; background:#171f24; border-bottom-color:#98c400; }
body.backbanner-loggedin #SiteMenu .dropdown-menu > li > a:is(:hover,:focus-visible,[aria-current="page"]) { color:#b4e600; background:#000; box-shadow:inset 4px 0 #98c400; }
body.backbanner-loggedin #SiteMenu a:focus-visible { outline:2px solid #b4e600; outline-offset:-2px; }
/* Dark selected tabs keep the bright accent readable. */
body.backbanner-loggedin .TabFullPage .ajax__tab_active .ajax__tab_inner { background:#173f53; border-bottom:3px solid #98c400; }
body.backbanner-loggedin .TabFullPage .ajax__tab_active .ajax__tab_tab { color:#b4e600; }
/* File links stay recognisable before hover and after a visit. */
:is(body.backbanner-loggedin,body.backbanner-portal) a.lmis-document-link { display:inline-flex; align-items:center; gap:6px; min-height:32px; color:#124f75; font-weight:600; text-decoration:underline; text-underline-offset:3px; text-decoration-thickness:1px; }
:is(body.backbanner-loggedin,body.backbanner-portal) a.lmis-document-link:visited { color:#124f75; }
:is(body.backbanner-loggedin,body.backbanner-portal) a.lmis-document-link:hover { color:#082f4c; text-decoration-thickness:2px; }
:is(body.backbanner-loggedin,body.backbanner-portal) a.lmis-document-link .glyphicon { text-decoration:none; font-size:.9em; }
@media(pointer:coarse) { :is(body.backbanner-loggedin,body.backbanner-portal) a.lmis-document-link { min-height:44px; } }
:root {
    --lmis-ink: #284b60;
    --lmis-muted: #587487;
    --lmis-line: #dbe7ef;
    --lmis-blue: #246d94;
    --lmis-surface: #c5d5e2;
    --lmis-burgundy: #800020;
}

.backbanner, .backbanner-loggedin, .backbanner-portal, .lmis-brand-surface {
    background-color: #061626;
    background-image:
        radial-gradient(ellipse at 84% 12%, rgba(43,126,215,.28), transparent 48%),
        radial-gradient(ellipse at 10% 85%, rgba(14,158,163,.16), transparent 44%),
        radial-gradient(circle at 95% 88%, transparent 0 210px, rgba(116,189,229,.045) 211px 212px, transparent 213px 265px, rgba(116,189,229,.035) 266px 267px, transparent 268px),
        linear-gradient(130deg, #020b13, #09233b 62%, #071a29);
    background-size: cover;
    background-repeat: no-repeat;
    background-attachment: fixed;
    border: none;
}
.pagetop.backbanner, .lmis-brand-surface { background-attachment: scroll; }
.lmis-brand-surface { padding:32px 26px; border-radius:14px; }
.lmis-brand-surface img { display:block; width:100%; max-width:360px; height:auto; margin:0 auto; }

/* Calm surfaces under the familiar forms; no watermark behind records. */
body.backbanner-loggedin .lmis-page-content,
body.backbanner-portal .content-portal-div { font-family:"Segoe UI",Arial,sans-serif; color:var(--lmis-ink); }
body.backbanner-loggedin .content-child-div,
body.backbanner-portal .content-portal-div { background:var(--lmis-surface); }
:where(body.backbanner-loggedin,body.backbanner-portal) .solid-container { background:var(--lmis-surface); }
:where(body.backbanner-loggedin,body.backbanner-portal) :is(.solid-container-inner,.TabFullPage .ajax__tab_body,.TabFullPage-TabContent-div) { background:var(--lmis-surface)!important; }
:where(body.backbanner-loggedin,body.backbanner-portal) .UploadModalPopUpPanel .panel-body:has(.form-group) { background:var(--lmis-surface); }
:where(body.backbanner-loggedin,body.backbanner-portal) .main-container-minh { border-radius:16px; border:1px solid var(--lmis-line); box-shadow:0 6px 24px #16354c0b; padding-bottom:18px; }
:where(body.backbanner-loggedin,body.backbanner-portal) .lv-container-div,
:where(body.backbanner-loggedin,body.backbanner-portal) .lv-tabcontainer-div { box-shadow:none; background:#fff; border-radius:12px; }
:where(body.backbanner-loggedin,body.backbanner-portal) .lv-outer-containber { border-color:var(--lmis-line); border-radius:12px; }

/* Reusable list heading and controls. Existing field order and actions stay intact. */
:where(body.backbanner-loggedin,body.backbanner-portal) .row-div-underline { border-bottom:1px solid var(--lmis-line); background:linear-gradient(110deg,#eef7fc,#fff 78%); margin-bottom:16px; box-shadow:none; }
:where(body.backbanner-loggedin,body.backbanner-portal) .person-type-div { position:relative; height:auto; min-height:78px; padding:14px 20px 14px 72px; text-align:left; line-height:1.4; }
:where(body.backbanner-loggedin,body.backbanner-portal) .person-type-div::before { content:""; position:absolute; left:20px; top:25px; width:32px; height:32px; border:7px solid #d7edf6; border-radius:50%; background:#4187a8; box-shadow:0 0 0 3px #a4d1e43d; }
:where(body.backbanner-loggedin,body.backbanner-portal) .person-label { color:var(--lmis-ink); font-size:23px; font-weight:650; opacity:1; }
:where(body.backbanner-loggedin,body.backbanner-portal) .text-muted { color:var(--lmis-muted); }
:where(body.backbanner-loggedin,body.backbanner-portal) .lv-pager-div { padding:5px 0 10px; }
:where(body.backbanner-loggedin,body.backbanner-portal) :is(.lv-pager-button,.lv-pager-next,.lv-pager-current) { display:inline-flex; align-items:center; justify-content:center; min-width:30px; min-height:30px; padding:4px 9px; margin:0 3px 3px 0; border:1px solid #cfdfeb; border-radius:9px; box-shadow:none; background:#f3f8fb; color:#35617b; font-weight:600; }
:where(body.backbanner-loggedin,body.backbanner-portal) .lv-pager-current { color:#fff; background:#2d6e92; border-color:#2d6e92; }
:where(body.backbanner-loggedin,body.backbanner-portal) :is(.lv-pager-button,.lv-pager-next):hover { background:#e1f0f8; color:#164f70; }

/* Dense lists remain tables, with clear hierarchy, row separation and status chips. */
:where(body.backbanner-loggedin,body.backbanner-portal) .lv-gridstyle { background:#fff; color:var(--lmis-ink); border:1px solid var(--lmis-line); border-collapse:collapse; }
:where(body.backbanner-loggedin,body.backbanner-portal) .lv-gridstyle thead tr { background:#edf4f8; color:#355b70; }
:where(body.backbanner-loggedin,body.backbanner-portal) .lv-gridstyle thead th { padding:10px 9px!important; font-size:13px; line-height:1.35; font-weight:650; color:#355b70; border-color:#d9e5ed; border-bottom:2px solid #d4e3ed; }
:where(body.backbanner-loggedin,body.backbanner-portal) .lv-sortable-button-header { color:#355b70; text-decoration:none; }
:where(body.backbanner-loggedin,body.backbanner-portal) .lv-sortable-button-header:hover { color:#126c9c; text-decoration:underline; text-underline-offset:3px; }
:where(body.backbanner-loggedin,body.backbanner-portal) .lv-gridstyle tbody tr td { padding:11px 9px; font-size:13px; line-height:1.5; vertical-align:middle; border-color:#e3edf3; }
:where(body.backbanner-loggedin,body.backbanner-portal) .lv-gridstyle.table-striped>tbody>tr:nth-of-type(odd) { background:#f5f9fc; }
:where(body.backbanner-loggedin,body.backbanner-portal) .lv-gridstyle tbody tr:hover { background:#eaf5fb; }
:where(body.backbanner-loggedin,body.backbanner-portal) .lv-gridstyle tbody tr:focus-within { background:#eaf5fb; }
.lmis-status-chip { display:inline-block; padding:5px 11px; border-radius:18px; background:#edf2f6; color:#496274; font-size:12px; line-height:1.4; font-weight:650; text-align:center; }
.lmis-status-positive { background:#dff3eb; color:#146653; }
.lmis-status-info { background:#e4f1fb; color:#205b83; }
.lmis-status-new { background:#f8e6ee; color:#8b2351; }
.lmis-status-pending { background:#eee7fa; color:#66418e; }
.lmis-status-attention { background:#fff0d9; color:#825113; }
.lmis-status-withdrawn { background:#ffbf75; color:#613000; }
.lmis-status-negative { background:#fae7ea; color:#982b42; }

/* Standard buttons and icon actions. Destructive/disabled states remain recognisable. */
:where(body.backbanner-loggedin,body.backbanner-portal) .btn-submit { border:1px solid #bdd5e3; border-radius:20px; color:#285f7e; background:#eaf4fa; box-shadow:none; font-weight:600; }
:where(body.backbanner-loggedin,body.backbanner-portal) .btn-submit:hover { background:#d9ecf6; color:#164f70; border-color:#8bb7cd; }
:where(body.backbanner-loggedin,body.backbanner-portal) :is(.lv-btn-item-action,.lv-btn-gridstyle-action) { width:30px; height:30px; line-height:26px; border:1px solid #bddae9; border-radius:50%; color:#276487; background:#e8f4fa; box-shadow:0 0 0 2px #f2f8fc; }
:where(body.backbanner-loggedin,body.backbanner-portal) :is(.lv-btn-item-action,.lv-btn-gridstyle-action):hover { color:#fff; background:#2e7da5; border-color:#2e7da5; }
:where(body.backbanner-loggedin,body.backbanner-portal) :is(.lv-btn-item-select,.lv-btn-item-slim-select,.lv-btn-gridstyle-medbut) { border:1px solid #c3dbe9; border-radius:16px; color:#285f7e; background:#eaf4fa; box-shadow:none; }
:where(body.backbanner-loggedin,body.backbanner-portal) :is(.btn[disabled],.btn.disabled,a.aspNetDisabled) { opacity:.55; box-shadow:none; cursor:not-allowed; }

/* Shared forms: retain widths and row geometry used by Web Forms validators. */
.lmis-action-halo { box-sizing:border-box; display:inline-flex; flex-direction:column; align-items:center; justify-content:center; flex-shrink:0; vertical-align:middle; width:100px; height:100px; margin:10px 9px 14px; padding:8px; border:3px solid #a8dfed; border-radius:50%; background:radial-gradient(circle at 35% 22%,#347b93,#153c52 82%); color:#fff!important; box-shadow:0 0 0 3px #346d82,0 0 0 6px #eaf5fa,0 7px 18px #173c512a; text-align:center; white-space:normal; text-decoration:none!important; line-height:1.25; transition:transform .16s,box-shadow .16s; }
.lmis-action-halo>.glyphicon { font-size:24px; margin-bottom:5px; }
.lmis-action-halo>strong { font-size:11px; font-weight:700; line-height:1.25; max-width:86px; }
.lmis-action-halo:hover { transform:translateY(-2px); background:radial-gradient(circle at 35% 22%,#398ca3,#153c52 82%); box-shadow:0 0 0 3px #346d82,0 0 0 7px #d8f2f9,0 9px 20px #173c5135; }
/* Read-only progress halos keep the underlying percentage and achieved/required counts. */
.progress-circle.lmis-progress-halo { --lmis-progress-colour:#247bb0; box-sizing:border-box; width:58px; height:58px; margin:8px auto 10px!important; border:2px solid #edf7fb; background:conic-gradient(var(--lmis-progress-colour) var(--lmis-progress-angle,0deg),#adc6d7 0); box-shadow:0 0 0 2px #90b5c9,0 0 0 5px #e6f1f7,0 4px 10px #1c496322; line-height:58px; }
.progress-circle.lmis-progress-halo::after { inset:5px; width:auto; height:auto; background:radial-gradient(circle at 35% 22%,#357790,#173f54 82%); border:1px solid #d0e8f3; }
.progress-circle.lmis-progress-halo > span { inset:0; display:flex; align-items:center; justify-content:center; width:auto; height:auto; line-height:1; color:#fff; font-size:12px; font-weight:700; letter-spacing:-.2px; }
.progress-circle.lmis-progress-halo .left-half-clipper { display:none; }
.progress-circle.lmis-progress-complete { --lmis-progress-colour:#118b81; }
.progress-circle.lmis-progress-empty::after { background:radial-gradient(circle at 35% 22%,#59798d,#365468 82%); }
.smallfooter.lmis-progress-count { margin:8px 5px 5px; padding:3px 6px; min-width:64px; background:#dbeaf3!important; color:#284d64!important; border:1px solid #b6cddd; border-radius:12px; font-size:11px; font-weight:700; line-height:1.25; }
.person-label:empty::after { display:none; }
/* Only a usable SOR PDF/image for this record reveals its PrivySeal section. */
.lmis-privyseal-section:not(:has(a[id$="ViewPDF"][href^="https://"],a[id$="ViewPDF"][href^="http://"],a[id$="ViewImage"][href^="https://"],a[id$="ViewImage"][href^="http://"])) { display:none; }
.lmis-privyseal-section .lmis-privyseal-heading th { padding:10px 14px; background:#dceaf3; color:#284d64; text-align:center; font-weight:700; border-top:1px solid #b6cddd; border-bottom:1px solid #b6cddd; }
.lmis-action-halo:focus-visible { outline:3px solid #800020!important; outline-offset:8px!important; }
.lmis-action-halo.aspNetDisabled,.lmis-action-halo[disabled] { opacity:.55; transform:none; cursor:not-allowed; }
/* A halo sits alongside the search field, with room to wrap in narrow toolbars. */
.input-group:has(.lmis-action-halo) { display:flex; flex-wrap:wrap; align-items:center; justify-content:flex-end; max-width:100%; row-gap:8px; }
.input-group:has(.lmis-action-halo)>.input-group-btn { display:flex; align-items:center; width:auto; flex-shrink:0; }
.input-group:has(.lmis-action-halo)>.input-group-btn:has(.lmis-action-halo) { flex-wrap:wrap; justify-content:flex-end; gap:8px; max-width:100%; }
.input-group:has(.lmis-action-halo)>.form-control { float:none; width:180px; min-width:100px; flex:1 1 150px; border-radius:8px 0 0 8px; }
@media(prefers-reduced-motion:reduce) { .lmis-action-halo { transition:none; } .lmis-action-halo:hover { transform:none; } }
:where(body.backbanner-loggedin,body.backbanner-portal) :where(.lmis-page-content,.content-portal-div,.UploadModalPopUpPanel) .form-control { border:1px solid #708da2; border-radius:8px; color:#203f53; background:#fff; box-shadow:0 1px 2px #1839510a; }
:where(body.backbanner-loggedin,body.backbanner-portal) :where(.lmis-page-content,.content-portal-div,.UploadModalPopUpPanel) .form-control::placeholder { color:#596f7e; opacity:1; }
:where(body.backbanner-loggedin,body.backbanner-portal) :where(.lmis-page-content,.content-portal-div,.UploadModalPopUpPanel) label { color:#234457; font-weight:650; }
:where(body.backbanner-loggedin,body.backbanner-portal) :where(.lmis-page-content,.content-portal-div,.UploadModalPopUpPanel) .form-control:focus { border-color:#4187b1; outline:0; box-shadow:0 0 0 3px #71acd12b; }
:where(body.backbanner-loggedin,body.backbanner-portal) .form-control[disabled],
:where(body.backbanner-loggedin,body.backbanner-portal) .form-control[readonly] { background:#dee7ee; color:#506675; border-color:#a1b6c5; }
:where(body.backbanner-loggedin,body.backbanner-portal) .has-error .form-control { border-color:#b63d60; background:#fff7f9; }
:where(body.backbanner-loggedin,body.backbanner-portal) .has-success .form-control { border-color:#74a998; }
:where(body.backbanner-loggedin,body.backbanner-portal) .input-group .form-control { border-radius:8px 0 0 8px; }
:where(body.backbanner-loggedin,body.backbanner-portal) .input-group .btn-search-box { border-radius:0 8px 8px 0; }
:where(body.backbanner-loggedin,body.backbanner-portal) .input-group-btn:first-child>.btn { border-radius:8px 0 0 8px; }
:where(body.backbanner-loggedin,body.backbanner-portal) :is(.table-display-4col,.table-display-6col,.table-display-8col,.td-display-colheader,.table-display-col) { color:#3b6175; background:#edf4f8; border-color:#dce8ef; }
:where(body.backbanner-loggedin,body.backbanner-portal) :is(.table-data-4col,.table-data-6col,.table-data-8col) { color:var(--lmis-ink); background:#fff; }
:where(body.backbanner-loggedin,body.backbanner-portal) :is(.panel-custom-header,.TabFullPage-TabHeader-div,.div-display-rowheader) { background:linear-gradient(110deg,#eaf4fa,#f8fbfd); color:#355b70; border-color:var(--lmis-line); box-shadow:none; text-shadow:none; opacity:1; }
:where(body.backbanner-loggedin,body.backbanner-portal) .panel { border-color:var(--lmis-line); border-radius:14px; box-shadow:0 5px 18px #16354c0a; }
:where(body.backbanner-loggedin,body.backbanner-portal) .TabFullPage .ajax__tab_header { border-bottom:1px solid #dbe7ef; padding:6px 0; }
:where(body.backbanner-loggedin,body.backbanner-portal) .TabFullPage .ajax__tab_inner { padding:9px 12px; background:#edf4f8; border:1px solid #d8e6ee; border-radius:10px 10px 0 0; }
:where(body.backbanner-loggedin,body.backbanner-portal) .TabFullPage .ajax__tab_tab { color:#365d72; }
:where(body.backbanner-loggedin,body.backbanner-portal) .TabFullPage .ajax__tab_active .ajax__tab_inner { background:#e0f0f8; border-bottom:3px solid #307ba1; }
:where(body.backbanner-loggedin,body.backbanner-portal) .TabFullPage .ajax__tab_active .ajax__tab_tab { color:#205d7e; font-weight:650; }

/* Pop-ups inherit the same surfaces without changing their existing open/close behaviour. */
:where(body.backbanner-loggedin,body.backbanner-portal) :is(.UploadModalPopUpPanel,.notificationModalPop,.ErrorModalPopUpPanel) { border:1px solid #d4e4ed; border-radius:18px; box-shadow:0 22px 65px #061c3b40; }
:where(body.backbanner-loggedin,body.backbanner-portal) :is(.UploadModalPopUpPanel,.notificationModalPop) .panel { margin-bottom:0; border:0; }
:where(body.backbanner-loggedin,body.backbanner-portal) .popup-header { padding:20px; opacity:1; color:#365d72!important; background:linear-gradient(110deg,#ecf6fb,#fff); text-shadow:none; border-radius:17px 17px 0 0; border-bottom:1px solid var(--lmis-line); }
:where(body.backbanner-loggedin,body.backbanner-portal) .UploadModalPopUpPanel .panel-footer { background:#f5f9fc; border-top:1px solid var(--lmis-line); border-radius:0 0 17px 17px; padding:16px; }
:where(body.backbanner-loggedin,body.backbanner-portal) .UploadModalPopUpPanel { max-height:calc(100vh - 32px)!important; overflow:auto; }
:where(body.backbanner-loggedin,body.backbanner-portal) .UploadModalPopUpPanel>.panel { display:flex; flex-direction:column; max-height:calc(100vh - 34px); }
:where(body.backbanner-loggedin,body.backbanner-portal) .UploadModalPopUpPanel>.panel>.panel-body { overflow:auto; min-height:0; flex:1 1 auto; }
:where(body.backbanner-loggedin,body.backbanner-portal) .UploadModalPopUpPanel>.panel>:is(.panel-heading,.panel-footer) { flex-shrink:0; }
.lmis-return-link { display:inline-flex; align-items:center; justify-content:center; gap:10px; min-height:40px; padding:9px 16px; border:1px solid #bcd6e5; border-radius:22px; color:#285f7e; background:#f2f8fc; font-size:14px; line-height:1.4; font-weight:600; text-decoration:none!important; }
.lmis-return-link:hover { background:#dceef8; color:#164f70; }
.person-type-div>.lmis-return-link { position:absolute; top:18px; right:18px; }
.person-type-div:has(>.lmis-return-link) { padding-right:215px; }
.lmis-return-navigation { display:flex; justify-content:flex-end; padding:10px 20px; background:#f1f7fb; }
/* Record identity stays centred; the original contextual actions keep their own column. */
.person-type-div[data-lmis-record] { display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1.6fr) minmax(0,1fr); align-items:center; gap:20px; min-height:112px; padding:22px 24px; }
.person-type-div[data-lmis-record]::before { display:none; }
.person-type-div[data-lmis-record]>div:first-child { grid-column:1; grid-row:1; text-align:left; }
.person-type-div[data-lmis-record]>div:nth-child(2) { grid-column:2; grid-row:1; min-width:0; text-align:center; }
.person-type-div[data-lmis-record] .person-label { display:block; color:#176f80; font-size:28px; font-weight:700; line-height:1.25; overflow-wrap:anywhere; }
.person-type-div[data-lmis-record] .person-label::after { content:""; display:block; width:64px; height:4px; margin:13px auto 0; border-radius:4px; background:linear-gradient(90deg,#2583ac,#18a598); }
.person-type-div[data-lmis-record]>div[style*="position: absolute"],
.person-type-div[data-lmis-record]>.lmis-return-link { position:static!important; grid-column:3; grid-row:1; justify-self:end; display:flex; flex-wrap:wrap; justify-content:flex-end; gap:8px; padding-right:0!important; }
.person-type-div[data-lmis-record-caption]>div:first-child { display:none; }
.lmis-record-caption { grid-column:1; grid-row:1; font-size:15px; font-weight:600; color:#3a6278; }
.popup-header[data-lmis-record] { font-size:14px; }
.popup-header[data-lmis-record] .lmis-record-name { display:block; margin-top:8px; font-size:23px; font-weight:700; line-height:1.25; color:#176f80; overflow-wrap:anywhere; }
.popup-header[data-lmis-record] .lmis-record-name:empty { display:none; }
.person-type-div[data-lmis-record]>div:first-child small { font-size:14px; font-weight:600; }
@media(max-width:760px) { .person-type-div[data-lmis-record] { grid-template-columns:1fr; gap:16px; padding:20px; } .person-type-div[data-lmis-record]>div:first-child,.lmis-record-caption { grid-column:1; grid-row:1; text-align:center; } .person-type-div[data-lmis-record]>div:nth-child(2) { grid-column:1; grid-row:2; } .person-type-div[data-lmis-record]>div[style*="position: absolute"],.person-type-div[data-lmis-record]>.lmis-return-link { grid-column:1; grid-row:3; justify-self:center; justify-content:center; } .person-type-div[data-lmis-record] .person-label { font-size:24px; } }
:where(body.backbanner-loggedin,body.backbanner-portal) :where(.lmis-page-content,.content-portal-div,.UploadModalPopUpPanel) :is(a,button,input,select,textarea):focus-visible { outline:3px solid #307ba1; outline-offset:3px; }
@media(prefers-reduced-motion:reduce) { :where(body.backbanner-loggedin,body.backbanner-portal) .w3-animate-zoom { animation:none; } }
@media(max-width:800px) { .backbanner,.backbanner-loggedin,.backbanner-portal { background-attachment:scroll; } .lmis-brand-surface { padding:24px 18px; } }
@media print { .backbanner,.backbanner-loggedin,.backbanner-portal { background:#fff!important; } }

/* Standalone learner notices and licence verification use the same visual language. */
body.backbanner-portal { min-height:100vh; }
body.backbanner-portal .jumbotron { width:calc(100% - 40px); max-width:900px; margin:80px auto 40px; padding:36px; color:#284b60; background:#f8fcff; border:1px solid #d3e4ef; border-radius:20px; box-shadow:0 18px 55px #00122640; }
body.backbanner-portal .expired-buff { top:0; }
.lmis-licence-card { margin-top:32px; margin-bottom:32px; padding:22px; background:#f5f9fc; border:1px solid #d3e4ef; border-radius:18px; box-shadow:0 18px 55px #00122640; }
.lmis-licence-card .div_header { margin-top:10px; padding:9px 12px; border:0; border-radius:8px 8px 0 0; color:#355b70; background:#e6f0f7; font-weight:600; }
.lmis-licence-card .div_text { padding:10px 12px; color:#284b60; background:#fff; }

/* Display-only data blends with its surrounding page; editable controls remain white. */
:is(body.backbanner-loggedin,body.backbanner-portal) :is(td.table-data-2col,td.table-data-4col,td.table-data-6col,td.table-data-8col,.div_text,.lmis-display-value) { background-color:transparent!important; }
:is(body.backbanner-loggedin,body.backbanner-portal) :is(input[readonly],textarea[readonly],input:disabled:not([type=button]):not([type=submit]):not([type=checkbox]):not([type=radio]),textarea:disabled,select:disabled,fieldset:disabled input:not([type=button]):not([type=submit]),fieldset:disabled textarea,fieldset:disabled select) { background-color:transparent!important; background-image:none; color:inherit; opacity:1; box-shadow:none; }
.learning-course-progress { display:block; width:fit-content; margin-top:8px; padding:4px 10px; color:#23596d; background:#deedf2; border:1px solid #a8c8d5; border-radius:16px; font-weight:600; }

/* Approved LMIS contrast palette: dark canvas, blue panels and pale editable fields. */
@media screen {
 :root{--lmis-ink:#183f53;--lmis-muted:#284e63;--lmis-line:#90afc1;--lmis-surface:#b9cedc;--lmis-canvas:#315f74;--lmis-heading:#244e62;--lmis-light:#f2f8fc;--lmis-field:#edf5fa;--lmis-stripe:#abc4d4;--lmis-list-header-background:#244e62}
 body.backbanner-loggedin :is(.content-child-div,.dc-register,.qcto-shell,.sor-update),body.backbanner-portal .content-portal-div{background:var(--lmis-canvas);color:var(--lmis-light)}
 body.backbanner-loggedin :is(.learning-page,.centre-reports){background:var(--lmis-canvas)!important;color:var(--lmis-light)}
 body.backbanner-loggedin #contentdiv.lmis-application{background:var(--lmis-canvas);color:var(--lmis-light)}
 :is(body.backbanner-loggedin,body.backbanner-portal) :is(.solid-container,.solid-container-inner,.TabFullPage-TabContent-div,.lv-container-div,.lv-tabcontainer-div,.dc-card,.qcto-panel,.sor-card,.learning-card,.dashboard-filters,.dashboard-report,.dashboard-library,.dashboard-builder,.dashboard-record-section,.dashboard-chosen-item,.centre-builder-section,.centre-welcome){background:var(--lmis-surface)!important;color:var(--lmis-ink);border-color:var(--lmis-line)}
 /* Pale form panels set both colours so labels and read-only values cannot inherit white from the canvas. */
 :is(body.backbanner-loggedin,body.backbanner-portal) .panel{background:var(--lmis-surface);color:var(--lmis-ink)}
 :is(body.backbanner-loggedin,body.backbanner-portal) :is(.lv-list-item,.lv-list-item-users){border:2px solid #244e62;box-shadow:0 3px 10px #173f5326}
 :is(body.backbanner-loggedin,body.backbanner-portal) .progress{background-color:#000}
 :is(body.backbanner-loggedin,body.backbanner-portal) .progress-bar-title{color:#fff}
 :is(body.backbanner-loggedin,body.backbanner-portal) .TabFullPage .ajax__tab_body{background:var(--lmis-canvas)!important;color:var(--lmis-light)}
 :is(body.backbanner-loggedin,body.backbanner-portal) .TabFullPage-TabContent-div{color:var(--lmis-ink)}
 :is(body.backbanner-loggedin,body.backbanner-portal) :is(.row-div-underline,.TabFullPage-TabHeader-div,.div-display-rowheader,.panel-custom-header,.lmis-return-navigation){background:var(--lmis-heading);color:var(--lmis-light);border-color:#638ca1}
 :is(body.backbanner-loggedin,body.backbanner-portal) .row-div-underline :is(.person-label,.text-muted,.lmis-record-caption,.learning-entry p,.resource-selection-hint){color:var(--lmis-light)}
 :is(body.backbanner-loggedin,body.backbanner-portal) .person-type-div[data-lmis-record] .person-label{color:var(--lmis-light)}
 :is(body.backbanner-loggedin,body.backbanner-portal) .TabFullPage .ajax__tab_inner{background:var(--lmis-surface);border-color:var(--lmis-line)}
 :is(body.backbanner-loggedin,body.backbanner-portal) .TabFullPage .ajax__tab_tab{color:var(--lmis-ink)}
 :is(body.backbanner-loggedin,body.backbanner-portal) .TabFullPage .ajax__tab_active .ajax__tab_inner{background:#173f53!important;border-bottom-color:#98c400}
 :is(body.backbanner-loggedin,body.backbanner-portal) .TabFullPage .ajax__tab_active .ajax__tab_tab{color:#c5ed18}
 :is(body.backbanner-loggedin,body.backbanner-portal) :is(.lv-gridstyle,.lv-sub-gridstyle,.qcto-grid,.learning-table,.dashboard-data-table){background:var(--lmis-surface);color:var(--lmis-ink)}
 :is(body.backbanner-loggedin,body.backbanner-portal) :is(.lv-gridstyle,.lv-sub-gridstyle,.qcto-grid,.learning-table,.dashboard-data-table) tbody tr>td{background:var(--lmis-surface);color:var(--lmis-ink);border-color:var(--lmis-line)}
 :is(body.backbanner-loggedin,body.backbanner-portal) :is(.lv-gridstyle,.lv-sub-gridstyle,.qcto-grid,.learning-table,.dashboard-data-table) tbody tr:nth-child(even)>td{background:var(--lmis-stripe)}
 :is(body.backbanner-loggedin,body.backbanner-portal) :is(.lv-gridstyle,.lv-sub-gridstyle,.learning-table,.dashboard-data-table) tbody tr:is(:hover,:focus-within)>td{background:#c9dce7}
 /* Sticky action panes retain the contrast of their heading or navigation surface. */
 :is(body.backbanner-loggedin,body.backbanner-portal) .lmis-action-pane:not(:where(.row-div-underline,.learning-header,.learning-navigation,.replication-heading)){background:var(--lmis-surface);color:var(--lmis-ink)}
 body.backbanner-loggedin .learning-header{background:var(--lmis-heading);color:var(--lmis-light)}
 body.backbanner-loggedin .learning-navigation{background:var(--lmis-canvas);color:var(--lmis-light)}
 :is(body.backbanner-loggedin,body.backbanner-portal) :is(.table-display-4col,.table-display-6col,.table-display-8col,.td-display-colheader,.table-display-col){background:#aac6d8;color:var(--lmis-ink);border-color:var(--lmis-line)}
 :is(body.backbanner-loggedin,body.backbanner-portal) :is(.table-data-4col,.table-data-6col,.table-data-8col){color:inherit}
 :is(body.backbanner-loggedin,body.backbanner-portal) :is(.UploadModalPopUpPanel,.notificationModalPop) .panel-default{background:var(--lmis-canvas);color:var(--lmis-light)}
 :is(body.backbanner-loggedin,body.backbanner-portal) :is(.UploadModalPopUpPanel,.notificationModalPop) .panel-body{background:var(--lmis-surface);color:var(--lmis-ink)}
 :is(body.backbanner-loggedin,body.backbanner-portal) .popup-header{background:var(--lmis-heading);color:var(--lmis-light)!important;border-color:#638ca1}
 :is(body.backbanner-loggedin,body.backbanner-portal) .popup-header .lmis-record-name{color:var(--lmis-light)}
 :is(body.backbanner-loggedin,body.backbanner-portal) :is(.UploadModalPopUpPanel,.notificationModalPop) .panel-footer{background:var(--lmis-heading);color:var(--lmis-light);border-color:#638ca1}
 :is(body.backbanner-loggedin,body.backbanner-portal) :is(.lmis-page-content,.content-portal-div,.UploadModalPopUpPanel,.notificationModalPop) .form-control{background:var(--lmis-field);color:var(--lmis-ink);border-color:#789cb2}
 :is(body.backbanner-loggedin,body.backbanner-portal) :is(.lmis-page-content,.content-portal-div,.UploadModalPopUpPanel,.notificationModalPop) label{color:inherit}
 :is(body.backbanner-loggedin,body.backbanner-portal) :is(.learning-fields,.learning-search) .form-control{background:var(--lmis-field)!important;color:var(--lmis-ink)!important}
 body.backbanner-loggedin :is(.qcto-field input,.qcto-field select,.dc-card input[type=text],.dc-card input[type=number],.dc-card input[type=date],.dc-card textarea,.dc-card select){background:var(--lmis-field);color:var(--lmis-ink)}
 body.backbanner-loggedin :is(.dashboard-heading,.dashboard-section-heading,.learning-header,.application-heading){color:var(--lmis-light)}
 body.backbanner-loggedin .dashboard-heading{background:var(--lmis-canvas)}
 body.backbanner-loggedin .dashboard-heading .dashboard-build-link,
 body.backbanner-loggedin .dashboard-heading .dashboard-build-link small{color:var(--lmis-light)}
 body.backbanner-loggedin :is(.dashboard-heading,.dashboard-section-heading,.learning-header,.application-heading) :is(h1,h2,p,.dashboard-eyebrow,.dashboard-drill-hint,.application-eyebrow){color:inherit}
 body.backbanner-loggedin :is(.dashboard-builder,.dashboard-report,.dashboard-record-section,.learning-card) :is(.dashboard-section-heading,.dashboard-eyebrow,h2,h3,p){color:var(--lmis-ink)}
 body.backbanner-loggedin .dashboard-provider-name strong{color:var(--lmis-light)}
 body.backbanner-loggedin :is(.dashboard-total,.dashboard-personal-tile,.centre-report-tile){background:var(--lmis-surface);color:var(--lmis-ink);border-color:var(--lmis-line)}
 body.backbanner-loggedin :is(.dashboard-filter-intro p,.dashboard-total>small,.dashboard-report header p,.dashboard-period-note,.learning-state){color:var(--lmis-muted)}
 body.backbanner-loggedin .learning-platforms :is(.learning-google-name,.learning-platform-description,.learning-state),body.backbanner-loggedin .learning-brand-attribution{color:var(--lmis-light)}
 body.backbanner-loggedin :is(.dashboard-catalogue,.dashboard-batch-detail,.centre-export-toolbar,.qcto-evidence,.learning-message:not(.learning-error)){background:#aac6d8;color:var(--lmis-ink)}
 body.backbanner-loggedin .lmis-application .application-summary{background:var(--lmis-surface);color:var(--lmis-ink)}
 body.backbanner-loggedin .lmis-application .ajax__tab_panel .container-fluid>.row>:is(.col-lg-6,.col-lg-12){background:var(--lmis-surface);color:var(--lmis-ink)}
 body.backbanner-loggedin .dc-register .dc-header{background:var(--lmis-canvas);color:var(--lmis-light)}
 body.backbanner-loggedin .dc-register .dc-header h1{color:var(--lmis-light)}
 body.backbanner-loggedin .dc-register .dc-group{background:var(--lmis-surface);color:var(--lmis-ink)}
 body.backbanner-loggedin .dc-register .dc-group-toggle{background:#aac6d8;color:var(--lmis-ink)}
 body.backbanner-loggedin .dc-register .dc-group-toggle:is(:hover,[aria-expanded=true]){background:#c9dce7}
 body.backbanner-portal :is(.jumbotron,.lmis-licence-card){background:var(--lmis-surface);color:var(--lmis-ink)}
 body.backbanner-portal .lmis-licence-card .div_header{background:var(--lmis-heading);color:var(--lmis-light)}
 .UploadModalPopUpPanel:has(.tenant-doc-picker) .panel-body.Upload-Inner-Panel{background:var(--lmis-canvas);color:var(--lmis-light)}
 /* Course planning follows the same dark headings and blue form panels. */
 body.backbanner-loggedin :is(.course-replication,.course-choice-body){background:var(--lmis-canvas);color:var(--lmis-light)}
 body.backbanner-loggedin :is(.replication-heading,.course-choice-heading,.course-choice-foot){background:var(--lmis-heading);color:var(--lmis-light)}
 body.backbanner-loggedin .replication-heading :is(h1,p){color:var(--lmis-light)}
 body.backbanner-loggedin :is(.replication-card,.replication-team-person,.replication-document-list,.replication-staff-list,.replication-empty){background:var(--lmis-surface);color:var(--lmis-ink);border-color:var(--lmis-line)}
 body.backbanner-loggedin :is(.replication-card h2,.replication-details dt,.replication-course-reference,.replication-source-qualification){color:var(--lmis-ink)}
 body.backbanner-loggedin .replication-course-name{color:var(--lmis-ink)!important}
 body.backbanner-loggedin .replication-table td{background:var(--lmis-surface);color:var(--lmis-ink);border-color:var(--lmis-line)}
 body.backbanner-loggedin .replication-table tr:nth-child(even) td{background:var(--lmis-stripe)}
 body.backbanner-loggedin .course-replication :is(input:not([type=checkbox]):not([type=submit]),select){background:var(--lmis-field);color:var(--lmis-ink);border-color:#789cb2}
 /* Report controls use the application palette; the report itself reads as a page. */
 body.backbanner-loggedin .solid-container:has(.lmis-report-export-host){background:var(--lmis-canvas)!important;color:var(--lmis-light)}
 body.backbanner-loggedin .report-export-tools{background:var(--lmis-heading);color:var(--lmis-light);border-color:#789cb2}
 body.backbanner-loggedin .report-export-copy :is(h2,p){color:var(--lmis-light)}
 /* ReportViewer renders MSRS-RVC rather than preserving its declared CssClass. */
 body.backbanner-loggedin .lmis-report-export-host .MSRS-RVC [role="main"]{background:#fff!important;color:#183f53;border:2px solid #183f53;box-shadow:0 4px 18px #071a2933;box-sizing:border-box;padding:18px;margin:12px 0}
 body.backbanner-loggedin .lmis-report-export-host .MSRS-RVC [role="main"] :is(div,span,p,td,th){color:#183f53!important}
 /* Field focus remains legible against both pale fields and darker form edges. */
 :is(body.backbanner-loggedin,body.backbanner-portal) :is(.lmis-page-content,.content-portal-div,.UploadModalPopUpPanel,.notificationModalPop) :is(input,select,textarea):focus-visible{outline:3px solid #153e57;outline-offset:2px;box-shadow:0 0 0 5px #d1f43e}
}

/* Compact guidance halo beside the two upload document lists. */
@media screen {
 .tenant-doc-picker .tenant-doc-sources{align-items:center;flex-wrap:wrap}
 .tenant-doc-picker .tenant-doc-sources .tenant-doc-help-toggle{flex:0 0 56px;width:56px;min-width:56px;height:56px;padding:5px;gap:3px;border:2px solid #8fc6df;border-radius:50%;background:#0b2536;box-shadow:inset 0 0 0 2px #315e72,0 0 10px #8fc6df40;color:#d1f43e;font-size:10px;line-height:1.1}
 .tenant-doc-picker .tenant-doc-sources .tenant-doc-help-toggle::before{content:'\e086';font-size:20px;color:inherit}
 .tenant-doc-picker .tenant-doc-help-toggle:focus-visible{outline:3px solid #d1f43e;outline-offset:3px}
 .tenant-doc-picker .tenant-doc-help-message{margin:0 0 16px;padding:14px 16px;border:2px solid #183f53;border-radius:12px;background:#f4f9fc;color:#183f53;line-height:1.5;text-align:left}
 .tenant-doc-picker .tenant-doc-help-message[hidden]{display:none}
}