/* Oakham Care Records. All selectors are scoped; no fonts or external assets. */
.ocr {
    --ocr-accent: #007b7c;
    --ocr-bar-end: #009d9e;
    --ocr-accent-text: #007b7c;
    --ocr-on-accent: #fff;
    --ocr-ink: #232137;
    --ocr-tint: #f4f8f7;
    --ocr-muted: #5e6c79;
    --ocr-border: #d8e5e4;
    --ocr-font: inherit;
    width: 100%;
    margin-inline: auto;
    font-family: var(--ocr-font);
    font-size: 1rem;
    line-height: 1.5;
    color: var(--ocr-ink);
    text-align: left;
    container: oakham-records / inline-size;
    isolation: isolate;
}
.ocr *, .ocr *::before, .ocr *::after { box-sizing: border-box; }
.ocr [hidden] { display: none !important; }
.ocr .ocr__card {
    padding: 2rem;
    background: #fff;
    border: 1px solid var(--ocr-border);
    border-radius: 0;
    box-shadow: 0 16px 44px -28px rgba(21, 65, 64, .18);
}
.ocr p, .ocr h3, .ocr dl, .ocr dt, .ocr dd { margin: 0; padding: 0; }
.ocr .ocr__summary { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: .875rem; }
.ocr .ocr__stat {
    min-width: 0;
    padding: 1.375rem 1.2rem;
    background: var(--ocr-tint);
    border: 1px solid var(--ocr-border);
    border-radius: 0;
}
.ocr .ocr__eyebrow {
    font-family: inherit;
    font-size: .875em;
    line-height: 1.4;
    font-weight: 500;
    letter-spacing: 0;
    color: var(--ocr-muted);
}
.ocr .ocr__stat-number {
    margin-block: .5rem .55rem;
    font-family: inherit;
    font-size: 3.2em;
    font-size: clamp(2rem, 7.8cqi, 3.35rem);
    line-height: 1.08;
    font-weight: 500;
    letter-spacing: -.055em;
    font-variant-numeric: lining-nums tabular-nums;
    color: var(--ocr-ink);
    overflow-wrap: anywhere;
}
.ocr .ocr__caption { font-size: .875em; line-height: 1.45; font-weight: 500; color: var(--ocr-accent-text); }
.ocr .ocr__toolbar { display: flex; align-items: center; justify-content: space-between; flex-wrap: wrap; gap: .875rem 1rem; margin-block: 1.5rem 1.15rem; }
.ocr .ocr__heading {
    flex: 1 1 19rem;
    min-width: 0;
    font-family: inherit;
    font-size: 1em;
    line-height: 1.4;
    font-weight: 500;
    letter-spacing: -.02em;
    text-transform: none;
    color: var(--ocr-ink);
    overflow-wrap: anywhere;
}
.ocr .ocr__toggle {
    display: inline-flex;
    flex: 0 0 auto;
    gap: .125rem;
    padding: .25rem;
    border: 1px solid var(--ocr-border);
    border-radius: 0;
    background: #edf3f2;
}
.ocr .ocr__button {
    -webkit-appearance: none;
    appearance: none;
    display: inline-flex;
    justify-content: center;
    align-items: center;
    min-height: 2.5rem;
    min-width: 4.65rem;
    width: auto;
    margin: 0;
    padding: .5rem .875rem;
    border: 0;
    border-radius: 0;
    outline-offset: 3px;
    box-shadow: none;
    background: transparent;
    color: var(--ocr-muted);
    font: inherit;
    font-size: .8125em;
    font-weight: 500;
    line-height: 1.4;
    letter-spacing: 0;
    text-transform: none;
    text-decoration: none;
    white-space: nowrap;
    cursor: pointer;
    transition: background-color .16s ease, color .16s ease, box-shadow .16s ease;
}
.ocr .ocr__button::before, .ocr .ocr__button::after { display: none; }
.ocr .ocr__button:hover { background: #dde9e7; color: var(--ocr-ink); }
.ocr .ocr__button[aria-pressed="true"] { background: var(--ocr-accent); color: var(--ocr-on-accent); box-shadow: 0 3px 8px rgba(0, 85, 86, .18); }
.ocr .ocr__button:focus-visible { outline: 3px solid var(--ocr-ink); outline-offset: 3px; }
.ocr .ocr__rows { display: grid; gap: .75rem; }
.ocr .ocr__row { display: grid; grid-template-columns: 7.9rem minmax(0, 1fr); align-items: center; gap: .875rem; }
.ocr .ocr__system { font-size: .9em; line-height: 1.4; font-weight: 500; color: var(--ocr-ink); overflow-wrap: anywhere; }
.ocr .ocr__measure { display: grid; grid-template-columns: minmax(0, 1fr) 6.4rem; gap: .875rem; align-items: center; min-width: 0; }
.ocr .ocr__track { display: block; height: .75rem; min-width: 0; background: #eaf1f0; border-radius: 0; overflow: hidden; }
.ocr .ocr__bar { display: block; height: 100%; border-radius: 0; background: linear-gradient(90deg, var(--ocr-accent), var(--ocr-bar-end)); }
.ocr .ocr__value { text-align: right; font-size: .9em; line-height: 1.4; font-weight: 500; color: var(--ocr-ink); font-variant-numeric: lining-nums tabular-nums; overflow-wrap: anywhere; }
.ocr .ocr__total { display: flex; flex-wrap: wrap; justify-content: space-between; align-items: baseline; gap: .5rem 1rem; margin-top: 1.65rem; padding-top: 1.05rem; border-top: 1px solid var(--ocr-border); }
.ocr .ocr__total-label { flex: 1 1 14rem; color: var(--ocr-muted); font-size: 1em; line-height: 1.5; }
.ocr .ocr__total-number { font-family: inherit; font-size: 2.5em; line-height: 1.1; font-weight: 500; letter-spacing: -.045em; color: var(--ocr-accent-text); font-variant-numeric: lining-nums tabular-nums; overflow-wrap: anywhere; min-width: 0; max-width: 100%; }
.ocr .ocr__note { margin-top: 1rem; font-size: .8125em; line-height: 1.6; color: var(--ocr-muted); overflow-wrap: anywhere; }
.ocr .ocr__sr { position: absolute !important; width: 1px !important; height: 1px !important; padding: 0 !important; margin: -1px !important; overflow: hidden !important; clip: rect(0, 0, 0, 0) !important; clip-path: inset(50%) !important; white-space: nowrap !important; border: 0 !important; }

/* Container queries work inside narrow Elementor columns on a wide screen. */
@container oakham-records (max-width: 570px) {
    .ocr .ocr__card { padding: 1.375rem; }
    .ocr .ocr__toolbar { flex-direction: column; align-items: flex-start; }
    .ocr .ocr__heading { flex: initial; }
    .ocr .ocr__row { grid-template-columns: 6.6rem minmax(0, 1fr); gap: .65rem; }
    .ocr .ocr__measure { grid-template-columns: minmax(0, 1fr) 5.8rem; gap: .65rem; }
    .ocr .ocr__stat { padding: 1rem; }
}
@container oakham-records (max-width: 420px) {
    .ocr .ocr__summary { grid-template-columns: 1fr; }
    .ocr .ocr__toggle { max-width: 100%; flex-wrap: wrap; }
    .ocr .ocr__button { min-width: 0; flex: 1 1 auto; white-space: normal; }
    .ocr .ocr__stat-number { font-size: 2.75em; }
    .ocr .ocr__row { grid-template-columns: minmax(0, 1fr); gap: .4rem; }
    .ocr .ocr__measure { grid-template-columns: minmax(0, 1fr) minmax(0, max-content); }
    .ocr .ocr__rows { gap: 1rem; }
    .ocr .ocr__total { align-items: flex-start; flex-direction: column; gap: .5rem; }
    .ocr .ocr__total-label { flex: initial; }
    .ocr .ocr__total-number { font-size: 2.35em; }
}
/* Fallback for browsers without container query support. */
@supports not (container-type: inline-size) {
    @media (max-width: 600px) {
        .ocr .ocr__card { padding: 1.375rem; }
        .ocr .ocr__toolbar { flex-direction: column; align-items: flex-start; }
        .ocr .ocr__heading { flex: initial; }
        .ocr .ocr__row { grid-template-columns: 6.6rem minmax(0, 1fr); gap: .65rem; }
        .ocr .ocr__measure { grid-template-columns: minmax(0, 1fr) 5.8rem; gap: .65rem; }
        .ocr .ocr__stat { padding: 1rem; }
    }
    @media (max-width: 450px) {
        .ocr .ocr__summary { grid-template-columns: 1fr; }
    .ocr .ocr__toggle { max-width: 100%; flex-wrap: wrap; }
    .ocr .ocr__button { min-width: 0; flex: 1 1 auto; white-space: normal; }
        .ocr .ocr__stat-number { font-size: 2.75em; }
        .ocr .ocr__row { grid-template-columns: minmax(0, 1fr); gap: .4rem; }
        .ocr .ocr__measure { grid-template-columns: minmax(0, 1fr) minmax(0, max-content); }
        .ocr .ocr__rows { gap: 1rem; }
        .ocr .ocr__total { align-items: flex-start; flex-direction: column; gap: .5rem; }
        .ocr .ocr__total-label { flex: initial; }
    }
}
@media (prefers-reduced-motion: reduce) { .ocr *, .ocr *::before, .ocr *::after { animation: none !important; transition: none !important; } }
@media (forced-colors: active) {
    .ocr .ocr__card, .ocr .ocr__stat, .ocr .ocr__toggle { border-color: CanvasText; }
    .ocr .ocr__track { border: 1px solid CanvasText; }
    .ocr .ocr__bar { background: CanvasText; }
    .ocr .ocr__button[aria-pressed="true"] { outline: 2px solid Highlight; outline-offset: -2px; }
}
