html, body {
    font-family: 'Helvetica Neue', Helvetica, Arial, sans-serif;
}

a, .btn-link {
    color: #006bb7;
}

.btn-primary {
    color: #fff;
    background-color: #1b6ec2;
    border-color: #1861ac;
}

.btn:focus, .btn:active:focus, .btn-link.nav-link:focus, .form-control:focus, .form-check-input:focus {
  box-shadow: 0 0 0 0.1rem white, 0 0 0 0.25rem #258cfb;
}

.content {
    padding-top: 1.1rem;
}

h1:focus {
    outline: none;
}

.valid.modified:not([type=checkbox]) {
    outline: 1px solid #26b050;
}

.invalid {
    outline: 1px solid #e50000;
}

.validation-message {
    color: #e50000;
}

.blazor-error-boundary {
    background: url(data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iNTYiIGhlaWdodD0iNDkiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgeG1sbnM6eGxpbms9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkveGxpbmsiIG92ZXJmbG93PSJoaWRkZW4iPjxkZWZzPjxjbGlwUGF0aCBpZD0iY2xpcDAiPjxyZWN0IHg9IjIzNSIgeT0iNTEiIHdpZHRoPSI1NiIgaGVpZ2h0PSI0OSIvPjwvY2xpcFBhdGg+PC9kZWZzPjxnIGNsaXAtcGF0aD0idXJsKCNjbGlwMCkiIHRyYW5zZm9ybT0idHJhbnNsYXRlKC0yMzUgLTUxKSI+PHBhdGggZD0iTTI2My41MDYgNTFDMjY0LjcxNyA1MSAyNjUuODEzIDUxLjQ4MzcgMjY2LjYwNiA1Mi4yNjU4TDI2Ny4wNTIgNTIuNzk4NyAyNjcuNTM5IDUzLjYyODMgMjkwLjE4NSA5Mi4xODMxIDI5MC41NDUgOTIuNzk1IDI5MC42NTYgOTIuOTk2QzI5MC44NzcgOTMuNTEzIDI5MSA5NC4wODE1IDI5MSA5NC42NzgyIDI5MSA5Ny4wNjUxIDI4OS4wMzggOTkgMjg2LjYxNyA5OUwyNDAuMzgzIDk5QzIzNy45NjMgOTkgMjM2IDk3LjA2NTEgMjM2IDk0LjY3ODIgMjM2IDk0LjM3OTkgMjM2LjAzMSA5NC4wODg2IDIzNi4wODkgOTMuODA3MkwyMzYuMzM4IDkzLjAxNjIgMjM2Ljg1OCA5Mi4xMzE0IDI1OS40NzMgNTMuNjI5NCAyNTkuOTYxIDUyLjc5ODUgMjYwLjQwNyA1Mi4yNjU4QzI2MS4yIDUxLjQ4MzcgMjYyLjI5NiA1MSAyNjMuNTA2IDUxWk0yNjMuNTg2IDY2LjAxODNDMjYwLjczNyA2Ni4wMTgzIDI1OS4zMTMgNjcuMTI0NSAyNTkuMzEzIDY5LjMzNyAyNTkuMzEzIDY5LjYxMDIgMjU5LjMzMiA2OS44NjA4IDI1OS4zNzEgNzAuMDg4N0wyNjEuNzk1IDg0LjAxNjEgMjY1LjM4IDg0LjAxNjEgMjY3LjgyMSA2OS43NDc1QzI2Ny44NiA2OS43MzA5IDI2Ny44NzkgNjkuNTg3NyAyNjcuODc5IDY5LjMxNzkgMjY3Ljg3OSA2Ny4xMTgyIDI2Ni40NDggNjYuMDE4MyAyNjMuNTg2IDY2LjAxODNaTTI2My41NzYgODYuMDU0N0MyNjEuMDQ5IDg2LjA1NDcgMjU5Ljc4NiA4Ny4zMDA1IDI1OS43ODYgODkuNzkyMSAyNTkuNzg2IDkyLjI4MzcgMjYxLjA0OSA5My41Mjk1IDI2My41NzYgOTMuNTI5NSAyNjYuMTE2IDkzLjUyOTUgMjY3LjM4NyA5Mi4yODM3IDI2Ny4zODcgODkuNzkyMSAyNjcuMzg3IDg3LjMwMDUgMjY2LjExNiA4Ni4wNTQ3IDI2My41NzYgODYuMDU0N1oiIGZpbGw9IiNGRkU1MDAiIGZpbGwtcnVsZT0iZXZlbm9kZCIvPjwvZz48L3N2Zz4=) no-repeat 1rem/1.8rem, #b32121;
    padding: 1rem 1rem 1rem 3.7rem;
    color: white;
}

    .blazor-error-boundary::after {
        content: "An error has occurred."
    }

.darker-border-checkbox.form-check-input {
    border-color: #929292;
}

.form-floating > .form-control-plaintext::placeholder, .form-floating > .form-control::placeholder {
    color: var(--bs-secondary-color);
    text-align: end;
}

.form-floating > .form-control-plaintext:focus::placeholder, .form-floating > .form-control:focus::placeholder {
    text-align: start;
}

.login-form {
    max-width: 28rem;
}

.lead-form, .lead-card, .lead-description { max-width: 52rem; }
.lead-description { white-space: pre-wrap; overflow-wrap: anywhere; }
.lead-card dd { overflow-wrap: anywhere; }

/* Compact spreadsheet workspace. */
body { background:#f5f7fa; color:#202a38; font-size:14px; }
.crm-header { background:#fff; border-bottom:1px solid #dce2ea; }
.crm-nav { display:flex; align-items:center; gap:24px; min-height:54px; padding:8px 24px; flex-wrap:wrap; }
.crm-nav a { text-decoration:none; color:#475569; }
.crm-nav a.active { color:#185fa5; font-weight:600; }
.crm-brand { font-weight:750; letter-spacing:.04em; color:#142f4c!important; }
.crm-brand span { font-weight:400; color:#789; font-size:12px; }
.crm-user { margin-left:auto; color:#64748b; font-size:12px; }
.crm-main { padding:20px 24px; max-width:1800px; margin:0 auto; }
h1 { font-size:23px; font-weight:650; margin:0 0 8px; }
.page-heading { display:flex; align-items:center; justify-content:space-between; gap:16px; margin-bottom:18px; }
.muted, small { color:#68768a; }
.sheet-scroll { overflow-x:auto; background:#fff; border:1px solid #d9e0e8; border-radius:5px; }
.sheet { border-collapse:collapse; width:100%; background:#fff; font-size:13px; }
.sheet th { background:#edf2f7; color:#425369; font-weight:600; text-align:left; }
.sheet td, .sheet th { padding:8px 10px; border:1px solid #e1e6ed; vertical-align:top; }
.sheet th { position:sticky; top:0; z-index:1; }
.sheet tbody tr:hover { background:#f8fbff; }
.register { min-width:1050px; table-layout:fixed; }
.register th:nth-child(1) { width:23%; }.register th:nth-child(2) { width:23%; }.register th:nth-child(3) { width:22%; }
.register th:nth-child(4) { width:10%; }.register th:nth-child(5) { width:12%; }.register th:nth-child(6) { width:9%; }.register th:last-child { width:85px; }
.sheet small { display:block; font-size:11px; margin-top:3px; }
.lead-link { font-weight:600; text-decoration:none; }
.contact-line + .contact-line { margin-top:7px; padding-top:5px; border-top:1px dotted #e0e5eb; }
.contact-line, .last-note, .card-title { overflow-wrap:anywhere; }
.last-note span { white-space:pre-wrap; display:-webkit-box; -webkit-line-clamp:3; -webkit-box-orient:vertical; overflow:hidden; }
.toolbar { display:flex; gap:8px; align-items:center; margin-bottom:12px; flex-wrap:wrap; }
input:not([type=checkbox]), select, textarea { border:1px solid #cad3df; border-radius:4px; padding:6px 8px; font:inherit; background:#fff; color:inherit; }
.toolbar input { width:280px; }.toolbar select { min-width:155px; }
.sheet input, .sheet select { width:100%; min-width:0; }.sheet input[readonly] { background:#f6f8fb; }
.quiet { background:transparent; border:0; color:#256399; cursor:pointer; padding:5px 4px; font:inherit; white-space:nowrap; }
.quiet:hover { text-decoration:underline; }.quiet:disabled { opacity:.45; cursor:default; }
.btn { font-size:13px; padding:6px 12px; }.btn-primary { background:#236aa5; border-color:#236aa5; }
.compact-form { max-width:1150px; border:0; padding:0; }
.form-sheet th { width:145px; }.form-sheet { border:1px solid #d9e0e8; margin-bottom:15px; }
.lookup-compact { background:#fff; padding:12px; border:1px solid #d9e0e8; border-radius:5px; margin-bottom:14px; }
.lookup-compact .toolbar { margin-bottom:0; }.lookup-compact p { margin:8px 0 0; }.lookup-result { display:flex; gap:14px; align-items:center; margin-top:10px; flex-wrap:wrap; }
details { margin-top:12px; }summary { cursor:pointer; color:#50647c; font-size:13px; }
.work-fields { display:flex; gap:10px; flex-wrap:wrap; }.work-fields label { display:flex; flex-direction:column; gap:4px; color:#596b80; font-size:12px; }
.work-fields select, .work-fields input { font-size:13px; }.work-fields select { min-width:130px; }
.section-label { display:block; font-size:14px; font-weight:600; margin:16px 0 8px; }
.inline-actions { display:flex; align-items:center; gap:14px; margin:10px 0 16px; }
.lead-workspace { display:grid; grid-template-columns:minmax(0,1.2fr) minmax(300px,1fr); gap:24px; }
.lead-workspace fieldset { border:0; padding:0; }
.note-input { width:100%; resize:vertical; }.note-bubble { border:1px solid #dce5ed; border-left:3px solid #9ab8cf; background:#fff; padding:10px 12px; border-radius:5px; margin-bottom:9px; }
.note-bubble time { font-size:11px; color:#6c7f93; }.note-bubble p { margin:5px 0 0; white-space:pre-wrap; overflow-wrap:anywhere; }
.notes-panel .section-label { margin-top:0; }.company-details { margin-top:22px; }
.temperature { padding:3px 7px; border-radius:4px; font-size:11px; white-space:nowrap; }
.cold { color:#36658b; background:#e7f1f9; }.warm { color:#8b6919; background:#fff4d9; }.hot { color:#a3442a; background:#ffe7dd; }.dead { color:#666; background:#eceef1; }
.overdue { color:#b34d3b; font-weight:600; }.pagination-row { display:flex; align-items:center; gap:16px; margin:12px 0; font-size:12px; }.empty-state { padding:28px!important; text-align:center; }
.edit-row td { background:#edf5fc; }
@media(max-width:900px) { .lead-workspace { grid-template-columns:1fr; }.crm-main { padding:14px; }.crm-nav { padding:8px 14px; gap:14px; }.crm-user { display:none; }.contacts-table { min-width:600px; } }
.import-table { min-width: 1050px; }
.import-table > tbody > tr > td:nth-child(2) { min-width: 300px; width: 38%; }
.import-table details { margin-top: .4rem; }
.import-table details[open] { min-width: 560px; }
.import-table label { display: block; margin: .4rem 0; }
.import-table label input { width: 100%; }
.import-table small { display: block; margin-bottom: .3rem; }

.affiliation-label { color:#426580; font-size:12px; font-weight:600; }
.organizations-panel { margin:12px 0 22px; }
.organizations-panel fieldset { border:1px solid #d9e0e8; padding:12px; margin:10px 0; }
.site-fields { display:grid; grid-template-columns:repeat(3,minmax(160px,1fr)); gap:10px 16px; margin:12px 0; }
.site-fields label { display:flex; flex-direction:column; gap:4px; font-size:12px; color:#50647c; }
.site-fields .wide { grid-column:1 / -1; }
.site-summary { display:grid; grid-template-columns:repeat(3,minmax(150px,1fr)); gap:12px; border:1px solid #d9e0e8; padding:12px; background:white; }
.site-summary small { display:block; color:#66778a; margin-bottom:4px; }
.site-materials { padding:10px; border:1px solid #d9e0e8; margin-bottom:16px; }
.site-materials fieldset { border:0; padding:0; }
.sites-register { min-width:1150px; }.clickable-row { cursor:pointer; }
.site-documents { margin-top:22px; }.site-documents fieldset { border:0; padding:0; }
.choice-chip { display:inline-block; padding:3px 8px; margin:3px; border:1px solid #cad3df; border-radius:4px; background:#f4f8fc; }
.multiline { white-space:pre-wrap; }.lead-sites { border-top:1px solid #d9e0e8; margin:18px 0; }.lead-sites small { display:block; color:#66778a; }
@media(max-width:900px) { .site-fields, .site-summary { grid-template-columns:repeat(2,minmax(140px,1fr)); } }
