:root {
    --at-paper: #F1F1EC;
    --at-surface: #FBFBF8;
    --at-ink: #1B1E1B;
    --at-ink-soft: #5A6058;
    --at-teal: #17544E;
    --at-teal-veil: #DCE6E3;
    --at-rust: #9C4A21;
    --at-line: rgba(27,30,27,.16);
    --at-line-hard: rgba(27,30,27,.30);
    --brand: var(--at-teal);
    --paper: var(--at-paper);
    --surface: var(--at-surface);
    --ink: var(--at-ink);
    --muted: var(--at-ink-soft);
    --teal-veil: var(--at-teal-veil);
    --line: var(--at-line);
    --line-hard: var(--at-line-hard);
    --accent: var(--at-rust);
}

@font-face { font-family: "Public Sans"; src: url("/assets/fonts/public-sans-400.ttf") format("truetype"); font-style: normal; font-weight: 400; font-display: swap; }
@font-face { font-family: "Public Sans"; src: url("/assets/fonts/public-sans-600.ttf") format("truetype"); font-style: normal; font-weight: 600; font-display: swap; }
@font-face { font-family: "Public Sans"; src: url("/assets/fonts/public-sans-700.ttf") format("truetype"); font-style: normal; font-weight: 700; font-display: swap; }
@font-face { font-family: "Libre Caslon Text"; src: url("/assets/fonts/libre-caslon-text-400.ttf") format("truetype"); font-style: normal; font-weight: 400; font-display: swap; }
@font-face { font-family: "Libre Caslon Text"; src: url("/assets/fonts/libre-caslon-text-700.ttf") format("truetype"); font-style: normal; font-weight: 700; font-display: swap; }
@font-face { font-family: "IBM Plex Mono"; src: url("/assets/fonts/ibm-plex-mono-400.ttf") format("truetype"); font-style: normal; font-weight: 400; font-display: swap; }
@font-face { font-family: "IBM Plex Mono"; src: url("/assets/fonts/ibm-plex-mono-500.ttf") format("truetype"); font-style: normal; font-weight: 500; font-display: swap; }

* { box-sizing: border-box; }
html, body { overflow-x: hidden; }
body {
    margin: 0;
    min-height: 100vh;
    background: var(--paper);
    color: var(--ink);
    font: 15px/1.5 "Public Sans", "Helvetica Neue", Arial, sans-serif;
}
main {
    width: min(1240px, calc(100vw - 304px));
    margin: 0 auto 0 264px;
    padding: 104px 0 56px;
}
main::before {
    content: "";
    display: block;
    height: 4px;
    margin: -34px 0 28px;
    background: var(--brand);
}
.auth-page { display: grid; min-height: 100vh; place-items: center; padding: 28px 16px; background: var(--paper); }
.auth-page main { width: min(460px, 100%); margin: 0; padding: 42px; border: 1px solid var(--line); border-top: 4px solid var(--brand); background: var(--surface); }
.auth-page main::before { display: none; }
.auth-page .eyebrow { margin: 0 0 12px; }
.auth-page h1 { margin-bottom: 10px; }
.auth-page form { max-width: none; }
.auth-page img { display: block; margin-bottom: 34px; }
.auth-message { margin: 0; }
.auth-form { display: grid; gap: 18px; margin: 26px 0 0; padding: 0; border: 0; background: transparent; }
.auth-form label { display: grid; gap: 7px; }
.auth-form input { margin: 0; }
.auth-form button { justify-self: start; margin: 4px 0 0; }
.auth-error { margin: 18px 0 0; padding: 10px 12px; border-left: 3px solid var(--accent); background: color-mix(in srgb, var(--accent) 8%, var(--surface)); color: var(--accent); }
.mfa-secret { display: block; margin-top: 18px; padding: 12px; overflow-wrap: anywhere; border: 1px solid var(--line); background: var(--paper); color: var(--brand); font-size: 14px; }
img { max-width: 220px; max-height: 56px; }
.app-header {
    position: fixed;
    z-index: 10;
    top: 0;
    left: 0;
    right: 0;
    display: flex;
    align-items: center;
    gap: 14px;
    height: 68px;
    padding: 0 28px;
    background: var(--surface);
    border-bottom: 1px solid var(--line);
    color: var(--brand);
    font-size: 18px;
    font-weight: 750;
}
.app-header img { width: auto; height: 34px; max-width: 160px; object-fit: contain; }
.brand-link { display: flex; align-items: center; }
.header-context { margin-left: auto; color: var(--muted); font-size: 13px; font-weight: 600; }
.top-actions { display: flex; align-items: center; gap: 22px; margin-left: 16px; }
.top-actions a { font-size: 13px; text-decoration: none; }
.top-actions details { position: relative; }
.top-actions summary { color: var(--brand); cursor: pointer; font-size: 13px; font-weight: 750; list-style: none; }
.top-actions summary::after { content: " ▾"; color: var(--muted); }
.admin-menu { position: absolute; right: 0; top: 28px; display: grid; min-width: 190px; padding: 8px; border: 1px solid var(--line); border-radius: 0; background: var(--surface); box-shadow: 0 8px 22px color-mix(in srgb, var(--ink) 12%, transparent); }
.admin-menu a { padding: 9px 10px; color: var(--ink); }
.admin-menu a:hover { background: var(--teal-veil); }
.app-sidebar { position: fixed; z-index: 9; top: 69px; bottom: 0; left: 0; width: 224px; overflow-y: auto; overscroll-behavior: contain; padding: 16px 14px; background: var(--teal-veil); border-right: 1px solid var(--line); }
.app-sidebar nav { display: grid; gap: 12px; }
.sidebar-group { display: grid; gap: 1px; }
.sidebar-group + .sidebar-group { padding-top: 10px; border-top: 1px solid var(--line); }
.sidebar-group p { margin: 0 8px 4px; color: var(--muted); font-family: "IBM Plex Mono", ui-monospace, Menlo, monospace; font-size: 10px; font-weight: 500; letter-spacing: .12em; text-transform: uppercase; }
.sidebar-link { position: relative; display: flex; align-items: center; min-height: 34px; padding: 6px 10px 6px 12px; border-radius: 0; color: var(--ink); font-size: 13px; font-weight: 600; text-decoration: none; transition: background .15s ease, color .15s ease, padding-right .15s ease; }
.sidebar-link::before { position: absolute; left: 0; width: 3px; height: 0; background: var(--brand); content: ""; transition: height .15s ease; }
.sidebar-brand-mark { position: absolute; right: 10px; width: 17px; height: 17px; opacity: 0; transform: translateX(4px); transition: opacity .15s ease, transform .15s ease; }
.sidebar-link:hover { background: var(--brand); color: var(--surface); padding-right: 36px; }
.sidebar-link.is-active { background: var(--teal-veil); color: var(--brand); padding-right: 36px; font-weight: 800; }
.sidebar-link.is-active::before { height: 24px; }
.sidebar-link:hover .sidebar-brand-mark, .sidebar-link.is-active .sidebar-brand-mark { opacity: 1; transform: translateX(0); }
.sidebar-link:hover .sidebar-brand-mark { filter: brightness(0) invert(1); }
h1, h2 { font-family: "Libre Caslon Text", Georgia, serif; font-weight: 400; line-height: 1.15; letter-spacing: 0; }
h1 { margin: 0 0 12px; font-size: clamp(28px, 4vw, 42px); }
h2 { margin-top: 34px; font-size: 22px; }
p { max-width: 760px; color: var(--muted); }
a { color: var(--brand); font-weight: 650; text-decoration-thickness: 1px; text-underline-offset: 3px; }
ul { margin: 18px 0; padding: 0; list-style: none; }
li {
    margin: 8px 0;
    padding: 14px 16px;
    background: var(--surface);
    border: 1px solid var(--line);
    border-left: 4px solid var(--brand);
}
form {
    max-width: 760px;
    margin-top: 16px;
    padding: 22px;
    background: var(--surface);
    border: 1px solid var(--line);
    border-radius: 0;
}
.compact-form { max-width: 900px; }
.field-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 14px; }
.workflow-section { max-width: 1100px; margin-top: 34px; scroll-margin-top: 88px; }
.workflow-section.is-detail-active { position: relative; margin-top: 14px; padding: 24px 28px 28px; border: 1px solid var(--brand); border-top: 4px solid var(--brand); background: var(--surface); }
.workflow-section.is-detail-active .workflow-form { padding: 22px 0 0; border-top: 0; }
.workflow-section.is-detail-active .workflow-heading { margin-bottom: 18px; padding-bottom: 14px; border-bottom: 1px solid var(--line); }
.is-editing-detail #nuevo-sistema, .is-editing-detail #nuevo-riesgo, .is-editing-detail #nuevo-control, .is-editing-detail #aportar-evidencia { display: none; }
.workflow-heading { display: flex; align-items: baseline; justify-content: space-between; gap: 18px; margin-bottom: 12px; }
.workflow-heading h2 { margin: 0; }
.workflow-heading > span { color: var(--muted); font-family: "IBM Plex Mono", ui-monospace, Menlo, monospace; font-size: 11px; letter-spacing: .06em; text-transform: uppercase; }
.workflow-form { max-width: none; margin-top: 0; padding: 28px 32px 24px; border-top: 3px solid var(--brand); }
.form-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 22px 28px; }
.form-field { display: grid; gap: 7px; align-content: start; font-size: 14px; }
.form-field--wide { grid-column: 1 / -1; }
.form-field select, .form-field input { margin-top: 0; }
.field-optional { margin-left: 5px; color: var(--muted); font-family: "IBM Plex Mono", ui-monospace, Menlo, monospace; font-size: 10px; font-weight: 400; letter-spacing: .04em; text-transform: uppercase; }
.form-actions { display: flex; justify-content: flex-end; margin-top: 28px; padding-top: 18px; border-top: 1px solid var(--line); }
.form-actions button { margin-top: 0; }
.review-form { display: grid; max-width: none; grid-template-columns: minmax(0, 1fr) auto; gap: 12px; margin: 14px 0 0; padding: 12px; border-color: var(--line); border-top: 1px solid var(--line); background: var(--paper); }
.review-form input { margin: 0; }
.review-actions { display: flex; align-items: stretch; }
.review-actions button { margin: 0; }
.secondary-action { background: transparent; border: 1px solid var(--brand); color: var(--brand); }
.secondary-action:hover { background: var(--teal-veil); filter: none; }
.action-button { display: inline-flex; align-items: center; justify-content: center; min-height: 40px; padding: 9px 14px; font-size: 13px; font-weight: 700; text-decoration: none; }
.action-button--small { min-height: 32px; padding: 6px 10px; font-size: 12px; }
.app-sidebar ~ main form:not(.workflow-form):not(.review-form):not(.compact-form):not(.inline-status-form):not(.list-toolbar) { display: grid; max-width: 1100px; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 18px 28px; border-top: 3px solid var(--brand); }
.app-sidebar ~ main form:not(.workflow-form):not(.review-form):not(.compact-form):not(.inline-status-form):not(.list-toolbar) > p { margin: 0; }
.app-sidebar ~ main form:not(.workflow-form):not(.review-form):not(.compact-form):not(.inline-status-form):not(.list-toolbar) > p:has(textarea),
.app-sidebar ~ main form:not(.workflow-form):not(.review-form):not(.compact-form):not(.inline-status-form):not(.list-toolbar) > p[role="alert"],
.app-sidebar ~ main form:not(.workflow-form):not(.review-form):not(.compact-form):not(.inline-status-form):not(.list-toolbar) > textarea { grid-column: 1 / -1; }
.app-sidebar ~ main form:not(.workflow-form):not(.review-form):not(.compact-form):not(.inline-status-form):not(.list-toolbar) > button { width: fit-content; align-self: end; margin-top: 0; }
label { display: inline-block; color: var(--ink); font-weight: 650; }
input, select, textarea {
    width: 100%;
    margin-top: 6px;
    padding: 11px 12px;
    border: 1px solid var(--line-hard);
    border-radius: 0;
    background: var(--surface);
    color: var(--ink);
    font: inherit;
}
textarea { resize: vertical; min-height: 110px; }
button {
    margin-top: 8px;
    padding: 11px 18px;
    border: 0;
    border-radius: 0;
    background: var(--brand);
    color: var(--surface);
    font: inherit;
    font-weight: 700;
    cursor: pointer;
}
button:hover { filter: brightness(.9); }
[role="alert"] { padding: 12px 14px; border-left: 4px solid var(--accent); background: color-mix(in srgb, var(--accent) 14%, var(--surface)); color: var(--accent); }
.feedback-success { margin: 0 0 18px; padding: 12px 14px; border-left: 4px solid var(--brand); background: var(--teal-veil); color: var(--brand); font-weight: 650; }
.feedback-success--dismiss { position: relative; overflow: hidden; }
.feedback-success--dismiss::after { position: absolute; z-index: 0; inset: 0 auto 0 0; width: 0; background: var(--brand); content: ""; opacity: .16; animation: feedback-progress 4s linear forwards; }
@keyframes feedback-progress { to { width: 100%; } }
code { display: inline-block; padding: 10px 12px; background: var(--teal-veil); border-radius: 0; font-family: "IBM Plex Mono", ui-monospace, Menlo, monospace; letter-spacing: .08em; }
.page-table { width: 100%; margin: 20px 0 32px; border-collapse: collapse; border: 1px solid var(--line); background: var(--surface); }
.page-table th, .page-table td { padding: 13px 16px; border-bottom: 1px solid var(--line); text-align: left; vertical-align: middle; }
.page-table th { color: var(--muted); font-family: "IBM Plex Mono", ui-monospace, Menlo, monospace; font-size: 11px; font-weight: 500; letter-spacing: .06em; text-transform: uppercase; }
.page-table tr:last-child td { border-bottom: 0; }
.page-table tbody tr:hover { background: var(--teal-veil); }
.page-heading { display: flex; align-items: flex-end; justify-content: space-between; gap: 28px; max-width: 1100px; margin-bottom: 28px; }
.page-heading h1 { margin-bottom: 8px; }
.page-heading p:last-child { margin: 0; }
.as-of, .section-count { color: var(--muted); font-family: "IBM Plex Mono", ui-monospace, Menlo, monospace; font-size: 10px; letter-spacing: .05em; text-transform: uppercase; white-space: nowrap; }
.data-section, .attention-section { max-width: 1100px; margin-top: 30px; }
.section-toolbar { display: flex; align-items: center; justify-content: space-between; gap: 20px; margin-bottom: 12px; }
.section-toolbar > div { display: flex; align-items: baseline; gap: 12px; }
.section-toolbar h2 { margin: 0; }
.list-toolbar { display: flex; max-width: 640px; align-items: end; gap: 8px; margin: 0; padding: 0; border: 0; background: transparent; }
.list-toolbar input, .list-toolbar select { width: auto; min-width: 160px; margin: 0; }
.list-toolbar input { min-width: 240px; }
.list-toolbar button { margin: 0; padding: 10px 14px; }
.table-wrap { overflow-x: auto; border: 1px solid var(--line); background: var(--surface); }
.table-wrap .page-table { width: 100%; min-width: 0; margin: 0; border: 0; table-layout: fixed; }
.system-table th:nth-child(1), .system-table td:nth-child(1) { width: 34%; }
.system-table th:nth-child(2), .system-table td:nth-child(2) { width: 10%; }
.system-table th:nth-child(3), .system-table td:nth-child(3) { width: 12%; }
.system-table th:nth-child(4), .system-table td:nth-child(4) { width: 12%; }
.system-table th:nth-child(5), .system-table td:nth-child(5) { width: 20%; }
.system-table th:nth-child(6), .system-table td:nth-child(6) { width: 12%; }
.system-table code { white-space: nowrap; }
.table-subtitle { display: block; max-width: 360px; margin-top: 3px; color: var(--muted); font-size: 12px; font-weight: 400; }
.status-badge { display: inline-flex; align-items: center; min-height: 24px; padding: 3px 7px; border: 1px solid var(--line-hard); color: var(--ink); font-family: "IBM Plex Mono", ui-monospace, Menlo, monospace; font-size: 10px; font-weight: 500; letter-spacing: .03em; text-transform: uppercase; white-space: nowrap; }
.status-active, .status-operative, .status-valid { border-color: var(--brand); background: var(--teal-veil); color: var(--brand); }
.status-draft, .status-planned, .status-identified { background: var(--paper); }
.status-under_review, .status-open, .status-treating, .status-action_required, .status-overdue { border-color: var(--accent); background: color-mix(in srgb, var(--accent) 10%, var(--surface)); color: var(--accent); }
.status-high, .status-critical { border-color: var(--accent); color: var(--accent); }
.risk-level { display: inline-block; min-width: 50px; padding: 3px 7px; border-left: 3px solid var(--line-hard); font-family: "IBM Plex Mono", ui-monospace, Menlo, monospace; font-size: 12px; font-weight: 500; }
.risk-level-low { border-left-color: var(--brand); background: var(--teal-veil); color: var(--brand); }
.risk-level-medium { border-left-color: var(--line-hard); background: var(--paper); }
.risk-level-high, .risk-level-critical { border-left-color: var(--accent); background: color-mix(in srgb, var(--accent) 10%, var(--surface)); color: var(--accent); }
.inline-status-form { display: flex; max-width: none; align-items: center; gap: 6px; margin: 0; padding: 0; border: 0; background: transparent; }
.inline-status-form select { min-width: 138px; margin: 0; padding: 7px 8px; font-size: 12px; }
.inline-status-form button { margin: 0; padding: 8px 10px; font-size: 12px; }
.control-table { table-layout: fixed; }
.control-table th:nth-child(1), .control-table td:nth-child(1) { width: 21%; }
.control-table th:nth-child(2), .control-table td:nth-child(2) { width: 10%; }
.control-table th:nth-child(3), .control-table td:nth-child(3) { width: 12%; }
.control-table th:nth-child(4), .control-table td:nth-child(4) { width: 12%; }
.control-table th:nth-child(5), .control-table td:nth-child(5) { width: 17%; }
.control-table th:nth-child(6), .control-table td:nth-child(6) { width: 28%; }
.empty-state { padding: 18px 0; color: var(--muted); }
.compliance-grid { display: grid; max-width: 1100px; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 12px; }
.compliance-metric { display: grid; min-height: 132px; align-content: space-between; padding: 17px; border: 1px solid var(--line-hard); border-top: 3px solid var(--brand); background: var(--surface); color: var(--ink); text-decoration: none; }
.compliance-metric:hover { background: var(--teal-veil); }
.compliance-metric span { color: var(--muted); font-size: 13px; font-weight: 650; }
.compliance-metric strong { color: var(--brand); font-family: "IBM Plex Mono", ui-monospace, Menlo, monospace; font-size: 34px; line-height: 1; }
.compliance-metric small { color: var(--brand); font-size: 12px; font-weight: 700; }
.attention-list { max-width: 1100px; margin: 0; }
.attention-list li { display: grid; grid-template-columns: auto minmax(0, 1fr) auto; align-items: center; gap: 14px; margin: 0; padding: 15px 16px; border-left: 3px solid var(--brand); }
.attention-list li + li { margin-top: 8px; }
.attention-list li div { display: grid; gap: 2px; }
.attention-list li div span { color: var(--muted); font-size: 13px; }
.attention-list li > a { font-size: 13px; white-space: nowrap; }
.attention-list .attention-empty { grid-template-columns: 1fr; }
.attention-list .notification-item { grid-template-columns: minmax(0, 1fr) auto; }
.notification-action { display: block !important; max-width: none !important; margin: 0; padding: 0; border: 0; background: transparent; }
.notification-action button { margin: 0; padding: 8px 10px; font-size: 12px; }
.sr-only { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0, 0, 0, 0); white-space: nowrap; }
main > p:last-child { margin-top: 32px; padding-top: 18px; border-top: 1px solid var(--line); }
.dashboard { padding-top: 88px; }
.dashboard::before { display: none; }
.dashboard-intro { max-width: 920px; margin-bottom: 16px; }
.dashboard-intro h1 { max-width: none; margin-bottom: 8px; font-size: clamp(32px, 3vw, 42px); }
.eyebrow { margin: 0 0 12px; color: var(--brand); font-size: 12px; font-weight: 800; letter-spacing: .12em; text-transform: uppercase; }
.session-state { display: inline-block; width: fit-content; margin: 0 0 14px; padding: 4px 8px; border: 1px solid var(--brand); border-radius: 0; background: var(--teal-veil); color: var(--brand); font-family: "IBM Plex Mono", ui-monospace, Menlo, monospace; font-size: 11px; }
.notification-summary { display: flex; align-items: baseline; gap: 8px; margin: 0 0 8px; color: var(--muted); }
.notification-summary strong { color: var(--brand); font-size: 25px; }
.notification-summary span { font-size: 13px; }
.dashboard-nav { display: grid; gap: 28px; }
.metric-grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 10px; margin: 0 0 18px; }
.metric-card { min-height: 92px; padding: 15px; border: 1px solid var(--line-hard, var(--line)); border-top: 3px solid var(--brand); border-radius: 0; background: var(--surface); }
.metric-card strong { display: block; color: var(--brand); font-family: "IBM Plex Mono", ui-monospace, Menlo, monospace; font-size: 29px; line-height: 1; }
.metric-card span { display: block; margin-top: 10px; color: var(--muted); font-size: 12px; font-weight: 650; }
.dashboard-columns { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 14px; }
.tenant-panel { min-height: 168px; padding: 16px; border: 1px solid var(--line-hard, var(--line)); border-radius: 0; background: var(--surface); }
.panel-heading { display: flex; align-items: baseline; justify-content: space-between; gap: 12px; }
.panel-heading h2 { margin: 0; color: var(--ink); font-size: 20px; }
.panel-heading a { font-size: 13px; }
.tenant-panel ul { margin: 14px 0 0; }
.tenant-panel li { display: flex; align-items: baseline; justify-content: space-between; gap: 12px; margin: 0; padding: 9px 0; border: 0; border-bottom: 1px solid var(--line); background: transparent; }
.tenant-panel li:last-child { border-bottom: 0; }
.tenant-panel li span { color: var(--muted); font-size: 12px; white-space: nowrap; }
.nav-group { padding-top: 22px; border-top: 1px solid var(--line); }
.nav-group h2 { margin: 0 0 13px; font-size: 13px; color: var(--muted); text-transform: uppercase; letter-spacing: .08em; }
.section-heading { display: flex; align-items: center; justify-content: space-between; gap: 16px; }
.section-heading h2 { margin-bottom: 13px; }
.nav-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 12px; }
.nav-grid a { display: flex; min-height: 92px; flex-direction: column; justify-content: space-between; padding: 16px; border: 1px solid var(--line); border-radius: 0; background: var(--surface); text-decoration: none; }
.nav-grid a:hover { border-color: var(--brand); box-shadow: 0 3px 0 var(--brand); }
.nav-grid strong { font-size: 17px; }
.nav-grid span { color: var(--muted); font-size: 13px; font-weight: 450; }
.nav-inline { display: flex; flex-wrap: wrap; gap: 10px 22px; align-items: center; }
.nav-inline a { padding: 6px 0; }
.logout-link { color: var(--accent); font-size: 13px; font-weight: 700; }
.legal-footer { margin-top: 38px; padding-top: 17px; border-top: 1px solid var(--line); color: var(--muted); font-size: 12px; }
.dashboard .legal-footer { display: none; }
.primary-action { display: inline-block; padding: 11px 18px; border-radius: 0; background: var(--brand); color: var(--surface); text-decoration: none; font-weight: 700; }
.context-links { display: flex; gap: 10px; margin-top: 28px; }
@media (max-width: 640px) {
    .app-header { height: 60px; padding: 0 12px; }
    .app-header img { max-width: 125px; height: 30px; }
    .header-context { display: none; }
    .top-actions { gap: 10px; margin-left: auto; }
    .top-actions > a { font-size: 0; }
    .top-actions > a::before { content: "●"; font-size: 14px; color: var(--brand); }
    .app-sidebar { position: static; width: 100%; padding: 70px 12px 8px; border-right: 0; border-bottom: 1px solid var(--line); }
    .app-sidebar nav { display: flex; overflow-x: auto; gap: 8px; }
    .sidebar-group { display: flex; gap: 4px; }
    .sidebar-group + .sidebar-group { padding: 0 0 0 8px; border: 0; border-left: 1px solid var(--line); }
    .sidebar-group p { display: none; }
    .sidebar-link { flex: 0 0 auto; white-space: nowrap; }
    .sidebar-brand-mark { display: none; }
    main { width: calc(100% - 24px); margin: 0 auto; padding-top: 26px; }
    main::before { margin-top: -26px; }
    form { padding: 16px; }
    .field-grid { grid-template-columns: 1fr; }
    .workflow-section { margin-top: 28px; }
    .workflow-heading { align-items: flex-start; flex-direction: column; gap: 4px; }
    .workflow-form { padding: 20px 16px 16px; }
    .form-grid { grid-template-columns: 1fr; gap: 16px; }
    .form-field--wide { grid-column: auto; }
    .review-form { grid-template-columns: 1fr; }
    .review-actions { justify-content: flex-end; }
    .app-sidebar ~ main form:not(.workflow-form):not(.review-form):not(.compact-form):not(.inline-status-form):not(.list-toolbar) { grid-template-columns: 1fr; }
    .app-sidebar ~ main form:not(.workflow-form):not(.review-form):not(.compact-form):not(.inline-status-form):not(.list-toolbar) > p:has(textarea),
    .app-sidebar ~ main form:not(.workflow-form):not(.review-form):not(.compact-form):not(.inline-status-form):not(.list-toolbar) > p[role="alert"],
    .app-sidebar ~ main form:not(.workflow-form):not(.review-form):not(.compact-form):not(.inline-status-form):not(.list-toolbar) > textarea { grid-column: auto; }
    .page-table { display: block; overflow-x: auto; }
    .page-heading { align-items: flex-start; flex-direction: column; gap: 12px; }
    .as-of { white-space: normal; }
    .section-toolbar { align-items: flex-start; flex-direction: column; gap: 10px; }
    .section-toolbar > div { align-items: flex-start; flex-direction: column; gap: 3px; }
    .list-toolbar { width: 100%; flex-wrap: wrap; }
    .list-toolbar input, .list-toolbar select { min-width: 0; flex: 1 1 100%; }
    .compliance-grid { grid-template-columns: 1fr; }
    .attention-list li { grid-template-columns: auto minmax(0, 1fr); }
    .attention-list li > a { grid-column: 2; }
    .inline-status-form { flex-wrap: wrap; }
    li { padding: 12px; }
    .dashboard { padding-top: 84px; }
    .metric-grid, .dashboard-columns { grid-template-columns: 1fr; }
    .nav-grid { grid-template-columns: 1fr; }
}
@media (min-width: 641px) and (max-width: 1150px) {
    .system-table th:nth-child(5), .system-table td:nth-child(5) { display: none; }
    .system-table th:nth-child(1), .system-table td:nth-child(1) { width: 45%; }
    .system-table th:nth-child(2), .system-table td:nth-child(2) { width: 13%; }
    .system-table th:nth-child(3), .system-table td:nth-child(3) { width: 15%; }
    .system-table th:nth-child(4), .system-table td:nth-child(4) { width: 15%; }
    .system-table th:nth-child(6), .system-table td:nth-child(6) { width: 12%; }
}
@media (min-width: 641px) and (min-height: 720px) {
    .dashboard { height: 100vh; padding-bottom: 18px; overflow: hidden; }
}
