:root {
    color-scheme: light;
    font-family: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
    color: #17312c;
    background: #f4f7f6;
}

* { box-sizing: border-box; }
body { margin: 0; }
.login-page { min-height: 100vh; display: grid; place-items: center; padding: 2rem; }
.login-card { width: min(100%, 30rem); padding: 2rem; border: 1px solid #c7d7d3; border-radius: 1rem; background: #fff; box-shadow: 0 1.25rem 3rem rgba(24, 49, 44, .12); }
.login-card form { display: grid; gap: .65rem; margin-top: 1.5rem; }
.login-card input { width: 100%; border: 1px solid #7d918c; border-radius: .5rem; padding: .75rem; font: inherit; }
.login-card button, .page-footer button { border: 0; border-radius: .5rem; padding: .75rem 1rem; color: #fff; background: #0d6b58; font: inherit; font-weight: 700; cursor: pointer; }
.login-error { border-left: .25rem solid #8c2525; background: #fde0e0; padding: .75rem; }
.security-note { color: #59736d; font-size: .875rem; }
.page-footer { width: min(1180px, calc(100% - 2rem)); margin-inline: auto; padding: 0 0 3rem; }
a { color: #0d6b58; overflow-wrap: anywhere; }
code { font-family: ui-monospace, SFMono-Regular, Consolas, monospace; overflow-wrap: anywhere; }
.page-header, main { width: min(1180px, calc(100% - 2rem)); margin-inline: auto; }
.page-header { padding: 3rem 0 1.5rem; }
.page-header h1 { margin: .2rem 0 .5rem; font-size: clamp(2rem, 5vw, 3.4rem); }
.eyebrow, .tenant-id, .generated-at { color: #59736d; }
main { padding-bottom: 4rem; }
.tenant-card, main > section { margin-top: 1rem; padding: 1.25rem; border: 1px solid #c7d7d3; border-radius: 1rem; background: #fff; }
.tenant-card h3 { margin: .2rem 0 1rem; }
.installation-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 28rem), 1fr)); gap: 1rem; }
.installation-card { padding: 1rem; border: 1px solid #dbe5e2; border-radius: .75rem; background: #f9fbfa; }
.installation-card h5, .installation-card h6 { margin: 0 0 .5rem; }
.facts { display: grid; grid-template-columns: repeat(auto-fit, minmax(12rem, 1fr)); gap: .75rem; }
.facts div { min-width: 0; }
.facts dt { color: #59736d; font-size: .8rem; font-weight: 700; text-transform: uppercase; letter-spacing: .03em; }
.facts dd { margin: .2rem 0 0; }
.module-list, .check-list, .finding-list { padding-left: 1.25rem; }
.status { display: inline-block; padding: .2rem .55rem; border-radius: 999px; background: #e4ecea; font-weight: 700; }
.status--active, .status--healthy, .status--current, .status--passed { color: #075d49; background: #d9f3e9; }
.status--trial, .status--degraded, .status--stale, .status--warning { color: #765000; background: #fff0c2; }
.status--suspended, .status--expired, .status--failed, .status--unreachable { color: #8c2525; background: #fde0e0; }
.empty-state { color: #59736d; }

@media (prefers-reduced-motion: reduce) {
    *, *::before, *::after { scroll-behavior: auto !important; }
}
