/* DOK-1822 — the dossier page's stylesheet, global and in the <head> (the owner's decision of 2026-10-19).
 *
 * It was the page's own <style>, drawn at the foot of its markup by CaseDetailPageStyles (DOK-1518), after its
 * children's inline styles. Here it is the last stylesheet of the <head>: it still wins every tie against the other
 * global sheets, and DOK-1822 measured that none of its 194 rules ties in specificity, on the same class and the same
 * property, with a rule of another inline <style> — the ties the move could have handed to them.
 *
 * The one visible change, chosen: .case-formcard__label now reaches the Genius page, which draws the execution plan
 * (DokCaseExecutionPlanSection) without the dossier page — its title gets the dossier's look.
 */

.case-workspace { margin-top: -1rem; padding-bottom: 2.5rem; }
.case-step-feedback { border-radius: 10px; }

.case-process-data { overflow: hidden; border: 1px solid rgba(148, 163, 184, .24); border-radius: 14px; background: var(--mud-palette-surface); box-shadow: 0 18px 42px rgba(15, 23, 42, .045); }
.case-process-data__header { display: flex; align-items: center; gap: .8rem; padding: 1rem 1.05rem; border-bottom: 1px solid rgba(148, 163, 184, .18); background: linear-gradient(135deg, rgba(var(--mud-palette-primary-rgb), .065), rgba(var(--mud-palette-info-rgb), .025)); }
.case-process-data__header h4 { margin: 0; font-size: .95rem; font-weight: 900; }
.case-process-data__header p { margin: .15rem 0 0; color: var(--mud-palette-text-secondary); font-size: .76rem; }
.case-process-data__icon { display: grid; place-items: center; width: 2.35rem; height: 2.35rem; flex: 0 0 auto; border-radius: 10px; background: var(--mud-palette-primary); color: var(--mud-palette-primary-text); box-shadow: 0 8px 20px rgba(var(--mud-palette-primary-rgb), .2); }
.case-process-data__body { display: flex; flex-direction: column; padding: 0 1.05rem; }
.case-process-data__body .case-formcard__group { padding: 1rem 0; }
.case-process-data__body .case-formcard__group + .case-formcard__group { border-top: 1px solid rgba(148, 163, 184, .16); }

/* DOK-214 — Document/Attachment-scope collection panels on the guided dossier */
.case-dossier-scoped { display: flex; flex-direction: column; gap: .6rem; padding: .85rem 1rem; border: 1px solid rgba(148, 163, 184, .28); border-radius: 12px; background: rgba(148, 163, 184, .05); }
.case-dossier-scoped__tools { display: flex; justify-content: flex-end; }
.case-dossier-scoped__checklist { display: flex; flex-direction: column; gap: .1rem; }
/* DOK-77 — these two slots now hold DokChecklistSection (D10), which is a MudCard. Nested inside a
   collection panel or a file's detail row it has to read as a list, not as a second card, so its
   surface and its own padding are taken away here rather than in the component (the Process-scope
   usage, which sits directly in a form-card group, still wants both). !important because
   MudCardContent carries MudBlazor's px-6/py-4 utilities, and those are !important themselves. */
.case-dossier-scoped__checklist .dok-smart-checklist { background: transparent; }
.case-dossier-scoped__checklist .dok-smart-checklist > .mud-card-content { padding: 0 !important; }
.case-dossier-scoped__autosave { align-self: flex-end; color: var(--mud-palette-text-secondary); }
.case-dossier-scoped__panels { border: 0; }
.case-dossier-scoped--files .mud-expand-panel { border: 1px solid rgba(148, 163, 184, .24); border-radius: 10px; }
.case-dossier-capacity { display: grid; grid-template-columns: minmax(9rem, auto) minmax(8rem, 1fr); align-items: center; gap: .8rem; padding: .65rem .8rem; border: 1px solid rgba(148, 163, 184, .2); border-radius: 10px; background: rgba(148, 163, 184, .045); }
.case-dossier-capacity__copy { display: flex; align-items: center; justify-content: space-between; gap: .65rem; font-size: .72rem; }
.case-dossier-capacity__copy span { color: var(--mud-palette-text-secondary); font-weight: var(--dok-font-weight-bold); }
.case-dossier-capacity__copy strong { white-space: nowrap; font-size: var(--dok-font-size-xs); }
.case-dossier-file-details { display: flex; flex-direction: column; gap: .75rem; }
.case-dossier-file-details__head, .case-dossier-file-details__head > span { display: flex; align-items: center; gap: .4rem; }
.case-dossier-file-details__head { justify-content: space-between; }
.case-dossier-file-details__head > span { font-size: .78rem; font-weight: 850; }
.case-dossier-file-details__head small { color: var(--dok-tone-warning-ink); font-size: .68rem; font-weight: 750; }
.case-review__actions, .case-created__actions, .case-user-option { display: flex; align-items: center; }
.case-review__actions, .case-created__actions { flex-wrap: wrap; justify-content: flex-end; gap: .65rem; }
.case-action { font-weight: 850; letter-spacing: .01em; }

/* Header + lifecycle strip (reference only) */
.case-header { display: flex; align-items: center; justify-content: space-between; gap: 1rem; flex-wrap: wrap; margin-bottom: 1rem; padding: .9rem 1.1rem; border: 1px solid rgba(148, 163, 184, .22); border-radius: 12px; background: var(--mud-palette-surface); box-shadow: 0 16px 36px rgba(15, 23, 42, .045); }
.case-header__identity { display: flex; align-items: center; gap: .7rem; flex-wrap: wrap; }
.case-header__eyebrow { font-size: .95rem; font-weight: 900; color: var(--mud-palette-text-primary); }
.case-header__process { font-size: .95rem; font-weight: 800; color: var(--mud-palette-text-secondary); max-width: 32rem; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }

/* Rail layout — the rail itself is the shared DokCadastroRail (dok-cadastro.css) */
/* DOK-323 — a third track for the context zone (DokCaseContextPanel). The .case-context* rules stay
   here, with the grid that places them: this embedded block is the mechanism the page already proves,
   and .razor.css isolation has bitten this codebase before (DOK-300).
   Note: never write the literal name of a style tag in here — the Razor parser reads it as a nested
   open tag and fails the build with "Unclosed tag 'style'". */
.case-rail-layout { display: grid; grid-template-columns: 17rem minmax(0, 1fr) 19rem; grid-template-rows: auto auto; grid-template-areas: "rail content context" "rail footer context"; align-items: start; gap: 1rem; }
.case-context { grid-area: context; display: flex; flex-direction: column; gap: .85rem; min-width: 0; }
.case-context__block { display: flex; flex-direction: column; gap: .55rem; padding: 1rem; border: 1px solid rgba(148, 163, 184, .22); border-radius: 12px; background: var(--mud-palette-surface); box-shadow: 0 16px 36px rgba(15, 23, 42, .045); }
.case-context__label { display: flex; align-items: center; gap: .45rem; font-size: .82rem; font-weight: 800; color: var(--mud-palette-text-secondary); }
.case-context__approvals { margin: 0; font-size: .88rem; font-weight: 800; color: var(--mud-palette-text-primary); }
.case-context__approvals-pending { margin: 0; font-size: .78rem; color: var(--mud-palette-text-secondary); }
.case-context__hint { margin: 0; font-size: .76rem; color: var(--mud-palette-text-secondary); }

/* Step content + footer */
.case-step-content { grid-area: content; display: flex; flex-direction: column; gap: .85rem; min-width: 0; }
.case-step-panel { display: flex; flex-direction: column; gap: 1rem; padding: 1.15rem; border: 1px solid rgba(148, 163, 184, .22); border-radius: 12px; background: var(--mud-palette-surface); box-shadow: 0 16px 36px rgba(15, 23, 42, .045); }
.case-step-panel__header h3 { margin: 0; font-size: 1.05rem; font-weight: 900; }
.case-step-panel__header p { margin: .2rem 0 0; color: var(--mud-palette-text-secondary); font-size: .82rem; }
/* DOK-275: collapsible form cards (Forms step) */
.case-formcards { display: flex; flex-direction: column; gap: .85rem; }
.case-formcard { overflow: hidden; border: 1px solid rgba(148, 163, 184, .22); border-radius: 12px; background: var(--mud-palette-surface); }
.case-formcard__head { display: flex; align-items: center; gap: .7rem; width: 100%; padding: .85rem 1rem; border: 0; background: transparent; text-align: left; cursor: pointer; color: var(--mud-palette-text-primary); }
.case-formcard__head:hover { background: rgba(var(--mud-palette-primary-rgb), .03); }
.case-formcard__icon { display: grid; place-items: center; flex: 0 0 auto; width: 2rem; height: 2rem; border-radius: 8px; background: rgba(var(--mud-palette-primary-rgb), .1); color: var(--dok-tone-primary-ink); }
.case-formcard__heading { display: flex; flex-direction: column; min-width: 0; }
.case-formcard__title { font-size: .95rem; font-weight: 850; }
.case-formcard__desc { margin-top: .1rem; overflow: hidden; color: var(--mud-palette-text-secondary); font-size: .76rem; text-overflow: ellipsis; }
.case-formcard__chip { flex: 0 0 auto; margin-left: auto; padding: .12rem .5rem; border-radius: 999px; font-size: .66rem; font-weight: 850; letter-spacing: .04em; text-transform: uppercase; }
.case-formcard__chip--req { color: var(--dok-tone-primary-ink); background: rgba(var(--mud-palette-primary-rgb), .12); }
.case-formcard__chip--opt { color: var(--mud-palette-text-secondary); background: rgba(148, 163, 184, .18); }
.case-formcard__caret { flex: 0 0 auto; color: var(--mud-palette-text-secondary); }
.case-formcard__body { display: flex; flex-direction: column; gap: 1rem; padding: 0 1rem 1rem; }
.case-formcard__group { display: flex; flex-direction: column; gap: .7rem; padding-top: 1rem; border-top: 1px solid rgba(148, 163, 184, .14); }

/* DOK-322 — read-only comments at the head of History, split from the state timeline. */
.case-formcard__group:first-child { padding-top: .35rem; border-top: 0; }
.case-formcard__label { display: flex; align-items: center; gap: .45rem; font-size: .82rem; font-weight: 800; color: var(--mud-palette-text-secondary); }
.case-formcard__label svg { color: var(--mud-palette-primary); }
.case-footer { grid-area: footer; position: sticky; bottom: 0; z-index: 2; display: flex; align-items: center; justify-content: space-between; gap: 1rem; flex-wrap: wrap; margin-top: .15rem; padding: .85rem 1.1rem; border: 1px solid rgba(148, 163, 184, .22); border-radius: 12px; background: var(--mud-palette-surface); box-shadow: 0 -8px 24px rgba(15, 23, 42, .06); }
.case-footer__primary { display: flex; align-items: center; gap: .65rem; flex-wrap: wrap; margin-left: auto; }
/* DOK-530 — the reason a greyed Submit button is greyed, said in the footer rather than only on hover:
   a tooltip is nothing at all on a touch screen, which is where most of this footer is used. */
.case-footer__blocked { white-space: normal; display: inline-block; max-width: 22rem; font-size: .8125rem; line-height: 1.35; text-align: right; }
.case-section-tools { display: flex; justify-content: flex-end; margin-top: .8rem; }
.case-loading { display: flex; align-items: center; justify-content: center; gap: .8rem; min-height: 14rem; overflow: hidden; border: 1px solid rgba(148, 163, 184, .22); border-radius: 10px; background: var(--mud-palette-surface); box-shadow: 0 16px 36px rgba(15, 23, 42, .045); }
.case-dossier__progress { display: flex; align-items: center; gap: .85rem; margin-bottom: 1rem; padding: .85rem 1rem; border: 1px solid rgba(var(--mud-palette-primary-rgb), .18); border-radius: 10px; background: rgba(var(--mud-palette-primary-rgb), .05); }
.case-dossier__progress-icon { color: var(--mud-palette-primary); }
.case-dossier__progress-copy { display: flex; flex-direction: column; min-width: 0; }
.case-dossier__progress-copy strong { font-size: .9rem; font-weight: 850; }
.case-dossier__progress-copy span { color: var(--mud-palette-text-secondary); font-size: .76rem; }
.case-dossier__progress-bar { flex: 1 1 8rem; min-width: 6rem; }
/* DOK-347: dossier documents as stacked accordions (replaces the DOK-163 focus rail) */
.case-dossier-toolbar { display: flex; align-items: center; justify-content: space-between; gap: .7rem; flex-wrap: wrap; }
/* align-items keeps the "add person" action level with the filter pills, which are shorter than a
   MudButton; without it the row grows and the pills float. */
.case-dossier-toolbar__filters { display: flex; gap: .4rem; flex-wrap: wrap; align-items: center; }
.case-dossier-filter { display: inline-flex; align-items: center; gap: .4rem; padding: .32rem .75rem; border: 1px solid rgba(148, 163, 184, .28); border-radius: 999px; background: var(--mud-palette-surface); color: var(--mud-palette-text-secondary); font-size: .74rem; font-weight: 800; cursor: pointer; transition: background .15s ease, border-color .15s ease, color .15s ease; }
.case-dossier-filter:hover { border-color: rgba(var(--mud-palette-primary-rgb), .4); background: rgba(var(--mud-palette-primary-rgb), .04); }
.case-dossier-filter--active { border-color: var(--mud-palette-primary); background: var(--mud-palette-primary); color: var(--mud-palette-primary-text); }
.case-dossier-filter__count { padding: 0 .42rem; border-radius: 999px; background: rgba(148, 163, 184, .18); font-size: .66rem; font-weight: 800; }
.case-dossier-filter--active .case-dossier-filter__count { background: rgba(255, 255, 255, .24); }
.case-dossier-list { display: flex; flex-direction: column; gap: .6rem; }
.case-dossier-acc { overflow: hidden; border: 1px solid rgba(148, 163, 184, .22); border-radius: 12px; background: var(--mud-palette-surface); transition: border-color .15s ease, box-shadow .15s ease; }
.case-dossier-acc:hover { border-color: rgba(var(--mud-palette-primary-rgb), .35); }
.case-dossier-acc--open { border-color: rgba(var(--mud-palette-primary-rgb), .5); box-shadow: 0 10px 24px rgba(15, 23, 42, .05); }
.case-dossier-acc__header { display: flex; align-items: center; gap: .7rem; width: 100%; padding: .7rem .9rem; border: 0; background: transparent; text-align: left; cursor: pointer; color: var(--mud-palette-text-primary); }
.case-dossier-acc__header:hover { background: rgba(var(--mud-palette-primary-rgb), .03); }
.case-dossier-acc__icon { flex: 0 0 auto; color: var(--mud-palette-text-secondary); }
.case-dossier-acc__icon--done { color: var(--dok-tone-success-ink); }
.case-dossier-acc__icon--error { color: var(--mud-palette-error); }
.case-dossier-acc__copy { display: flex; flex-direction: column; flex: 1 1 auto; min-width: 0; }
.case-dossier-acc__name { overflow: hidden; font-size: .88rem; font-weight: 850; text-overflow: ellipsis; white-space: nowrap; }
.case-dossier-acc--open .case-dossier-acc__name { color: var(--mud-palette-primary); }
.case-dossier-acc__sub { margin-top: .1rem; color: var(--mud-palette-text-secondary); font-size: .72rem; font-weight: var(--dok-font-weight-bold); }
.case-dossier-acc__status { flex: 0 0 auto; }
.case-dossier-acc__caret { flex: 0 0 auto; color: var(--mud-palette-text-secondary); transition: transform .18s ease; }
.case-dossier-acc--open .case-dossier-acc__caret { transform: rotate(180deg); }
.case-dossier-acc__body { display: flex; flex-direction: column; gap: 1rem; padding: .85rem .9rem 1rem; border-top: 1px solid rgba(148, 163, 184, .16); }
.case-dossier-note { display: inline-flex; align-items: center; gap: .45rem; padding: .55rem .8rem; border-radius: 8px; font-size: .82rem; font-weight: 850; }
.case-dossier-note--pending { border: 1px solid rgba(var(--mud-palette-primary-rgb), .28); background: rgba(var(--mud-palette-primary-rgb), .08); color: var(--dok-tone-primary-ink); }
.case-dossier-note--done { border: 1px solid rgba(var(--mud-palette-success-rgb), .3); background: rgba(var(--mud-palette-success-rgb), .1); color: var(--mud-palette-success-darken); }
/* DOK-334 — the validity date and how it reads today, side by side. The icon carries the distinction
   and colour only reinforces it, the rule DOK-327 set for the status pill next to it. */
.case-dossier-validity { display: flex; flex-wrap: wrap; align-items: center; gap: .75rem; }
.case-dossier-validity__picker { max-width: 14rem; }
.case-dossier-validity__state { display: inline-flex; align-items: center; gap: .35rem; font-size: .78rem; font-weight: 800; }
.case-dossier-validity__state--expired { color: var(--mud-palette-error); }
.case-dossier-validity__state--soon { color: var(--dok-tone-warning-ink); }
.case-dossier-validity__state--valid { color: var(--mud-palette-text-secondary); }
.case-dossier-validity__ai { flex: 1 1 100%; } /* DOK-1466 — the Genius's reading, on its own line under the date. */
/* DOK-365 — changing who a document is collected from, inline in the accordion body. A hairline separator
   rather than a card: DokAttachmentsSection dropped its own frame precisely so nothing nests visibly here. */
.case-dossier-subject-actions { display: flex; flex-wrap: wrap; align-items: center; gap: .5rem; }
.case-dossier-subject-picker { display: grid; gap: .6rem; padding: .75rem 0 .25rem; border-top: 1px solid rgba(148, 163, 184, .16); }
.case-dossier-subject-picker__actions { display: flex; flex-wrap: wrap; align-items: center; gap: .5rem; }
.case-user-option { gap: .5rem; min-width: 0; font-size: .82rem; }
.case-user-avatar { display: grid; place-items: center; width: 1.9rem; height: 1.9rem; border-radius: 50%; background: rgba(var(--mud-palette-primary-rgb), .12); color: var(--dok-tone-primary-ink); font-size: .7rem; font-weight: 900; }
.case-review__summary { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: .7rem; margin-bottom: .85rem; }
.case-review__decision { display: flex; align-items: center; justify-content: space-between; gap: 1rem; margin-top: 1rem; padding: 1.15rem; border: 1px solid rgba(148, 163, 184, .2); border-radius: 10px; background: var(--mud-palette-surface); }
.case-review__eyebrow, .case-created__eyebrow { color: var(--mud-palette-primary); font-size: .7rem; font-weight: 900; letter-spacing: .11em; text-transform: uppercase; }
/* DOK-455 — a closed dossier is a record, not a call to action: muted, not primary-accented. */
.case-review__decision--closed { background: rgba(148, 163, 184, .07); }
/* DEV-34 — the approval chain, above the decision it produces. Same label/gap language as the groups
   it came from in Forms, so nothing about it looks newly invented; the spacing separates it from the
   progress bar above without drawing a rule, which is what .case-review__history uses to say "this is
   the past, not the decision". */
.case-review__approvers { display: flex; flex-direction: column; gap: .55rem; margin-top: 1.2rem; }
/* DOK-493 — the audit reading, at the foot of Review. The rule above it is what separates a decision
   from the record of past ones; the panels themselves reuse the .case-dossier-acc language. */
.case-review__history { display: flex; flex-direction: column; gap: .55rem; margin-top: 1.5rem; padding-top: 1.2rem; border-top: 1px solid rgba(148, 163, 184, .2); }
.case-created { position: relative; display: grid; grid-template-columns: minmax(12rem, .8fr) minmax(0, 1.25fr); align-items: center; gap: 1.4rem; min-height: 19rem; padding: 1.4rem; overflow: hidden; border: 1px solid rgba(var(--mud-palette-success-rgb), .25); border-radius: 12px; background: linear-gradient(135deg, rgba(var(--mud-palette-success-rgb), .13), rgba(var(--mud-palette-primary-rgb), .055)); animation: case-created-enter .5s ease-out; }
.case-created__art { position: relative; display: grid; place-items: center; width: 100%; min-height: 13rem; }
.case-created__glow, .case-created__ring { position: absolute; border-radius: 50%; }
.case-created__glow { width: 10rem; height: 10rem; background: rgba(var(--mud-palette-success-rgb), .16); animation: case-created-pulse 2s ease-in-out infinite; }
.case-created__ring { width: 7rem; height: 7rem; border: 3px solid rgba(var(--mud-palette-success-rgb), .38); animation: case-created-ring 1.8s ease-out infinite; }
.case-created__check { position: relative; display: grid; place-items: center; width: 5rem; height: 5rem; border-radius: 50%; background: var(--mud-palette-success); color: white; box-shadow: 0 14px 28px rgba(var(--mud-palette-success-rgb), .28); }
.case-created--error { border-color: rgba(var(--mud-palette-error-rgb), .3); background: linear-gradient(135deg, rgba(var(--mud-palette-error-rgb), .14), rgba(var(--mud-palette-primary-rgb), .04)); }
.case-created--error .case-created__glow { background: rgba(var(--mud-palette-error-rgb), .16); }
.case-created--error .case-created__ring { border-color: rgba(var(--mud-palette-error-rgb), .4); }
.case-created--error .case-created__check { background: var(--mud-palette-error); box-shadow: 0 14px 28px rgba(var(--mud-palette-error-rgb), .28); }
.case-created--error .case-created__eyebrow { color: var(--mud-palette-error); }
/* DOK-292 — amber (attention) tone, e.g. submitted with pending requirements */
.case-created--pending { border-color: rgba(var(--mud-palette-warning-rgb), .32); background: linear-gradient(135deg, rgba(var(--mud-palette-warning-rgb), .16), rgba(var(--mud-palette-primary-rgb), .04)); }
.case-created--pending .case-created__glow { background: rgba(var(--mud-palette-warning-rgb), .18); }
.case-created--pending .case-created__ring { border-color: rgba(var(--mud-palette-warning-rgb), .42); }
.case-created--pending .case-created__check { background: var(--mud-palette-warning); box-shadow: 0 14px 28px rgba(var(--mud-palette-warning-rgb), .28); }
.case-created--pending .case-created__eyebrow { color: var(--mud-palette-warning-darken); }
.case-created__spark { position: absolute; width: .38rem; height: .38rem; border-radius: 50%; background: var(--mud-palette-warning); animation: case-created-spark 1.6s ease-in-out infinite; }
.case-created__spark--one { top: 2rem; right: 22%; } .case-created__spark--two { bottom: 2.2rem; left: 20%; animation-delay: .35s; } .case-created__spark--three { top: 3rem; left: 24%; animation-delay: .7s; }
.case-created__title { margin-top: .12rem; font-weight: 900; } .case-created__description { color: var(--mud-palette-text-secondary); }
.case-created__details { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: .55rem; margin-top: 1rem; }
.case-created__details div { padding: .65rem .75rem; border: 1px solid rgba(148, 163, 184, .2); border-radius: 8px; background: rgba(255, 255, 255, .54); }
.case-created__details span, .case-created__details strong { display: block; }
.case-created__details span { color: var(--mud-palette-text-secondary); font-size: .66rem; font-weight: 850; letter-spacing: .08em; text-transform: uppercase; }
.case-created__details strong { margin-top: .14rem; overflow: hidden; font-size: .8rem; text-overflow: ellipsis; white-space: nowrap; }
.case-created__actions { grid-column: 1 / -1; padding-top: 1rem; border-top: 1px solid rgba(148, 163, 184, .2); }
.case-decision-banner { overflow: hidden; border-color: rgba(var(--mud-palette-primary-rgb), .34); border-radius: 12px; background: linear-gradient(135deg, rgba(var(--mud-palette-primary-rgb), .055), rgba(var(--mud-palette-info-rgb), .025)); color: var(--mud-palette-text-primary); box-shadow: 0 10px 24px rgba(15, 23, 42, .06); }
.case-decision-banner--reopen { border-color: rgba(var(--mud-palette-warning-rgb), .32); background: linear-gradient(135deg, rgba(var(--mud-palette-warning-rgb), .09), rgba(var(--mud-palette-primary-rgb), .025)); }
.case-decision-banner__icon { color: var(--mud-palette-primary); } .case-decision-banner__icon--reopen { color: var(--mud-palette-warning-darken); }
.case-decision-banner__eyebrow { color: var(--mud-palette-primary); letter-spacing: .12em; } .case-decision-banner--reopen .case-decision-banner__eyebrow { color: var(--mud-palette-warning-darken); }
.case-decision-banner__description { color: var(--mud-palette-text-secondary); }
/* DOK-398 — a prova do que a decisão vai cobrir: discreta, e a aviso quando há obrigatórios em branco. */
.case-decision-banner__proof { color: var(--mud-palette-text-secondary); opacity: .9; }
.case-decision-banner__proof--gap { color: var(--mud-palette-warning-darken); opacity: 1; font-weight: var(--dok-font-weight-semibold); }
.case-decision-banner__decision { height: 100%; justify-content: center; } .case-decision-banner__actions { flex-wrap: wrap; } .case-decision-banner__comment .mud-input { background: rgba(var(--mud-palette-surface-rgb), .96); border-radius: 4px; }
.case-status-badge { display: inline-flex; align-items: center; padding: .32rem .58rem; border-radius: 999px; font-size: .72rem; font-weight: 850; white-space: nowrap; }
/* DOK-328 — palette with alpha, so it follows dark mode. The state (DOK-1434) and the document's level (DOK-1478) left
   this badge for their chips; the subject warnings and the document's "Acesso restrito" still wear it. DOK-1435 —
   the text takes the warning ink: the palette amber on its own wash read at 1.9:1. */
.case-status-badge--warning { background: rgba(var(--mud-palette-warning-rgb), .14); color: var(--dok-tone-warning-ink); }

/* DOK-511 — the "your part is done, an external system has it now" notice. It sits under the header so
   it is visible whichever rail step is open, and it deliberately carries no attempt counter, no
   AwaitingCallback and no elapsed time: that detail belongs to the DOK-490 execution history, one
   section below, and repeating it here would turn a reassurance into a diagnostic. */
.case-external-notice {
    display: flex;
    align-items: flex-start;
    /* .case-header is a wrapping flex row; this claims a full line of its own under the identity
       block instead of being squeezed in beside the status pill. */
    flex: 1 1 100%;
    gap: .7rem;
    margin: .35rem 0 0;
    padding: .8rem .95rem;
    border: 1px solid rgba(var(--mud-palette-tertiary-rgb), .28);
    border-left: 3px solid var(--mud-palette-tertiary);
    border-radius: 8px;
    background: rgba(var(--mud-palette-tertiary-rgb), .07);
}

.case-external-notice__icon { flex: 0 0 auto; color: var(--mud-palette-tertiary-darken); }
.case-external-notice__title { color: var(--mud-palette-text-primary); font-size: .88rem; font-weight: 850; }
.case-external-notice__body { margin-top: .15rem; color: var(--mud-palette-text-primary); font-size: .82rem; font-weight: var(--dok-font-weight-semibold); line-height: 1.45; }
/* DOK-512 — the "taking longer than expected" line inside the same notice. Warning-coloured, not
   error-coloured, and deliberately not a badge: nothing failed and the dossier has not changed state. */
.case-external-notice__stalled { display: flex; align-items: center; gap: .35rem; margin-top: .4rem; color: var(--mud-palette-warning-darken); font-size: .78rem; font-weight: 750; }
.case-external-notice__hint { margin-top: .3rem; color: var(--mud-palette-text-secondary); font-size: .74rem; font-weight: 650; }
@keyframes case-created-enter { from { opacity: 0; transform: translateY(-8px) scale(.99); } to { opacity: 1; transform: translateY(0) scale(1); } }
@keyframes case-created-pulse { 50% { transform: scale(1.12); opacity: .6; } }
@keyframes case-created-ring { 70%, 100% { transform: scale(1.35); opacity: 0; } }
@keyframes case-created-spark { 50% { transform: translateY(-5px) scale(1.35); opacity: .55; } }
@media (max-width: 1199.98px) {
    /* rail-internal responsive rules come from dok-cadastro.css */
    /* DOK-364 — minmax(0,1fr), not 1fr: a bare 1fr track refuses to shrink below its
       content, so one wide child (a table, a long file name) blew the page out sideways. */
    /* DOK-323 — under 1200px the context zone drops below the content instead of squeezing it.
       No drawer, no overlay: the panel is always in the page, just further down. */
    .case-rail-layout { grid-template-columns: minmax(0, 1fr); grid-template-areas: "rail" "content" "context" "footer"; }
    .case-footer { position: fixed; bottom: 0; left: 0; right: 0; z-index: 1200; border-radius: 0; margin-top: 0; }
    .case-step-content { padding-bottom: 5rem; }
}
/* DOK-364 — clear the shell's fixed areas bar, which shares this z-index and comes later
   in the DOM. Same reasoning as the shared .dok-cadastro-footer rule. */
@media (max-width: 720px) {
    .case-footer { bottom: var(--dok-mobile-areas-height, 60px); }
    .case-step-content { padding-bottom: calc(5rem + var(--dok-mobile-areas-height, 60px)); }
}
@media (max-width: 767.98px) { .case-process-data__body { padding: 0 .8rem; } .case-dossier-capacity { grid-template-columns: 1fr; } .case-review__decision { align-items: flex-start; flex-direction: column; } .case-review__actions, .case-created__actions { justify-content: flex-start; } .case-review__summary, .case-created__details { grid-template-columns: repeat(2, minmax(0, 1fr)); } .case-created { grid-template-columns: 1fr; } .case-created__art { min-height: 9rem; } .case-created__actions { grid-column: 1 / -1; } }
