:root {
  --ink: #070709;
  --muted: #60606c;
  --paper: #ffffff;
  --soft: #f5f5f5;
  --line: #e4e5e7;
  --blue: #2597d0;
  --sky-tint: #d7e6f5;
  --sky-gradient: linear-gradient(135deg, #123f59 0%, #1d607f 55%, #367f9f 100%);
  --brown: #070709;
  --peach: #f5f5f5;
  --font-ui: "Inter", ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  --font-display: "Open Runde", "Inter Tight", var(--font-ui);
}

body { background: #fff; color: var(--ink); font-family: var(--font-ui); }
.page-shell { max-width: 1200px; }
.topbar { position: sticky; top: 0; z-index: 20; background: rgba(255,255,255,.94); border-bottom: 1px solid var(--line); backdrop-filter: blur(14px); }
.brand .brand-mark{display:inline-grid;place-items:center;width:38px;height:38px;margin-right:9px;border-radius:10px;background:var(--blue)}.brand-mark svg{width:29px;height:29px;overflow:visible}.brand-mark circle,.brand-mark rect{fill:#fff}.brand-mark path{fill:none;stroke:#fff;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
.nav-links a, .user-menu a { color: var(--ink); }
.main-content { padding-top: 52px; }
.page-title, .process-hero h1, .auth-card h1 { color: var(--ink); font-family: var(--font-display); font-weight: 600; letter-spacing: -.04em; }
.page-title { font-size: clamp(44px, 6vw, 72px); line-height: .98; }
.eyebrow { color: var(--blue); font-weight: 600; letter-spacing: .08em; }
.button { border-radius: 100px; padding: 12px 24px; font-weight: 600; }
.button-dark { background: #070709; color: #fff; box-shadow: rgba(36,36,40,.1) 0 1px 2px, rgba(36,36,40,.09) 0 3px 3px, rgba(36,36,40,.05) 0 6px 4px; }
.button-light { background: transparent; border: 1px solid #bebecc; color: #070709; }
.content-card, .editor-card, .table-card, .auth-card { border: 1px solid var(--line); border-radius: 18px; background: #fff; box-shadow: rgba(16,55,132,.03) 0 17px 37px, rgba(16,55,132,.025) 0 67px 67px; }
.content-card { padding: 34px; }
.process-flow-card .card-title{align-items:flex-start}.process-flow-card .card-title p{margin:4px 0 0;color:var(--muted);font-size:12px}.process-flow-count{padding:6px 10px;border-radius:99px;background:#eaf5fa;color:#377998;font-size:10px;font-weight:700}.process-flow-gallery{display:grid;gap:16px}.process-flow-preview{display:grid;gap:0;width:100%;padding:0;overflow:hidden;border:1px solid var(--line);border-radius:16px;background:#f8fafb;color:var(--ink);text-align:left;cursor:zoom-in}.process-flow-preview img{display:block;width:100%;max-height:520px;object-fit:contain;background:#fff}.process-flow-preview>span{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:12px 15px;border-top:1px solid var(--line)}.process-flow-preview strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:12px}.process-flow-preview small{flex:0 0 auto;color:var(--blue);font-size:10px;font-weight:700}.process-flow-preview:hover{border-color:#9cc8dc;box-shadow:0 12px 32px rgba(30,60,80,.08)}.document{color:var(--ink);text-decoration:none}.document:hover strong{color:var(--blue)}.process-image-modal{width:min(96vw,1600px);max-width:none;height:min(94vh,1100px);max-height:none;padding:0;overflow:hidden;border:0;border-radius:20px;background:#fff;box-shadow:0 30px 90px rgba(0,0,0,.3)}.process-image-modal::backdrop{background:rgba(10,18,28,.72)}.process-image-modal[open]{display:grid;grid-template-rows:auto minmax(0,1fr) auto}.process-image-modal__header,.process-image-modal__footer{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:16px 20px;border-bottom:1px solid var(--line)}.process-image-modal__header>div{display:grid}.process-image-modal__header span{color:var(--muted);font-size:10px;text-transform:uppercase;letter-spacing:.12em}.process-image-modal__header strong{font-size:14px}.process-image-modal__header button{display:grid;place-items:center;width:38px;height:38px;border:1px solid var(--line);border-radius:50%;background:#fff;font-size:22px;cursor:pointer}.process-image-modal__viewport{min-height:0;overflow:auto;padding:20px;background:#eef1f3}.process-image-modal__viewport img{display:block;max-width:none;min-width:100%;height:auto;margin:auto;background:#fff}.process-image-modal__footer{justify-content:flex-end;border-top:1px solid var(--line);border-bottom:0}@media(max-width:800px){.process-flow-preview>span{align-items:flex-start;flex-direction:column}.process-image-modal{width:100vw;height:100dvh;border-radius:0}.process-image-modal__viewport{padding:10px}}
.process-hero { display: grid; grid-template-columns: minmax(0,1fr) 190px; align-items: center; gap: 48px; border-radius: 28px; padding: 46px 48px; background: var(--sky-gradient); color: #fff; }
.process-hero-main { min-width: 0; max-width: 820px; }
.process-hero h1 { max-width: 820px; margin: 0; color: #fff; font-family: var(--font-display); font-size: clamp(38px, 4.1vw, 58px); font-weight: 600; line-height: 1.01; letter-spacing: -.045em; overflow-wrap: anywhere; }
.process-hero p { max-width: 750px; margin: 18px 0 0; color: rgba(255,255,255,.94); font-size: 15px; line-height: 1.55; }
.process-hero .updated, .process-hero .process-meta { color: #fff; }
.process-hero .process-meta { flex-wrap: wrap; margin-bottom: 20px; }
.process-hero .process-meta > span:not(.status) { color: rgba(255,255,255,.78); }
.process-hero .process-meta > .format-badge{border:1px solid rgba(23,79,107,.12);background:#fff;color:#174f6b!important}.process-hero .process-meta > .modified-badge{border:1px solid #f4d88c;background:#fff3cd;color:#6a4900!important}
.process-code { font-family: ui-monospace, monospace; font-size: 12px; font-weight: 700; letter-spacing: .04em; }
.process-hero .status { background: rgba(255,255,255,.9); color: #070709; }
.process-hero .updated { display: flex; flex-wrap: wrap; gap: 5px 12px; margin-top: 20px; color: rgba(255,255,255,.88); }
.process-hero-actions { display: grid; gap: 10px; align-content: center; }
.process-hero-actions .button { width: 100%; min-height: 48px; justify-content: space-between; padding: 0 17px; border-radius: 14px; }
.process-hero-actions .button b { font-size: 17px; font-weight: 500; }
.process-hero-actions .hero-primary { border-color: #fff; background: #fff; color: #172635; box-shadow: 0 8px 18px rgba(25,58,88,.12); }
.process-hero-actions .hero-secondary { border-color: rgba(255,255,255,.78); background: rgba(255,255,255,.14); color: #fff; }
.process-hero-actions form { margin: 2px 0 0; text-align: center; }
.hero-delete { padding: 7px 12px; border: 0; border-radius:10px; background: rgba(86,10,10,.24); color: #ffe1e1; font: inherit; font-size: 12px; cursor: pointer; }
.filters { background: var(--soft); border-radius: 18px; }
input, select, textarea { border-radius: 12px !important; border-color: #dfe1e5 !important; }
.company-selector span, .status, .company-tags span { border-radius: 100px; }
.company-selector input:checked + span { background: #070709; border-color: #070709; }
.text-button { color: #070709; }
.form-hint{display:block;margin:-2px 2px 2px;color:var(--muted);font-size:10px}
.text-button.danger { color: #9c2525; }
.icon-delete { color: #9c2525; }
.permissions { margin-top: 10px; padding: 22px; border: 1px solid var(--line); border-radius: 18px; background: var(--soft); }
.permissions legend { width: auto; padding: 0 6px; font-size: 14px; font-weight: 700; }
.permissions p { color: var(--muted); font-size: 13px; }
.permissions > div { display: grid; grid-template-columns: repeat(2, minmax(0,1fr)); gap: 12px; }
.invite-note{display:flex;align-items:center;gap:14px;padding:16px;border:1px solid #cfe4ef;border-radius:15px;background:#f1f9fc}.invite-note>span{display:grid;place-items:center;width:38px;height:38px;border-radius:11px;background:#dff1f8;color:#247da7;font-size:18px}.invite-note strong{font-size:13px}.invite-note p{margin:3px 0 0;color:var(--muted);font-size:11px}.invitation-shell{margin-top:48px}
.user-table-row > span:nth-child(2) { display: grid; }
.user-row-actions{display:flex;align-items:center;justify-content:flex-end;gap:7px;flex-wrap:wrap}.user-row-actions form{margin:0}.user-row-actions .text-button{display:inline-flex;align-items:center;justify-content:center;width:34px;height:34px;padding:0;border:1px solid #d8e0e6;border-radius:9px;background:#fff;color:#334155;font-size:17px;font-weight:700;line-height:1;text-decoration:none;cursor:pointer;transition:background .15s,border-color .15s,color .15s,transform .15s}.user-row-actions .text-button:hover{border-color:#aebdca;background:#f5f8fa;color:#0f172a;transform:translateY(-1px)}.user-row-actions .text-button:disabled{cursor:not-allowed;opacity:.38;transform:none}.user-row-actions .user-state-action.disable{border-color:#f0caca;background:#fff5f5;color:#a52b2b}.user-row-actions .user-state-action.disable:hover{border-color:#dc9f9f;background:#fdecec;color:#8f1f1f}.user-row-actions .user-state-action.enable{border-color:#b9dfca;background:#effaf4;color:#18764b}.user-row-actions .user-state-action.enable:hover{border-color:#87c9a5;background:#e2f6eb;color:#115c39}.user-row-actions .copy-access,.user-row-actions .copy-reset{color:#247aa7}.user-row-actions .copied{border-color:#86caa5;background:#e8f8ef;color:#176b43}.user-row-actions .user-action-button.edit{border-color:#1f2937;background:#1f2937;color:#fff}.user-row-actions .user-action-button.edit:hover{border-color:#000;background:#000;color:#fff}
.process-origin{display:block;margin-top:4px;color:#71808b;font-size:10px}
.functional-editor{max-width:1120px}.page-intro{margin:-18px 0 28px;color:var(--muted)}.format-transition{margin:0 0 22px;padding:18px 20px;border:1px solid #b9dced;border-radius:16px;background:#f0f8fc}.format-transition strong{color:#174f6b}.format-transition p{margin:5px 0 0;color:#52606b}.functional-form-section{padding:26px 0;border-bottom:1px solid #e4e9ed}.functional-form-section:first-of-type{padding-top:0}.functional-form-section>div:first-child{display:flex;align-items:center;gap:12px;margin-bottom:18px}.functional-form-section>div:first-child>span,.functional-heading>span{display:grid;place-items:center;width:36px;height:36px;border-radius:10px;background:#174f6b;color:#fff;font-size:12px;font-weight:800}.functional-form-section h2{margin:0;font:700 22px/1.2 Arial,sans-serif}.functional-form-section>label{display:flex;flex-direction:column;gap:7px}.functional-form-section textarea{width:100%}.functional-form-section.two-columns{display:grid;grid-template-columns:1fr 1fr;gap:18px}.functional-form-section.two-columns>div{grid-column:1/-1}.functional-form-section label small{display:block;color:var(--muted);font-weight:400;margin:3px 0 6px}.field-guide{margin:-6px 0 12px;color:var(--muted);font-size:13px}.revision-section{border-bottom:0}.format-badge,.modified-badge{padding:5px 9px;border-radius:999px;background:#eaf2f6;color:#174f6b;font-size:11px;font-weight:700}.modified-badge{background:#fff3cd;color:#7a5610}.functional-card{overflow:hidden}.functional-heading{display:flex;align-items:center;gap:13px;margin-bottom:20px}.functional-heading small{display:block;color:#278fc4;font-size:10px;font-weight:800;letter-spacing:.09em;text-transform:uppercase}.functional-heading h2{margin:3px 0 0}.functional-facts{grid-template-columns:repeat(3,1fr)}.functional-flow{font-size:17px;line-height:1.75;color:#27333c}.functional-table-wrap{overflow-x:auto}.functional-table{width:100%;border-collapse:collapse;font-size:12px}.functional-table th{padding:11px 12px;border:1px solid #b9c5cc;background:#174f6b;color:#fff;text-align:left;vertical-align:middle}.functional-table td{padding:11px 12px;border:1px solid #d8e0e5;vertical-align:top;line-height:1.45}.functional-table tbody tr:nth-child(even){background:#f4f8fa}.functional-notes{display:grid;grid-template-columns:1fr 1fr;gap:18px;margin-top:20px}.functional-notes>div{padding-top:15px;border-top:2px solid #4d83be}.functional-notes p,.revision-summary p{white-space:pre-line;color:#4c5963;line-height:1.6}@media(max-width:800px){.functional-form-section.two-columns,.functional-notes,.functional-facts{grid-template-columns:1fr}.functional-table{min-width:760px}}
@media (max-width: 800px) { .process-hero { grid-template-columns: 1fr; gap: 28px; padding: 32px; } .process-hero-actions { grid-template-columns: 1fr 1fr; width: 100%; }.process-hero-actions form { grid-column: 1/-1; }.permissions > div { grid-template-columns: 1fr; } .page-title { font-size: 44px; } }

/* Resumen */
.dashboard-hero {
  display: grid;
  grid-template-columns: minmax(0, 1fr) 260px;
  gap: 48px;
  align-items: center;
  min-height: 370px;
  padding: 52px 56px;
  border-radius: 30px;
  color: #fff;
  background: linear-gradient(135deg, #658db7 0%, #8bb3cf 56%, #bdd5e6 100%);
  overflow: hidden;
  position: relative;
}
.dashboard-hero::after { content: ""; position: absolute; width: 390px; height: 390px; right: -170px; top: -210px; border: 1px solid rgba(255,255,255,.2); border-radius: 50%; }
.dashboard-hero-copy { position: relative; z-index: 1; }
.dashboard-hero .eyebrow { margin-bottom: 16px; color: rgba(255,255,255,.78); font-weight: 700; }
.dashboard-hero h1 { max-width: 720px; margin: 0; font-family: var(--font-display); font-size: clamp(44px, 4.1vw, 62px); font-weight: 600; line-height: 1.02; letter-spacing: -.045em; }
.dashboard-hero h1 span { color: rgba(255,255,255,.78); }
.dashboard-hero-copy > p { max-width: 650px; margin: 22px 0 28px; color: rgba(255,255,255,.9); font-size: 16px; line-height: 1.55; }
.dashboard-primary { border-color: #fff; background: #fff; color: #162536; font-weight: 650; }
.dashboard-primary span { margin-left: 10px; }
.dashboard-secondary { border-color: rgba(255,255,255,.55); background: transparent; color: #fff; font-weight: 600; }
.dashboard-month { position: relative; z-index: 1; padding: 26px; border: 1px solid rgba(255,255,255,.25); border-radius: 22px; background: rgba(255,255,255,.14); backdrop-filter: blur(8px); }
.dashboard-month-icon { width: 38px; height: 38px; display: grid; place-items: center; margin-bottom: 28px; border-radius: 11px; background: rgba(255,255,255,.92); color: #4f7ca8; font-size: 19px; font-weight: 700; }
.dashboard-month span, .dashboard-month p { color: rgba(255,255,255,.82); font-size: 13px; }
.dashboard-month strong { display: block; margin: 4px 0 -2px; color: #fff; font-family: var(--font-display); font-size: 58px; font-weight: 600; line-height: 1; }
.dashboard-month p { margin: 0; }
.dashboard-stats { display: grid; grid-template-columns: repeat(4, 1fr); gap: 14px; margin-top: 18px; }
.dashboard-stat { min-height: 112px; display: flex; align-items: center; gap: 17px; padding: 22px; border: 1px solid #e7e9ed; border-radius: 18px; background: #fff; box-shadow: 0 8px 24px rgba(30,54,82,.035); }
.dashboard-stat .stat-icon { flex: 0 0 42px; width: 42px; height: 42px; display: grid; place-items: center; border-radius: 12px; font-size: 18px; font-weight: 700; }
.stat-icon-blue { color: #287aa8; background: #e8f4fa; }.stat-icon-green { color: #24724c; background: #e7f5ec; }.stat-icon-violet { color: #6254a5; background: #f0edfa; }.stat-icon-orange { color: #a46122; background: #fff0df; }
.dashboard-stat small { display: block; color: var(--muted); font-size: 12px; }
.dashboard-stat strong { display: block; margin-top: 2px; color: var(--ink); font-family: var(--font-display); font-size: 34px; font-weight: 600; line-height: 1; }
.dashboard-stats + .section-head { margin-top: 58px; }
@media (max-width: 900px) { .dashboard-hero { grid-template-columns: 1fr; padding: 42px; }.dashboard-month { display: flex; align-items: center; gap: 18px; }.dashboard-month-icon { margin: 0; }.dashboard-stats { grid-template-columns: 1fr 1fr; } }
@media (max-width: 560px) { .dashboard-hero { min-height: auto; padding: 32px 24px; border-radius: 22px; }.dashboard-hero h1 { font-size: 39px; }.dashboard-hero .actions { flex-direction: column; }.dashboard-stats { grid-template-columns: 1fr; } }

/* Documentos consolidados */
.create-approval-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.create-approval-list>div{display:grid;gap:3px;padding:14px 16px;border:1px solid #dce5e9;border-radius:14px;background:#f7fafb}.create-approval-list span{color:#61707a;font-size:10px;font-weight:800;letter-spacing:.05em;text-transform:uppercase}.create-approval-list strong{font-size:13px}.create-approval-list small{color:#7b858c;font-size:10px}@media(max-width:700px){.create-approval-list{grid-template-columns:1fr}}
.form-validation-panel{display:grid;grid-template-columns:36px minmax(0,1fr);gap:14px;margin:0 0 24px;padding:17px 19px;border:1px solid #edc6c6;border-radius:16px;background:#fff7f7;color:#782b2b}.form-validation-panel>span{display:grid;place-items:center;width:32px;height:32px;border-radius:50%;background:#b94444;color:#fff;font-weight:800}.form-validation-panel strong{font-size:15px}.form-validation-panel p{margin:3px 0 8px;color:#8c5050;font-size:12px}.form-validation-panel ul{display:grid;gap:4px;margin:0;padding-left:18px;font-size:12px}.form-validation-panel a{display:inline-block;margin-top:12px;color:#782b2b;font-size:12px;font-weight:800;text-decoration:none}.form-validation-panel a:hover{text-decoration:underline}
.table-subtitle { display: block; margin-top: 3px; color: var(--muted); }
.action-column{width:1%;text-align:right;white-space:nowrap}.document-delete{display:inline-flex;align-items:center;gap:5px;padding:7px 10px;border:0;border-radius:9px;background:#fff0f0;color:#a52b2b;font:inherit;font-size:11px;font-weight:650;cursor:pointer}.document-delete:hover{background:#fbe2e2}.document-delete span{font-size:16px;line-height:1}
.selector-fieldset { margin: 8px 0 0; padding: 20px; border: 1px solid var(--line); border-radius: 16px; }
.selector-fieldset legend { width: auto; margin: 0; padding: 0 7px; font-size: 14px; font-weight: 700; }
.process-selector { max-height: 390px; display: grid; grid-template-columns: 1fr 1fr; gap: 9px; overflow-y: auto; padding: 4px; }
.process-selector label { position: relative; cursor: pointer; }
.process-selector input { position: absolute; opacity: 0; pointer-events: none; }
.process-selector label > span { min-height: 72px; display: block; padding: 13px 14px; border: 1px solid #dfe1e5; border-radius: 13px; background: #fff; line-height: 1.3; transition: .15s ease; }
.process-selector strong { display: inline-block; margin-right: 7px; color: var(--blue); font-family: ui-monospace, monospace; font-size: 12px; }
.process-selector small { display: block; margin-top: 5px; color: var(--muted); }
.process-selector input:checked + span { border-color: var(--blue); background: #edf7fc; box-shadow: inset 0 0 0 1px var(--blue); }
.process-selector input:focus-visible + span { outline: 2px solid var(--blue); outline-offset: 2px; }
.consolidated-hero { background: linear-gradient(135deg, #567fa8, #8eb5d1 62%, #c3d9e8); }
.count-badge { min-width: 30px; height: 30px; display: grid; place-items: center; border-radius: 99px; background: var(--soft); font-size: 12px; font-weight: 700; }
.consolidated-process-list { display: grid; gap: 9px; }
.consolidated-process-list a { display: flex; align-items: center; gap: 14px; padding: 14px; border: 1px solid var(--line); border-radius: 14px; color: var(--ink); text-decoration: none; transition: .15s ease; }
.consolidated-process-list a:hover { border-color: #b7d6e7; background: #f6fbfd; transform: translateY(-1px); }
.consolidated-process-list a > span { flex: 0 0 34px; height: 34px; display: grid; place-items: center; border-radius: 10px; background: #e8f4fa; color: #287aa8; font-size: 12px; font-weight: 700; }
.consolidated-process-list a > div { flex: 1; display: grid; }
.consolidated-process-list small { color: var(--muted); }
.consolidated-process-list b { font-size: 19px; font-weight: 400; }
.section-content { white-space: pre-line; color: #34343c; line-height: 1.65; }
.section-form { display: grid; gap: 14px; margin: 0; }
.section-form label { display: grid; gap: 7px; color: var(--muted); font-size: 13px; }
.link-editor, .section-editor { margin-top: 18px; border-top: 1px solid var(--line); padding-top: 14px; }
.link-editor summary, .section-editor summary { width: max-content; color: var(--blue); font-size: 13px; font-weight: 650; cursor: pointer; }
.link-editor form { display: grid; gap: 10px; margin-top: 15px; }
.link-editor form > div { display: grid; grid-template-columns: 90px 1fr; gap: 10px; align-items: end; }
.link-editor label { display: grid; gap: 5px; color: var(--muted); font-size: 12px; }
.link-editor label span { color: var(--ink); font-weight: 600; }
.section-editor .section-form { margin-top: 15px; }
.filters[data-auto-filter]:has(select:nth-child(2):last-child) { grid-template-columns: 2fr 1fr; }
@media (max-width: 800px) { .process-selector { grid-template-columns: 1fr; }.filters[data-auto-filter]:has(select:nth-child(2):last-child) { grid-template-columns: 1fr; } }

.process-image-modal__viewport img { width: 100%; max-width: 100%; min-width: 0; }
.process-flow-actions{display:flex;align-items:center;gap:10px}.process-flow-upload-toggle{padding:7px 11px;border:1px solid #b8d8e7;border-radius:10px;background:#f0f9fd;color:#247ca5;font-size:11px;font-weight:750}.process-flow-upload{margin:-6px 0 18px;padding:16px;border:1px solid #d5e7ef;border-radius:14px;background:#f5fbfe}.process-flow-upload form{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:14px;align-items:end}.process-flow-upload label{display:grid;gap:6px;color:#495760;font-size:11px;font-weight:700}.process-flow-upload input{padding:8px;background:#fff}.process-flow-upload small{color:var(--muted);font-size:10px;font-weight:400}.process-flow-empty{display:grid;place-items:center;gap:5px;min-height:180px;padding:28px;border:1px dashed #b8ccd6;border-radius:16px;background:#f8fbfc;color:#667680;text-align:center}.process-flow-empty>span{font-size:34px;color:#4b9bc1}.process-flow-empty strong{color:#26343c}.process-flow-empty small{font-size:11px}@media(max-width:720px){.process-flow-card .card-title,.process-flow-actions{align-items:flex-start;flex-direction:column}.process-flow-upload form{grid-template-columns:1fr}.process-flow-upload .button{width:100%}}

/* Constructor de documentos consolidados */
.document-builder{padding:0;overflow:hidden}.document-builder>legend{margin-left:18px}.builder-intro{display:flex;justify-content:space-between;align-items:center;gap:20px;padding:18px 22px;border-bottom:1px solid var(--line)}.builder-intro strong{font-size:14px}.builder-intro p{margin:3px 0 0;color:var(--muted);font-size:12px}.builder-intro>span{padding:8px 12px;border-radius:99px;background:#eaf5fa;color:#377998;font-size:11px;white-space:nowrap}.builder-intro>span b{font-size:14px}.builder-grid{display:grid;grid-template-columns:1fr 1fr;min-height:520px}.builder-source,.builder-target{min-width:0;padding:18px}.builder-source{border-right:1px solid var(--line);background:#f8fafb}.builder-column-title{display:flex;align-items:center;gap:10px;margin-bottom:14px}.builder-column-title>span{display:grid;place-items:center;width:28px;height:28px;border-radius:9px;background:#101820;color:#fff;font-size:12px;font-weight:700}.builder-column-title>div{display:grid}.builder-column-title b{font-size:12px}.builder-column-title small{color:var(--muted);font-size:10px}.builder-search{margin-bottom:12px;padding:10px 12px!important;font-size:12px!important}.builder-processes{max-height:415px;overflow:auto;padding-right:4px}.builder-process{margin-bottom:7px;border:1px solid var(--line);border-radius:13px;background:#fff;overflow:hidden}.builder-process summary{display:flex;justify-content:space-between;align-items:center;gap:10px;padding:12px;cursor:pointer;list-style:none}.builder-process summary::-webkit-details-marker{display:none}.builder-process summary>span{display:grid;min-width:0}.builder-process summary strong{color:var(--blue);font-family:ui-monospace,monospace;font-size:10px}.builder-process summary b{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:12px}.builder-process summary small{color:var(--muted);font-size:9px}.builder-process summary i{font-style:normal;transition:transform .15s}.builder-process[open] summary i{transform:rotate(180deg)}.builder-steps{display:grid;gap:6px;padding:0 8px 8px;border-top:1px solid var(--line);background:#fbfcfd}.builder-add-all{margin:8px 0 1px;padding:7px;border:1px dashed #9cc8dc;border-radius:9px;background:#edf8fc;color:#287a9f;font-size:10px;font-weight:700;cursor:pointer}.builder-step,.builder-selected{display:grid;grid-template-columns:20px minmax(0,1fr) auto;gap:8px;align-items:center;width:100%;padding:9px;border:1px solid var(--line);border-radius:10px;background:#fff;text-align:left}.builder-step{cursor:grab}.builder-step>i,.builder-selected>i{color:#a3adb5;font-style:normal}.builder-step>span,.builder-selected>span{display:grid;min-width:0}.builder-step small,.builder-selected small{color:var(--blue);font-size:9px;font-weight:700}.builder-step b,.builder-selected b{overflow:hidden;text-overflow:ellipsis;font-size:11px;font-weight:600}.builder-step em,.builder-selected em{color:var(--muted);font-size:9px;font-style:normal}.builder-step u{color:var(--blue);font-size:16px;text-decoration:none}.builder-step.is-added{opacity:.45}.builder-step.is-added u{color:#2b9160}.builder-dropzone{min-height:430px;display:flex;flex-direction:column;gap:8px;padding:10px;border:1.5px dashed #b8cbd5;border-radius:15px;background:#fafcfd;transition:.15s}.builder-dropzone.is-over{border-color:var(--blue);background:#eef8fc}.builder-empty{display:none;place-items:center;align-content:center;flex:1;min-height:200px;color:var(--muted);text-align:center}.builder-empty b{color:#44515b;font-size:13px}.builder-empty span{font-size:10px}.builder-dropzone.is-empty .builder-empty{display:grid}.builder-selected{flex:0 0 auto;cursor:grab;box-shadow:0 4px 12px rgba(30,60,80,.045)}.builder-selected button{width:28px;height:28px;border:0;border-radius:8px;background:#fff0f0;color:#a23838;font-size:17px;cursor:pointer}@media(max-width:800px){.builder-grid{grid-template-columns:1fr}.builder-source{border-right:0;border-bottom:1px solid var(--line)}.builder-intro{align-items:flex-start;flex-direction:column}.builder-processes{max-height:360px}.builder-dropzone{min-height:260px}}

.approval-card{border-color:#cfe3ef;background:linear-gradient(145deg,#f5fbfe,#fff)}.approval-icon{display:grid;place-items:center;width:34px;height:34px;border-radius:10px;background:#e2f2fa;color:var(--blue)}.approval-card .inline-form{padding:0;background:transparent;margin:0}.approval-list>div{display:flex;gap:11px;padding:12px 0;border-top:1px solid var(--line)}.approval-list p{display:grid;margin:0;gap:3px}.approval-list small,.approval-list em{color:var(--muted);font-size:12px}.approval-dot{width:10px;height:10px;margin-top:5px;border-radius:50%;background:#aab1b7}.approval-dot.status-approved{background:#2d9b67}.approval-dot.status-rejected{background:#cb5353}.approval-dot.status-pending{background:#2998d1}.approval-review-hero{display:grid;grid-template-columns:minmax(0,1fr) 260px;gap:48px;padding:45px 48px;margin-bottom:24px;border-radius:28px;background:var(--sky-gradient);color:#fff}.approval-review-hero h1{max-width:780px;margin:12px 0;font-size:clamp(36px,4vw,58px);line-height:1.03;letter-spacing:-.04em}.approval-review-hero p{max-width:700px;color:rgba(255,255,255,.85)}.approval-review-hero .eyebrow,.approval-review-hero .process-meta>span:not(.status){color:rgba(255,255,255,.78)}.approval-review-person{display:flex;flex-direction:column;align-self:center;padding:25px;border:1px solid rgba(255,255,255,.35);border-radius:20px;background:rgba(255,255,255,.12)}.approval-review-person span{margin-top:14px;font-size:11px;text-transform:uppercase;letter-spacing:.09em;opacity:.75}.approval-review-person span:first-child{margin-top:0}.approval-review-person small{opacity:.75}.approval-review-grid{display:grid;grid-template-columns:minmax(0,1.7fr) minmax(300px,.8fr);gap:22px}.approval-review-grid main{display:grid;gap:22px}.decision-card{position:sticky;top:20px}.decision-card form{display:grid;gap:12px}.decision-card label{display:grid;gap:7px;color:var(--muted);font-size:13px}.approve-button{border:0;background:#14231c;color:#fff}.reject-button{border-color:#d9a3a3;color:#9c3232;background:#fff}.decision-closed{padding:20px;border-radius:16px;background:var(--mist)}@media(max-width:800px){.approval-review-hero,.approval-review-grid{grid-template-columns:1fr}.approval-review-hero{padding:30px}.decision-card{position:static}}

/* Revisión comparativa para aprobación */
.approval-review-hero .status{display:inline-flex;align-items:center;gap:7px;padding:6px 11px;font-weight:750}.approval-review-hero .status::before{content:"";width:7px;height:7px;border-radius:50%;background:currentColor}.approval-review-hero .status-pending{background:#fff3cd;color:#805d00}.approval-review-hero .status-approved{background:#dcf5e7;color:#17633d}.approval-review-hero .status-rejected{background:#fde7e7;color:#9b2f2f}
.approval-change-list{display:grid;gap:16px}.approval-change{overflow:hidden;border:1px solid #dce5ea;border-radius:17px;background:#fff}.approval-change header{display:flex;align-items:center;gap:12px;padding:15px 18px;border-bottom:1px solid #dce5ea;background:#f6f9fa}.approval-change header span{padding:5px 8px;border-radius:7px;background:#1d5874;color:#fff;font-size:10px;font-weight:800;text-transform:uppercase;letter-spacing:.08em}.approval-change h3{margin:0;font-size:17px}.approval-change-columns{display:grid;grid-template-columns:repeat(3,minmax(0,1fr))}.approval-change-columns>div{min-width:0;padding:18px;border-right:1px solid #e1e7ea}.approval-change-columns>div:last-child{border-right:0}.approval-change-columns .is-change{background:#fffaf0}.approval-change-columns .is-target{background:#f2f9fc}.approval-change-columns small{display:block;margin-bottom:9px;color:#64717a;font-size:10px;font-weight:800;letter-spacing:.06em;text-transform:uppercase}.approval-change-columns p{margin:0;white-space:pre-line;overflow-wrap:anywhere;line-height:1.55;color:#26333b}
@media(max-width:900px){.approval-change-columns{grid-template-columns:1fr}.approval-change-columns>div{border-right:0;border-bottom:1px solid #e1e7ea}.approval-change-columns>div:last-child{border-bottom:0}}

/* Matriz de definición para procesos nuevos */
.create-process-editor{width:100%;max-width:1280px}.create-process-matrix-wrap{overflow:auto;border:1px solid #d7e1e6;border-radius:17px}.create-process-matrix{width:100%;min-width:880px;border-collapse:separate;border-spacing:0;table-layout:fixed}.create-process-matrix thead th{padding:15px 16px;background:#174f6b;color:#fff;font-size:12px;font-weight:800;letter-spacing:.06em}.create-process-matrix thead th:first-child{width:230px}.create-process-matrix tbody th{padding:17px 16px;border-top:1px solid #dce5e9;background:#f1f6f8;color:#2b3942;font-size:12px;font-weight:750;letter-spacing:.045em;text-transform:uppercase;vertical-align:top}.create-process-matrix td{padding:9px;border-top:1px solid #dce5e9;border-left:1px solid #e1e8eb;vertical-align:top}.create-process-matrix td:nth-child(3){background:#f2f9fc}.create-process-matrix textarea{display:block;width:100%;min-height:92px;padding:12px;border:1px solid #dbe3e7;border-radius:11px;resize:vertical;font-size:13px;line-height:1.5}.create-process-matrix textarea:focus{border-color:#54a9d2;box-shadow:0 0 0 3px rgba(41,152,209,.12)}.create-supporting-info .form-grid{align-items:start}@media(max-width:720px){.create-process-editor{max-width:none}.create-process-matrix-wrap{margin-left:-8px;margin-right:-8px}}

/* Edición de procesos basada en la plantilla de actualización */
.functional-editor.update-editor{max-width:1540px}.update-page-title{margin:10px 0 14px;font-size:clamp(38px,4vw,54px);line-height:1}.update-editor>.page-intro{margin-top:-8px;font-size:16px}.update-editor .editor-card{padding:34px 38px}
.create-process-editor>.eyebrow{margin-bottom:8px}.create-page-title{margin:0 0 8px;font-size:clamp(38px,4vw,52px);line-height:1}.create-process-editor>.page-intro{margin:0 0 22px;font-size:15px}.create-process-editor>.back{margin-bottom:24px}.create-process-editor>.editor-card{margin-top:0}.create-process-editor input[readonly]{background:#f3f6f7;color:#3d4a52;font-weight:650}.create-process-editor #new-process-status-help{margin:0;color:#68757e;font-size:10px;line-height:1.35}
.create-identification-grid{grid-template-columns:repeat(4,minmax(0,1fr))}.create-identification-grid>.wide{grid-column:1/-1}.create-identification-grid>.half{grid-column:span 2}@media(max-width:900px){.create-identification-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.create-identification-grid>.wide{grid-column:1/-1}.create-identification-grid>.half{grid-column:span 1}}@media(max-width:620px){.create-identification-grid{grid-template-columns:1fr}.create-identification-grid>.wide,.create-identification-grid>.half{grid-column:1}}
.update-template-intro{display:grid;grid-template-columns:minmax(0,1fr) minmax(520px,.9fr);gap:32px;align-items:end;padding:0 0 26px;border-bottom:1px solid var(--line)}.update-template-intro>div:first-child>span{color:var(--blue);font-size:11px;font-weight:800;letter-spacing:.09em;text-transform:uppercase}.update-template-intro h2{margin:7px 0 6px;font:700 28px/1.15 Arial,sans-serif}.update-template-intro p{margin:0;color:var(--muted)}.update-template-meta{display:grid;grid-template-columns:2fr 1.5fr minmax(70px,.4fr);gap:12px}.update-template-meta label,.revision-summary-fields label{display:grid;gap:7px;color:#4b5660;font-size:12px;font-weight:700}.update-matrix-section,.update-validation-section{padding:28px 0;border-bottom:1px solid var(--line)}.update-matrix-heading{display:flex;justify-content:space-between;align-items:center;gap:20px;margin-bottom:16px}.update-matrix-heading>div{display:flex;align-items:center;gap:12px}.update-matrix-heading span{display:grid;place-items:center;width:36px;height:36px;border-radius:10px;background:#174f6b;color:#fff;font-size:12px;font-weight:800}.update-matrix-heading h2{margin:0;font:700 22px/1.2 Arial,sans-serif}.update-matrix-heading p{margin:0;color:var(--muted);font-size:12px}.update-matrix-wrap,.update-validation-wrap{overflow:auto;border:1px solid #d7e0e5;border-radius:16px}.update-matrix,.update-validation{width:100%;border-collapse:separate;border-spacing:0}.update-matrix{min-width:1040px;table-layout:fixed}.update-matrix th,.update-validation th{padding:13px 14px;background:#174f6b;color:#fff;font-size:12px;text-align:left}.update-matrix thead th:first-child{width:190px}.update-matrix tbody th{background:#f1f6f8;color:#27343d;border-top:1px solid #dce5e9;vertical-align:top}.update-matrix td{padding:8px;border-top:1px solid #dce5e9;border-left:1px solid #e4eaed;vertical-align:top}.update-matrix textarea{min-height:92px;width:100%;padding:11px;border:1px solid transparent;background:#fff;resize:vertical;font-size:12px;line-height:1.45}.update-matrix td:nth-child(3){background:#fffaf0}.update-matrix td:nth-child(4){background:#f2f9fc}.update-matrix textarea:focus{border-color:#54a9d2;box-shadow:0 0 0 3px rgba(41,152,209,.12);outline:0}.update-validation{min-width:760px}.update-validation td{padding:10px;border-top:1px solid #e0e6e9}.update-validation input:not([type=checkbox]){width:100%}.approval-cell{white-space:nowrap}.approval-cell input{margin-right:7px}.revision-summary-fields{display:grid;grid-template-columns:1fr 1fr;gap:18px;margin-top:20px}.update-validation-section{border-bottom:0}@media(max-width:900px){.update-template-intro{grid-template-columns:1fr}.update-template-meta,.revision-summary-fields{grid-template-columns:1fr}.update-matrix-heading{align-items:flex-start;flex-direction:column}}
.update-workspace{display:grid;grid-template-columns:minmax(0,1fr) 270px;gap:26px;align-items:start}.update-workspace main{min-width:0}.update-responsibles-panel{position:sticky;top:90px;margin-top:28px;padding:20px;border:1px solid #dbe3e7;border-radius:18px;background:#fff;box-shadow:0 12px 28px rgba(28,57,74,.07)}.update-responsibles-title>div{display:flex;align-items:center;gap:10px}.update-responsibles-title span{display:grid;place-items:center;width:32px;height:32px;border-radius:9px;background:#174f6b;color:#fff;font-size:11px;font-weight:800}.update-responsibles-title h2{margin:0;font:700 20px/1.2 Arial,sans-serif}.update-responsibles-title small{display:block;margin:10px 0 15px;color:var(--muted);line-height:1.4}.update-responsibles-list{display:grid;gap:9px}.update-responsible-card{display:grid;grid-template-columns:36px minmax(0,1fr) auto;gap:10px;align-items:center;width:100%;padding:10px;border:1px solid #dce4e8;border-radius:12px;background:#fff;text-align:left;cursor:grab}.update-responsible-card:hover{border-color:#79b9d7;background:#f4fbfe}.update-responsible-card.is-dragging{opacity:.45}.update-responsible-card>span{display:grid;place-items:center;width:36px;height:36px;border-radius:50%;background:#e8f3f8;color:#277da5;font-weight:800}.update-responsible-card>div{display:grid;min-width:0}.update-responsible-card b{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:13px}.update-responsible-card small{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--muted);font-size:10px}.update-responsible-card i{color:#99a5ac;font-style:normal}.responsible-help,.empty-responsibles{margin:14px 0 0;color:var(--muted);font-size:10px;line-height:1.4}.aspect-assignee{margin-top:12px;padding:8px;border:1px dashed #aebfc8;border-radius:9px;color:#70808a;font-size:10px;font-weight:500;text-transform:none;transition:.15s}.aspect-assignee.is-over{border-color:#278fc4;background:#e7f6fd;color:#175d7d}.aspect-assignee.has-assignee{border-style:solid;border-color:#9ccfe4;background:#fff}.aspect-assignee-person{display:flex;align-items:center;justify-content:space-between;gap:6px}.aspect-assignee-person b{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:#174f6b;font-size:11px}.aspect-assignee-person button{width:22px;height:22px;border:0;border-radius:6px;background:#edf4f7;color:#9b3131;cursor:pointer}.update-matrix{min-width:1120px}.update-matrix thead th:first-child{width:220px}.update-matrix th,.update-validation th{font-size:13px}.update-matrix textarea{font-size:14px;line-height:1.5}.update-validation input{font-size:14px}@media(max-width:1100px){.update-workspace{grid-template-columns:1fr}.update-responsibles-panel{position:static;margin-top:0}.update-responsibles-list{grid-template-columns:repeat(auto-fit,minmax(210px,1fr))}}@media(max-width:900px){.update-editor .editor-card{padding:24px 18px}}
.functional-definition-card{padding:0;overflow:hidden}.functional-definition-head{display:flex;align-items:center;justify-content:space-between;gap:24px;padding:25px 27px}.functional-definition-head .functional-heading{margin:0}.functional-definition-head>p{max-width:430px;margin:0;color:var(--muted);font-size:12px;text-align:right}.functional-definition-wrap{overflow:auto}.functional-definition-table{width:100%;min-width:780px;border-collapse:separate;border-spacing:0;table-layout:fixed}.functional-definition-table thead th{padding:14px 17px;background:#174f6b;color:#fff;font-size:11px;font-weight:800;letter-spacing:.07em;text-transform:uppercase}.functional-definition-table thead th:first-child{width:185px}.functional-definition-table tbody th{padding:18px 17px;border-top:1px solid #dbe4e8;background:#f1f6f8;color:#2a3942;font-size:11px;letter-spacing:.055em;text-transform:uppercase;vertical-align:top}.functional-definition-table td{padding:12px;border-top:1px solid #dbe4e8;border-left:1px solid #e0e7ea;vertical-align:top}.functional-definition-table td.is-target{background:#f2f9fc}.functional-value{min-height:56px;white-space:pre-line;overflow-wrap:anywhere;line-height:1.6}.functional-value.is-empty,.functional-step-list .is-empty{color:#87929a;font-style:italic}.functional-step-list{display:grid;gap:8px;margin:0;padding:0;list-style:none;counter-reset:flow}.functional-step-list li{display:grid;grid-template-columns:27px minmax(0,1fr);gap:9px;padding:10px;border:1px solid #dce5e9;border-radius:11px;background:#fff;line-height:1.5}.functional-step-list li:before{counter-increment:flow;content:counter(flow);display:grid;place-items:center;width:25px;height:25px;border-radius:50%;background:#e5f3f9;color:#247ca5;font-size:10px;font-weight:800}.functional-step-list li.is-empty:before{content:"—"}.process-approval-status .card-title{align-items:flex-start}.process-approval-status .card-title p{margin:3px 0 0;color:var(--muted);font-size:11px}.approval-overall{padding:7px 10px;border-radius:99px;font-size:10px;font-weight:800}.approval-overall.is-approved{background:#e5f5eb;color:#276a45}.approval-overall.is-progress{background:#fff2d9;color:#8a5b08}.approval-overall.is-pending{background:#eef1f3;color:#5c6870}.approval-overall.is-rejected{background:#fde8e8;color:#9b3333}.approval-progress-copy{display:flex;justify-content:space-between;gap:15px;color:#52616b;font-size:11px}.approval-progress-track{height:7px;margin:9px 0 17px;border-radius:99px;background:#edf1f3;overflow:hidden}.approval-progress-track span{display:block;height:100%;border-radius:inherit;background:#2998d1}.approval-stage-list{display:grid;gap:9px}.approval-stage-row{display:grid;grid-template-columns:30px minmax(0,1fr) auto;gap:10px;align-items:start;padding:12px;border:1px solid #e0e6e9;border-radius:12px}.approval-stage-icon{display:grid;place-items:center;width:28px;height:28px;border-radius:50%;background:#eef2f4;color:#61707a;font-weight:800}.approval-stage-row.status-approved .approval-stage-icon{background:#e5f5eb;color:#276a45}.approval-stage-row.status-rejected .approval-stage-icon{background:#fde8e8;color:#9b3333}.approval-stage-row>div{display:grid;gap:2px}.approval-stage-row b{font-size:11px}.approval-stage-row small,.approval-stage-row em{color:var(--muted);font-size:10px}.approval-stage-state{padding-top:4px;color:#5c6870;font-size:10px;font-weight:800}@media(max-width:800px){.functional-definition-head{align-items:flex-start;flex-direction:column}.functional-definition-head>p{text-align:left}.approval-stage-row{grid-template-columns:30px 1fr}.approval-stage-state{grid-column:2}}
.process-details-wide .main-content{width:calc(100% - 48px);max-width:1680px}.process-details-wide .detail-layout{grid-template-columns:minmax(0,1fr) minmax(310px,360px)}@media(max-width:1100px){.process-details-wide .main-content{width:100%;max-width:1200px}.process-details-wide .detail-layout{grid-template-columns:1fr}}
.process-workflow-status{margin-top:22px}.process-workflow-status .approval-stage-list{grid-template-columns:repeat(2,minmax(0,1fr))}.workflow-empty-state{margin:0;padding:22px;border:1px dashed #cbd8de;border-radius:12px;background:#f7fafb;color:var(--muted);text-align:center}@media(max-width:800px){.process-workflow-status .approval-stage-list{grid-template-columns:1fr}}
.user-row-actions .user-action-button.delete{border-color:#f0caca;background:#fff5f5;color:#a52b2b}.user-row-actions .user-action-button.delete:hover{border-color:#dc9f9f;background:#fdecec;color:#8f1f1f}
.system-catalog{display:grid;gap:10px;margin-top:18px;padding-top:17px;border-top:1px solid var(--line)}.system-catalog h3{margin:0;font-size:14px}.system-catalog>small{color:var(--muted);font-size:10px}.system-catalog>div{display:grid;gap:8px}.system-catalog button{display:grid;gap:2px;width:100%;padding:10px 11px;border:1px solid #dce4e8;border-radius:11px;background:#f8fbfc;color:var(--ink);text-align:left;cursor:grab}.system-catalog button:hover{border-color:#79b9d7;background:#eef9fd}.system-catalog button.is-dragging{opacity:.45}.system-catalog button b{font-size:12px}.system-catalog button small{color:var(--muted);font-size:9px}.system-drop{display:grid;gap:8px;min-height:92px;padding:11px;border:1px dashed #9fbac7;border-radius:11px;background:rgba(255,255,255,.65);color:#6c7d87;font-size:11px;transition:.15s}.system-drop.is-over{border-color:#278fc4;background:#e7f6fd;box-shadow:inset 0 0 0 2px rgba(39,143,196,.12)}.system-drop.has-systems{border-style:solid;border-color:#acd5e7;background:#fff}.system-chips{display:flex;align-content:flex-start;gap:7px;flex-wrap:wrap}.system-chip{display:inline-flex;align-items:center;gap:7px;padding:7px 8px;border-radius:9px;background:#eaf6fb;color:#155e80}.system-chip b{font-size:11px}.system-chip button{width:20px;height:20px;padding:0;border:0;border-radius:6px;background:#fff;color:#a53636;cursor:pointer}
/* Panel de responsables y sistemas siempre visible al recorrer el editor de procesos. */
.update-editor .editor-card{overflow:visible}
@media(min-width:1101px){.update-editor .update-responsibles-panel{top:16px;margin-top:0;max-height:calc(100vh - 32px);overflow-y:auto;overscroll-behavior:contain}}
.workflow-summary-table{width:100%;border-collapse:separate;border-spacing:0}.workflow-summary-table thead th{padding:13px 17px;background:#174f6b;color:#fff;font-size:11px;font-weight:800;letter-spacing:.07em;text-align:left;text-transform:uppercase}.workflow-summary-table thead th:first-child{width:90px}.workflow-summary-table td,.workflow-summary-table tbody th{padding:14px 17px;border-top:1px solid #dbe4e8;font-size:14px;text-align:left}.workflow-summary-table tbody th{background:#f1f6f8}.workflow-order{display:inline-grid;place-items:center;width:30px;height:30px;border-radius:50%;background:#e7f3f8;color:#176486;font-size:12px;font-weight:800}.workflow-pending{color:#87929a;font-style:italic}.workflow-note{margin:10px 2px 0;color:var(--muted);font-size:12px}
.my-pending{margin:28px 0 8px}.my-pending .section-head{margin-bottom:14px}.pending-count{padding:6px 14px;border-radius:999px;background:#fff1d8;color:#8a5b08;font-size:12px;font-weight:800}
.pending-list{display:grid;gap:10px}.pending-item{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:16px 20px;border:1px solid #d7e0e5;border-left:4px solid #278fc4;border-radius:14px;background:#fff;box-shadow:0 2px 8px rgba(31,61,78,.04)}.pending-item h3{margin:3px 0 4px;font:700 17px/1.25 Arial,sans-serif}.pending-item h3 a{color:inherit;text-decoration:none}.pending-item small{color:var(--muted)}
.pending-note{margin:12px 2px 0;color:var(--muted);font-size:13px}.pending-subtitle{margin:22px 0 10px;font:700 15px/1.2 Arial,sans-serif;color:#4b5660}
@media(max-width:700px){.pending-item{flex-direction:column;align-items:flex-start}}

.aspect-info{position:relative;display:inline-grid;place-items:center;width:16px;height:16px;margin-left:7px;border-radius:50%;background:#e7f3f8;color:#176486;font:700 10px/1 Georgia,serif;font-style:italic;text-transform:none;letter-spacing:0;vertical-align:middle;cursor:help}
.aspect-info:hover,.aspect-info:focus-visible{background:#176486;color:#fff;outline:none}
.aspect-info[data-tip]:hover::after,.aspect-info[data-tip]:focus-visible::after{content:attr(data-tip);position:absolute;left:-8px;top:calc(100% + 8px);z-index:40;width:260px;padding:9px 12px;border-radius:10px;background:#12384d;color:#fff;font:500 12px/1.45 Arial,sans-serif;font-style:normal;text-transform:none;letter-spacing:0;white-space:normal;text-align:left;box-shadow:0 8px 20px rgba(18,56,77,.25);pointer-events:none}

.aspect-last{white-space:nowrap}

.topbar .brand{display:inline-flex!important;flex-direction:row!important;align-items:center;white-space:nowrap}

/* Toda la aplicación usa el mismo ancho de contenido que la edición de procesos. */
body .page-shell,body .main-content,body.catalog-wide .main-content,body.process-details-wide .main-content{width:100%;max-width:none;padding-left:24px;padding-right:24px}
@media(min-width:1700px){body .page-shell,body .main-content{padding-left:36px;padding-right:36px}}

.process-hero .process-meta > .exec-label{border:1px solid rgba(23,79,107,.12);background:#fff;color:#174f6b!important;min-height:32px;padding:3px 14px 3px 4px;gap:8px;user-select:none}
.process-hero .process-meta > .exec-label .exec-badge{width:24px;height:24px}

.process-flow-generated { border: 1px solid #dbe6ee; border-radius: 14px; overflow: hidden; background: #fff; }
.process-flow-generated[hidden], .process-flow-empty[hidden] { display: none; }
.process-flow-generated-bar { display: flex; justify-content: space-between; align-items: center; gap: 12px; padding: 8px 14px; background: #f3f8fb; border-bottom: 1px solid #dbe6ee; font-size: 12px; color: #4b5d6b; }
.process-flow-generated-bar a { font-weight: 600; color: #1d6f96; text-decoration: none; }

/* Menú principal agrupado */
.nav-links { align-items: center; }
.nav-group { position: relative; }
.nav-group-toggle { display: inline-flex; align-items: center; gap: 5px; padding: 0; border: 0; background: none; font: inherit; color: var(--ink); cursor: pointer; }
.nav-group-toggle:hover, .nav-group.open .nav-group-toggle { color: #1d6f96; }
.nav-caret { font-size: 10px; transition: transform .15s; }
.nav-group.open .nav-caret { transform: rotate(180deg); }
.nav-group.is-current > .nav-group-toggle { font-weight: 600; box-shadow: 0 2px 0 #1d6f96; }
.nav-menu { display: none; position: absolute; top: calc(100% + 12px); left: -14px; min-width: 250px; padding: 8px; background: #fff; border: 1px solid #e3eaf0; border-radius: 14px; box-shadow: 0 14px 34px rgba(23,79,107,.16); z-index: 60; }
.nav-menu::before { content: ""; position: absolute; top: -14px; left: 0; right: 0; height: 14px; }
.nav-group.open > .nav-menu { display: block; }
@media (hover: hover) { .nav-group:hover > .nav-menu { display: block; } .nav-group:hover .nav-caret { transform: rotate(180deg); } .nav-group:hover > .nav-group-toggle { color: #1d6f96; } }
.nav-menu a { display: block; padding: 9px 12px; border-radius: 9px; color: var(--ink); text-decoration: none; }
.nav-menu a:hover, .nav-menu a:focus-visible { background: #eef6fb; }
.nav-menu a b { display: block; font-weight: 600; font-size: 14px; }
.nav-menu a small { display: block; font-size: 12px; color: #64748b; margin-top: 1px; }

.approval-lock-banner { display: flex; align-items: center; gap: 14px; margin: 8px 0 16px; padding: 14px 18px; border: 1px solid #b9dcc8; border-radius: 14px; background: linear-gradient(90deg, #eaf7f0, #f6fcf9); }
.approval-lock-banner > span { font-size: 22px; }
.approval-lock-banner > div { flex: 1; }
.approval-lock-banner strong { display: block; color: #1d5b3e; }
.approval-lock-banner p { margin: 2px 0 0; font-size: 13px; color: #3f6b54; }
.approval-lock-banner form { margin: 0; }

/* Reglas y excepciones asociadas a un paso (vista de detalle) */
.step-actor-rule { background: #e6f1f8 !important; color: #174f6b !important; }
.step-actor-exception { background: #fff1e6 !important; color: #9a3a0a !important; }
.step-actor-control { background: #e9f7ee !important; color: #1d6b3c !important; }
.step-actor-risk { background: #fdecec !important; color: #a63232 !important; }
.step-actor-rule .actor-name, .step-actor-exception .actor-name { max-width: 280px; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; display: inline-block; vertical-align: bottom; }

.step-actor-rule { background: #e3f0f7 !important; color: #176486 !important; }
.step-actor-exception { background: #fff1d6 !important; color: #8a5a00 !important; }
