/* eFLD Portal: design §9.3 tokens. Flat surfaces, one hairline border, no gradients. */
:root {
    --efld-sea: #0B3C5D; --efld-ice: #F3F7FA; --efld-paper: #FFFFFF; --efld-ink: #15202B;
    --efld-buoy: #FF7A00; --efld-kelp: #1E7F4F; --efld-flag: #B42318; --efld-line: #D9E2EA; --efld-muted: #4A5A66;
}
html, body { font-family: 'Atkinson Hyperlegible Next', 'Atkinson Hyperlegible', 'Segoe UI', Helvetica, Arial, sans-serif; }
.mud-paper:not(.mud-appbar):not(.mud-drawer):not(.mud-popover):not(.mud-dialog) { box-shadow: none !important; border: 1px solid var(--mud-palette-lines-default); }
.mud-appbar.mud-elevation-1 { box-shadow: none !important; border-bottom: 1px solid rgba(255,255,255,.12); }
.mud-tabs .mud-tabs-toolbar { border-bottom: 1px solid var(--mud-palette-lines-default); }
.mud-chip { font-weight: 500; }
.efld-tabular { font-variant-numeric: tabular-nums; }
.efld-tabs .mud-tabs-panels { padding: 16px; }

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

/* Tables */
.efld-clickable tbody tr { cursor: pointer; }
.efld-stuck { background: rgba(255,122,0,.10) !important; }
.efld-stuck td:first-child { border-left: 3px solid var(--efld-buoy); }
.efld-deleted td { opacity: .55; text-decoration: line-through; }
.efld-mono { font-family: ui-monospace, SFMono-Regular, Menlo, Consolas, monospace; font-size: .8rem; }
.efld-nowrap { white-space: nowrap; }
.efld-muted { color: var(--mud-palette-text-secondary); }
.efld-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; }
.efld-feed { font-size: .8rem; line-height: 1.1; }
.efld-feed-ok { color: var(--efld-kelp); }
.efld-feed-stale { color: #B45309; font-weight: 600; }
.efld-feed-never { color: var(--mud-palette-text-disabled); }
.efld-feed-error { color: var(--efld-flag); }
.efld-kpi { min-width: 150px; }
.efld-kpi .mud-typography-h5 { line-height: 1.1; font-variant-numeric: tabular-nums; }
.efld-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; }

/* Docket detail */
.efld-signature { display: block; max-width: 320px; width: 100%; height: auto; border: 1px solid var(--efld-line); border-radius: 8px; background: #fff; }
.efld-signature-missing { display: flex; align-items: center; justify-content: center; max-width: 320px; height: 110px; border: 1px dashed var(--efld-line); border-radius: 8px; color: var(--mud-palette-text-disabled); font-size: .85rem; }
.efld-fld { font-size: 1.1rem; font-weight: 600; letter-spacing: .02em; font-variant-numeric: tabular-nums; }

/* Static account pages (no MudBlazor interactivity) */
.efld-account { min-height: 100vh; display: flex; flex-direction: column; align-items: center; justify-content: center; background: var(--efld-sea); padding: 24px; }
.efld-account-card { width: 100%; max-width: 420px; background: var(--efld-paper); border-radius: 8px; padding: 32px 36px; border: 1px solid var(--efld-line); }
.efld-account-card.wide { max-width: 560px; }
.efld-brand { display: flex; align-items: center; gap: 12px; margin-bottom: 20px; }
.efld-logo { background: var(--efld-sea); color: #fff; font-weight: 700; letter-spacing: .04em; padding: 6px 10px; border-radius: 8px; font-size: 1rem; }
.efld-brand-text { font-size: 1.15rem; font-weight: 600; color: var(--efld-ink); }
.efld-brand-text span { color: var(--efld-muted); font-weight: 400; }
.efld-account h1 { font-size: 1.35rem; font-weight: 600; margin: 0 0 6px; color: var(--efld-ink); }
.efld-account p { color: var(--efld-muted); font-size: .92rem; line-height: 1.45; margin: 0 0 14px; }
.efld-account label { display: block; font-size: .82rem; font-weight: 600; color: var(--efld-ink); margin: 12px 0 4px; }
.efld-input { width: 100%; box-sizing: border-box; font-size: 1rem; padding: 10px 12px; border: 1px solid #B8C6D1; border-radius: 8px; outline: none; font-family: inherit; color: var(--efld-ink); }
.efld-input:focus { border-color: var(--efld-sea); box-shadow: 0 0 0 3px rgba(11,60,93,.18); }
.efld-input.code { font-size: 1.5rem; letter-spacing: .35em; text-align: center; font-family: ui-monospace, Menlo, Consolas, monospace; }
.efld-btn { display: inline-block; width: 100%; margin-top: 18px; padding: 11px 16px; background: var(--efld-buoy); color: #fff; border: 0; border-radius: 8px; font-size: 1rem; font-weight: 600; cursor: pointer; font-family: inherit; }
.efld-btn:hover { background: #E66E00; }
.efld-btn.secondary { background: transparent; color: var(--efld-sea); border: 1px solid var(--efld-sea); }
.efld-alert { background: #FDECEA; color: var(--efld-flag); border: 1px solid #F3C2BD; border-radius: 8px; padding: 10px 12px; font-size: .9rem; margin: 10px 0; }
.efld-note { background: var(--efld-ice); color: var(--efld-ink); border: 1px solid var(--efld-line); border-radius: 8px; padding: 10px 12px; font-size: .88rem; margin: 10px 0; }
.efld-account-foot { color: rgba(255,255,255,.85); font-size: .82rem; margin-top: 18px; }
.efld-qr { display: flex; gap: 22px; align-items: flex-start; flex-wrap: wrap; margin: 12px 0; }
.efld-qr svg { width: 180px; height: 180px; border: 1px solid var(--efld-line); border-radius: 8px; padding: 6px; background: #fff; }
.efld-key { font-family: ui-monospace, Menlo, Consolas, monospace; font-size: 1.05rem; letter-spacing: .05em; background: var(--efld-ice); padding: 8px 10px; border-radius: 6px; word-break: break-all; }
.efld-links { margin-top: 16px; font-size: .88rem; }
.efld-links a { color: var(--efld-sea); }
.validation-message { color: var(--efld-flag); font-size: .82rem; margin-top: 4px; }

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