:root { color-scheme: light; font-family: Inter, ui-sans-serif, system-ui, sans-serif; color: #17201f; background: #f5f7f6; }
* { box-sizing: border-box; }
body { margin: 0; min-width: 20rem; }
a { color: #075e54; }
a:focus-visible, button:focus-visible, select:focus-visible { outline: 3px solid #d89000; outline-offset: 3px; }
.top-bar { min-height: 4.5rem; display: flex; align-items: center; gap: 2rem; padding: .75rem clamp(1rem, 4vw, 3rem); background: #102b28; color: white; }
.brand { color: white; text-decoration: none; font-weight: 750; font-size: 1.15rem; white-space: nowrap; }.brand span { color: #7dd7bd; }
.top-bar nav { flex: 1; }.top-bar nav a, .session-actions a { color: #e9f6f2; padding: .65rem .75rem; text-decoration: none; }.top-bar nav a.active { border-bottom: 2px solid #7dd7bd; }
.session-actions { display: flex; align-items: center; gap: .75rem; }.language-selector select { min-height: 2.5rem; border-radius: .3rem; padding: 0 .5rem; }
main { max-width: 78rem; margin: 0 auto; padding: clamp(1.25rem, 4vw, 3rem); }
.page-heading { max-width: 52rem; margin-bottom: 2rem; }.page-heading h1 { margin: .2rem 0 .5rem; font-size: clamp(2rem, 5vw, 3rem); }.eyebrow { color: #4d6561; font-weight: 700; letter-spacing: .05em; text-transform: uppercase; font-size: .8rem; }
.workspace-card { display: grid; gap: .5rem; max-width: 28rem; padding: 1.5rem; background: white; border: 1px solid #d8e0de; border-radius: .65rem; text-decoration: none; box-shadow: 0 2px 8px #102b2810; }.workspace-card strong { font-size: 1.25rem; }
.button-link { display: inline-block; background: #087f6e; color: white !important; border-radius: .35rem; padding: .65rem 1rem; text-decoration: none; }
.message-panel, .validation-panel { padding: 1.25rem; background: white; border: 1px solid #d8e0de; border-left: .3rem solid #087f6e; border-radius: .4rem; }.message-panel h1, .message-panel h2 { margin-top: 0; }
.table-scroll { overflow-x: auto; background: white; border: 1px solid #d8e0de; border-radius: .5rem; }table { width: 100%; border-collapse: collapse; }th, td { text-align: left; vertical-align: top; padding: .9rem 1rem; border-bottom: 1px solid #e4e9e8; }th { color: #405552; font-size: .8rem; text-transform: uppercase; }td small { display: block; color: #5f706e; margin-top: .25rem; }
.state { display: inline-block; border-radius: 999px; padding: .25rem .6rem; font-weight: 700; font-size: .8rem; }.state-draft { background: #e7ebea; }.state-review { background: #fff0ba; }.state-published { background: #ccefe3; }.state-archived { background: #eedfe1; }
.heading-meta { display: flex; gap: 1rem; align-items: center; }.facts-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(14rem, 1fr)); gap: 1px; background: #d8e0de; border: 1px solid #d8e0de; margin: 0 0 2rem; }.facts-grid div { background: white; padding: 1rem; }.facts-grid dt { color: #526764; font-size: .85rem; }.facts-grid dd { margin: .35rem 0 0; font-weight: 650; overflow-wrap: anywhere; }.success { color: #087258; font-weight: 700; }.back-link { display: inline-block; margin-bottom: 1rem; }.visually-hidden { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; }.boot-status { padding: 2rem; }#blazor-error-ui { display: none; position: fixed; inset: auto 0 0; padding: 1rem; background: #ffe7e7; }
@media (max-width: 45rem) { .top-bar { align-items: flex-start; flex-wrap: wrap; gap: .5rem 1rem; }.top-bar nav { order: 3; flex-basis: 100%; }.session-actions { margin-left: auto; }th, td { padding: .75rem; } }
