﻿/* Shared LMIS presentation. Public entrance and signed-in header keep their own styling. */
: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-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; }
