:root {
    color-scheme: light;
    --ink: #16231f;
    --muted: #66736e;
    --paper: #f6f8f4;
    --surface: #ffffff;
    --line: #dfe6e1;
    --green: #176b4d;
    --green-soft: #e6f3ed;
    --amber: #a85d0c;
    --amber-soft: #fff1dc;
    --shadow: 0 18px 48px rgba(22, 35, 31, 0.08);
    font-family: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
}

* { box-sizing: border-box; }

body {
    margin: 0;
    min-height: 100vh;
    color: var(--ink);
    background:
        radial-gradient(circle at 90% 0%, rgba(23, 107, 77, 0.12), transparent 32rem),
        var(--paper);
}

a { color: inherit; }

.site-header,
.site-footer,
.page-shell {
    width: min(1120px, calc(100% - 32px));
    margin-inline: auto;
}

.site-header {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 20px;
    padding: 24px 0;
}

.brand {
    display: inline-flex;
    align-items: center;
    gap: 12px;
    text-decoration: none;
}

.brand-mark {
    display: grid;
    width: 42px;
    height: 42px;
    place-items: center;
    border-radius: 14px;
    color: white;
    background: var(--green);
    font-weight: 800;
}

.brand strong,
.brand small { display: block; }
.brand small { margin-top: 2px; color: var(--muted); }

.version-chip,
.status-orb {
    border: 1px solid var(--line);
    border-radius: 999px;
    background: rgba(255, 255, 255, 0.78);
    padding: 9px 13px;
    font-size: 0.82rem;
    font-weight: 700;
}

.page-shell { padding: 40px 0 72px; }

.hero {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    align-items: end;
    gap: 32px;
    padding: 36px;
    border: 1px solid var(--line);
    border-radius: 28px;
    background: rgba(255, 255, 255, 0.84);
    box-shadow: var(--shadow);
}

.eyebrow {
    margin: 0 0 8px;
    color: var(--green);
    font-size: 0.75rem;
    font-weight: 800;
    letter-spacing: 0.12em;
    text-transform: uppercase;
}

h1, h2, h3, p { margin-top: 0; }
h1 { max-width: 760px; margin-bottom: 12px; font-size: clamp(2rem, 5vw, 3.8rem); line-height: 1.02; letter-spacing: -0.04em; }
h2 { margin-bottom: 0; font-size: clamp(1.35rem, 2vw, 1.8rem); letter-spacing: -0.025em; }
h3 { margin-bottom: 5px; font-size: 1rem; }

.hero-copy {
    max-width: 760px;
    margin-bottom: 0;
    color: var(--muted);
    font-size: 1.05rem;
    line-height: 1.65;
}

.status-orb { display: flex; align-items: center; gap: 8px; white-space: nowrap; }
.status-orb span { width: 9px; height: 9px; border-radius: 50%; background: currentColor; box-shadow: 0 0 0 5px rgba(23, 107, 77, 0.1); }
.status-orb.is-ready { color: var(--green); background: var(--green-soft); border-color: #b8ddcd; }
.status-orb.is-pending { color: var(--amber); background: var(--amber-soft); border-color: #f1cf9f; }

.panel,
.next-step {
    margin-top: 24px;
    padding: 30px;
    border: 1px solid var(--line);
    border-radius: 24px;
    background: var(--surface);
}

.panel-heading {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 20px;
    margin-bottom: 22px;
}

.button {
    appearance: none;
    border: 0;
    border-radius: 12px;
    padding: 11px 15px;
    color: white;
    background: var(--ink);
    cursor: pointer;
    font: inherit;
    font-weight: 700;
}

.button:hover { background: var(--green); }
.button:disabled { cursor: wait; opacity: 0.65; }

.check-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 12px;
}

.check-card {
    display: grid;
    grid-template-columns: 34px minmax(0, 1fr);
    gap: 12px;
    padding: 17px;
    border: 1px solid var(--line);
    border-radius: 16px;
}

.check-card p { margin-bottom: 0; color: var(--muted); font-size: 0.9rem; line-height: 1.45; }
.check-icon { display: grid; width: 30px; height: 30px; place-items: center; border-radius: 10px; font-weight: 900; }
.check-ok .check-icon { color: var(--green); background: var(--green-soft); }
.check-fail .check-icon { color: var(--amber); background: var(--amber-soft); }

.next-step {
    display: grid;
    grid-template-columns: minmax(220px, 0.65fr) minmax(0, 1fr);
    gap: 30px;
    background: var(--ink);
    color: white;
}

.next-step .eyebrow { color: #82d5b4; }
.next-step p,
.next-step ol { margin-bottom: 0; color: #d9e4df; line-height: 1.65; }
.next-step code { color: white; }

.health-message { min-height: 24px; margin: 18px 4px 0; color: var(--muted); }

.site-footer {
    display: flex;
    justify-content: space-between;
    gap: 20px;
    padding: 22px 0 34px;
    color: var(--muted);
    border-top: 1px solid var(--line);
    font-size: 0.85rem;
}

@media (max-width: 720px) {
    .site-header, .panel-heading { align-items: flex-start; flex-direction: column; }
    .hero, .next-step { grid-template-columns: 1fr; }
    .hero { padding: 26px; }
    .check-grid { grid-template-columns: 1fr; }
    .version-chip { align-self: flex-start; }
}

.main-nav { display: flex; align-items: center; gap: 6px; margin-left: auto; }
.main-nav a { padding: 9px 11px; border-radius: 10px; color: var(--muted); text-decoration: none; font-size: 0.9rem; font-weight: 700; }
.main-nav a:hover { color: var(--green); background: var(--green-soft); }

.user-menu { display: flex; align-items: center; gap: 12px; }
.user-menu span, .user-menu strong, .user-menu small { display: block; }
.user-menu span { text-align: right; }
.user-menu small { margin-top: 2px; color: var(--muted); }
.quiet-button { border: 1px solid var(--line); border-radius: 10px; padding: 8px 10px; color: var(--ink); background: var(--surface); cursor: pointer; font: inherit; font-weight: 700; }

.alert { margin-bottom: 18px; padding: 13px 16px; border: 1px solid; border-radius: 14px; font-weight: 650; }
.alert-error { color: #842e24; border-color: #efc4bd; background: #fff0ed; }
.alert-success { color: var(--green); border-color: #b8ddcd; background: var(--green-soft); }

.auth-shell { display: grid; grid-template-columns: minmax(0, 1fr) minmax(330px, 0.72fr); align-items: center; gap: clamp(32px, 8vw, 100px); min-height: 66vh; }
.auth-copy h1, .page-heading h1, .dashboard-hero h1 { margin-bottom: 14px; font-size: clamp(2.1rem, 5vw, 4rem); line-height: 1.02; letter-spacing: -0.045em; }
.auth-copy p, .page-heading p, .dashboard-hero p { color: var(--muted); line-height: 1.65; }
.form-card, .form-panel, .table-card { border: 1px solid var(--line); border-radius: 24px; background: var(--surface); box-shadow: var(--shadow); }
.form-card { display: grid; gap: 18px; padding: 30px; }
.form-panel { padding: 30px; }
.field { display: grid; gap: 7px; min-width: 0; }
.field > span, legend { font-size: 0.84rem; font-weight: 800; }
.field small { color: var(--muted); line-height: 1.45; }
.field input, .field select, .field textarea { width: 100%; min-height: 44px; border: 1px solid #cfd8d2; border-radius: 11px; padding: 10px 12px; color: var(--ink); background: var(--surface); font: inherit; }
.field textarea { resize: vertical; line-height: 1.5; }
.field input:focus, .field select:focus, .field textarea:focus { outline: 3px solid rgba(23, 107, 77, 0.14); border-color: var(--green); }
.button-wide { width: 100%; }
.text-link { color: var(--green); font-weight: 750; text-decoration: none; }
.text-link:hover { text-decoration: underline; }

.page-heading, .dashboard-hero { display: flex; align-items: flex-end; justify-content: space-between; gap: 24px; margin-bottom: 24px; }
.page-heading h1, .dashboard-hero h1 { font-size: clamp(2rem, 4vw, 3.2rem); }
.dashboard-hero { padding: 30px; border: 1px solid var(--line); border-radius: 24px; background: var(--surface); }

.metric-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 14px; }
.metric-card { display: grid; gap: 10px; padding: 22px; border: 1px solid var(--line); border-radius: 18px; background: var(--surface); }
.metric-card span { color: var(--muted); font-size: 0.86rem; font-weight: 700; }
.metric-card strong { font-size: 2.3rem; }
.metric-card a { color: var(--green); font-weight: 750; text-decoration: none; }
.principle-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 14px; }
.principle-grid article { padding: 18px; border-radius: 15px; background: var(--paper); }
.principle-grid p { margin: 8px 0 0; color: var(--muted); line-height: 1.5; }

.table-card { overflow: hidden; }
.table-scroll { overflow-x: auto; }
table { width: 100%; border-collapse: collapse; }
th, td { padding: 15px 18px; text-align: left; border-bottom: 1px solid var(--line); vertical-align: middle; }
th { color: var(--muted); background: var(--paper); font-size: 0.76rem; letter-spacing: 0.06em; text-transform: uppercase; }
td small { display: block; margin-top: 4px; color: var(--muted); }
tbody tr:last-child td { border-bottom: 0; }
.badge { display: inline-flex; border-radius: 999px; padding: 6px 9px; font-size: 0.76rem; font-weight: 800; }
.badge-ok { color: var(--green); background: var(--green-soft); }
.badge-muted { color: var(--muted); background: var(--paper); }
.empty-state { padding: 50px 24px; text-align: center; }
.empty-state p { color: var(--muted); }

.form-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 18px; }
.field-wide { grid-column: 1 / -1; }
fieldset { margin: 26px 0 0; padding: 22px; border: 1px solid var(--line); border-radius: 18px; }
legend { padding: 0 8px; }
.form-actions { display: flex; justify-content: flex-end; margin-top: 24px; }
.site-list { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 12px; }
.site-card { display: grid; gap: 11px; padding: 16px; border: 1px solid var(--line); border-radius: 14px; }
.site-list span, .site-list small { color: var(--muted); }
.inline-form { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)) auto; align-items: end; gap: 12px; margin-top: 20px; padding-top: 20px; border-top: 1px solid var(--line); }

.button-row { display: flex; align-items: center; flex-wrap: wrap; gap: 10px; }
.compact-row { gap: 7px; }
.button-row .button,
.button-row .quiet-button,
a.button,
a.quiet-button { display: inline-flex; align-items: center; justify-content: center; text-decoration: none; }
.metric-grid-four { grid-template-columns: repeat(4, minmax(0, 1fr)); }
.badge-warn { color: #8a4f00; background: var(--amber-soft); }
.alert-info { color: #24577a; border-color: #bad8eb; background: #eef8ff; }
.muted-copy { color: var(--muted); line-height: 1.6; }
.knowledge-note { background: var(--ink); color: white; }
.knowledge-note p:last-child { max-width: 850px; margin-bottom: 0; color: #d9e4df; line-height: 1.65; }
.version-list { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 12px; }
.version-card { display: grid; gap: 9px; padding: 18px; border: 1px solid var(--line); border-radius: 16px; color: var(--ink); background: var(--paper); text-decoration: none; }
.version-card:hover { border-color: var(--green); transform: translateY(-1px); }
.version-card small { color: var(--muted); }
.nested-panel { margin-top: 24px; box-shadow: none; background: var(--paper); }
.split-panel { display: grid; grid-template-columns: minmax(0, 1.7fr) minmax(280px, 0.7fr); gap: 28px; }
.gate-card { display: grid; align-content: start; gap: 16px; padding: 22px; border: 1px solid var(--line); border-radius: 18px; }
.gate-card h3, .gate-card p { margin-bottom: 0; }
.gate-card p, .gate-card li { color: var(--muted); line-height: 1.5; }
.gate-card form { display: grid; gap: 10px; }
.gate-draft { background: var(--amber-soft); }
.gate-published { background: var(--green-soft); }
.definition-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 16px; margin: 0; }
.definition-grid div { padding: 15px; border-radius: 13px; background: var(--paper); }
.definition-grid .wide { grid-column: 1 / -1; }
.definition-grid dt { margin-bottom: 7px; color: var(--muted); font-size: 0.78rem; font-weight: 800; text-transform: uppercase; }
.definition-grid dd { margin: 0; overflow-wrap: anywhere; line-height: 1.5; }
.module-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 14px; }
.module-card { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; padding: 18px; border: 1px solid var(--line); border-radius: 16px; background: var(--paper); }
article.module-card { display: block; }
article.module-card h3 { margin-top: 12px; }
article.module-card p { color: var(--muted); line-height: 1.5; }
.module-card-footer { display: flex; grid-column: 1 / -1; align-items: center; justify-content: space-between; gap: 12px; color: var(--muted); }
.inline-form-module { grid-template-columns: 0.5fr 1fr 0.8fr auto; }
.condition-list { display: grid; gap: 10px; margin-bottom: 14px; }
.condition-row { display: grid; grid-template-columns: minmax(180px, 0.7fr) minmax(200px, 1fr) auto; align-items: end; gap: 10px; padding: 12px; border: 1px solid var(--line); border-radius: 14px; background: var(--paper); }
.condition-row-four { grid-template-columns: 0.8fr 0.8fr 1fr 0.55fr auto; }
.icon-button { display: inline-grid; width: 36px; height: 36px; place-items: center; border: 1px solid var(--line); border-radius: 10px; color: var(--muted); background: var(--surface); cursor: pointer; font: inherit; font-size: 1.2rem; }
.icon-button:hover { color: #842e24; border-color: #efc4bd; background: #fff0ed; }
.preview-summary { display: flex; flex-wrap: wrap; gap: 9px; margin: 24px 0 14px; }
.decision-chip { display: inline-flex; border-radius: 999px; padding: 6px 9px; font-size: 0.76rem; font-weight: 850; }
.decision-include { color: var(--green); background: var(--green-soft); }
.decision-exclude { color: #842e24; background: #fff0ed; }
.decision-review { color: #8a4f00; background: var(--amber-soft); }
.audit-list { display: grid; gap: 8px; padding: 0; list-style: none; }
.audit-list li { display: flex; align-items: center; justify-content: space-between; gap: 14px; padding: 12px 0; border-bottom: 1px solid var(--line); }
.audit-list li:last-child { border: 0; }
.audit-list span { color: var(--muted); font-size: 0.84rem; }
.filter-bar { display: grid; grid-template-columns: 1.2fr 1fr 0.65fr auto; align-items: end; gap: 12px; margin-bottom: 18px; padding: 16px; border: 1px solid var(--line); border-radius: 16px; background: var(--surface); }
.no-padding-panel { padding: 0; overflow: hidden; }
.requirement-table td:first-child { min-width: 280px; }
.checkbox-field { display: flex; grid-template-columns: auto 1fr; align-items: center; align-self: end; min-height: 44px; }
.checkbox-field input { width: 18px; min-height: 18px; }
.trace-list { display: grid; gap: 10px; }
.trace-list article { display: flex; align-items: flex-start; justify-content: space-between; gap: 16px; padding: 16px; border: 1px solid var(--line); border-radius: 14px; }
.trace-list strong { display: block; margin: 8px 0; }
.trace-list p { margin-bottom: 0; color: var(--muted); }
.trace-form { grid-template-columns: 1.2fr 0.7fr 1fr auto; }
.logic-explainer { display: grid; grid-template-columns: auto 1fr auto 1fr auto 1fr; align-items: center; gap: 12px; margin-bottom: 24px; padding: 18px; border: 1px solid var(--line); border-radius: 18px; background: var(--ink); color: white; }
.logic-explainer span { display: grid; min-width: 52px; height: 52px; place-items: center; border-radius: 14px; color: var(--ink); background: #82d5b4; font-size: 0.74rem; font-weight: 900; }
.logic-explainer p { margin: 0; color: #d9e4df; line-height: 1.45; }
.rule-list { display: grid; gap: 12px; }
.rule-card { display: grid; grid-template-columns: 44px minmax(0, 1fr) auto; gap: 15px; padding: 17px; border: 1px solid var(--line); border-radius: 16px; }
.rule-priority { display: grid; width: 40px; height: 40px; place-items: center; border-radius: 12px; color: var(--green); background: var(--green-soft); font-weight: 900; }
.rule-card p { margin: 9px 0; color: var(--muted); }
.rule-actions { display: flex; gap: 8px; }
.condition-summary { margin: 10px 0 0; padding-left: 22px; color: var(--muted); }
.top-gap { margin-top: 18px; }
.evidence-anatomy { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 12px; margin-bottom: 24px; }
.evidence-anatomy article { padding: 17px; border: 1px solid var(--line); border-radius: 16px; background: var(--surface); }
.evidence-anatomy span { display: grid; width: 30px; height: 30px; margin-bottom: 12px; place-items: center; border-radius: 10px; color: var(--green); background: var(--green-soft); font-weight: 900; }
.evidence-anatomy p { margin: 6px 0 0; color: var(--muted); font-size: 0.88rem; }
.evidence-rule-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 14px; }
.evidence-card { padding: 20px; border: 1px solid var(--line); border-radius: 17px; }
.evidence-card > p { color: var(--muted); line-height: 1.5; }
.evidence-card dl { display: grid; grid-template-columns: repeat(3, 1fr); gap: 8px; }
.evidence-card dl div { padding: 10px; border-radius: 10px; background: var(--paper); }
.evidence-card dt { color: var(--muted); font-size: 0.72rem; font-weight: 800; text-transform: uppercase; }
.evidence-card dd { margin: 4px 0 0; font-weight: 750; }
.acceptance-box { margin: 14px 0; padding: 14px; border-left: 3px solid var(--green); background: var(--green-soft); }
.acceptance-box p { margin: 7px 0 0; line-height: 1.5; }
.guide-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 14px; }
.guide-card { display: grid; gap: 11px; padding: 19px; border: 1px solid var(--line); border-radius: 17px; color: var(--ink); text-decoration: none; }
.guide-card:hover { border-color: var(--green); background: var(--green-soft); }
.guide-card p { margin-bottom: 0; color: var(--muted); line-height: 1.5; }
.node-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 13px; }
.node-card { padding: 18px; border: 1px solid var(--line); border-radius: 16px; }
.node-root { border-color: var(--green); box-shadow: inset 0 0 0 1px var(--green); }
.node-card > strong { display: block; margin: 12px 0 7px; }
.node-card > p { color: var(--muted); line-height: 1.5; }
.option-map { display: grid; gap: 6px; padding: 0; list-style: none; }
.option-map li { display: flex; justify-content: space-between; gap: 8px; padding: 8px; border-radius: 9px; background: var(--paper); font-size: 0.82rem; }
.option-builder { display: grid; gap: 12px; margin-bottom: 14px; }
.option-row { display: grid; grid-template-columns: repeat(7, minmax(120px, 1fr)) auto; align-items: end; gap: 9px; padding: 13px; border: 1px solid var(--line); border-radius: 14px; background: var(--paper); overflow-x: auto; }
.preview-result { margin-top: 20px; padding: 20px; border: 1px solid var(--line); border-radius: 16px; background: var(--paper); }
.preview-result li { margin-bottom: 9px; }
.preview-result small { display: block; color: var(--muted); }

@media (max-width: 860px) {
    .site-header { flex-wrap: wrap; }
    .main-nav { order: 3; width: 100%; margin-left: 0; overflow-x: auto; }
    .auth-shell { grid-template-columns: 1fr; }
    .metric-grid, .principle-grid, .site-list { grid-template-columns: 1fr; }
    .metric-grid-four, .version-list, .module-grid, .evidence-anatomy,
    .evidence-rule-grid, .guide-grid, .node-grid { grid-template-columns: 1fr; }
    .split-panel { grid-template-columns: 1fr; }
    .inline-form { grid-template-columns: 1fr; }
    .filter-bar, .trace-form, .inline-form-module { grid-template-columns: 1fr; }
    .logic-explainer { grid-template-columns: auto 1fr; }
    .condition-row, .condition-row-four { grid-template-columns: 1fr; }
    .rule-card { grid-template-columns: 44px minmax(0, 1fr); }
    .rule-actions { grid-column: 2; }
    .option-row { grid-template-columns: 1fr; overflow: visible; }
}

@media (max-width: 620px) {
    .page-heading, .dashboard-hero { align-items: flex-start; flex-direction: column; }
    .form-grid { grid-template-columns: 1fr; }
    .field-wide { grid-column: auto; }
    .user-menu span { display: none; }
}

/* Bloque 4 · proyecto guiado */
.metric-grid-auto { grid-template-columns: repeat(auto-fit, minmax(190px, 1fr)); }
.project-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 16px; }
.project-card { display: grid; gap: 12px; padding: 21px; border: 1px solid var(--line); border-radius: 18px; color: var(--ink); background: var(--surface); text-decoration: none; transition: transform .16s ease, border-color .16s ease; }
.project-card:hover { transform: translateY(-2px); border-color: var(--green); }
.project-card h3, .project-card p { margin: 0; }
.project-card p, .project-card small { color: var(--muted); }
.project-card-top, .project-card-footer { display: flex; align-items: center; justify-content: space-between; flex-wrap: wrap; gap: 8px; }
.progress-track { height: 8px; overflow: hidden; border-radius: 999px; background: var(--paper); }
.progress-track span { display: block; height: 100%; border-radius: inherit; background: var(--green); }

.project-hero { display: flex; align-items: end; justify-content: space-between; gap: 24px; margin-bottom: 18px; padding: 30px; border: 1px solid var(--line); border-radius: 25px; color: white; background: var(--ink); box-shadow: var(--shadow); }
.project-hero h1 { margin-bottom: 10px; font-size: clamp(2rem, 4vw, 3.4rem); }
.project-hero p { margin-bottom: 0; color: #d9e4df; }
.project-hero .eyebrow { color: #82d5b4; }
.project-hero-status { display: grid; min-width: 150px; gap: 6px; text-align: right; }
.project-hero-status strong { font-size: 2.6rem; line-height: 1; }
.project-hero-status small { color: #d9e4df; }
.project-nav { display: flex; gap: 7px; margin-bottom: 24px; overflow-x: auto; padding: 7px; border: 1px solid var(--line); border-radius: 15px; background: var(--surface); }
.project-nav a { flex: 0 0 auto; padding: 9px 12px; border-radius: 9px; color: var(--muted); text-decoration: none; font-size: .86rem; font-weight: 800; }
.project-nav a:hover, .project-nav .is-current { color: white; background: var(--green); }

.civilization-path { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 12px; margin-bottom: 24px; }
.age-card { position: relative; min-height: 190px; padding: 20px; overflow: hidden; border: 1px solid var(--line); border-radius: 19px; background: var(--surface); }
.age-card::after { position: absolute; right: -17px; bottom: -38px; content: attr(data-stage); color: rgba(23, 107, 77, .05); font-size: 6rem; font-weight: 900; }
.age-card p { color: var(--muted); line-height: 1.45; }
.age-number { display: grid; width: 34px; height: 34px; margin-bottom: 18px; place-items: center; border-radius: 11px; color: var(--green); background: var(--green-soft); font-weight: 900; }
.age-current { border-color: var(--green); box-shadow: inset 0 0 0 1px var(--green); }
.age-approved { background: var(--green-soft); }
.age-rejected { background: #fff0ed; }
.risk-board { padding: 22px; border-radius: 18px; color: white; background: var(--ink); }
.risk-board h3 { font-size: 1.25rem; }
.risk-board ul { display: grid; gap: 10px; padding: 0; list-style: none; }
.risk-board li { display: flex; align-items: center; gap: 10px; color: #d9e4df; }
.risk-board li strong { display: grid; width: 34px; height: 34px; place-items: center; border-radius: 10px; color: var(--ink); background: #82d5b4; }
.next-task-list, .team-list { display: grid; gap: 8px; margin: 0; padding: 0; list-style: none; }
.next-task-list li, .team-list li { display: flex; align-items: center; gap: 12px; padding: 11px 0; border-bottom: 1px solid var(--line); }
.next-task-list li > div, .team-list li > span { display: grid; flex: 1; gap: 4px; }
.next-task-list small, .team-list small { color: var(--muted); }
.team-list li { justify-content: space-between; }
.team-list li strong { font-size: .76rem; text-transform: uppercase; }
.assignment-form { display: grid; grid-template-columns: 1fr 1fr auto; align-items: end; gap: 9px; margin-top: 18px; }
.hash-box { display: grid; gap: 6px; margin-top: 15px; padding: 13px; border-radius: 12px; background: var(--paper); }
.hash-box code { overflow-wrap: anywhere; font-size: .78rem; }

.scope-guide { background: linear-gradient(120deg, var(--ink), #214f41); color: white; }
.scope-question { display: grid; grid-template-columns: auto 1fr; gap: 18px; }
.scope-question > span { display: grid; width: 48px; height: 48px; place-items: center; border-radius: 15px; color: var(--ink); background: #82d5b4; font-weight: 900; }
.scope-question p { margin-bottom: 0; color: #d9e4df; line-height: 1.6; }
.condition-row-context { grid-template-columns: .8fr 1fr .5fr auto; }
.applicability-list { display: grid; gap: 12px; }
.applicability-card { border: 1px solid var(--line); border-left-width: 4px; border-radius: 17px; background: var(--surface); }
.decision-border-include { border-left-color: var(--green); }
.decision-border-exclude { border-left-color: #b34a3e; }
.decision-border-review { border-left-color: var(--amber); }
.applicability-main { display: grid; grid-template-columns: auto 1fr; gap: 14px; padding: 19px; }
.applicability-main p { margin: 7px 0; color: var(--muted); line-height: 1.5; }
.override-box { padding: 12px 19px; border-top: 1px solid var(--line); }
.override-box summary { color: var(--green); cursor: pointer; font-weight: 800; }
.field-span-two { grid-column: span 2; }

.process-map { display: grid; grid-template-columns: 1fr auto 1.4fr auto 1fr; align-items: center; gap: 11px; margin-bottom: 24px; }
.process-lane { min-height: 105px; padding: 20px; border: 1px solid var(--line); border-radius: 17px; background: var(--surface); }
.process-lane span, .process-lane strong { display: block; }
.process-lane span { margin-bottom: 10px; color: var(--muted); font-size: .78rem; font-weight: 800; text-transform: uppercase; }
.process-lane-main { color: white; background: var(--ink); }
.process-lane-main span { color: #82d5b4; }
.process-arrow { color: var(--green); font-size: 1.5rem; font-weight: 900; }
.process-grid { display: grid; gap: 12px; }
.process-card { padding: 18px; border: 1px solid var(--line); border-radius: 16px; }
.process-card > summary { display: grid; grid-template-columns: auto 1fr auto; align-items: center; gap: 12px; cursor: pointer; }
.process-card > summary small { color: var(--muted); }
.process-card form { margin-top: 20px; padding-top: 20px; border-top: 1px solid var(--line); }
.requirement-picker { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 7px; margin-top: 18px; }
.requirement-picker > strong { grid-column: 1 / -1; margin-bottom: 5px; }
.requirement-picker label { display: flex; align-items: flex-start; gap: 8px; padding: 10px; border-radius: 10px; background: var(--paper); font-size: .86rem; line-height: 1.4; }

.task-board { display: grid; grid-template-columns: repeat(4, minmax(260px, 1fr)); gap: 12px; margin: 24px 0; overflow-x: auto; }
.task-column { min-height: 320px; padding: 12px; border: 1px solid var(--line); border-radius: 17px; background: var(--paper); }
.task-column-heading { display: flex; align-items: center; justify-content: space-between; padding: 6px 5px 13px; font-weight: 850; }
.task-column-heading strong { display: grid; width: 28px; height: 28px; place-items: center; border-radius: 9px; color: var(--green); background: var(--green-soft); }
.task-card { margin-bottom: 9px; padding: 14px; border: 1px solid var(--line); border-radius: 14px; background: var(--surface); }
.task-card > summary { display: flex; align-items: flex-start; justify-content: space-between; gap: 9px; cursor: pointer; list-style: none; }
.task-card > summary::-webkit-details-marker { display: none; }
.task-card h3 { margin: 9px 0 5px; line-height: 1.35; }
.task-card small { color: var(--muted); }
.task-card form { margin-top: 16px; padding-top: 16px; border-top: 1px solid var(--line); }
.task-blocked { border-color: #e1b373; }
.task-completed { opacity: .72; }
.dependency-list { display: grid; gap: 8px; }
.dependency-list > div { display: flex; align-items: center; justify-content: space-between; gap: 12px; padding: 11px 13px; border-radius: 11px; background: var(--paper); }
.dependency-list span, .dependency-list small { display: block; }
.dependency-list small { margin-top: 3px; color: var(--muted); }
.dependency-form { grid-template-columns: 1fr .65fr 1fr .4fr auto; }

.timeline-axis { display: flex; justify-content: space-between; gap: 15px; margin-bottom: 16px; color: var(--muted); font-size: .82rem; }
.gantt-chart { min-width: 820px; }
.gantt-row { display: grid; grid-template-columns: minmax(230px, .8fr) minmax(420px, 2fr) 110px; align-items: center; gap: 14px; min-height: 64px; border-bottom: 1px solid var(--line); }
.gantt-row:last-child { border: 0; }
.gantt-label { display: grid; grid-template-columns: auto 1fr; gap: 4px 8px; }
.gantt-label small { grid-column: 1 / -1; color: var(--muted); }
.gantt-track { position: relative; height: 30px; border-radius: 8px; background: repeating-linear-gradient(90deg, var(--paper), var(--paper) calc(10% - 1px), var(--line) 10%); }
.gantt-bar { position: absolute; top: 5px; height: 20px; min-width: 5px; overflow: hidden; border-radius: 6px; background: #9fb3aa; }
.gantt-bar i { display: block; height: 100%; background: var(--green); opacity: .9; }
.gantt-implementation { background: #cfb58d; }
.gantt-verification { background: #98b9d0; }
.gantt-maintenance { background: #b7a4c7; }
.gantt-bar.is-blocked { outline: 2px solid var(--amber); }
.gantt-unscheduled { color: var(--muted); font-size: .8rem; }
.gantt-date { display: grid; gap: 3px; text-align: right; }
.gantt-date small { color: var(--muted); }
.target-marker { display: grid; grid-template-columns: auto 1fr auto 1fr; gap: 12px; margin-top: 16px; padding: 14px; border-radius: 12px; background: var(--paper); }

.gate-timeline { display: grid; gap: 16px; }
.stage-gate { display: grid; grid-template-columns: auto minmax(0, 1fr) minmax(260px, .55fr); gap: 18px; padding: 22px; border: 1px solid var(--line); border-radius: 20px; background: var(--surface); }
.gate-sequence { display: grid; width: 42px; height: 42px; place-items: center; border-radius: 13px; color: var(--green); background: var(--green-soft); font-size: 1.15rem; font-weight: 900; }
.gate-copy > p { color: var(--muted); line-height: 1.55; }
.gate-copy > small { display: block; margin-top: 7px; color: var(--muted); }
.gate-evaluation { margin-top: 14px; padding: 12px; border-radius: 11px; background: var(--paper); }
.gate-evaluation p { margin: 5px 0 0; color: var(--muted); }
.gate-actions { display: grid; align-content: start; gap: 12px; padding-left: 18px; border-left: 1px solid var(--line); }
.gate-actions form { display: grid; gap: 8px; }
.gate-status-approved { background: var(--green-soft); }
.gate-status-rejected { border-color: #e1b373; }

@media (max-width: 1000px) {
    .project-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .civilization-path { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .stage-gate { grid-template-columns: auto 1fr; }
    .gate-actions { grid-column: 2; padding: 16px 0 0; border-top: 1px solid var(--line); border-left: 0; }
}

@media (max-width: 760px) {
    .project-grid, .civilization-path, .requirement-picker { grid-template-columns: 1fr; }
    .project-hero { align-items: flex-start; flex-direction: column; }
    .project-hero-status { text-align: left; }
    .assignment-form, .condition-row-context, .dependency-form { grid-template-columns: 1fr; }
    .process-map { grid-template-columns: 1fr; }
    .process-arrow { transform: rotate(90deg); text-align: center; }
    .process-card > summary { grid-template-columns: 1fr; }
    .stage-gate { grid-template-columns: 1fr; }
    .gate-actions { grid-column: auto; }
    .target-marker { grid-template-columns: 1fr 1fr; }
}

/* Bloques 5–8: expediente, auditoría, mantenimiento y salidas */
.quiet-button, .button { align-items: center; justify-content: center; gap: 6px; text-decoration: none; }
.metric-text { font-size: 1rem !important; line-height: 1.25; overflow-wrap: anywhere; }
.table-scroll { overflow-x: auto; }
table { width: 100%; border-collapse: collapse; }
th, td { padding: 13px 11px; border-bottom: 1px solid var(--line); text-align: left; vertical-align: top; }
th { color: var(--muted); font-size: .75rem; letter-spacing: .05em; text-transform: uppercase; }
td small, td strong { display: block; }
td small { margin-top: 4px; color: var(--muted); line-height: 1.35; }
code { overflow-wrap: anywhere; }
.form-stack { display: grid; gap: 13px; }
.form-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; }
.inline-form { display: flex; align-items: end; flex-wrap: wrap; gap: 12px; }
.inline-form .field { min-width: 145px; }
.field-grow { flex: 1; }
.inline-actions { display: inline; }
.inline-actions + .inline-actions { margin-left: 4px; }
.checkbox-row { display: flex; align-items: center; gap: 8px; font-size: .9rem; font-weight: 700; }
.empty-state { padding: 28px; color: var(--muted); border: 1px dashed var(--line); border-radius: 16px; text-align: center; }
.muted-copy { color: var(--muted); line-height: 1.55; }
.callout { margin: 16px 0; padding: 15px; border-left: 4px solid var(--green); background: var(--green-soft); }
.callout p { margin: 4px 0 0; }
.compact-panel { margin-top: 18px; gap: 20px; }
.definition-list { display: grid; grid-template-columns: minmax(110px, .35fr) 1fr; gap: 10px 18px; }
.definition-list dt { color: var(--muted); font-weight: 700; }
.definition-list dd { margin: 0; line-height: 1.5; }
.record-list, .version-list, .comment-list, .step-list { margin: 0; padding: 0; list-style: none; }
.record-list > li, .version-list > li { display: flex; align-items: flex-start; justify-content: space-between; gap: 14px; padding: 14px 0; border-bottom: 1px solid var(--line); }
.record-list strong, .record-list small, .version-list strong, .version-list small { display: block; }
.record-list small, .version-list small, .comment-list small { margin-top: 4px; color: var(--muted); line-height: 1.4; }
.version-list > li > div:last-child { min-width: 145px; text-align: right; }
.comment-list li { margin: 12px 0; padding: 12px; border-radius: 13px; background: var(--paper); }
.comment-list p { margin: 5px 0; line-height: 1.45; }
.step-list { counter-reset: steps; }
.step-list li { counter-increment: steps; margin: 9px 0; padding-left: 34px; position: relative; }
.step-list li::before { content: counter(steps); position: absolute; left: 0; top: -3px; display: grid; width: 25px; height: 25px; place-items: center; border-radius: 50%; color: #fff; background: var(--green); font-weight: 800; }
.audit-requirements { display: grid; gap: 16px; }
.audit-requirement { border: 1px solid var(--line); border-radius: 17px; overflow: hidden; }
.audit-requirement header { display: grid; grid-template-columns: auto 1fr auto; align-items: center; gap: 12px; padding: 14px 16px; background: var(--paper); }
.audit-requirement form { padding: 17px; }
.workflow-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 20px; }
.workflow-grid .panel { margin-top: 20px; }
.mini-record { margin: 12px 0; padding: 12px; border: 1px solid var(--line); border-radius: 12px; }
.mini-record p { margin: 6px 0; line-height: 1.45; }
.danger-zone { border-color: #e9b4ad; background: #fff5f3; }
.readiness-hero { display: flex; align-items: center; justify-content: space-between; gap: 24px; margin-bottom: 18px; padding: 28px; border: 1px solid var(--line); border-radius: 22px; background: var(--surface); }
.readiness-hero > strong { font-size: clamp(2.4rem, 6vw, 5rem); }
.decision-ready { border-color: #9fd3bd; background: var(--green-soft); }
.decision-blocked, .decision-not_ready { border-color: #efc4bd; background: #fff0ed; }
.decision-conditional { border-color: #f1cf9f; background: var(--amber-soft); }
.calendar-list { display: grid; gap: 10px; }
.calendar-item { display: grid; grid-template-columns: 115px 1fr auto; align-items: center; gap: 15px; padding: 14px; border: 1px solid var(--line); border-radius: 14px; }
.calendar-item time { font-weight: 800; }
.calendar-item small { display: block; margin-top: 4px; color: var(--muted); }
.calendar-item.is-overdue { border-color: #e8ad9f; background: #fff4f0; }
.project-nav { overflow-x: auto; scrollbar-width: thin; }
.project-nav a.is-active { color: var(--green); background: var(--green-soft); }
.review-box { margin-top: 18px; padding-top: 18px; border-top: 1px solid var(--line); }

@media (max-width: 760px) {
    .form-grid, .workflow-grid { grid-template-columns: 1fr; }
    .calendar-item, .audit-requirement header { grid-template-columns: 1fr; }
    .definition-list { grid-template-columns: 1fr; gap: 3px; }
    .record-list > li, .version-list > li, .readiness-hero { align-items: flex-start; flex-direction: column; }
}

/* Instalación integrada 0.8.2 */
.install-heading { align-items: center; }
.install-heading code { color: var(--green); }
.install-form { display: grid; gap: 22px; }
.install-form fieldset { margin: 0; }
.confirmation-card {
    display: grid;
    grid-template-columns: auto minmax(0, 1fr);
    align-items: start;
    gap: 12px;
    padding: 17px;
    border: 1px solid #f1cf9f;
    border-radius: 15px;
    background: var(--amber-soft);
    cursor: pointer;
}
.confirmation-card input { width: 18px; height: 18px; margin-top: 2px; accent-color: var(--green); }
.confirmation-card strong, .confirmation-card small { display: block; }
.confirmation-card small { margin-top: 5px; color: var(--muted); line-height: 1.45; }
.install-actions { align-items: center; justify-content: space-between; gap: 20px; }
.install-actions p { margin: 0; color: var(--muted); font-size: .9rem; }
.install-callout { margin-top: 16px; background: #fff; color: var(--ink); }

@media (max-width: 760px) {
    .install-actions { align-items: stretch; flex-direction: column; }
}

/* Certifica 0.9 · Ruta de Ser Certificable */
.route-banner {
    display: flex; align-items: flex-start; justify-content: space-between; gap: 18px;
    padding: 18px; margin: 0 0 18px; border: 1px solid var(--line); border-radius: 18px;
    background: var(--surface);
}
.route-banner h2, .route-banner p { margin: 0; }
.route-banner p { margin-top: 6px; color: var(--muted); }
.source-strip { display: flex; flex-wrap: wrap; gap: 8px; margin: 12px 0 20px; }
.source-pill {
    display: inline-flex; align-items: center; gap: 7px; padding: 8px 11px;
    border: 1px solid var(--line); border-radius: 999px; background: var(--surface); font-size: .84rem;
}
.source-pill.is-missing { border-color: #e7ba7f; background: var(--amber-soft); }
.route-steps { display: grid; gap: 10px; }
.route-step {
    display: grid; grid-template-columns: 62px minmax(0, 1fr) minmax(250px, .8fr); gap: 14px;
    align-items: start; padding: 15px; border: 1px solid var(--line); border-radius: 15px; background: var(--surface);
}
.route-step-code {
    display: grid; place-items: center; min-height: 48px; border-radius: 12px;
    background: var(--paper); font-weight: 900; letter-spacing: .03em;
}
.route-step h3, .route-step p { margin: 0; }
.route-step p { margin-top: 4px; color: var(--muted); line-height: 1.45; }
.route-step.is-approved { border-color: #9fd3bd; background: var(--green-soft); }
.route-step.is-addressed { border-color: #b9d2c6; }
.route-step.is-deferred { border-color: #f1cf9f; background: var(--amber-soft); }
.route-step.is-locked { opacity: .72; }
.compact-form { display: grid; gap: 8px; }
.compact-form textarea { min-height: 62px; }
.button-row { display: flex; flex-wrap: wrap; gap: 8px; }
.layer-grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 12px; margin: 18px 0; }
.layer-card { padding: 15px; border: 1px solid var(--line); border-radius: 15px; background: var(--surface); }
.layer-card > div { display: flex; justify-content: space-between; gap: 10px; align-items: center; }
.layer-card progress { width: 100%; margin: 12px 0 7px; accent-color: var(--green); }
.layer-card small { color: var(--muted); }
.gap-list { display: grid; gap: 12px; }
.gap-row { padding: 15px; border: 1px solid var(--line); border-radius: 15px; background: var(--surface); }
.gap-row header { display: flex; justify-content: space-between; gap: 14px; align-items: flex-start; }
.gap-row h3, .gap-row p { margin: 0; }
.gap-row p { margin-top: 7px; color: var(--muted); line-height: 1.45; }
.gap-meta { display: flex; flex-wrap: wrap; gap: 7px; margin-top: 10px; }
.alert-warning { padding: 13px 15px; border: 1px solid #e7ba7f; border-radius: 13px; background: var(--amber-soft); }
.requirement-matrix { display: grid; gap: 13px; }
.requirement-matrix-row { border: 1px solid var(--line); border-radius: 16px; overflow: hidden; background: var(--surface); }
.requirement-matrix-row > header { display: flex; justify-content: space-between; gap: 18px; padding: 15px 17px; background: var(--paper); }
.requirement-matrix-row header strong, .requirement-matrix-row header small { display: block; }
.requirement-matrix-row header small { margin-top: 4px; color: var(--muted); }
.requirement-matrix-row > p { margin: 14px 17px; line-height: 1.5; }
.requirement-matrix-row details { border-top: 1px solid var(--line); }
.requirement-matrix-row summary { padding: 12px 17px; cursor: pointer; font-weight: 800; }
.requirement-matrix-row details > *:not(summary) { margin-left: 17px; margin-right: 17px; }
.requirement-matrix-row details form { margin-bottom: 17px; }
.layer-badges { display: flex; flex-wrap: wrap; justify-content: flex-end; gap: 6px; }
.layer-badges span, .layer-badges b { padding: 6px 8px; border-radius: 999px; background: var(--surface); font-size: .75rem; white-space: nowrap; }
.layer-badges b { background: #fff0ed; }
.source-box { padding: 13px; border-radius: 13px; background: var(--paper); }
.source-box p { margin: 5px 0 12px; }
.corpus-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 14px; }
.corpus-card { display: block; padding: 17px; border: 1px solid var(--line); border-radius: 16px; background: var(--surface); color: inherit; text-decoration: none; }
.corpus-card:hover { border-color: #9fc4b4; transform: translateY(-1px); }
.corpus-card h2, .corpus-card p { margin: 0; }
.corpus-card p { margin-top: 7px; color: var(--muted); }
.corpus-list { display: grid; gap: 8px; }
.corpus-list a { display: grid; grid-template-columns: minmax(90px,.2fr) 1fr auto; gap: 12px; padding: 11px 13px; border: 1px solid var(--line); border-radius: 12px; text-decoration: none; color: inherit; }
.corpus-list a:hover { background: var(--paper); }
.corpus-list small { color: var(--muted); }
.norm-text { white-space: pre-wrap; line-height: 1.65; font-family: inherit; }
.source-blocks { display: grid; gap: 10px; }
.source-block { padding: 13px; border-left: 3px solid var(--line); background: var(--paper); }
.source-block code, .source-block small { display: block; margin-bottom: 7px; color: var(--muted); }
.audit-mode-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 12px; margin: 14px 0; }
.audit-mode-card { padding: 14px; border: 1px solid var(--line); border-radius: 14px; background: var(--paper); }
.audit-mode-card strong, .audit-mode-card small { display: block; }
.audit-mode-card small { margin-top: 5px; color: var(--muted); line-height: 1.45; }
.audit-context { margin: 0 0 16px; padding: 14px; border: 1px solid var(--line); border-radius: 14px; background: var(--paper); }
.audit-context strong { display: block; margin-bottom: 4px; }

@media (max-width: 980px) {
    .layer-grid, .corpus-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .route-step { grid-template-columns: 54px 1fr; }
    .route-step form { grid-column: 2; }
    .audit-mode-grid { grid-template-columns: 1fr; }
}
@media (max-width: 660px) {
    .route-banner, .requirement-matrix-row > header, .gap-row header { flex-direction: column; }
    .layer-grid, .corpus-grid { grid-template-columns: 1fr; }
    .route-step { grid-template-columns: 1fr; }
    .route-step form { grid-column: auto; }
    .route-step-code { min-height: 40px; }
    .corpus-list a { grid-template-columns: 1fr; }
    .layer-badges { justify-content: flex-start; }
}
/* Aliases used by compact PHP views */
.source-pill.source-pending { border-color: #e7ba7f; background: var(--amber-soft); }
.route-step.route-step-approved { border-color: #9fd3bd; background: var(--green-soft); }
.route-step.route-step-addressed { border-color: #b9d2c6; }
.route-step.route-step-deferred { border-color: #f1cf9f; background: var(--amber-soft); }
.route-step.route-step-locked { opacity: .72; }
.route-code { display: inline-grid; min-width: 42px; place-items: center; padding: 7px; border-radius: 10px; background: var(--paper); font-weight: 900; }
.audit-mode-grid > article { padding: 14px; border: 1px solid var(--line); border-radius: 14px; background: var(--paper); }
.audit-mode-grid > article strong, .audit-mode-grid > article small { display: block; }
.audit-mode-grid > article p { margin: 7px 0; line-height: 1.45; }
.audit-mode-grid > article small { color: var(--muted); line-height: 1.45; }
.requirement-actions { padding: 0 17px 13px; }
.certifica-help { margin: 0 17px 12px; border: 1px dashed var(--line); border-radius: 13px; }
.certifica-help summary { padding: 11px 13px; cursor: pointer; font-weight: 800; }
.help-grid { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 10px; padding: 0 13px 13px; }
.help-grid > div { padding: 12px; border-radius: 11px; background: var(--paper); }
.help-grid p { margin: 6px 0; line-height: 1.5; }
.help-grid small { color: var(--muted); }
@media (max-width: 760px) { .help-grid { grid-template-columns: 1fr; } }

/* biblioteca normativa limpia · conservado en 0.10.0 */
.compact-heading h1{font-size:clamp(26px,3vw,42px);line-height:1.05}.compact-heading p{max-width:900px}
.corpus-section{margin-bottom:16px}.compact-corpus .corpus-card{padding:14px}.compact-corpus .corpus-card h2{font-size:16px;line-height:1.25;margin-top:8px}.compact-corpus .corpus-card p{font-size:13px;line-height:1.45}.compact-corpus .corpus-card small{display:block;margin-top:8px;font-size:11px;color:var(--muted)}
.corpus-secondary summary{display:flex;justify-content:space-between;align-items:center;gap:16px;cursor:pointer}.corpus-secondary summary span{font-size:12px;color:var(--muted);font-weight:400}.corpus-secondary[open] summary{margin-bottom:16px}
.slim-panel{padding-top:12px;padding-bottom:12px}.norm-table-panel{padding:0;overflow:hidden}.norm-grid-head,.norm-grid-list a{display:grid;grid-template-columns:110px minmax(0,1fr) 70px;gap:14px;align-items:start}.norm-grid-head{padding:10px 14px;background:var(--paper);border-bottom:1px solid var(--line);font-size:11px;text-transform:uppercase;letter-spacing:.08em;color:var(--muted)}.norm-grid-list a{padding:12px 14px;border-bottom:1px solid var(--line);text-decoration:none;color:inherit}.norm-grid-list a:last-child{border-bottom:0}.norm-grid-list a:hover{background:var(--paper)}.norm-grid-list strong{display:block;font-size:14px;line-height:1.3}.norm-grid-list small{display:block;margin-top:4px;font-size:12px;line-height:1.4;color:var(--muted)}.norm-grid-list b{text-align:right;font-size:12px}
.audit-guide-panel{padding:18px}.audit-guide-list{display:grid;gap:12px}.audit-guide-row{display:grid;grid-template-columns:minmax(170px,.8fr) repeat(2,minmax(220px,1fr));gap:0;border:1px solid var(--line);border-radius:12px;overflow:hidden;background:var(--surface)}.audit-guide-row>div{padding:12px 14px;border-right:1px solid var(--line);border-bottom:1px solid var(--line);min-width:0}.audit-guide-row>div:nth-child(3n){border-right:0}.audit-guide-row>div:nth-last-child(-n+3){border-bottom:0}.audit-guide-row b{font-size:11px;text-transform:uppercase;letter-spacing:.04em}.audit-guide-row p{margin:5px 0 0;font-size:12.5px;line-height:1.45}.guide-title strong{font-size:15px}.guide-title small{display:block;margin-top:5px;color:var(--muted);font-size:11px}.guide-good{background:#f4faf6}.guide-bad{background:#fff7f5}.source-panel-clean{max-width:1100px}.compact-text{font-size:14px;line-height:1.6;max-width:1000px}.working-copy{margin-top:18px;padding-top:14px;border-top:1px solid var(--line)}.working-copy summary{cursor:pointer;font-weight:700;font-size:13px}.compact-blocks article{padding:12px;border:1px solid var(--line);border-radius:10px}.compact-blocks p{font-size:12px;line-height:1.45;margin:7px 0 0}
@media(max-width:1000px){.audit-guide-row{grid-template-columns:1fr 1fr}.audit-guide-row>div{border-right:1px solid var(--line)!important;border-bottom:1px solid var(--line)!important}.audit-guide-row>div:nth-child(2n){border-right:0!important}}
@media(max-width:680px){.norm-grid-head{display:none}.norm-grid-list a{grid-template-columns:70px 1fr}.norm-grid-list b{display:none}.audit-guide-row{grid-template-columns:1fr}.audit-guide-row>div{border-right:0!important}.compact-heading h1{font-size:28px}}


/* Identity colors 0.12 */
.identity-line{display:inline-flex;align-items:center;gap:7px}.identity-dot{flex:0 0 auto}.color-input-row{display:flex;align-items:center;gap:10px}.color-input-row input[type=color]{width:54px;height:38px;padding:3px;border-radius:9px;cursor:pointer}.color-input-row small{margin:0!important}


/* 0.12.2 brand */
:root{--work-yellow:#f2c300;--work-yellow-soft:#fff7cc;--work-black:#111410}
.brand-public img{width:54px;height:42px;object-fit:contain}.brand-public strong{font-size:1rem}.brand-public small{font-weight:650}.login-brand-lockup{display:flex;align-items:center;gap:18px}.login-brand-lockup img{width:118px;height:86px;object-fit:contain}.login-brand-lockup h1{margin:3px 0 8px}.login-brand-lockup p{margin-bottom:0}.button{background:var(--work-black)}.button:hover{background:var(--work-yellow);color:#111}.eyebrow{color:#756000}.site-footer strong{color:var(--ink)}.site-footer em{font-size:.78rem}.brand-with-logo{display:flex!important;align-items:center;gap:9px}.brand-with-logo img{width:36px;height:36px;object-fit:contain;border-radius:7px;background:#fff}.consultancy-mini small{display:block}.session-mini{margin-top:4px}
@media(max-width:720px){.login-brand-lockup{align-items:flex-start}.login-brand-lockup img{width:88px;height:64px}}

.print-brand{display:none}
@media print{.print-brand{display:flex!important;align-items:center;gap:10px;border-bottom:2px solid #111;padding:0 0 8px;margin:0 0 12px}.print-brand img{width:52px;height:38px;object-fit:contain}.print-brand strong,.print-brand span,.print-brand em{display:block}.print-brand strong{font-size:10pt}.print-brand span{font-size:8pt;font-weight:700}.print-brand em{font-size:7pt}.side,.top{display:none!important}.shell{display:block!important}.main,.content{width:100%!important;max-width:none!important;margin:0!important;padding:0!important}}
