html, body { font-family: 'Roboto', 'Helvetica Neue', Helvetica, Arial, sans-serif; }

/* App bar */
.ika-appbar-sub { opacity: .75; }
.ika-scope .mud-input-outlined-border { border-color: rgba(255,255,255,.55) !important; }
.ika-scope .mud-input, .ika-scope .mud-select-input, .ika-scope .mud-input-slot, .ika-scope .mud-icon-root, .ika-scope input::placeholder { color: #fff !important; -webkit-text-fill-color: #fff; }
.ika-scope .mud-input-adornment .mud-icon-root { color: rgba(255,255,255,.85) !important; }

/* Tables */
.ika-clickable tbody tr { cursor: pointer; }
.ika-stuck { background: rgba(237,108,2,.10) !important; }
.ika-stuck td:first-child { border-left: 3px solid #ED6C02; }
.ika-mono { font-family: ui-monospace, SFMono-Regular, Menlo, Consolas, monospace; font-size: .8rem; }
.ika-nowrap { white-space: nowrap; }
.ika-muted { color: var(--mud-palette-text-secondary); }
.ika-pre { white-space: pre-wrap; word-break: break-word; font-family: ui-monospace, SFMono-Regular, Menlo, Consolas, monospace; font-size: .78rem; background: var(--mud-palette-background-gray); border-radius: 6px; padding: 8px 10px; max-height: 320px; overflow: auto; margin: 0; }
.ika-feed { font-size: .8rem; line-height: 1.1; }
.ika-feed-ok { color: #2E7D32; }
.ika-feed-stale { color: #ED6C02; font-weight: 500; }
.ika-feed-never { color: var(--mud-palette-text-disabled); }
.ika-feed-error { color: #C62828; }
.ika-kpi { min-width: 150px; }
.ika-kpi .mud-typography-h5 { line-height: 1.1; }
.ika-secret { font-family: ui-monospace, SFMono-Regular, Menlo, Consolas, monospace; font-size: 1rem; letter-spacing: .02em; word-break: break-all; background: var(--mud-palette-background-gray); padding: 10px 12px; border-radius: 6px; }

/* Static account pages (no MudBlazor interactivity) */
.ika-account { min-height: 100vh; display: flex; flex-direction: column; align-items: center; justify-content: center; background: linear-gradient(160deg, #006994 0%, #0088BC 55%, #00A1E4 100%); padding: 24px; }
.ika-account-card { width: 100%; max-width: 420px; background: #fff; border-radius: 12px; padding: 32px 36px; box-shadow: 0 12px 40px rgba(0,0,0,.25); }
.ika-account-card.wide { max-width: 560px; }
.ika-brand { display: flex; align-items: center; gap: 12px; margin-bottom: 20px; }
.ika-logo { background: #006994; color: #fff; font-weight: 700; letter-spacing: .06em; padding: 6px 10px; border-radius: 8px; font-size: 1rem; }
.ika-brand-text { font-size: 1.15rem; font-weight: 500; color: #143241; }
.ika-brand-text span { color: #0088BC; font-weight: 400; }
.ika-account h1 { font-size: 1.35rem; font-weight: 500; margin: 0 0 6px; color: #143241; }
.ika-account p { color: #4a5a63; font-size: .92rem; line-height: 1.45; margin: 0 0 14px; }
.ika-account label { display: block; font-size: .82rem; font-weight: 500; color: #34454f; margin: 12px 0 4px; }
.ika-input { width: 100%; box-sizing: border-box; font-size: 1rem; padding: 10px 12px; border: 1px solid #c3ccd2; border-radius: 8px; outline: none; font-family: inherit; }
.ika-input:focus { border-color: #0088BC; box-shadow: 0 0 0 3px rgba(0,136,188,.18); }
.ika-input.code { font-size: 1.5rem; letter-spacing: .35em; text-align: center; font-family: ui-monospace, Menlo, Consolas, monospace; }
.ika-btn { display: inline-block; width: 100%; margin-top: 18px; padding: 11px 16px; background: #006994; color: #fff; border: 0; border-radius: 8px; font-size: 1rem; font-weight: 500; cursor: pointer; font-family: inherit; }
.ika-btn:hover { background: #0088BC; }
.ika-btn.secondary { background: transparent; color: #006994; border: 1px solid #006994; }
.ika-alert { background: #fdecea; color: #8a1c1c; border: 1px solid #f5c2c0; border-radius: 8px; padding: 10px 12px; font-size: .9rem; margin: 10px 0; }
.ika-note { background: #eef6fa; color: #143241; border-radius: 8px; padding: 10px 12px; font-size: .88rem; margin: 10px 0; }
.ika-account-foot { color: rgba(255,255,255,.85); font-size: .82rem; margin-top: 18px; }
.ika-qr { display: flex; gap: 22px; align-items: flex-start; flex-wrap: wrap; margin: 12px 0; }
.ika-qr svg { width: 180px; height: 180px; border: 1px solid #dfe5e9; border-radius: 8px; padding: 6px; background: #fff; }
.ika-key { font-family: ui-monospace, Menlo, Consolas, monospace; font-size: 1.05rem; letter-spacing: .05em; background: #f2f5f7; padding: 8px 10px; border-radius: 6px; word-break: break-all; }
.ika-links { margin-top: 16px; font-size: .88rem; }
.ika-links a { color: #006994; }
.validation-message { color: #8a1c1c; font-size: .82rem; margin-top: 4px; }

.blazor-error-boundary { background: #C62828; color: #fff; padding: 1rem; border-radius: 8px; }
.blazor-error-boundary::after { content: "An error has occurred." }
