/* MyStatus Bootstrap 5 theme. Scoped to avoid changing standalone reports. */
body.portal { margin:0; background:#f3f6fa !important; color:#23344b; font:14px/1.6 "Segoe UI",Arial,sans-serif; }
.portal { --bs-primary:#245b91; --bs-primary-rgb:36,91,145; --portal-gutter:clamp(1rem,3vw,3rem); --portal-card-padding:clamp(1rem,2.5vw,2rem); }
.portal a { color:#245b91; }
.portal .btn { font-size:.875rem; font-weight:600; border-radius:.5rem; padding:.55rem 1rem; text-decoration:none; }
.portal .btn-primary { background:#245b91; border-color:#245b91; color:white; }
.portal .btn-primary:hover { background:#19436d; border-color:#19436d; }
.portal .btn-outline-secondary { color:#42536a; border-color:#cbd5e1; }
.portal .btn-outline-secondary:hover { background:#e9eff6; color:#23344b; }
.portal-header { background:#fff; border-bottom:1px solid #dfe6ef; }
/* Match the main container gutter, card border and card-body padding exactly. */
.portal-header-inner { display:grid; grid-template-columns:minmax(0,1fr) 324px minmax(0,1fr); align-items:center; gap:1.5rem; max-width:1600px; margin:auto; padding:1.1rem calc(var(--portal-gutter) + var(--portal-card-padding) + 1px); }
.portal-brand { min-width:0; }
.portal-logo { display:block; justify-self:center; width:324px; max-width:100%; height:auto; aspect-ratio:3 / 1; object-fit:contain; border-radius:.65rem; box-shadow:0 3px 12px rgba(24,48,77,.12); }
.portal-brand strong { display:block; font-size:1.5rem; letter-spacing:-.04em; }
.portal-brand span { color:#64748b; font-size:.8rem; }
.portal-account-area { min-width:0; display:grid; gap:.65rem; justify-items:end; text-align:right; }
.portal-account { font-size:.8rem; overflow-wrap:anywhere; }
.portal-nav { display:flex; flex-wrap:wrap; justify-content:flex-end; gap:.5rem; }
.portal-main { max-width:1600px; margin:auto; padding:2rem var(--portal-gutter); }
.firm-name:not(:empty) { display:block; margin-bottom:1rem; font-weight:600; }
.portal .card { border:1px solid #dfe6ef; border-radius:1rem; box-shadow:0 4px 20px rgba(24,48,77,.04); overflow:hidden; }
.portal .workspace-card { overflow:visible; }
.workspace-card > .card-body { padding:var(--portal-card-padding); min-width:0; display:flow-root; }
.portal .contentTitle { background:none; color:#1c304a; padding:0; margin:0 0 1.5rem; font:700 1.65rem/1.3 "Segoe UI",Arial,sans-serif; letter-spacing:-.025em; }
.portal .eyebrow,.card-kicker { display:block; font-size:.7rem; font-weight:700; letter-spacing:.12em; margin-bottom:.75rem; color:#61758e; }
.portal-footer { padding:0 1rem 1.5rem; text-align:center; color:#718096; font-size:.75rem; clear:both; }
.portal-footer span { margin:0 .5rem; }
/* Retain the legacy column system on untouched Web Forms screens. */
.portal .row { float:none; width:auto; margin:0; display:flow-root; }
.portal .row > * { padding-left:0; padding-right:.75rem; }
.portal input,.portal textarea,.portal select { font-family:inherit; font-size:.875rem; }
.portal input[type=text],.portal input[type=password],.portal textarea,.portal select { max-width:100%; padding:.5rem .7rem; border:1px solid #cbd5e1; border-radius:.45rem; background:#fff; color:#23344b; }
.portal input[type=submit]:not(.btn),.portal input[type=button]:not(.btn) { padding:.45rem .9rem; border:1px solid #245b91; border-radius:.45rem; color:white; background:#245b91; margin:.2rem; }
.portal :focus-visible { outline:3px solid #72a8df; outline-offset:3px; }
.portal .searchHeader { font-size:1rem; margin-bottom:1rem; color:#23344b; }
.portal .gridRegular { font-size:.875rem; background:white; }
.portal .gridRegular th { background:#edf2f8; color:#334760; padding:.75rem; border-bottom:1px solid #dce4ee; }
.portal .gridRegular th a { color:#245b91; }
.portal .gridRegular td { padding:.65rem; border-color:#e2e8f0; }
.portal .gridRegular .alt { background:#f7f9fc; }
.portal .panelInfo,.portal .panelInfoBlue,.portal .panelSearch,.portal .panelQuestion { border:1px solid #dfe6ef; border-radius:.75rem; padding:1rem; background:white; margin-bottom:1rem; }
.portal .panelInfo th,.portal .panelInfoBlue th { background:#edf2f8; padding:.6rem; }
.portal .collapse.show { display:block; }
.action-grid { display:grid; grid-template-columns:repeat(auto-fit,minmax(min(100%,260px),1fr)); gap:1.25rem; }
.action-grid .card-body { padding:1.5rem; }
.action-grid p { color:#64748b; }
.filter-card { background:#f8fafc !important; padding:1.25rem; margin-bottom:1.5rem; }
.filter-fields { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:1rem; }
.filter-fields .form-control { width:100%; }
.filter-actions { display:flex; flex-wrap:wrap; align-items:center; gap:.5rem; margin-top:1rem; }
.directory-layout { display:grid; grid-template-columns:minmax(0,1fr) 3rem; gap:1rem; align-items:start; }
.portal .record-list { display:grid; grid-template-columns:repeat(auto-fit,minmax(min(100%,270px),1fr)); gap:1rem; }
.record-list > br { display:none; }
.record-list > span { min-width:0; }
.portal .record-card { height:100%; padding:1.25rem; border-top:3px solid #398493; }
.record-card table { width:100%; table-layout:fixed; }
.record-card td { padding:.3rem 0; overflow-wrap:anywhere; vertical-align:top; }
.record-card td:first-child:not([colspan]) { color:#64748b; width:40%; }
.record-card tr:first-child td { padding-bottom:.8rem; font-size:1.05rem; }
.file-task-progress { margin-top:.65rem; padding-top:.8rem; border-top:1px solid #e2e8f0; }
.file-progress-heading { display:flex; flex-wrap:wrap; align-items:center; justify-content:space-between; gap:.25rem .75rem; margin-bottom:.5rem; }
.file-progress-heading span,.file-progress-count { color:#52657d; font-size:.8rem; }
.file-progress-heading strong { color:#23344b; font-variant-numeric:tabular-nums; }
.file-progress-track { height:.5rem; background:#e4ebf3; border-radius:1rem; }
.file-progress-track .progress-bar { background-color:#245b91; }
.file-progress-count { margin-top:.4rem; font-variant-numeric:tabular-nums; }
.alphabet-filter { text-align:center; background:#f8fafc; padding:.5rem; border-radius:.75rem; }
.alphabet-filter a,.alphabet-filter span { display:inline-block; min-width:2rem; padding:.2rem; border-radius:.3rem; }
.alphabet-filter a:hover { background:#dfeaf5; }
.alphabet-filter a[disabled],.alphabet-filter span { background:#245b91; color:white; }
.skip-link { position:absolute; left:1rem; top:-100px; z-index:100; background:white; padding:1rem; }
.skip-link:focus { top:1rem; }
.login-layout { min-height:100vh; display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1fr); align-items:center; gap:4rem; max-width:1150px; margin:auto; padding:3rem; }
.login-intro h1 { font-size:clamp(2.5rem,4vw,4rem); letter-spacing:-.045em; line-height:1.1; margin-bottom:1.5rem; }
.login-intro > p:not(.eyebrow) { max-width:370px; font-size:1.05rem; color:#63758a; }
.login-logo { display:block; width:432px; max-width:100%; height:auto; aspect-ratio:3 / 1; object-fit:contain; margin-bottom:2.5rem; border-radius:.85rem; box-shadow:0 8px 24px rgba(24,48,77,.12); }
.login-product { display:block; margin-top:2.5rem; font-weight:700; color:#245b91; }
.login-card h2 { font-size:1.6rem; font-weight:700; letter-spacing:-.025em; }
.login-messages > span:not(:empty) { display:block; margin-top:1rem; }
@media(max-width:1100px) { .portal-header-inner { grid-template-columns:minmax(0,1fr) minmax(0,1fr); } .portal-logo { justify-self:end; } .portal-account-area { grid-column:1 / -1; grid-template-columns:minmax(0,1fr) auto; align-items:center; justify-items:start; text-align:left; padding-top:1rem; border-top:1px solid #edf2f8; } }
@media(max-width:767px) { .portal-header-inner { grid-template-columns:minmax(0,1fr); gap:1rem; } .portal-logo { justify-self:center; } .portal-account-area { grid-template-columns:minmax(0,1fr); width:100%; } .portal-nav { justify-content:flex-start; } .filter-fields { grid-template-columns:1fr; } .login-layout { grid-template-columns:1fr; gap:2rem; padding:1.5rem; } .login-intro h1 { font-size:2.5rem; } .login-logo { margin-bottom:1rem; } .login-product { display:none; } .portal-main { padding-top:1rem; } }
@media print { .portal-nav,.portal-footer,.skip-link { display:none; } body.portal { background:white !important; } .portal .card { box-shadow:none; } }
