/* Shared offline/server visual refinements, 17 October 2026. */
#loginScreen{box-sizing:border-box;min-height:100dvh;padding:32px 20px 64px}
#loginScreen .login-card{box-sizing:border-box;width:min(480px,100%);padding:30px 32px;border:1px solid #dae4ef}
#loginScreen .brand-block{gap:14px;margin-bottom:22px;align-items:center}
#loginScreen .brand-block>div:last-child{min-width:0}
#loginScreen .brand-block h1{font-size:clamp(21px,2.4vw,25px);line-height:1.25;letter-spacing:-.3px}
#loginScreen .brand-block p{font-size:13px;line-height:1.5}
#loginScreen #loginForm{display:grid;gap:16px}
#loginScreen .form-group{display:flex;flex-direction:column;gap:7px;margin:0}
#loginScreen label{font-size:13px;font-weight:700;line-height:1.4;margin:0}
#loginScreen input{box-sizing:border-box;width:100%;height:46px;min-width:0;padding:10px 12px;border:1px solid #bbcbdc;border-radius:8px;font:inherit;font-size:15px;line-height:1.4}
#loginScreen input[readonly]{background:#f2f6fa;color:#183650;font-weight:600}
#loginScreen button[type=submit]{box-sizing:border-box;min-height:46px;margin:2px 0 0}
#loginScreen .login-note{margin:18px 0 0;font-size:12px;line-height:1.6;text-align:center}
#loginScreen .session-login-status{box-sizing:border-box;margin-bottom:18px;font-size:12px;line-height:1.5}
#loginScreen .hidden{display:none!important}
#dynamicTopbar .cat-topbar-primary{display:grid!important;grid-template-columns:minmax(240px,1fr) minmax(250px,390px) minmax(390px,1fr);align-items:center;gap:18px;min-height:110px;padding:14px 20px}
#dynamicTopbar .cat-topbar-left{min-width:0;max-width:none!important;gap:10px}
#dynamicTopbar .cat-route-copy{min-width:0}
#dynamicTopbar .cat-route-copy h2{line-height:1.2;margin:3px 0;overflow-wrap:anywhere}
#dynamicTopbar #pageSubtitle{line-height:1.4;white-space:normal;max-width:34ch}
#dynamicTopbar .cat-center-brand{box-sizing:border-box;position:static!important;transform:none!important;order:0!important;margin:0!important;width:100%;min-width:0!important;min-height:86px;padding:12px 18px!important;display:flex!important;align-items:center;justify-content:center;gap:16px;border-radius:14px!important;background:#fff!important}
#dynamicTopbar .cat-center-brand img{display:block!important;object-fit:contain!important;width:auto!important;max-width:100%!important;max-height:62px!important;height:auto!important}
#dynamicTopbar .cat-topbar-right{min-width:0;justify-content:flex-end;gap:8px;flex-wrap:nowrap}
#dynamicTopbar .cat-user-card{box-sizing:border-box;min-width:0;max-width:205px;min-height:58px;padding:8px 10px}
#dynamicTopbar .user-summary{min-width:0;line-height:1.35}
#dynamicTopbar #currentUserName{white-space:normal;overflow-wrap:anywhere;font-size:13px}
#dynamicTopbar .session-status-button{box-sizing:border-box;min-height:58px;padding:8px 10px;font-size:12px}
#dynamicTopbar .cat-logout-button{min-height:42px;font-size:12px;white-space:nowrap;padding:9px 11px}
#contentArea{min-width:0;padding-bottom:56px}
#contentArea .panel-header{gap:12px;flex-wrap:wrap}
#contentArea input,#contentArea select,#contentArea textarea{box-sizing:border-box;max-width:100%}
#contentArea table{font-variant-numeric:tabular-nums}
#contentArea th{vertical-align:middle;line-height:1.35}
#contentArea td{vertical-align:middle;line-height:1.45}
dialog{box-sizing:border-box;max-width:calc(100vw - 28px);max-height:calc(100dvh - 28px)}
#modalOverlay .modal{box-sizing:border-box;max-height:calc(100dvh - 32px);display:flex;flex-direction:column}
#modalOverlay .modal-body{min-height:0;overflow:auto}
.cat-global-credit-inner{flex-wrap:wrap;justify-content:center;gap:4px 9px;line-height:1.4}
@media(max-width:1350px){#dynamicTopbar .cat-topbar-primary{grid-template-columns:minmax(240px,1fr) minmax(230px,330px);gap:12px}#dynamicTopbar .cat-topbar-right{grid-column:1/-1;justify-content:flex-end}#dynamicTopbar .cat-center-brand{justify-self:end;min-height:78px}#dynamicTopbar .cat-center-brand img{max-height:56px!important}}
@media(max-width:680px){#dynamicTopbar .cat-topbar-primary{display:flex!important;flex-wrap:wrap;padding:12px;gap:12px}#dynamicTopbar .cat-topbar-left{width:100%}#dynamicTopbar .cat-center-brand{width:min(100%,360px);margin:auto!important;order:1!important}#dynamicTopbar .cat-topbar-right{width:100%;order:2;flex-wrap:wrap;justify-content:center}#dynamicTopbar .cat-user-card{max-width:180px}#loginScreen .login-card{padding:25px 22px}.cat-global-credit-bar{position:relative!important}}
@media print{#dynamicTopbar,#compactPrintDock,.cat-table-fullscreen,.cat-global-credit-bar{display:none!important}#contentArea{padding:0!important}dialog{max-height:none;overflow:visible}}

/* Clear role labels in QA / PO call-type comparisons. */
#view-dashboard .v79-kpi-source-row{grid-template-columns:150px minmax(0,1fr) 100px}
#view-dashboard .v78-kpi-source{padding:12px 8px;text-align:center;min-width:0}
#view-dashboard .v78-kpi-source span{font-size:15px;line-height:1.3;color:#fff;font-weight:800}
#view-dashboard .v78-kpi-source small{font-size:11px;line-height:1.4;color:#fff;opacity:1;white-space:normal}
#view-dashboard .qa-po-scope-note{font-size:13px;line-height:1.6;color:#334155;padding:10px 14px;background:#edf4fa;border:1px solid #cbd8e4;border-radius:8px}
@media(max-width:720px){#view-dashboard .v79-kpi-source-row{grid-template-columns:105px minmax(0,1fr) 72px}#view-dashboard .v78-kpi-source span{font-size:13px}#view-dashboard .v78-kpi-source small{font-size:10px}}

/* Compact admin officer allocation card, scoped to PO workspace. */
#view-po-audit .po-officer-summary{margin:14px 0;border:1px solid #c6d5e2;border-radius:10px;background:#fff;overflow:hidden}
#view-po-audit .po-officer-summary summary{padding:12px 14px;background:#edf4fa;color:#173d61;font-size:14px;font-weight:800;cursor:pointer}
#view-po-audit .po-officer-summary summary span{display:inline-block;margin-left:12px;font-size:12px;font-weight:600}
#view-po-audit .po-officer-summary p{font-size:12px;line-height:1.5;padding:7px 14px;margin:0;color:#475569}
#view-po-audit .po-officer-table-wrap{overflow:auto}
#view-po-audit .po-officer-summary table{width:100%;border-collapse:collapse;font-size:13px}
#view-po-audit .po-officer-summary th,#view-po-audit .po-officer-summary td{padding:10px 12px;border:1px solid #d8e2eb;text-align:right;white-space:nowrap}
#view-po-audit .po-officer-summary th:first-child,#view-po-audit .po-officer-summary td:nth-child(2){text-align:left}
#view-po-audit .po-officer-summary thead{background:#173d61;color:#fff}
#view-po-audit .po-officer-summary th small{display:block;color:#64748b;font-size:11px;font-weight:500}
#view-po-audit .po-officer-summary tbody tr:nth-child(even){background:#f6f9fc}
#view-po-audit .po-officer-summary .po-officer-total,#view-po-audit .po-officer-summary tfoot{background:#e7f0f8;font-weight:800;color:#173d61}

/* Readable source identities in the call-type performance cards. */
#appShell .digitide-snapshot-card-v77 .digitide-source-label{padding:10px 5px;gap:6px;color:#fff!important;text-align:center;min-width:0}
#appShell .digitide-snapshot-card-v77 .digitide-source-label>span{color:#fff!important;font-size:11px!important;line-height:1.35;font-weight:750!important;white-space:normal;overflow-wrap:anywhere;opacity:1!important}
#appShell .digitide-snapshot-card-v77 .digitide-source-label>small{display:inline-flex;align-items:center;justify-content:center;min-width:34px;min-height:22px;padding:2px 8px;border:1px solid #ffffff80;border-radius:5px;background:#ffffff18;color:#fff!important;font-size:12px!important;font-weight:800!important;line-height:1.4;letter-spacing:.4px;opacity:1!important}

#view-po-audit #po34Month{min-height:44px;font-size:14px;font-weight:750;color:#163e59;border:1px solid #9dbace;background-color:#fff}
#view-po-audit .po34-period-context{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:6px 16px;margin:14px 16px;padding:12px 14px;border:1px solid #bcd6ea;border-left:4px solid #087d99;border-radius:9px;background:#edf7fd;color:#174760}
#view-po-audit .po34-period-context strong{font-size:14px}#view-po-audit .po34-period-context span{font-size:11px;line-height:1.5;color:#3c5b70}

/* Keep Query / Suggestion headings readable across appearance themes. */
html body #appShell #view-query-desk .query-desk-hero h2{color:#fff!important;opacity:1!important;font-size:23px!important;font-weight:750!important;line-height:1.4;margin:0 0 8px!important}
html body #appShell #view-query-desk .query-desk-hero p{color:#e0edf5!important;opacity:1!important;font-size:13px;line-height:1.6}
html body #appShell #view-query-desk [data-query-list] thead th{color:#fff!important;opacity:1!important;background:#194862!important;border-color:#7394aa!important}

/* Full-viewport login colour treatment. */
#loginScreen.login-screen{
  width:100%;min-height:100vh;min-height:100dvh;
  background-color:#172c77;
  background-image:radial-gradient(ellipse at 0% 100%,rgba(244,57,96,.95) 0%,rgba(202,46,123,.58) 29%,transparent 66%),linear-gradient(108deg,#963875 0%,#663576 30%,#39306c 58%,#10327e 100%);
  background-repeat:no-repeat;background-size:cover;
}

/* Login identity and card: scoped to the sign-in surface. */
#loginScreen .login-card{position:relative;isolation:isolate;overflow:hidden;width:min(490px,100%);padding:34px;border-radius:24px;background:linear-gradient(155deg,#fff 65%,#f7f4fc);border:1px solid rgba(255,255,255,.85);box-shadow:0 28px 80px #12113d45,0 2px 8px #2115441a}
#loginScreen .login-card::before{content:"";position:absolute;left:0;right:0;top:0;height:5px;background:linear-gradient(90deg,#d62e83,#8c3cb6 48%,#17377b)}
#loginScreen .brand-block{padding-bottom:23px;margin-bottom:20px;border-bottom:1px solid #e9e4f0;gap:16px}
#loginScreen .login-cat-mark{position:relative;flex:0 0 66px;width:66px;height:66px;display:grid;place-items:center;box-sizing:border-box;border-radius:19px;background:linear-gradient(145deg,#243e86,#593183 62%,#af347e);box-shadow:0 8px 20px #49318230,inset 0 1px 0 #ffffff40;color:#fff;overflow:hidden;border:1px solid #ffffff44}
#loginScreen .login-cat-mark::before{content:"";position:absolute;width:47px;height:47px;border:1px solid #ffffff3d;border-radius:50%;right:-15px;top:-15px}
#loginScreen .login-cat-mark::after{content:"";position:absolute;bottom:12px;left:21px;width:24px;height:3px;border-radius:4px;background:linear-gradient(90deg,#f5bfd9,#c5e7ff)}
#loginScreen .login-cat-mark span{font-size:18px;letter-spacing:1.4px;font-weight:800;line-height:1;transform:translateY(-2px)}
#loginScreen .login-brand-eyebrow{display:block;font-size:9px;font-weight:800;letter-spacing:1.65px;color:#895486;margin-bottom:5px}
#loginScreen .brand-block h1{font-size:24px;color:#172b48;letter-spacing:-.65px;margin:0 0 5px;line-height:1.2}
#loginScreen .brand-block p{color:#68768c;font-size:11px;margin:0;line-height:1.5}
#loginScreen label{color:#30415b;font-size:12px}
#loginScreen input{height:48px;border:1px solid #d6ddea;border-radius:10px;background:#fff;transition:border-color .18s,box-shadow .18s}
#loginScreen input:focus{outline:0;border-color:#8a65b3;box-shadow:0 0 0 3px #8a65b318}
#loginScreen input[readonly]{background:#f3f5fa;border-color:#e0e5ef;color:#334665}
#loginScreen button[type=submit]{position:relative;height:48px;border:1px solid #6c3f97;border-radius:10px;background:linear-gradient(105deg,#ac2b79,#65338a 55%,#253d83);color:#fff;font-size:14px;font-weight:750;letter-spacing:.2px;box-shadow:0 7px 16px #63338324;transition:filter .18s,box-shadow .18s}
#loginScreen button[type=submit]::after{content:"→";position:absolute;right:18px;top:50%;transform:translateY(-50%);font-size:19px;font-weight:400}
#loginScreen button[type=submit]:hover{filter:brightness(1.08);box-shadow:0 9px 22px #63338335}
#loginScreen button[type=submit]:focus-visible{outline:3px solid #d4bce8;outline-offset:3px}
#loginScreen .session-login-status{background:#f5f1fa;border:1px solid #e4dbee;border-left:3px solid #9563b3;border-radius:10px;color:#59486d;padding:11px 13px;font-size:11px}
#loginScreen .login-note{padding-top:17px;border-top:1px solid #e9e4f0;color:#7b8595;font-size:11px;line-height:1.6}
@media(max-width:520px){#loginScreen .login-card{padding:28px 22px;border-radius:20px}#loginScreen .brand-block{gap:12px}#loginScreen .login-cat-mark{width:58px;height:58px;flex-basis:58px}#loginScreen .brand-block h1{font-size:21px}#loginScreen .login-brand-eyebrow{font-size:8px;letter-spacing:1.2px}}
@media(prefers-reduced-motion:reduce){#loginScreen input,#loginScreen button[type=submit]{transition:none}}

/* Clean monogram: no decorative curves or underline. */
#loginScreen .login-cat-mark::before,#loginScreen .login-cat-mark::after{content:none;display:none}
#loginScreen .login-cat-mark span{transform:none;letter-spacing:1.2px}
