:root {
  --primary: #00477b;
  --secondary: #062f49;
  --accent: #5a5f61;
  --on-primary: #ffffff;
  --on-secondary: #ffffff;
  --font-family: "Aptos", Calibri, Arial, sans-serif;
  --display-font-family: "Aptos Display", "Aptos", Calibri, Arial, sans-serif;
  --red: var(--primary);
  --red-dark: color-mix(in srgb, var(--primary) 82%, #000000);
  --red-soft: color-mix(in srgb, var(--primary) 8%, #ffffff);
  --ink: #19202a;
  --muted: #657080;
  --line: #dde2e8;
  --surface: #ffffff;
  --canvas: #f6f8fa;
  --green: #137a55;
  --green-soft: #e8f6f0;
  --amber: #a96200;
  --amber-soft: #fff4d6;
  --danger: #c52b35;
  --danger-soft: #ffebed;
  --gray-soft: #edf0f3;
  --shadow: 0 12px 34px rgba(20, 30, 42, .08);
  --radius: 12px;
  --sidebar: 232px;
  --topbar: 64px;
}

* { box-sizing: border-box; }
html { color-scheme: light; scroll-behavior: smooth; }
body { margin: 0; color: var(--ink); background: var(--canvas); font-family: var(--font-family); font-size: 14px; line-height: 1.5; }
a { color: inherit; text-decoration: none; }
button, input, select, textarea { font: inherit; }
button, a { -webkit-tap-highlight-color: transparent; }
:focus-visible { outline: 3px solid color-mix(in srgb, var(--primary) 35%, transparent); outline-offset: 2px; }
h1, h2, h3, p { margin-top: 0; }
h1, h2, h3 { font-family: var(--display-font-family); }
h1 { margin-bottom: .35rem; font-size: clamp(1.7rem, 2.4vw, 2.35rem); font-weight: 650; line-height: 1.12; letter-spacing: -.025em; }
h2 { margin-bottom: .55rem; font-size: 1.08rem; font-weight: 650; line-height: 1.25; letter-spacing: -.01em; }
h3 { font-size: .98rem; line-height: 1.4; }
small { line-height: 1.35; }
.sr-only { position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip: rect(0, 0, 0, 0); white-space: nowrap; border: 0; }

.skip-link { position: fixed; z-index: 1000; top: -60px; left: 16px; padding: 10px 14px; color: #fff; background: var(--ink); border-radius: 8px; }
.skip-link:focus { top: 12px; }

.app-shell { min-height: 100vh; }
.sidebar { position: fixed; z-index: 90; inset: 0 auto 0 0; width: var(--sidebar); display: flex; flex-direction: column; padding: 14px 12px 12px; color: var(--on-secondary); background: var(--secondary); overflow-y: auto; }
.sidebar-brand { display: flex; align-items: center; gap: 10px; min-height: 50px; padding: 4px 8px 16px; border-bottom: 1px solid color-mix(in srgb, var(--on-secondary) 12%, transparent); }
.brand-mark, .brand-logo-wrap { display: grid; place-items: center; flex: 0 0 34px; width: 34px; height: 34px; overflow: hidden; color: var(--on-primary); font-size: .68rem; font-weight: 900; background: var(--primary); border-radius: 9px; }
.brand-logo { display: block; max-width: 30px; max-height: 30px; object-fit: contain; }
.brand-copy { display: flex; min-width: 0; flex-direction: column; }
.brand-copy strong { overflow: hidden; font-size: .82rem; text-overflow: ellipsis; white-space: nowrap; }
.brand-copy small { color: color-mix(in srgb, var(--on-secondary) 62%, transparent); font-size: .56rem; font-weight: 750; letter-spacing: .08em; }
.sidebar-nav { flex: 1; padding-top: 8px; }
.nav-caption { margin: 18px 10px 6px; color: color-mix(in srgb, var(--on-secondary) 48%, transparent); font-size: .57rem; font-weight: 800; letter-spacing: .13em; }
.nav-caption:first-child { margin-top: 6px; }
.nav-item { display: flex; align-items: center; gap: 10px; min-height: 38px; padding: 8px 10px; color: color-mix(in srgb, var(--on-secondary) 72%, transparent); font-size: .72rem; font-weight: 630; border-radius: 7px; transition: color .15s ease, background .15s ease; }
.nav-item:hover, .nav-item:focus-visible, .nav-item.is-active { color: var(--on-secondary); background: color-mix(in srgb, var(--on-secondary) 9%, transparent); outline: none; }
.nav-item.is-active { font-weight: 760; }
.nav-icon, .topbar svg, .logout-button svg { width: 17px; height: 17px; fill: none; stroke: currentColor; stroke-width: 1.8; stroke-linecap: round; stroke-linejoin: round; }
.sidebar-footer { display: grid; grid-template-columns: 34px minmax(0, 1fr) 30px; gap: 9px; align-items: center; margin-top: 14px; padding: 12px 7px 4px; border-top: 1px solid color-mix(in srgb, var(--on-secondary) 12%, transparent); }
.avatar, .topbar-avatar { display: grid; place-items: center; width: 32px; height: 32px; color: #fff; font-size: .68rem; font-weight: 850; background: #1688c7; border-radius: 50%; }
.sidebar-user { display: flex; min-width: 0; flex-direction: column; }
.sidebar-user strong { overflow: hidden; font-size: .68rem; text-overflow: ellipsis; white-space: nowrap; }
.sidebar-user small { color: color-mix(in srgb, var(--on-secondary) 58%, transparent); font-size: .58rem; }
.logout-button { display: grid; place-items: center; width: 30px; height: 30px; padding: 0; color: color-mix(in srgb, var(--on-secondary) 68%, transparent); background: transparent; border: 0; border-radius: 7px; cursor: pointer; }
.logout-button:hover { color: var(--on-secondary); background: color-mix(in srgb, var(--on-secondary) 9%, transparent); }
.workspace { min-height: 100vh; margin-left: var(--sidebar); }
.topbar { position: sticky; z-index: 70; top: 0; height: var(--topbar); display: flex; align-items: center; gap: 9px; padding: 0 18px; color: var(--ink); background: rgba(255,255,255,.96); border-bottom: 1px solid var(--line); backdrop-filter: blur(12px); }
.nav-toggle { display: none; place-items: center; width: 38px; height: 38px; padding: 0; color: var(--ink); background: #fff; border: 1px solid var(--line); border-radius: 8px; }
.global-search { position: relative; display: flex; flex: 1; align-items: center; min-width: 180px; max-width: 540px; height: 36px; color: #7a8491; background: #fff; border: 1px solid var(--line); border-radius: 8px; }
.global-search svg { flex: 0 0 auto; margin-left: 10px; }
.global-search input { min-width: 0; flex: 1; height: 100%; padding: 0 9px; color: var(--ink); background: transparent; border: 0; outline: 0; }
.global-search input::placeholder { color: #9aa2ac; }
.global-search kbd { margin-right: 7px; padding: 2px 5px; color: #8c95a0; font: 550 .55rem var(--font-family); background: #f4f6f8; border: 1px solid #e2e6ea; border-radius: 4px; }
.topbar-spacer { flex: 1; }
.online-pill, .entity-chip { display: inline-flex; align-items: center; gap: 7px; min-height: 36px; padding: 0 10px; color: #4e5966; font-size: .63rem; font-weight: 650; background: #fff; border: 1px solid var(--line); border-radius: 8px; white-space: nowrap; }
.online-pill i { width: 6px; height: 6px; background: var(--green); border-radius: 50%; box-shadow: 0 0 0 3px color-mix(in srgb, var(--green) 12%, transparent); }
.entity-chip span { display: grid; place-items: center; width: 22px; height: 22px; color: var(--on-primary); font-size: .55rem; font-weight: 850; background: var(--primary); border-radius: 6px; }
.topbar-icon { display: grid; place-items: center; width: 36px; height: 36px; color: #5f6975; background: #fff; border: 1px solid var(--line); border-radius: 8px; }
.topbar-icon:hover, .entity-chip:hover { border-color: color-mix(in srgb, var(--primary) 35%, var(--line)); }
.main-content { min-height: calc(100vh - var(--topbar)); padding: 26px clamp(18px, 2.5vw, 34px) 18px; }
.main-content--full { min-height: 100vh; padding: 0; }
.app-footer { margin-top: 30px; padding-top: 16px; color: #7b8490; font-size: .68rem; text-align: center; border-top: 1px solid var(--line); }
.nav-overlay { display: none; }
.access-badge { padding: 5px 9px; color: var(--primary); font-size: .62rem; font-weight: 800; letter-spacing: .09em; border: 1px solid color-mix(in srgb, var(--primary) 30%, var(--line)); border-radius: 999px; }
.access-badge--light { background: var(--red-soft); }
.header-actions { display: flex; flex-wrap: wrap; gap: 8px; }

.page-header, .record-header { display: flex; align-items: center; justify-content: space-between; gap: 24px; margin-bottom: 22px; }
.page-header p, .record-header p { margin-bottom: 0; color: var(--muted); }
.page-header--compact { margin-bottom: 16px; }
.eyebrow { display: block; margin-bottom: 7px; color: var(--red); font-size: .65rem; font-weight: 850; letter-spacing: .14em; }
.header-meta { min-width: 135px; padding-left: 14px; border-left: 2px solid var(--red); }
.header-meta span, .header-meta strong { display: block; }
.header-meta span { color: var(--muted); font-size: .69rem; }
.header-meta strong { font-size: .85rem; }
.back-link { display: inline-block; margin-bottom: 7px; color: var(--muted); font-size: .75rem; font-weight: 650; }
.back-link:hover { color: var(--red); }

.panel { background: var(--surface); border: 1px solid var(--line); border-radius: var(--radius); box-shadow: 0 1px 2px rgba(20, 30, 42, .025); }
.section-heading { display: flex; align-items: center; justify-content: space-between; gap: 18px; margin-bottom: 17px; }
.section-heading > div { display: flex; align-items: center; gap: 10px; }
.section-heading h2 { margin: 0; }
.section-number { display: grid; place-items: center; width: 28px; height: 28px; color: var(--red); font-size: .67rem; font-weight: 850; background: var(--red-soft); border-radius: 7px; }
.text-link { color: var(--red); font-size: .77rem; font-weight: 750; white-space: nowrap; }
.text-link:hover { color: var(--red-dark); }
.muted { color: var(--muted); }

.btn { display: inline-flex; align-items: center; justify-content: center; min-height: 39px; padding: 0 16px; font-size: .78rem; font-weight: 750; border: 1px solid transparent; border-radius: 9px; cursor: pointer; transition: transform .12s ease, box-shadow .12s ease, background .12s ease; }
.btn:hover { transform: translateY(-1px); }
.btn--primary { color: var(--on-primary); background: var(--red); box-shadow: 0 6px 14px color-mix(in srgb, var(--red) 20%, transparent); }
.btn--primary:hover { background: var(--red-dark); }
.btn--secondary { color: var(--red-dark); background: var(--red-soft); border-color: color-mix(in srgb, var(--red) 25%, var(--line)); }
.btn--ghost { color: #4f5966; background: #fff; border-color: var(--line); }
.btn--danger { color: #fff; background: var(--danger); }
.btn--ghost-danger { color: var(--danger); background: #fff; border-color: #efb9bd; }
.btn--block { width: 100%; }

.messages { display: grid; gap: 8px; margin-bottom: 18px; }
.messages--floating { position: fixed; z-index: 110; top: 18px; right: 18px; width: min(420px, calc(100% - 36px)); }
.message { padding: 11px 14px; font-weight: 650; border-radius: 9px; }
.message--success { color: #0b6745; background: var(--green-soft); border: 1px solid #a9dcc8; }
.message--error { color: #9c1d26; background: var(--danger-soft); border: 1px solid #efb9bd; }
.message--info { color: #375469; background: #e9f3fa; border: 1px solid #bfd6e5; }

.filter-panel { margin-bottom: 16px; padding: 17px; }
.filter-grid { display: grid; grid-template-columns: minmax(180px, 1.6fr) repeat(6, minmax(120px, 1fr)); gap: 12px; align-items: end; }
.field-group { display: flex; flex-direction: column; gap: 5px; min-width: 0; }
.field-group label { color: #424c59; font-size: .72rem; font-weight: 720; }
.field-group label span { color: var(--red); }
.form-control, .form-select { width: 100%; min-height: 39px; padding: 8px 10px; color: var(--ink); background: #fff; border: 1px solid #cfd5dc; border-radius: 8px; outline: none; }
textarea.form-control { resize: vertical; }
.form-control:focus, .form-select:focus { border-color: var(--red); box-shadow: 0 0 0 3px color-mix(in srgb, var(--red) 10%, transparent); }
.color-control { min-height: 44px; padding: 4px; cursor: pointer; }
.filter-actions { display: flex; gap: 7px; }
.help-text { color: var(--muted); font-size: .68rem; }
.field-error, .errorlist { margin: 0; color: var(--danger); font-size: .72rem; list-style: none; padding: 0; }
.form-errors { margin-bottom: 14px; padding: 10px 12px; color: var(--danger); background: var(--danger-soft); border-radius: 8px; }

.table-panel { overflow: hidden; }
.table-toolbar { display: flex; align-items: center; justify-content: space-between; gap: 16px; padding: 17px 20px; border-bottom: 1px solid var(--line); }
.table-toolbar h2 { margin: 0; }
.table-scroll { width: 100%; overflow-x: auto; }
table { width: 100%; border-collapse: collapse; }
th, td { padding: 12px 14px; text-align: left; vertical-align: middle; border-bottom: 1px solid #e9edf1; }
th { color: #6b7480; background: #f8f9fa; font-size: .66rem; font-weight: 800; letter-spacing: .065em; text-transform: uppercase; white-space: nowrap; }
td { font-size: .76rem; }
tbody tr:hover { background: #fbfcfd; }
tbody tr:last-child td { border-bottom: 0; }
td small { display: block; margin-top: 2px; color: var(--muted); }
.record-link { color: var(--red-dark); font-weight: 800; }
.record-link:hover { text-decoration: underline; }
.module-number { display: inline-grid; place-items: center; width: 24px; height: 24px; margin-right: 7px; color: var(--red); font-size: .65rem; font-weight: 850; background: var(--red-soft); border-radius: 6px; }
.progress-cell { display: flex; align-items: center; gap: 8px; min-width: 116px; }
.progress-track { position: relative; height: 7px; flex: 1; overflow: hidden; background: #e7eaee; border-radius: 999px; }
.progress-track span { display: block; height: 100%; background: linear-gradient(90deg, var(--red), color-mix(in srgb, var(--red) 60%, #ffffff)); border-radius: inherit; }
.progress-track--large { height: 9px; margin-top: 8px; }
.progress-cell strong { min-width: 34px; font-size: .72rem; }
.icon-button { display: grid; place-items: center; width: 30px; height: 30px; color: var(--red); background: var(--red-soft); border-radius: 8px; }
.pagination { display: flex; align-items: center; justify-content: center; gap: 5px; padding: 15px; border-top: 1px solid var(--line); }
.pagination a, .pagination span, .pagination strong { display: grid; place-items: center; min-width: 31px; height: 31px; padding: 0 8px; font-size: .69rem; border: 1px solid var(--line); border-radius: 7px; }
.pagination a:hover { color: var(--red); border-color: #e7a9ae; }
.pagination strong { color: #fff; background: var(--red); border-color: var(--red); }
.pagination span { color: #adb4bc; background: #f6f7f8; }
.empty-state { display: flex; flex-direction: column; align-items: center; justify-content: center; min-height: 100px; padding: 20px; color: var(--muted); text-align: center; }
.empty-state strong { color: #4d5661; }

.status-pill, .alert-pill, .priority { display: inline-flex; align-items: center; gap: 6px; width: fit-content; padding: 4px 8px; font-size: .65rem; font-weight: 760; border-radius: 999px; white-space: nowrap; }
.status-pill--pending { color: #59636f; background: var(--gray-soft); }
.status-pill--in_progress { color: #22607d; background: #e4f3fa; }
.status-pill--finished, .status-pill--completed { color: var(--green); background: var(--green-soft); }
.status-pill--not_executed, .status-pill--overdue, .status-pill--cancelled { color: var(--danger); background: var(--danger-soft); }
.alert-pill i, .alert-dot { display: inline-block; width: 7px; height: 7px; border-radius: 50%; }
.alert-pill--green { color: var(--green); background: var(--green-soft); }.alert-pill--green i, .alert-dot--green { background: var(--green); }
.alert-pill--amber { color: var(--amber); background: var(--amber-soft); }.alert-pill--amber i, .alert-dot--amber { background: #d58a18; }
.alert-pill--red { color: var(--danger); background: var(--danger-soft); }.alert-pill--red i, .alert-dot--red { background: var(--danger); }
.alert-pill--gray { color: #657080; background: var(--gray-soft); }.alert-pill--gray i, .alert-dot--gray { background: #8d96a1; }
.priority--low { color: var(--green); background: var(--green-soft); }.priority--medium { color: #22607d; background: #e4f3fa; }.priority--high { color: var(--amber); background: var(--amber-soft); }.priority--critical { color: var(--danger); background: var(--danger-soft); }

.form-panel { max-width: 920px; padding: 24px; }
.form-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 17px; }
.field-group--wide { grid-column: 1 / -1; }
.field-group--check { flex-direction: row; flex-wrap: wrap; align-items: center; padding-top: 24px; }
.form-check-input { width: 18px; height: 18px; accent-color: var(--red); }
.field-group--check .help-text, .field-group--check .field-error { flex-basis: 100%; padding-left: 23px; }
.form-actions { display: flex; justify-content: flex-end; gap: 9px; margin-top: 22px; padding-top: 17px; border-top: 1px solid var(--line); }
.notice { display: flex; align-items: flex-start; gap: 12px; margin-bottom: 17px; padding: 12px 14px; color: #5e4a18; background: #fff9e9; border: 1px solid #ead9a7; border-radius: 9px; }
.notice strong { color: #8b5f00; white-space: nowrap; }
.confirm-card, .error-card { max-width: 620px; margin: 8vh auto 0; padding: 38px; text-align: center; background: #fff; border: 1px solid var(--line); border-radius: 18px; box-shadow: var(--shadow); }
.confirm-icon { display: grid; place-items: center; width: 54px; height: 54px; margin: 0 auto 15px; color: var(--danger); font-size: 1.6rem; font-weight: 900; background: var(--danger-soft); border-radius: 50%; }
.confirm-card > p, .error-card > p { color: var(--muted); }
.confirm-record { display: flex; flex-direction: column; margin: 20px 0; padding: 15px; text-align: left; background: #f7f8fa; border-radius: 10px; }
.confirm-record span { color: var(--muted); }
.confirm-card .form-actions { justify-content: center; }
.error-card > strong { color: var(--red); font-size: 3.7rem; line-height: 1; }

.record-header { align-items: flex-end; padding-bottom: 20px; border-bottom: 1px solid var(--line); }
.record-header h1 { margin-bottom: .2rem; color: var(--red-dark); }
.record-header__actions { display: flex; align-items: center; gap: 8px; }
.record-kicker { display: flex; gap: 7px; margin-bottom: 8px; }
.record-kicker span { padding: 3px 7px; color: #5d6671; font-size: .65rem; font-weight: 700; background: #e9edf1; border-radius: 5px; }
.workflow { display: grid; grid-template-columns: repeat(9, minmax(0, 1fr)); gap: 3px; margin-bottom: 18px; padding: 14px; background: #fff; border: 1px solid var(--line); border-radius: 12px; overflow-x: auto; }
.workflow-step { position: relative; display: flex; flex-direction: column; align-items: center; gap: 4px; min-width: 70px; color: #9aa2ac; font-size: .61rem; font-weight: 700; }
.workflow-step:not(:last-child)::after { content: ""; position: absolute; top: 12px; left: calc(50% + 14px); width: calc(100% - 28px); height: 2px; background: #e2e5e9; }
.workflow-step b { position: relative; z-index: 1; display: grid; place-items: center; width: 25px; height: 25px; color: #87909b; background: #eef0f3; border-radius: 50%; }
.workflow-step.is-complete { color: var(--green); }.workflow-step.is-complete b { color: #fff; background: var(--green); }.workflow-step.is-complete:not(:last-child)::after { background: #a8d9c7; }
.workflow-step.is-alert { color: var(--danger); }.workflow-step.is-alert b { color: #fff; background: var(--danger); }
.alert-summary { display: flex; align-items: flex-start; gap: 20px; margin-bottom: 18px; padding: 12px 15px; border-radius: 10px; }
.alert-summary strong { min-width: 130px; }
.alert-summary ul { margin: 0; padding-left: 18px; }
.alert-summary--red { color: #8f1d25; background: var(--danger-soft); border: 1px solid #efb9bd; }
.alert-summary--amber { color: #815004; background: var(--amber-soft); border: 1px solid #ead098; }
.alert-summary--green { color: #0f6647; background: var(--green-soft); border: 1px solid #afddcc; }
.alert-summary--gray { color: #59636f; background: var(--gray-soft); border: 1px solid #d6dbe0; }
.detail-layout { display: grid; grid-template-columns: minmax(0, 1fr) 285px; gap: 18px; align-items: start; }
.detail-main { display: grid; gap: 16px; }
.detail-section { padding: 20px; }
.definition-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 15px 22px; margin: 0; }
.definition-grid div { min-width: 0; }
.definition-grid dt, .side-definitions dt, .inline-definitions dt { margin-bottom: 3px; color: #7b8490; font-size: .66rem; font-weight: 750; letter-spacing: .03em; text-transform: uppercase; }
.definition-grid dd, .side-definitions dd, .inline-definitions dd { margin: 0; font-size: .81rem; font-weight: 590; overflow-wrap: anywhere; }
.definition-wide { grid-column: 1 / -1; }
.definition-grid--compact { margin-top: 16px; padding-top: 15px; border-top: 1px solid var(--line); }
.execution-highlight { display: grid; grid-template-columns: 1.8fr repeat(3, 1fr); gap: 12px; padding: 14px; background: #f7f8fa; border-radius: 10px; }
.execution-highlight > div { padding-right: 10px; border-right: 1px solid var(--line); }
.execution-highlight > div:last-child { border-right: 0; }
.execution-highlight span, .gap-metrics span { display: block; margin-bottom: 4px; color: var(--muted); font-size: .66rem; }
.execution-highlight strong { font-size: 1rem; }
.history-details { margin-top: 14px; border-top: 1px solid var(--line); }
.history-details summary { padding: 12px 2px 0; color: var(--red); font-size: .72rem; font-weight: 750; cursor: pointer; }
.evidence-list { display: grid; gap: 8px; }
.evidence-item { display: flex; align-items: center; gap: 12px; padding: 10px; border: 1px solid var(--line); border-radius: 9px; }
.file-icon { display: grid; place-items: center; width: 38px; height: 42px; color: var(--red); font-size: .58rem; font-weight: 900; background: var(--red-soft); border-radius: 6px; }
.evidence-item > div:nth-child(2) { display: flex; flex: 1; flex-direction: column; min-width: 0; }
.evidence-item > div span, .evidence-item small { color: var(--muted); font-size: .68rem; overflow-wrap: anywhere; }
.evidence-actions { display: flex; align-items: center; gap: 10px; color: var(--red); font-size: .7rem; font-weight: 700; }
.gap-metrics { display: grid; grid-template-columns: repeat(4, 1fr); gap: 8px; margin-bottom: 17px; }
.gap-metrics > div { padding: 12px; background: #f5f7f9; border-radius: 8px; }
.gap-metrics strong { font-size: 1.08rem; }
.gap-metric--accent { color: #fff; background: var(--red) !important; }.gap-metric--accent span { color: #ffd6d9; }
.improvement-card { margin-top: 10px; padding: 14px; border: 1px solid var(--line); border-left: 3px solid var(--red); border-radius: 9px; }
.improvement-card__top { display: flex; justify-content: space-between; gap: 16px; }
.improvement-card__top h3 { margin: 7px 0 8px; }
.improvement-card__top > strong { color: var(--red); font-size: 1.1rem; }
.inline-definitions { display: grid; grid-template-columns: 1fr 1fr 1.5fr; gap: 12px; margin: 13px 0 0; }
.card-actions { display: flex; gap: 14px; margin-top: 12px; padding-top: 10px; color: var(--red); font-size: .7rem; font-weight: 750; border-top: 1px solid var(--line); }
.timeline { display: grid; gap: 9px; margin: 12px 0 0; padding: 0; list-style: none; }
.timeline li { position: relative; padding-left: 36px; }
.timeline b { position: absolute; left: 0; color: var(--red); font-size: .68rem; }.timeline span { color: var(--muted); font-size: .68rem; }.timeline p { margin: 2px 0 0; font-size: .74rem; }
.closure-card { display: flex; gap: 13px; padding: 14px; background: #f5f7f9; border: 1px solid var(--line); border-radius: 10px; }
.closure-card--validated { background: var(--green-soft); border-color: #b3dfcf; }
.closure-mark { display: grid; place-items: center; flex: 0 0 auto; width: 34px; height: 34px; color: #fff; font-weight: 900; background: #82909d; border-radius: 50%; }
.closure-card--validated .closure-mark { background: var(--green); }
.closure-card div { display: flex; flex-direction: column; }.closure-card div span { color: var(--muted); font-size: .68rem; }.closure-card p { margin: 8px 0 0; }
.detail-aside { position: sticky; top: calc(var(--topbar) + 18px); display: grid; gap: 14px; }
.compact-panel { padding: 17px; }
.donut { --progress: 0; display: grid; place-content: center; width: 128px; height: 128px; margin: 12px auto 18px; background: radial-gradient(closest-side, #fff 78%, transparent 80% 99%), conic-gradient(var(--red) calc(var(--progress) * 1%), #e9ecef 0); border-radius: 50%; }
.donut strong, .donut span { display: block; text-align: center; }.donut strong { font-size: 1.4rem; }.donut span { color: var(--muted); font-size: .65rem; }
.side-definitions { display: grid; grid-template-columns: 1fr 1fr; gap: 12px; margin: 0; }
.audit-list { display: grid; gap: 12px; margin: 0; padding: 0; list-style: none; }
.audit-list li { display: flex; gap: 9px; }.audit-list i { flex: 0 0 auto; width: 7px; height: 7px; margin-top: 5px; background: var(--red); border-radius: 50%; }.audit-list div { display: flex; flex-direction: column; }.audit-list strong { font-size: .69rem; }.audit-list span, .audit-list small { color: var(--muted); font-size: .64rem; }
.privacy-card { padding: 15px; color: #5c4e24; background: #fff7df; border: 1px solid #ead49b; border-radius: 11px; }.privacy-card strong { font-size: .73rem; }.privacy-card p { margin: 5px 0 0; font-size: .66rem; }

.kpi-grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 14px; margin-bottom: 16px; }
.kpi-grid--three { grid-template-columns: repeat(3, 1fr); }
.kpi-card { --kpi-color: var(--accent); --kpi-soft: #e9f8f0; min-height: 150px; padding: 16px; background: #fff; border: 1px solid var(--line); border-radius: 11px; box-shadow: 0 1px 2px rgba(20,30,42,.025); }
.kpi-top { display: flex; align-items: center; justify-content: space-between; gap: 10px; color: #67717e; font-size: .65rem; font-weight: 680; }
.kpi-icon { display: grid; place-items: center; width: 27px; height: 27px; color: var(--kpi-color); font-size: .66rem; font-style: normal; font-weight: 850; background: var(--kpi-soft); border-radius: 7px; }
.kpi-card > strong { display: block; margin: 12px 0 5px; font-size: 1.75rem; line-height: 1; letter-spacing: -.04em; }
.kpi-card > small { display: block; min-height: 19px; color: var(--muted); font-size: .61rem; }
.kpi-trend { height: 5px; margin-top: 18px; overflow: hidden; background: #edf0f3; border-radius: 99px; }
.kpi-trend span { display: block; height: 100%; background: var(--kpi-color); border-radius: inherit; }
.kpi-card--green { --kpi-color: var(--accent); --kpi-soft: color-mix(in srgb, var(--accent) 11%, white); }
.kpi-card--blue { --kpi-color: #1599c4; --kpi-soft: #e8f7fb; }
.kpi-card--purple { --kpi-color: #7668f5; --kpi-soft: #efedff; }
.kpi-card--orange { --kpi-color: #f08a28; --kpi-soft: #fff2e4; }
.kpi-card--primary { border-top-color: var(--red); }.kpi-card--warning { border-top-color: #db941f; }.kpi-card--danger { border-top-color: var(--danger); }
.dashboard-grid { display: grid; grid-template-columns: minmax(0, 2fr) minmax(260px, 1fr); gap: 16px; }
.dashboard-grid > .panel { padding: 19px; }
.dashboard-span-2 { grid-column: 1 / 2; }
.dashboard-panel .section-heading { align-items: flex-start; }
.dashboard-panel .section-heading > div { display: block; }
.dashboard-panel .section-heading .eyebrow { margin-bottom: 4px; }
.dashboard-panel .section-heading h2 { margin-bottom: 2px; }
.dashboard-panel .section-heading p { margin: 0; color: var(--muted); font-size: .63rem; }
.bar-list { display: grid; gap: 9px; }
.bar-row { display: grid; grid-template-columns: minmax(250px, 1.6fr) minmax(140px, 1fr) 47px 65px; gap: 10px; align-items: center; padding: 6px 7px; border-radius: 7px; }
.bar-row:hover { background: #f7f8fa; }
.bar-label { display: flex; align-items: center; gap: 8px; min-width: 0; }.bar-label b { display: grid; place-items: center; flex: 0 0 auto; width: 25px; height: 25px; color: var(--red); font-size: .65rem; background: var(--red-soft); border-radius: 6px; }.bar-label span { overflow: hidden; font-size: .71rem; text-overflow: ellipsis; white-space: nowrap; }
.bar-track { height: 7px; overflow: hidden; background: #e7eaee; border-radius: 99px; }.bar-track i { display: block; height: 100%; background: var(--accent); border-radius: inherit; }
.bar-row > strong { font-size: .7rem; }.bar-row > small { color: var(--muted); font-size: .62rem; }
.territory-list, .recent-list, .alert-list { display: grid; }
.territory-list a, .recent-list a { display: flex; align-items: center; justify-content: space-between; gap: 10px; padding: 11px 4px; border-bottom: 1px solid #edf0f2; }.territory-list a:last-child, .recent-list a:last-child { border-bottom: 0; }.territory-list a:hover strong, .recent-list a:hover strong { color: var(--red); }.territory-list div { display: flex; flex-direction: column; }.territory-list small { color: var(--muted); font-size: .63rem; }.territory-list > a > span { color: var(--red); font-weight: 800; }
.alert-row { display: grid; grid-template-columns: 10px minmax(0, 1fr) auto; gap: 10px; align-items: center; padding: 10px 4px; border-bottom: 1px solid #edf0f2; }.alert-row:last-child { border-bottom: 0; }.alert-row > div { display: flex; flex-direction: column; }.alert-row strong { font-size: .72rem; }.alert-row small { color: var(--muted); font-size: .63rem; }
.recent-list a { flex-direction: column; align-items: flex-start; gap: 1px; }.recent-list span { color: var(--red); font-size: .62rem; font-weight: 800; }.recent-list strong { font-size: .71rem; }.recent-list small { color: var(--muted); font-size: .62rem; }

.report-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 15px; margin-bottom: 16px; }
.report-card { display: flex; flex-direction: column; min-height: 260px; padding: 20px; background: #fff; border: 1px solid var(--line); border-radius: 13px; }
.report-icon { display: grid; place-items: center; width: 44px; height: 44px; margin-bottom: 18px; color: #fff; font-size: 1rem; font-weight: 900; background: var(--red); border-radius: 10px; }.report-card p { color: var(--muted); }.report-card > div:nth-child(2) { flex: 1; }.download-buttons { display: flex; gap: 7px; padding-top: 15px; border-top: 1px solid var(--line); }.download-buttons a { flex: 1; padding: 7px; color: var(--red); font-size: .7rem; font-weight: 800; text-align: center; background: var(--red-soft); border-radius: 7px; }.download-buttons a:hover { color: #fff; background: var(--red); }
.catalog-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 14px; margin-bottom: 17px; }.catalog-card { display: grid; grid-template-columns: auto 1fr; gap: 12px; padding: 18px; background: #fff; border: 1px solid var(--line); border-radius: 12px; }.catalog-number { display: grid; place-items: center; width: 48px; height: 48px; color: var(--red); font-size: 1.2rem; font-weight: 900; background: var(--red-soft); border-radius: 10px; }.catalog-card h2 { margin: 2px 0 3px; }.catalog-card p { margin: 0 0 7px; color: var(--muted); font-size: .7rem; }.catalog-card small { color: #7b8490; font-size: .62rem; }.catalog-card > a, .catalog-card > .muted { grid-column: 2; color: var(--red); font-size: .7rem; font-weight: 750; }
.permission-matrix { padding: 19px; }.permission-matrix td:not(:first-child), .permission-matrix th:not(:first-child) { text-align: center; }

.guided-strip { display: grid; grid-template-columns: 1fr auto 1fr auto 1fr; gap: 14px; align-items: center; margin-bottom: 17px; padding: 15px 18px; background: #fff; border: 1px solid var(--line); border-radius: 11px; }
.guided-strip > div { display: flex; align-items: center; gap: 10px; opacity: .58; }.guided-strip > div.is-current { opacity: 1; }.guided-strip > div > span { display: grid; place-items: center; flex: 0 0 auto; width: 27px; height: 27px; color: var(--on-primary); font-size: .65rem; font-weight: 850; background: var(--primary); border-radius: 50%; }.guided-strip > div:not(.is-current) > span { color: #59636f; background: #e9edf1; }.guided-strip p { display: flex; flex-direction: column; margin: 0; }.guided-strip strong { font-size: .7rem; }.guided-strip small { color: var(--muted); font-size: .61rem; }.guided-strip > i { color: #a4acb5; font-style: normal; }
.context-guide { display: flex; align-items: flex-start; gap: 12px; margin-bottom: 14px; padding: 11px 14px; color: #41515f; background: #eef6fb; border: 1px solid #d1e5f1; border-radius: 9px; }.context-guide > span { padding: 3px 7px; color: #12648d; font-size: .58rem; font-weight: 850; letter-spacing: .08em; background: #dceef8; border-radius: 5px; }.context-guide p { margin: 0; font-size: .7rem; }
.maintenance-search { display: grid; grid-template-columns: minmax(240px, 1fr) auto; gap: 12px; align-items: end; }.maintenance-filter { padding: 14px 17px; }
.user-filter { display: grid; grid-template-columns: minmax(240px, 1fr) minmax(160px, .35fr) auto; gap: 12px; align-items: end; }
.row-actions { display: flex; align-items: center; gap: 12px; }.row-actions form { margin: 0; }.link-button { padding: 0; color: var(--primary); font-size: .7rem; font-weight: 730; background: none; border: 0; cursor: pointer; }.link-button:hover { text-decoration: underline; }.link-button--danger { color: var(--danger); }
.guided-form-layout { display: grid; grid-template-columns: minmax(0, 1fr) 280px; gap: 16px; align-items: start; }.form-panel--wide { max-width: none; }.form-guide { position: sticky; top: calc(var(--topbar) + 18px); padding: 20px; }.guide-icon { display: grid; place-items: center; width: 34px; height: 34px; margin-bottom: 13px; color: var(--primary); font-weight: 900; background: var(--red-soft); border-radius: 9px; }.form-guide .eyebrow { display: block; margin-bottom: 5px; }.form-guide p, .form-guide li { color: var(--muted); font-size: .69rem; }.form-guide ul { display: grid; gap: 7px; margin: 12px 0 0; padding-left: 17px; }.guide-tip { display: flex; flex-direction: column; gap: 3px; margin-top: 18px; padding: 11px; background: var(--green-soft); border-radius: 8px; }.guide-tip strong { color: var(--green); font-size: .66rem; }.guide-tip span { color: #426657; font-size: .61rem; }.required-note { margin: 13px 0 0; color: var(--muted); font-size: .63rem; }.required-note span { color: var(--danger); font-weight: 900; }
.role-pill { display: inline-flex; padding: 4px 8px; font-size: .63rem; font-weight: 750; border-radius: 999px; }.role-pill--admin { color: #87302e; background: #fdeceb; }.role-pill--technical { color: #225f7e; background: #e8f4fa; }.role-pill--enterprise { color: #6d4c0a; background: #fff3d8; }.role-pill--viewer { color: #59636f; background: #edf0f3; }
.entity-layout { display: grid; grid-template-columns: minmax(0, 1fr) 340px; gap: 17px; align-items: start; }.entity-form-panel { padding: 23px; }.entity-section-break { margin-top: 25px; padding-top: 21px; border-top: 1px solid var(--line); }.entity-preview { position: sticky; top: calc(var(--topbar) + 18px); padding: 16px; background: #fff; border: 1px solid var(--line); border-radius: 12px; }.preview-label { display: flex; align-items: center; justify-content: space-between; margin-bottom: 12px; }.preview-label span { font-size: .72rem; font-weight: 780; }.preview-label small { color: var(--muted); font-size: .59rem; }.preview-window { display: grid; grid-template-columns: 82px 1fr; height: 220px; overflow: hidden; background: #f5f7f9; border: 1px solid var(--line); border-radius: 9px; }.preview-sidebar { display: flex; flex-direction: column; gap: 9px; padding: 10px 8px; background: var(--preview-secondary); }.preview-brand { display: flex; align-items: center; gap: 5px; margin-bottom: 8px; color: #fff; }.preview-brand span, .preview-brand img { display: grid; place-items: center; width: 18px; height: 18px; object-fit: contain; color: #fff; font-size: .38rem; font-weight: 850; background: var(--preview-primary); border-radius: 4px; }.preview-brand b { max-width: 45px; overflow: hidden; font-size: .43rem; text-overflow: ellipsis; white-space: nowrap; }.preview-sidebar > i { display: block; width: 75%; height: 7px; background: rgba(255,255,255,.16); border-radius: 3px; }.preview-sidebar > i.is-active { width: 100%; background: rgba(255,255,255,.34); }.preview-content { padding: 12px; }.preview-topbar { height: 16px; margin: -12px -12px 15px; background: #fff; border-bottom: 1px solid #e5e9ed; }.preview-content h3 { margin-bottom: 2px; font-size: .64rem; }.preview-content p { color: #7c8590; font-size: .48rem; }.preview-cards { display: grid; grid-template-columns: 1fr 1fr; gap: 7px; margin: 12px 0; }.preview-cards span { height: 50px; background: #fff; border: 1px solid #e2e6ea; border-top: 2px solid var(--preview-accent); border-radius: 5px; }.preview-content button { padding: 5px 8px; color: #fff; font-size: .48rem; background: var(--preview-primary); border: 0; border-radius: 4px; }.theme-swatches { display: grid; grid-template-columns: repeat(3, 1fr); gap: 7px; margin: 12px 0; }.theme-swatches span { display: flex; align-items: center; gap: 5px; color: var(--muted); font-size: .57rem; }.theme-swatches i { width: 15px; height: 15px; border: 1px solid rgba(0,0,0,.08); border-radius: 4px; }

.breadcrumb { display: flex; flex-wrap: wrap; align-items: center; gap: 7px; margin: -5px 0 16px; color: var(--muted); font-size: .67rem; }.breadcrumb a { color: var(--primary); font-weight: 720; }.breadcrumb strong { color: var(--ink); }
.guided-strip--operations { margin-bottom: 25px; }
.operation-group { margin-top: 27px; }.operation-card-grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 14px; }.operation-card { display: flex; min-height: 205px; flex-direction: column; overflow: hidden; background: #fff; border: 1px solid var(--line); border-radius: var(--radius); box-shadow: 0 8px 24px rgba(20,30,42,.045); }.operation-card__body { flex: 1; padding: 18px; }.operation-card__body:hover h3 { color: var(--primary); }.operation-card__count { display: grid; place-items: center; width: 34px; height: 34px; margin-bottom: 16px; color: var(--primary); font-size: .72rem; font-weight: 850; background: var(--red-soft); border-radius: 9px; }.operation-card h3 { margin: 0 0 7px; font-size: .86rem; transition: color .15s ease; }.operation-card p { margin: 0; color: var(--muted); font-size: .67rem; }.operation-card footer { display: flex; align-items: center; justify-content: space-between; min-height: 53px; padding: 10px 16px; background: #fafbfc; border-top: 1px solid var(--line); }
.operation-filter { display: grid; grid-template-columns: minmax(220px, 1.6fr) repeat(3, minmax(140px, .7fr)) auto; gap: 12px; align-items: end; }.operation-filter .filter-actions { grid-column: auto; }
.table-summary { display: flex; align-items: center; justify-content: space-between; padding: 14px 17px; border-bottom: 1px solid var(--line); }.table-summary strong { font-size: .74rem; }.table-summary span { color: var(--muted); font-size: .63rem; }
.operation-form .field-group:has(textarea) { grid-column: 1 / -1; }.operation-form .field-group--checkbox { display: grid; grid-template-columns: 22px minmax(0, 1fr); align-content: center; }.operation-form .field-group--checkbox label { grid-column: 2; grid-row: 1; margin: 0; }.operation-form .field-group--checkbox input { grid-column: 1; grid-row: 1; }
.operation-detail-grid { display: grid; grid-template-columns: minmax(0, 1fr) 285px; gap: 16px; align-items: start; }.operation-aside { display: grid; gap: 14px; position: sticky; top: calc(var(--topbar) + 18px); }.next-step-card, .audit-card, .archive-card { padding: 18px; }.next-step-card p, .archive-card p { color: var(--muted); font-size: .67rem; }.audit-mini-list { display: grid; gap: 10px; margin-top: 13px; }.audit-mini-list > div { display: flex; flex-direction: column; gap: 2px; padding-bottom: 9px; border-bottom: 1px solid var(--line); }.audit-mini-list > div:last-child { padding-bottom: 0; border: 0; }.audit-mini-list strong { font-size: .66rem; }.audit-mini-list span { color: var(--muted); font-size: .59rem; }
.permission-role-grid { display: grid; gap: 16px; }.permission-matrix input[type="checkbox"] { display: block; margin: auto; }.permission-matrix th:not(:first-child), .permission-matrix td:not(:first-child) { width: 88px; text-align: center; }.permission-matrix td:first-child, .permission-matrix th:first-child { min-width: 220px; text-align: left; }
.dashboard-filter-panel { margin-bottom: 16px; padding: 15px 17px 11px; }.dashboard-filter-grid { display: grid; grid-template-columns: repeat(5, minmax(130px, 1fr)) auto; gap: 11px; align-items: end; }.dashboard-filter-grid .filter-actions { grid-column: auto; }.dashboard-filter-note { margin: 9px 0 0; color: var(--muted); font-size: .6rem; }.operation-heading { margin: 27px 0 11px; }.operation-kpis { margin-bottom: 16px; }.operation-kpis a { transition: transform .15s ease, box-shadow .15s ease; }.operation-kpis a:hover { transform: translateY(-2px); box-shadow: var(--shadow); }.operational-dashboard-grid { margin-bottom: 17px; }.metric-list { display: grid; }.metric-list a { display: flex; align-items: center; justify-content: space-between; gap: 14px; padding: 11px 0; border-bottom: 1px solid var(--line); }.metric-list a:last-child { border: 0; }.metric-list span { color: var(--muted); font-size: .66rem; }.metric-list strong { font-size: .8rem; }
.funnel-grid { display: grid; gap: 17px; }.funnel-steps { display: flex; align-items: stretch; gap: 7px; overflow-x: auto; padding-bottom: 4px; }.funnel-steps > div { display: flex; min-width: 103px; flex: 1; flex-direction: column; padding: 11px; background: #f4f7f9; border: 1px solid #e3e8ed; border-radius: 8px; }.funnel-steps > div.is-success { background: var(--green-soft); border-color: color-mix(in srgb, var(--green) 22%, #fff); }.funnel-steps span { color: var(--muted); font-size: .57rem; }.funnel-steps strong { font-size: 1.05rem; }.funnel-steps > i { align-self: center; color: #9ca5af; font-style: normal; }.rate-grid { display: grid; grid-template-columns: repeat(7, minmax(90px, 1fr)); gap: 7px; }.rate-grid > div { padding: 9px; background: #fff; border: 1px solid var(--line); border-radius: 7px; }.rate-grid span { display: block; min-height: 27px; color: var(--muted); font-size: .55rem; line-height: 1.25; }.rate-grid strong { font-size: .78rem; }

.login-shell { min-height: 100vh; display: grid; grid-template-columns: minmax(0, 1.12fr) minmax(390px, .88fr); background: #fff; }
.login-intro { position: relative; isolation: isolate; display: flex; flex-direction: column; justify-content: space-between; overflow: hidden; padding: clamp(34px, 5vw, 72px); color: #fff; background: var(--secondary); }
.login-intro::before { position: absolute; z-index: -2; inset: 0; content: ""; background-image: var(--login-photo); background-position: 52% center; background-size: cover; transform: scale(1.015); }
.login-intro::after { position: absolute; z-index: -1; inset: 0; content: ""; background: linear-gradient(90deg, rgba(0,42,70,.93) 0%, rgba(0,55,91,.83) 46%, rgba(0,45,75,.52) 100%), linear-gradient(0deg, rgba(2,28,45,.7), transparent 58%); }
.login-brand { display: flex; align-items: center; }.login-brand__plate { display: grid; place-items: center; width: 210px; min-height: 70px; padding: 12px 16px; background: rgba(255,255,255,.94); border: 1px solid rgba(255,255,255,.55); border-radius: 11px; box-shadow: 0 10px 28px rgba(0,22,37,.16); backdrop-filter: blur(8px); }.login-brand__plate img { display: block; width: 100%; height: auto; max-height: 52px; object-fit: contain; }
.login-message { margin: auto 0; }.login-kicker { display: block; margin-bottom: 13px; color: rgba(255,255,255,.74); font-size: .72rem; font-weight: 600; letter-spacing: .045em; }.login-message h1 { max-width: 650px; margin-bottom: 0; font-family: var(--display-font-family); font-size: clamp(2.7rem, 4.5vw, 4.5rem); font-weight: 600; line-height: 1.04; letter-spacing: -.025em; text-wrap: balance; }.login-subtitle { max-width: 580px; margin: 14px 0 0; color: rgba(255,255,255,.86); font-size: clamp(1rem, 1.35vw, 1.24rem); font-weight: 400; line-height: 1.45; }.login-flow { display: flex; align-items: center; gap: 11px; margin-top: 30px; }.login-flow span { padding: 8px 12px; font-size: .7rem; font-weight: 600; background: rgba(255,255,255,.1); border: 1px solid rgba(255,255,255,.18); border-radius: 8px; backdrop-filter: blur(7px); }.login-flow i { color: #fff; font-style: normal; opacity: .7; }.login-intro > small { color: rgba(255,255,255,.6); font-size: .62rem; letter-spacing: .025em; }
.login-access { display: grid; place-items: center; padding: 30px; background: radial-gradient(circle at 90% 8%, rgba(0,71,123,.07), transparent 34%), #fff; }.login-card { width: min(410px, 100%); padding: 36px; color: var(--ink); background: rgba(255,255,255,.98); border: 1px solid var(--line); border-radius: 16px; box-shadow: 0 20px 56px rgba(4,48,75,.11); }.login-card__top { display: flex; align-items: flex-start; justify-content: space-between; gap: 20px; margin-bottom: 25px; }.login-card__identity { display: flex; align-items: center; width: 205px; min-height: 58px; }.login-card__identity img { display: block; width: 100%; height: auto; max-height: 58px; object-fit: contain; object-position: left center; }.version-badge { flex: 0 0 auto; padding: 4px 8px; color: var(--primary); font-size: .62rem; font-weight: 650; background: var(--red-soft); border: 1px solid color-mix(in srgb, var(--primary) 18%, var(--line)); border-radius: 999px; }.login-card h2 { margin-bottom: 5px; font-family: var(--display-font-family); font-size: 1.6rem; font-weight: 600; }.stack-form { display: grid; gap: 15px; margin-top: 22px; }.login-card__footer { margin-top: 19px; padding-top: 15px; border-top: 1px solid var(--line); }.privacy-note { margin: 0; color: var(--muted); font-size: .66rem; }

@media (max-width: 1180px) {
  .filter-grid { grid-template-columns: repeat(4, 1fr); }
  .filter-actions { grid-column: span 2; }
  .detail-layout { grid-template-columns: minmax(0, 1fr); }
  .detail-aside { position: static; grid-template-columns: 1fr 1fr 1fr; }
  .dashboard-grid { grid-template-columns: minmax(0, 1.6fr) minmax(240px, 1fr); }
  .entity-layout { grid-template-columns: minmax(0, 1fr) 300px; }
  .operation-card-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); }.operation-filter { grid-template-columns: repeat(3, 1fr); }.operation-filter .filter-actions { grid-column: span 3; }.dashboard-filter-grid { grid-template-columns: repeat(3, 1fr); }.dashboard-filter-grid .filter-actions { grid-column: span 3; }.rate-grid { grid-template-columns: repeat(4, 1fr); }
}

@media (max-width: 900px) {
  .workspace { margin-left: 0; }.topbar { padding: 0 14px; }.nav-toggle { display: grid; }
  .sidebar { transform: translateX(-101%); transition: transform .2s ease; box-shadow: 12px 0 30px rgba(0,0,0,.16); }.sidebar.is-open { transform: translateX(0); }.nav-overlay.is-open { position: fixed; z-index: 80; inset: 0; display: block; background: rgba(12,18,25,.45); }
  .main-content { padding: 24px 18px 16px; }.main-content--full { padding: 0; }
  .online-pill, .entity-chip { display: none; }.global-search { max-width: none; }
  .kpi-grid { grid-template-columns: repeat(2, 1fr); }.dashboard-grid { grid-template-columns: 1fr; }.dashboard-span-2 { grid-column: auto; }
  .report-grid, .catalog-grid { grid-template-columns: repeat(2, 1fr); }
  .detail-aside { grid-template-columns: 1fr 1fr; }.privacy-card { grid-column: 1 / -1; }
  .entity-layout, .guided-form-layout { grid-template-columns: 1fr; }.entity-preview, .form-guide { position: static; }
  .operation-card-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }.operation-detail-grid { grid-template-columns: 1fr; }.operation-aside { position: static; grid-template-columns: repeat(2, 1fr); }.archive-card { grid-column: 1 / -1; }
  .login-shell { grid-template-columns: 1fr; }.login-intro { display: none; }.login-access { min-height: 100vh; }
}

@media (max-width: 650px) {
  .topbar { gap: 7px; padding: 0 10px; }.global-search kbd, .topbar-avatar { display: none; }.global-search input { font-size: .72rem; }
  .page-header, .record-header { align-items: flex-start; flex-direction: column; }.record-header__actions { flex-wrap: wrap; }
  .filter-grid, .form-grid, .maintenance-search, .user-filter { grid-template-columns: 1fr; }.filter-actions, .field-group--wide { grid-column: auto; }.filter-actions .btn { flex: 1; }
  .kpi-grid, .kpi-grid--three, .report-grid, .catalog-grid { grid-template-columns: 1fr; }.kpi-card { min-height: 110px; }
  .bar-row { grid-template-columns: minmax(180px, 1fr) 45px; }.bar-track, .bar-row > small { display: none; }
  .detail-aside { grid-template-columns: 1fr; }.privacy-card { grid-column: auto; }
  .definition-grid, .execution-highlight, .gap-metrics, .inline-definitions { grid-template-columns: 1fr; }.definition-wide { grid-column: auto; }.execution-highlight > div { padding-bottom: 10px; border-right: 0; border-bottom: 1px solid var(--line); }.execution-highlight > div:last-child { border-bottom: 0; }
  .evidence-item { align-items: flex-start; }.evidence-actions { align-items: flex-end; flex-direction: column; }
  .alert-summary { flex-direction: column; gap: 4px; }.workflow { justify-content: start; }
  .pagination a:first-child, .pagination span:first-child, .pagination a:last-child, .pagination span:last-child { display: none; }
  .guided-strip { grid-template-columns: 1fr; }.guided-strip > i { display: none; }.theme-swatches { grid-template-columns: 1fr; }
  .login-access { padding: 14px; background: linear-gradient(180deg, rgba(0,71,123,.07), #fff 34%); }.login-card { padding: 26px; }.login-card__identity { width: 185px; }
  .operation-card-grid, .operation-filter, .dashboard-filter-grid { grid-template-columns: 1fr; }.operation-filter .filter-actions, .dashboard-filter-grid .filter-actions { grid-column: auto; }.operation-aside { grid-template-columns: 1fr; }.archive-card { grid-column: auto; }.rate-grid { grid-template-columns: repeat(2, 1fr); }.table-summary { align-items: flex-start; flex-direction: column; gap: 3px; }
}

@media print {
  .topbar, .sidebar, .app-footer, .record-header__actions, .workflow, .detail-aside, .messages { display: none !important; }
  .workspace { margin: 0; }.main-content { margin: 0; padding: 0; }.panel { break-inside: avoid; box-shadow: none; }.detail-layout { display: block; }
}

@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after { scroll-behavior: auto !important; transition-duration: .01ms !important; animation-duration: .01ms !important; animation-iteration-count: 1 !important; }
}
