:root{--ink:#182128;--muted:#68747d;--line:#dfe4e6;--paper:#f5f4ef;--card:#fff;--green:#0b6958;--gold:#c5913b;--blue:#315c7a;--shadow:0 12px 35px rgba(29,39,44,.08)}*{box-sizing:border-box}body{margin:0;background:var(--paper);color:var(--ink);font-family:Inter,Segoe UI,system-ui,sans-serif}.topbar{height:74px;padding:0 5vw;display:flex;align-items:center;justify-content:space-between;background:#16232a;color:#fff}.brand{display:flex;align-items:center;gap:12px}.brand div{display:flex;flex-direction:column}.brand small{color:#aebbc1}.logo{width:38px;height:38px;border:1px solid #789099;border-radius:9px;display:grid;place-items:center;font-family:Georgia;font-size:25px;color:#e0b463}.connection{font-size:13px;color:#b8c4c8}.connection.ok{color:#7fd7b8}.connection.error{color:#ffadad}main{max-width:1500px;margin:auto;padding:32px 5vw 60px}.hero{display:flex;align-items:flex-end;justify-content:space-between;border-bottom:1px solid var(--line);padding-bottom:26px}.eyebrow{font-size:11px;letter-spacing:.16em;color:var(--green);font-weight:800;margin:0 0 8px}select{font:700 34px Georgia,serif;border:0;border-bottom:2px solid var(--gold);background:transparent;padding:2px 36px 4px 0;color:var(--ink)}.muted{color:var(--muted);margin:7px 0;font-size:14px}.actions{display:flex;gap:10px}button{border:1px solid #cbd2d4;background:#fff;padding:10px 15px;border-radius:8px;color:var(--ink);font-weight:650;cursor:pointer}button:hover{border-color:var(--green)}button.primary{background:var(--green);color:white;border-color:var(--green)}.stats{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;margin:22px 0}.stat{background:var(--card);border:1px solid var(--line);border-radius:11px;padding:18px;box-shadow:0 3px 15px rgba(30,40,45,.03)}.stat strong{display:block;font:700 27px Georgia,serif;margin-top:6px}.workspace{display:grid;grid-template-columns:210px 1fr;background:var(--card);border:1px solid var(--line);border-radius:12px;min-height:590px;overflow:hidden;box-shadow:var(--shadow)}aside{padding:23px 16px;border-right:1px solid var(--line);background:#fafaf7}aside h3{font-size:11px;text-transform:uppercase;letter-spacing:.12em;color:var(--muted);margin:8px 9px 10px}.nav{width:100%;border:0;background:transparent;text-align:left;padding:10px;border-radius:6px;font-weight:550}.nav.active{background:#e5eee9;color:var(--green)}.content{padding:25px 28px}.toolbar{display:flex;justify-content:space-between;gap:20px;align-items:center}.toolbar h2{margin:0;font:700 24px Georgia,serif}.toolbar input{width:min(370px,45%);padding:11px 14px;border:1px solid var(--line);border-radius:8px}.documents{display:grid;gap:9px;margin-top:20px}.doc{display:grid;grid-template-columns:96px 1fr auto;gap:16px;align-items:center;border:1px solid var(--line);border-left:4px solid var(--blue);padding:14px 16px;border-radius:8px;background:#fff;cursor:pointer}.doc:hover{box-shadow:0 5px 20px rgba(25,35,40,.07)}.doc.new{border-left-color:var(--gold);background:#fffdf7}.doc-date{text-align:center;color:var(--muted);font-size:12px}.doc-date strong{display:block;color:var(--ink);font-size:18px}.doc h4{margin:0 0 4px}.badges{display:flex;gap:6px;flex-wrap:wrap}.badge{font-size:10px;font-weight:800;letter-spacing:.05em;text-transform:uppercase;border-radius:4px;background:#edf1f2;padding:4px 6px;color:#526068}.badge.new{background:#f8e8c7;color:#8b5f14}.doc-actions{display:flex;gap:7px}.empty{padding:70px 20px;text-align:center;color:var(--muted)}dialog{width:min(850px,92vw);max-height:88vh;border:0;border-radius:14px;padding:32px;box-shadow:0 30px 90px rgba(0,0,0,.28)}dialog::backdrop{background:rgba(12,22,27,.6)}.tree-dialog{width:min(1200px,95vw)}.close{position:absolute;right:16px;top:14px;border:0;font-size:25px}.dialog-head{display:flex;justify-content:space-between;border-bottom:1px solid var(--line);padding-bottom:15px}.detail-text{white-space:pre-wrap;background:#f7f7f3;padding:18px;border-radius:8px;max-height:52vh;overflow:auto;line-height:1.55}.tree-level{margin:14px 0 0 24px;padding-left:18px;border-left:2px solid #d9dfdc}.tree-node{display:flex;gap:10px;align-items:center;padding:10px 12px;margin:7px 0;background:#f8f8f5;border:1px solid var(--line);border-radius:7px}.tree-node button{margin-left:auto;padding:6px 9px}.orphan{border-left-color:#c9a04f}@media(max-width:800px){.hero,.toolbar{align-items:stretch;flex-direction:column}.stats{grid-template-columns:repeat(2,1fr)}.workspace{grid-template-columns:1fr}aside{border-right:0;border-bottom:1px solid var(--line)}.toolbar input{width:100%}.doc{grid-template-columns:70px 1fr}.doc-actions{grid-column:2}.connection{display:none}}

[hidden]{display:none!important}
.session-area{display:flex;align-items:center;gap:13px}
.session-area{position:relative}
.session-identity{display:flex;flex-direction:column;align-items:flex-end;gap:3px}
.last-access{color:#91a2a8;font-size:9px;letter-spacing:.025em}
.account-button{display:flex;align-items:center;gap:10px;padding:7px 9px;border:1px solid transparent;background:transparent;color:#fff;border-radius:9px}
.account-button:hover,.account-button[aria-expanded="true"]{border-color:#53666e;background:rgba(255,255,255,.055)}
.account-avatar{width:32px;height:32px;display:grid;place-items:center;border-radius:50%;background:#e0b463;color:#26353b;font:700 16px Georgia,serif}
.account-chevron{width:15px;height:15px;fill:none;stroke:#aebbc1;stroke-width:2;stroke-linecap:round;stroke-linejoin:round;transition:transform .18s}
.account-button[aria-expanded="true"] .account-chevron{transform:rotate(180deg)}
.account-menu{position:absolute;z-index:30;right:0;top:calc(100% + 10px);width:min(430px,calc(100vw - 28px));max-height:calc(100vh - 92px);overflow-y:auto;padding:18px;background:#fff;color:var(--ink);border:1px solid #d7dfe0;border-radius:12px;box-shadow:0 22px 55px rgba(12,25,30,.24)}
.account-menu::before{content:'';position:absolute;right:24px;top:-7px;width:12px;height:12px;background:#fff;border-left:1px solid #d7dfe0;border-top:1px solid #d7dfe0;transform:rotate(45deg)}
.account-menu-heading{position:relative;padding-bottom:11px;border-bottom:1px solid var(--line)}
.account-menu-heading .eyebrow{margin-bottom:9px}
.account-menu .case-identity{margin:0;padding:10px 13px;border-radius:8px}
.account-menu .case-identity strong{font-size:20px}
.account-menu .case-info{grid-template-columns:repeat(2,minmax(0,1fr));padding:6px 1px 4px;gap:0 18px}
.account-menu .case-field{padding:8px 0}
.account-menu .notification-setting{padding-top:10px}
.account-logout{width:100%;display:flex;align-items:center;gap:10px;margin-top:8px;padding:11px 12px;border:0;border-top:1px solid var(--line);border-radius:0;background:transparent;color:#89453f;text-align:left}
.account-logout:hover{border-color:var(--line);background:#fff3f1;border-radius:7px}
.account-logout svg{width:17px;height:17px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.login-view{min-height:100vh;display:grid;place-items:center;padding:28px;background:radial-gradient(circle at 18% 12%,#244249 0,transparent 32%),linear-gradient(145deg,#101d22,#1b3036 62%,#15352f)}
.login-shell{width:min(440px,100%);background:#fff;border-radius:17px;padding:34px 36px 27px;box-shadow:0 35px 95px rgba(0,0,0,.32);border-top:4px solid var(--gold)}
.login-brand{display:flex;align-items:center;gap:12px;padding-bottom:23px;border-bottom:1px solid var(--line)}
.login-brand .logo{background:#182a30;color:#efc46f}
.login-brand>div{display:flex;flex-direction:column}
.login-brand strong{font:700 20px Georgia,serif}
.login-brand small{color:var(--muted);font-size:11px;margin-top:2px}
.login-copy{padding:26px 0 17px}
.login-copy h1{margin:0 0 9px;font:700 27px/1.18 Georgia,serif;color:#1b2b31}
.login-copy .muted{font-size:13px;line-height:1.55}
.login-form{display:grid;gap:10px}
.login-form label{font-size:11px;letter-spacing:.06em;text-transform:uppercase;color:#54636a;font-weight:800}
.login-form input{width:100%;height:49px;border:1px solid #cfd7d8;border-radius:8px;padding:0 14px;font:650 18px Inter,Segoe UI,sans-serif;letter-spacing:.04em;outline:none}
.login-form input:focus{border-color:var(--green);box-shadow:0 0 0 3px rgba(11,105,88,.1)}
.login-form .primary{margin-top:5px;min-height:45px}
.login-form button:disabled{opacity:.58;cursor:wait}
.link-button{border:0;background:transparent;padding:7px;color:var(--green);font-size:12px}
.login-message{min-height:20px;margin-top:14px;border-radius:7px;font-size:12px;line-height:1.45}
.login-message.error,.login-message.success{padding:10px 12px}
.login-message.error{background:#fff0ef;color:#9c352f;border:1px solid #f1ceca}
.login-message.success{background:#eaf5f0;color:#166352;border:1px solid #cce4da}
.login-security{margin:19px 0 0;padding-top:16px;border-top:1px solid var(--line);font-size:10px;color:#7b868b;text-align:center}

/* Vista documental orientada al usuario final */
.doc{grid-template-columns:1fr auto;gap:18px;padding:16px 18px}
.doc h4{margin:0 0 9px;font-size:16px;line-height:1.35}
.doc-main{min-width:0}
.doc-meta,.detail-meta{display:flex;align-items:center;gap:9px;flex-wrap:wrap;color:var(--muted);font-size:12px}
.doc-meta>span:not(:last-child):not(.badge)::after,.detail-meta>span:not(:last-child):not(.badge)::after{content:' ·';margin-left:9px}
.doc-side{display:flex;align-items:flex-end;gap:11px;flex-direction:column}
.badge.party.actora{background:#e3f1ff;color:#245d8b}
.badge.party.demandado{background:#f2e8fb;color:#71428f}
.badge.party.otra{background:#e9eeea;color:#4d6555}
.doc-actions,.related-actions{display:flex;gap:7px;flex-wrap:wrap}
.detail-head{display:flex;justify-content:space-between;align-items:flex-start;gap:20px;padding:0 34px 22px 0;border-bottom:1px solid var(--line)}
.detail-head h2{margin:0 0 10px;font:700 25px Georgia,serif;line-height:1.25}
.detail-grid{display:grid;grid-template-columns:1fr 1fr;gap:13px;margin:22px 0}
.detail-field{background:#f8f8f5;border:1px solid var(--line);border-radius:9px;padding:16px;min-height:116px}
.detail-field h3,.related-docs h3,.notifications h3{margin:0 0 9px;font-size:13px;color:var(--green);text-transform:uppercase;letter-spacing:.06em}
.detail-field div{white-space:pre-wrap;line-height:1.55;font-size:14px}
.related-docs,.notifications{border-top:1px solid var(--line);padding-top:20px;margin-top:21px}
.notification-note{display:flex;align-items:center;justify-content:space-between;gap:15px;background:#fff9e9;border:1px solid #ecd9a8;border-left:4px solid var(--gold);border-radius:8px;padding:13px 15px;margin-top:9px}
.notification-note>div{display:flex;gap:12px;align-items:center;flex-wrap:wrap}
.notification-note span{color:var(--muted);font-size:13px}
.tree-node{gap:14px;padding:12px 14px}
.tree-node>div{min-width:0}
.tree-node strong{display:block;margin-bottom:7px}
@media(max-width:800px){.detail-head{align-items:stretch;flex-direction:column}.doc{grid-template-columns:1fr}.doc-side{align-items:flex-start}.detail-grid{grid-template-columns:1fr}.notification-note{align-items:flex-start;flex-direction:column}.doc-actions{grid-column:auto}}

/* Tablero del expediente */
.dashboard{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(360px,.85fr);gap:16px;margin:22px 0 16px}
.case-card,.summary-card,.recent-card{background:var(--card);border:1px solid var(--line);border-radius:12px;box-shadow:0 5px 20px rgba(30,40,45,.04)}
.case-card,.summary-card{padding:22px 24px}
.section-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:18px;margin-bottom:17px}
.section-heading h2{margin:0;font:700 21px Georgia,serif}
.case-info{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 26px}
.case-field{display:flex;flex-direction:column;gap:4px;padding:11px 0;border-top:1px solid #edf0f0;min-width:0}
.case-field span{font-size:11px;text-transform:uppercase;letter-spacing:.055em;color:var(--muted);font-weight:700}
.case-field strong{font-size:14px;line-height:1.38;overflow-wrap:anywhere}
.total-documents{font:700 18px Georgia,serif;white-space:nowrap;color:var(--green)}
.type-stats{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:9px}
.type-stat{min-height:72px;padding:11px;text-align:left;border-color:#e1e6e6;background:#fafbf9;display:flex;flex-direction:column;justify-content:center;gap:3px}
.type-stat:hover{background:#edf5f1;border-color:#a9c9bd}
.type-stat strong{font:700 22px Georgia,serif;color:var(--green)}
.type-stat span{font-size:10px;line-height:1.25;color:var(--muted);overflow-wrap:anywhere}
.recent-card{padding:20px 24px;margin-bottom:16px}
.recent-documents{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));border:1px solid var(--line);border-radius:9px;overflow:hidden}
.recent-item{min-width:0;padding:14px;border-right:1px solid var(--line);background:#fff;display:flex;flex-direction:column;gap:10px}
.recent-item:last-child{border-right:0}
.recent-date{font-size:11px;color:var(--muted)}
.recent-body{display:flex;flex-direction:column;align-items:flex-start;gap:5px;min-height:85px}
.recent-number{font:700 17px Georgia,serif;color:var(--ink)}
.recent-title{font-size:12px;line-height:1.35;color:#3f4a50;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.recent-item .doc-actions{margin-top:auto}
.recent-item .doc-actions button{padding:7px 10px;font-size:12px}

/* Listado documental */
.doc{grid-template-columns:170px minmax(0,1fr) auto;gap:20px;cursor:default;padding:15px 18px}
.doc-key{border-right:1px solid var(--line);padding-right:17px;min-width:0;display:flex;flex-direction:column;gap:5px}
.doc-key span,.tree-key span{font-size:10px;letter-spacing:.08em;text-transform:uppercase;color:var(--green);font-weight:800}
.doc-key strong,.tree-key strong{font:700 19px Georgia,serif;overflow-wrap:anywhere}
.doc h4{font-size:17px;margin:0 0 9px}
.doc-side{align-self:stretch;justify-content:space-between}
.doc-actions button{white-space:nowrap}
.detail-number{font:700 21px Georgia,serif;color:var(--green);margin:2px 0 7px}
.detail-head>button{background:var(--green);color:#fff;border-color:var(--green)}
.tree-node{display:grid;grid-template-columns:160px minmax(0,1fr) auto}
.tree-key{display:flex;flex-direction:column;gap:4px;border-right:1px solid var(--line);padding-right:12px}
.tree-content{min-width:0}
.tree-node .doc-actions{margin-left:0}
.tree-node.tree-notification{
  border-color:#ead8a8;
  border-left:4px solid var(--gold);
  background:#fffaf0;
}

/* Seguimiento procesal de solicitudes principales */
.doc.procedural-primary,
.tree-node.procedural-primary {
  --procedural-accent: #2d6884;
  position: relative;
  border: 2px solid color-mix(in srgb, var(--procedural-accent) 68%, #d5dfdc);
  border-left-width: 8px;
  background:
    linear-gradient(90deg, color-mix(in srgb, var(--procedural-accent) 20%, #fff), color-mix(in srgb, var(--procedural-accent) 7%, #fff) 58%, #fff 100%);
  box-shadow: 0 12px 30px rgba(22, 58, 70, .18), 0 0 0 2px color-mix(in srgb, var(--procedural-accent) 10%, transparent);
}
.doc.procedural-primary .doc-key {
  background: transparent;
}
.tree-node.procedural-primary .tree-key {
  background: color-mix(in srgb, var(--procedural-accent) 10%, transparent);
}
.doc.procedural-primary:hover,
.tree-node.procedural-primary:hover {
  border-color: var(--procedural-accent);
  box-shadow: 0 14px 34px rgba(22, 58, 70, .22), 0 0 0 3px color-mix(in srgb, var(--procedural-accent) 12%, transparent);
}
.doc.procedural-primary::before,
.tree-node.procedural-primary::before {
  background: var(--procedural-accent);
}
.doc.procedural-primary.attention,
.tree-node.procedural-primary.attention { --procedural-accent: #b78125; }
.doc.procedural-primary.pending,
.tree-node.procedural-primary.pending { --procedural-accent: #6d7085; }
.doc.procedural-primary.resolved,
.tree-node.procedural-primary.resolved { --procedural-accent: #17765f; }
.procedural-card-state {
  display: flex;
  align-items: center;
  gap: 10px;
  margin-top: 10px;
  color: #465b62;
  font-size: .74rem;
}
.procedural-card-state strong { color: var(--procedural-accent); font-size: .76rem; text-transform: uppercase; letter-spacing: .045em; }
.procedural-card-state small { color: #738087; }
.procedural-primary-label,
.tree-procedural-badge {
  display: inline-flex;
  align-items: center;
  gap: 5px;
  padding: 5px 9px;
  border: 1px solid #6f5415;
  border-radius: 999px;
  background: #8a681b;
  color: #fff8df;
  box-shadow: 0 3px 9px rgba(86, 62, 12, .18);
  font-weight: 800;
  text-transform: uppercase;
  letter-spacing: .055em;
}
.procedural-primary-label { font-size: .66rem; }
.procedural-primary-label svg { width: 13px; height: 13px; fill: none; stroke: currentColor; stroke-width: 1.8; }
.tree-procedural-badge {
  font-size: .65rem;
}
.procedural-entry-actions { padding: 22px 30px; border-top: 1px solid #dbe4e2; background: #fbfcfc; }
.procedural-start-button {
  display: inline-flex; align-items: center; gap: 8px;
  border: 0; background: transparent; color: #176b5b;
  font-weight: 750; font-size: .82rem; cursor: pointer;
}
.procedural-start-button svg { width: 16px; height: 16px; fill: none; stroke: currentColor; stroke-width: 1.8; }
.procedural-related-panel { display: grid; gap: 8px; margin-bottom: 14px; }
.procedural-related-panel > span { color: #176b5b; font-size: .68rem; font-weight: 800; letter-spacing: .12em; }
.procedural-related-panel p { margin: 0; color: #68777d; }
.procedural-related-panel button { display: grid; grid-template-columns: auto 1fr auto; gap: 10px; text-align: left; border: 1px solid #d6e1de; border-radius: 10px; background: #fff; padding: 10px 12px; color: #294249; cursor: pointer; }

/* v0.33.34 - Vista uniforme del seguimiento en el documento principal */
.procedural-primary-detail-panel { margin-bottom: 0; }
.procedural-primary-detail-panel > span { color: #176b5b; }
.procedural-primary-detail-card { border-left: 4px solid #176b5b !important; background: #fbfdfc !important; }
.procedural-primary-detail-card > strong { color: #24414a; }
.procedural-primary-detail-card > span { min-width: 0; font-weight: 700; color: #334a52; }
.procedural-primary-detail-card > small { display: inline-flex; align-items: center; gap: 8px; justify-self: end; color: #5e7279; white-space: nowrap; }
.procedural-primary-detail-card > small em { font-style: normal; color: #7a8589; font-weight: 500; }
.procedural-also-related-panel { margin-top: 18px; margin-bottom: 0; padding-top: 18px; border-top: 1px solid #e0e8e6; }
.procedural-tracking-panel {
  --procedural-accent: #2d6884;
  margin: 0; padding: 28px 30px 30px;
  border-top: 1px solid #d7e2df; border-bottom: 1px solid #d7e2df;
  background: linear-gradient(135deg, #f8fbfa, #fff);
}
.procedural-tracking-panel.attention { --procedural-accent: #b78125; }
.procedural-tracking-panel.pending { --procedural-accent: #6d7085; }
.procedural-tracking-panel.resolved { --procedural-accent: #17765f; }
.procedural-tracking-head { display: flex; justify-content: space-between; align-items: flex-start; gap: 24px; }
.procedural-tracking-head > div:first-child > span { color: var(--procedural-accent); font-size: .7rem; font-weight: 850; letter-spacing: .14em; }
.procedural-tracking-head h3 { max-width: 760px; margin: 6px 0 0; color: #19323a; font-family: Georgia, serif; font-size: 1.05rem; line-height: 1.35; }
.procedural-current-state { min-width: 210px; padding: 12px 15px; border-left: 3px solid var(--procedural-accent); background: #fff; }
.procedural-current-state small,
.procedural-current-state span { display: block; color: #748086; font-size: .68rem; }
.procedural-current-state strong { display: block; margin: 3px 0; color: var(--procedural-accent); font-size: .8rem; text-transform: uppercase; letter-spacing: .05em; }
.procedural-description { max-width: 880px; margin: 18px 0 0; color: #53656c; line-height: 1.65; }
.procedural-actions { display: flex; flex-wrap: wrap; gap: 18px; margin: 20px 0; }
.procedural-actions button { border: 0; background: transparent; padding: 0; color: #176b5b; font-weight: 750; cursor: pointer; }
.procedural-actions .procedural-unmark { margin-left: auto; color: #8a5a54; font-weight: 650; }
.procedural-event-list { position: relative; display: grid; gap: 0; margin-top: 20px; }
.procedural-event-list::before { content: ''; position: absolute; left: 7px; top: 10px; bottom: 10px; width: 1px; background: #cbd9d5; }
.procedural-event { position: relative; display: grid; grid-template-columns: 16px 1fr auto; gap: 14px; padding: 0 0 24px; }
.procedural-event:last-child { padding-bottom: 0; }
.procedural-event-marker { position: relative; z-index: 1; width: 15px; height: 15px; margin-top: 5px; border: 3px solid #fff; border-radius: 50%; background: var(--procedural-accent); box-shadow: 0 0 0 1px var(--procedural-accent); }
.procedural-event.related .procedural-event-marker { background: #fff; }
.procedural-event-copy { max-width: 880px; }
.procedural-event-copy time { color: #7b898e; font-size: .7rem; }
.procedural-event-title { display: flex; align-items: center; flex-wrap: wrap; gap: 8px; margin: 3px 0 5px; }
.procedural-event-title strong { color: #263e45; text-transform: uppercase; font-size: .8rem; letter-spacing: .045em; }
.procedural-event-title small { color: #7a8589; }
.procedural-event-title span { padding: 3px 8px; border-radius: 999px; background: #e5f3ed; color: #176b5b; font-size: .66rem; font-weight: 800; text-transform: uppercase; }
.procedural-event-document { border: 0; background: transparent; padding: 0; color: #176b5b; font-weight: 750; cursor: pointer; }
.procedural-event-document-row { display: flex; align-items: center; gap: 8px; flex-wrap: wrap; margin-top: 2px; }
.procedural-event-party { display: inline-flex; align-items: center; }
.procedural-event-party .badge.party { margin-left: 0; }
.procedural-event-copy p { margin: 6px 0 0; color: #53656c; line-height: 1.55; }
.procedural-event-tools { display: flex; gap: 10px; }
.procedural-event-tools button { border: 0; background: transparent; color: #61747a; padding: 0; font-size: .72rem; cursor: pointer; }
.procedural-event-tools button:last-child { color: #9a5b54; }
.procedural-tracking-dialog { width: min(680px, calc(100vw - 32px)); border: 0; border-radius: 18px; padding: 0; box-shadow: 0 24px 70px rgba(12, 31, 36, .28); }
.procedural-tracking-form { display: grid; gap: 16px; padding: 32px; }
.procedural-tracking-form header { padding-right: 32px; }
.procedural-tracking-form h2 { margin: 4px 0 6px; font-family: Georgia, serif; color: #172f37; }
.procedural-tracking-form header p:last-child { margin: 0; color: #68777d; }
.procedural-field { display: grid; gap: 7px; }
.procedural-field > span { color: #40565e; font-size: .72rem; font-weight: 800; text-transform: uppercase; letter-spacing: .06em; }
.procedural-field input,
.procedural-field select,
.procedural-field textarea { width: 100%; border: 1px solid #cfdcda; border-radius: 10px; background: #fff; padding: 11px 12px; color: #243b43; font: inherit; box-sizing: border-box; }
.procedural-field textarea { resize: vertical; }
.procedural-form-row { display: grid; grid-template-columns: 1fr 1fr; gap: 14px; }
.procedural-tracking-form footer { display: flex; justify-content: flex-end; gap: 10px; padding-top: 4px; }
.procedural-tracking-form footer button { border: 1px solid #cad9d6; border-radius: 9px; background: #fff; padding: 10px 15px; font-weight: 750; cursor: pointer; }
.procedural-tracking-form footer .primary { border-color: #0e7461; background: #0e7461; color: #fff; }
.procedural-confirm-icon { background: #f8eedb; color: #94691f; font: 900 22px Georgia, serif; }
.procedural-confirm-dialog .monitor-confirm-actions .danger { border-color: #93443d; background: #93443d; color: #fff; }
.procedural-confirm-dialog .monitor-confirm-actions .danger:hover { border-color: #77342f; background: #77342f; }

@media (max-width: 720px) {
  .procedural-card-state { align-items: flex-start; flex-wrap: wrap; gap: 6px 10px; }
  .procedural-card-state small { flex-basis: 100%; }
  .procedural-tracking-panel { padding: 22px 18px 24px; }
  .procedural-tracking-head { display: grid; gap: 14px; }
  .procedural-current-state { min-width: 0; }
  .procedural-actions { gap: 12px 18px; }
  .procedural-actions .procedural-unmark { margin-left: 0; flex-basis: 100%; text-align: left; }
  .procedural-event { grid-template-columns: 16px 1fr; }
  .procedural-event-tools { grid-column: 2; }
  .procedural-related-panel button { grid-template-columns: 1fr; }
  .procedural-tracking-form { padding: 28px 20px 22px; }
  .procedural-form-row { grid-template-columns: 1fr; }
}
.tree-node.tree-notification .tree-key span{color:#93651b}
.tree-recent-navigator{position:sticky;top:-32px;z-index:4;margin:0 0 20px;padding:14px 16px;border:1px solid #cbded8;border-top:4px solid var(--green);border-radius:10px;background:rgba(255,255,255,.97);box-shadow:0 8px 22px rgba(22,35,42,.1);backdrop-filter:blur(8px)}
.tree-recent-heading{display:grid;grid-template-columns:minmax(0,1fr) auto auto;align-items:center;gap:12px;margin-bottom:10px}
.tree-recent-heading .eyebrow{margin:0 0 3px}
.tree-recent-heading strong{font:700 19px Georgia,serif}
.tree-recent-heading>span{color:#62716d;font-size:10px;font-weight:800;letter-spacing:.06em;text-transform:uppercase}
.tree-recent-latest{min-height:30px;padding:6px 9px;border-color:#9dbbb1;background:#edf5f2;color:var(--green);font-size:9px;white-space:nowrap}
.tree-recent-latest:disabled{cursor:default;opacity:.42}
.tree-recent-controls{display:grid;grid-template-columns:42px minmax(0,1fr) 42px;gap:10px;align-items:stretch}
.tree-recent-arrow{display:grid;place-items:center;min-height:82px;padding:0;border-color:#cbd8d4;background:#f7faf8;color:var(--green);font-size:20px}
.tree-recent-arrow:disabled{cursor:default;opacity:.35}
.tree-recent-card{display:grid;grid-template-columns:auto 1fr;column-gap:12px;row-gap:3px;min-width:0;padding:11px 14px;border:1px solid #d6e2de;border-left:4px solid var(--gold);background:#fff;text-align:left}
.tree-recent-card:hover{border-color:#9cbab1;background:#f9fcfb}
.tree-recent-card .tree-recent-date{grid-row:1 / span 3;align-self:center;min-width:92px;padding-right:12px;border-right:1px solid var(--line);color:#60716c;font-size:11px;font-variant-numeric:tabular-nums}
.tree-recent-card .tree-recent-key{min-width:0;color:var(--green);font-size:9px;font-weight:850;letter-spacing:.08em;text-transform:uppercase}
.tree-recent-card strong{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:13px}
.tree-recent-card small{color:#7b8985;font-size:9px}
.tree-node.tree-latest{border-left:4px solid var(--gold);background:#fffaf0}
.tree-node.tree-case-root{border-color:#c8d8d3;border-left:4px solid var(--green);background:#eef5f2}
.tree-node.tree-case-root .tree-key span{color:#52655f}
.tree-node.tree-case-root .tree-content>strong{font-family:Georgia,serif;color:#1d4038}
.timeline-card.case-root{border-color:#c8d8d3;border-left-color:var(--green);background:#eef5f2;box-shadow:none}
.timeline-card.case-root .timeline-kind>span:first-child{color:#52655f}
.tree-node.recent-selected{outline:2px solid rgba(11,105,88,.28);outline-offset:2px}
.tree-latest-badge{display:inline-flex;align-items:center;min-height:20px;padding:3px 7px;border-radius:999px;background:#f8e8c7;color:#8b5f14;font-size:9px;font-weight:800;letter-spacing:.04em;text-transform:uppercase}
.empty.compact{padding:25px}

@media(max-width:1100px){
  .dashboard{grid-template-columns:1fr}
  .recent-documents{grid-template-columns:repeat(2,minmax(0,1fr))}
  .recent-item{border-bottom:1px solid var(--line)}
  .doc{grid-template-columns:150px minmax(0,1fr)}
  .doc-side{grid-column:2;align-items:flex-start;flex-direction:row}
}
@media(max-width:800px){
  .case-info{grid-template-columns:1fr}
  .type-stats{grid-template-columns:repeat(2,minmax(0,1fr))}
  .recent-documents{grid-template-columns:1fr}
  .recent-item{border-right:0}
  .doc{grid-template-columns:1fr}
  .doc-key{border-right:0;border-bottom:1px solid var(--line);padding:0 0 11px}
  .doc-side{grid-column:auto}
  .tree-node{grid-template-columns:1fr}
  .tree-key{border-right:0;border-bottom:1px solid var(--line);padding:0 0 9px}
  .section-heading{flex-direction:column}
}
@media(max-width:650px){
  .tree-recent-navigator{top:-32px;padding:12px}
  .tree-recent-controls{grid-template-columns:36px minmax(0,1fr) 36px;gap:7px}
  .tree-recent-arrow{min-height:96px}
  .tree-recent-card{grid-template-columns:1fr;padding:10px}
  .tree-recent-card .tree-recent-date{grid-row:auto;min-width:0;padding:0;border:0}
  .tree-recent-card strong{white-space:normal;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical}
}

/* Acciones documentales y etiquetas de tema con mayor jerarquía visual */
button[data-pdf],button[data-detail]{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:6px;
  min-height:32px;
  padding:7px 11px;
  border-radius:7px;
  font-size:11px;
  font-weight:800;
  letter-spacing:.025em;
  box-shadow:0 3px 8px rgba(24,33,40,.12);
  transition:transform .15s ease,box-shadow .15s ease,background-color .15s ease,border-color .15s ease;
  width:max-content;
  min-width:0;
  flex:0 0 auto;
  white-space:nowrap;
}
button[data-pdf]{
  color:#fff;
  border-color:#b78455;
  background:linear-gradient(180deg,#d3a06f 0%,#bf8652 100%);
  box-shadow:0 2px 5px rgba(117,76,39,.12);
}
button[data-pdf]::before{content:'PDF';font-size:7px;line-height:1;padding:3px 2px;border:1px solid rgba(255,255,255,.72);border-radius:2px;color:#fff}
button[data-detail]{
  color:#fff;
  border-color:#294f69;
  background:linear-gradient(180deg,#3f718f 0%,#315c7a 100%);
}
button[data-detail]::before{content:'\25C9';font-size:10px;line-height:1;color:#d9edf7}
button[data-pdf]:hover,button[data-detail]:hover{
  color:#fff;
  transform:translateY(-1px);
  box-shadow:0 5px 12px rgba(24,33,40,.2);
}
button[data-pdf]:hover{border-color:#a87547;background:linear-gradient(180deg,#c99665 0%,#b77d4a 100%)}
button[data-detail]:hover{border-color:#203f55;background:linear-gradient(180deg,#376783 0%,#294f69 100%)}
button[data-pdf]:focus-visible,button[data-detail]:focus-visible{outline:3px solid rgba(197,145,59,.38);outline-offset:2px}

.theme-label{
  position:relative;
  min-height:25px;
  padding:5px 10px 5px 24px;
  border:1px solid #075446;
  border-radius:999px;
  background:linear-gradient(180deg,#16816d 0%,#0b6958 100%);
  color:#fff;
  font-size:9px;
  font-weight:850;
  letter-spacing:.045em;
  text-transform:uppercase;
  box-shadow:0 3px 8px rgba(11,105,88,.2);
}
.theme-label::before{content:'\25C6';position:absolute;left:10px;top:50%;transform:translateY(-50%);font-size:7px;color:#bfe3d9}

.topic-context{
  border:1px solid #075446;
  border-left:5px solid #d2a24c;
  border-radius:10px;
  background:linear-gradient(135deg,#147764 0%,#0b6958 100%);
  box-shadow:0 6px 16px rgba(11,105,88,.2);
}
.topic-context strong{color:#fff;font-weight:800;letter-spacing:.035em;text-transform:uppercase}

/* El tamaño de cada acción responde al lugar donde aparece. */
.detail-title-row button[data-pdf]{min-height:34px;padding:8px 12px;font-size:11px}
.documents .doc-actions button[data-pdf],
.documents .doc-actions button[data-detail]{min-height:31px;padding:6px 9px;font-size:10px}
.derived-actions button[data-pdf],
.derived-actions button[data-detail]{min-height:27px;padding:5px 7px;font-size:9px;box-shadow:0 2px 5px rgba(24,33,40,.12)}
.notification-note button[data-pdf]{min-height:29px;padding:6px 8px;font-size:10px}

.header-recent-documents .doc-actions button{
  min-height:29px;
  padding:6px 9px;
  font-size:9px;
  border-radius:6px;
}
.header-recent-documents .doc-actions button[data-pdf]::before{font-size:6px;padding:2px 1px}

@media(max-width:520px){
  button[data-pdf],button[data-detail]{min-height:30px;padding:6px 9px}
  .theme-label{max-width:100%;white-space:normal}
}

/* Cronología semanal compacta dentro de Panorama */
.panorama-chronology{margin-top:16px;padding-top:13px;border-top:1px solid var(--line)}
.panorama-chronology .eyebrow{margin-bottom:3px}
.panorama-chronology .chronology-caption{margin:0 0 8px}
.summary-card .chronology-chart{display:grid;grid-template-columns:repeat(16,minmax(7px,1fr));align-items:end;gap:4px;height:80px;padding:3px 0 0;border-top:0}
.summary-card .chronology-point{display:grid;grid-template-rows:1fr 13px;align-items:end;justify-items:center;gap:3px;height:100%;min-width:0}
.summary-card .chronology-bar-track{width:min(8px,72%);height:100%;min-height:34px;border-radius:4px 4px 1px 1px}
.summary-card .chronology-bar-track i{border-radius:4px 4px 1px 1px}
.summary-card .chronology-point>small{font-size:7px;line-height:1;white-space:nowrap}

@media(max-width:520px){
  .summary-card .chronology-chart{gap:2px}
  .summary-card .chronology-point>small{font-size:6px}
}

.dashboard-main{grid-template-columns:minmax(420px,1.25fr) minmax(360px,.75fr)}

@media(max-width:900px){
  .dashboard-main{grid-template-columns:1fr}
}

/* Tablero v0.4: ficha, panorama y actividad en una sola línea */
.dashboard-main{
  grid-template-columns:minmax(420px,1.25fr) minmax(300px,.82fr) minmax(320px,.93fr);
  align-items:stretch;
  gap:14px;
}
.case-card,.summary-card,.recent-card,.chronology-card{position:relative;overflow:hidden}
.case-card{padding:23px 25px 21px;background:linear-gradient(145deg,#fff 0%,#fbfdfc 100%);border-color:#cbdcd6;box-shadow:0 12px 32px rgba(11,105,88,.09)}
.case-accent{position:absolute;left:0;top:0;bottom:0;width:5px;background:linear-gradient(180deg,var(--green),#36a182 72%,var(--gold))}
.case-card .section-heading{padding-left:4px;margin-bottom:13px}
.case-status{font-size:9px;letter-spacing:.1em;font-weight:800;color:#6a7c75;background:#edf4f1;border:1px solid #d6e5df;border-radius:999px;padding:6px 9px;white-space:nowrap}
.case-identity{display:flex;align-items:baseline;justify-content:space-between;gap:15px;background:#13262c;color:#fff;border-radius:10px;padding:13px 16px;margin:0 0 11px 4px}
.case-identity span{font-size:9px;letter-spacing:.14em;color:#9fc1b7;font-weight:800}
.case-identity strong{font:700 25px Georgia,serif;color:#f3d18c;letter-spacing:.02em}
.case-info{gap:0 18px;padding-left:4px}
.case-field{padding:8px 0}
.case-field span{font-size:9px}
.case-field strong{font-size:12px}
.notification-setting{grid-column:1/-1}
.notification-toggle{width:100%;display:flex;align-items:center;justify-content:flex-start;gap:9px;padding:6px 0;border:0;background:transparent;text-align:left;color:#7b4b45}
.notification-toggle:hover{border:0;color:#643b36}
.notification-toggle:disabled{opacity:.55;cursor:wait}
.notification-toggle strong{font-size:12px;color:inherit}
.switch-track{position:relative;width:32px;height:18px;flex:0 0 auto;border-radius:99px;background:#c8cecf;box-shadow:inset 0 0 0 1px rgba(24,33,40,.08);transition:background .18s}
.switch-track i{position:absolute;top:3px;left:3px;width:12px;height:12px;border-radius:50%;background:#fff;box-shadow:0 1px 3px rgba(0,0,0,.22);transition:left .18s ease}
.notification-toggle.enabled{color:var(--green)}
.notification-toggle.enabled .switch-track{background:#2b8b73}
.notification-toggle.enabled .switch-track i{left:17px}
.summary-card,.recent-card,.chronology-card{padding:20px 21px;margin:0}
.section-heading.compact{align-items:center;margin-bottom:13px}
.section-heading.compact h2{font-size:19px}
.total-documents{font-size:13px;background:#edf4f1;border-radius:999px;padding:6px 9px}
.compact-stats{grid-template-columns:repeat(4,minmax(0,1fr));gap:6px;margin-bottom:15px}
.compact-stats .type-stat{min-height:53px;padding:7px 5px;align-items:center;text-align:center;border:0;background:#f2f6f4}
.compact-stats .type-stat strong{font-size:18px;line-height:1}
.compact-stats .type-stat span{font-size:8px;max-width:100%;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.type-chart{display:grid;gap:7px;border-top:1px solid var(--line);padding-top:13px}
.chart-row{display:grid;grid-template-columns:78px minmax(65px,1fr) 24px;align-items:center;gap:8px;padding:0;border:0;background:transparent;text-align:left;border-radius:3px}
.chart-row:hover .chart-fill{filter:brightness(.9)}
.chart-label{font-size:9px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;color:#58656b;font-weight:750}
.chart-track{height:7px;background:#edf1ef;border-radius:99px;overflow:hidden}
.chart-fill{display:block;height:100%;border-radius:99px;background:linear-gradient(90deg,var(--green),#43a88c);transition:width .25s ease}
.chart-row:nth-child(2n) .chart-fill{background:linear-gradient(90deg,#315c7a,#6890a9)}
.chart-row strong{font-size:10px;color:#46535a;text-align:right}
.chronology-caption{margin:-4px 0 11px;color:var(--muted);font-size:10px}
.chronology-chart{display:grid;grid-template-columns:repeat(12,minmax(18px,1fr));align-items:end;gap:6px;height:146px;padding:10px 2px 0;border-top:1px solid var(--line)}
.chronology-point{display:grid;grid-template-rows:15px 1fr 14px;align-items:end;justify-items:center;gap:4px;height:100%;min-width:0}
.chronology-point>strong{font-size:9px;line-height:1;color:#526169}
.chronology-bar-track{position:relative;display:flex;align-items:flex-end;width:min(18px,80%);height:100%;min-height:52px;border-radius:5px 5px 2px 2px;background:#edf1ef;overflow:hidden}
.chronology-bar-track i{display:block;width:100%;border-radius:5px 5px 2px 2px;background:linear-gradient(180deg,#43a88c,var(--green));transition:height .25s ease,filter .18s}
.chronology-point:hover .chronology-bar-track i{filter:brightness(.86)}
.chronology-point>small{font-size:8px;text-transform:capitalize;color:#6b777c;white-space:nowrap}
.recent-documents{display:grid;grid-template-columns:1fr;border:0;border-top:1px solid var(--line);border-radius:0;overflow:visible}
.recent-item{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:8px;min-height:0;padding:9px 0;border:0;border-bottom:1px solid #edf0ef;background:transparent}
.recent-item:last-child{border-bottom:0}
.recent-body{display:grid;grid-template-columns:auto auto 1fr;align-items:center;gap:5px 7px;min-height:0;min-width:0}
.recent-date{grid-column:1/-1;font-size:9px;color:var(--muted);line-height:1}
.recent-body .badge{font-size:8px;padding:3px 5px}
.recent-number{font:700 12px Georgia,serif;white-space:nowrap}
.recent-title{font-size:10px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;color:#556168}
.recent-item .doc-actions{gap:4px;margin:0}
.recent-item .doc-actions button{padding:5px 7px;font-size:9px;border-radius:5px}

/* Temas como agrupación documental */
.themes-card{display:grid;grid-template-columns:auto 1fr;align-items:center;gap:24px;background:#fff;border:1px solid var(--line);border-radius:12px;padding:14px 20px;margin:0 0 16px;box-shadow:0 5px 20px rgba(30,40,45,.035)}
.themes-card .eyebrow{margin-bottom:3px}
.themes-caption{margin:0;color:var(--muted);font-size:11px;white-space:nowrap}
.theme-stats{position:relative;display:grid;gap:8px;min-width:0}
.theme-visible{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));align-items:center;gap:7px;min-width:0;overflow:visible;padding-bottom:2px}
.theme-actions{display:flex;align-items:center;justify-content:flex-end;gap:7px;min-width:0}
.theme-chip,.theme-label{display:inline-flex;align-items:center;gap:7px;border:1px solid #cfe0d9;background:#edf5f1;color:#155e50;border-radius:999px;font-size:10px;font-weight:750;line-height:1.2;padding:6px 9px}
.theme-chip strong{display:grid;place-items:center;min-width:19px;height:19px;padding:0 5px;border-radius:99px;background:#fff;color:var(--green);font-size:9px}
.theme-chip:hover,.theme-chip.active{background:var(--green);border-color:var(--green);color:#fff}
.theme-chip.active strong{color:var(--green)}
.more-themes{padding:7px 11px;border:1px dashed #a9bdb6;background:#fff;color:#3b5c53;border-radius:999px;font-size:10px;font-weight:750}
.more-themes:hover,.more-themes[aria-expanded="true"]{border-style:solid;border-color:var(--green);background:#f0f6f3;color:var(--green)}
.more-themes.has-selection::before{content:'';display:inline-block;width:6px;height:6px;margin-right:6px;border-radius:50%;background:var(--green);vertical-align:1px}
.theme-selection-action{flex:0 0 auto;padding:7px 9px;border:0;background:transparent;color:#597069;font-size:10px;font-weight:750;white-space:nowrap}
.theme-selection-action:hover{border:0;background:#f0f6f3;color:var(--green)}
.theme-selection-action:disabled{opacity:.42;cursor:default;background:transparent;color:#7d8b87}
.theme-chip,.more-themes{flex:0 0 auto;white-space:nowrap}
.theme-visible .theme-chip{width:100%;min-width:0;justify-content:space-between}
.theme-visible .theme-chip span{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.themes-popover{position:absolute;z-index:20;right:0;top:calc(100% + 10px);width:min(410px,calc(100vw - 42px));padding:10px;background:#fff;border:1px solid #d5dfdc;border-radius:11px;box-shadow:0 18px 45px rgba(25,43,48,.2)}
.themes-popover-list{display:grid;gap:3px;max-height:300px;overflow:auto;padding:2px}
.theme-option{display:grid;grid-template-columns:18px minmax(0,1fr) auto;align-items:center;gap:9px;width:100%;padding:9px 10px;border:0;background:transparent;color:#405057;text-align:left;border-radius:7px;font-size:12px}
.theme-option:hover{border:0;background:#f3f7f5}.theme-option.active{color:var(--green);font-weight:700;background:#edf5f1}
.theme-check{width:16px;height:16px;display:grid;place-items:center;border:1px solid #aebbb7;border-radius:3px;background:#fff;color:#fff;font-size:11px}.theme-option.active .theme-check{border-color:var(--green);background:var(--green)}
.theme-option small{color:var(--muted);font-size:10px}
.themes-popover-actions{display:flex;justify-content:flex-end;gap:7px;margin-top:8px;padding:10px 2px 1px;border-top:1px solid var(--line)}
.themes-popover-actions button{padding:7px 12px;font-size:11px}
.theme-label{padding:4px 7px;font-size:9px;background:#f0f6f3}
.theme-label.prominent{font-size:10px;padding:5px 9px}

/* Detalle documental formal y de lectura vertical */
#detailDialog{width:min(940px,94vw);padding:34px 38px}
.detail-head{padding-right:30px;display:grid;grid-template-columns:minmax(0,1fr) minmax(190px,250px);align-items:start;gap:28px}
.detail-context{display:flex;flex-direction:column;align-items:flex-end;gap:15px}
.topic-context{width:100%;border-top:2px solid var(--green);padding:11px 0 0;text-align:right}
.topic-context span{display:block;margin-bottom:5px;color:var(--muted);font-size:9px;font-weight:800;letter-spacing:.1em;text-transform:uppercase}
.topic-context strong{display:block;color:#263a3d;font:600 16px/1.3 Georgia,serif}
.analysis-sheet{margin:22px 0 0;border:0;border-top:1px solid #cfd9d6;background:#fff}
.analysis-title{padding:18px 0 10px;color:#173d38;font:600 18px Georgia,serif}
.narrative-block{display:grid;grid-template-columns:150px minmax(0,1fr);border-top:1px solid #e5e9e8;min-height:78px}
.narrative-block:first-of-type{border-top:0}
.narrative-label{padding:17px 18px;background:#f7f9f8;color:var(--green);font-size:10px;text-transform:uppercase;letter-spacing:.08em;font-weight:800;border-right:1px solid #e5e9e8}
.narrative-copy{padding:17px 20px;white-space:pre-wrap;line-height:1.62;font-size:13px;color:#334047;overflow-wrap:anywhere}
.narrative-block.featured .narrative-copy{font-weight:550;color:#1f2d33}
.related-docs,.notifications{margin-top:22px}
.notifications{background:#faf8f1;border:1px solid #eadfbf;border-radius:10px;padding:17px 18px}
.notifications>h3{display:flex;align-items:center;gap:8px;margin-bottom:11px}
.notification-note{background:#fff;border:1px solid #e5dcc3;border-left:3px solid var(--gold);box-shadow:0 3px 10px rgba(80,67,35,.035);padding:11px 13px}
.notification-copy{display:grid!important;grid-template-columns:auto minmax(100px,1fr) auto;align-items:center!important;gap:11px!important;width:100%}
.notification-kind{font-size:8px!important;letter-spacing:.09em;font-weight:800;color:#8b681f!important;background:#fff5db;border-radius:4px;padding:4px 6px}
.notification-copy strong{font:700 13px Georgia,serif;color:#243138}
.notification-copy>span:last-child{font-size:11px}

@media(max-width:1250px){
  .dashboard-main{grid-template-columns:1.15fr .85fr}
  .recent-card{grid-column:1/-1}
  .recent-documents{grid-template-columns:repeat(5,minmax(0,1fr));border-top:0}
  .recent-item{padding:9px;border-right:1px solid var(--line);border-bottom:0;grid-template-columns:1fr}
  .recent-body{grid-template-columns:1fr}
  .recent-date{grid-column:auto}
  .recent-item .doc-actions{margin-top:5px}
}
@media(max-width:900px){
  .dashboard-main{grid-template-columns:1fr}
  .recent-card{grid-column:auto}
  .recent-documents{grid-template-columns:1fr}
  .recent-item{grid-template-columns:minmax(0,1fr) auto;border-right:0;border-bottom:1px solid var(--line)}
  .recent-body{grid-template-columns:auto auto 1fr}
  .recent-date{grid-column:1/-1}
  .themes-card{grid-template-columns:1fr}
  .theme-stats{justify-content:flex-start}
  .themes-caption{white-space:normal}
}
@media(max-width:650px){
  .case-identity{align-items:flex-start;flex-direction:column;gap:4px}
  .compact-stats{grid-template-columns:repeat(2,minmax(0,1fr))}
  .narrative-block{grid-template-columns:1fr}
  .narrative-label{border-right:0;border-bottom:1px solid #e5e9e8;padding:11px 15px}
  .narrative-copy{padding:15px}
  .analysis-title{align-items:flex-start;flex-direction:column;gap:4px}
  .detail-head{grid-template-columns:1fr}
  .detail-context{align-items:flex-start}
  .topic-context{text-align:left}
  .notification-copy{grid-template-columns:1fr}
}

/* Escritos Word del expediente */
.writings-dialog{width:min(1050px,94vw)}
.writings-head{display:flex;align-items:flex-end;justify-content:space-between;gap:20px;padding:0 4px 18px;border-bottom:1px solid #dce4e1}
.writings-head h2,.writing-relation-form h2{margin:2px 0 5px;font:700 27px Georgia,serif;color:#203730}
.writings-head p{margin:0;color:#71807b;font-size:11px}
.writings-head>span{padding:6px 9px;border-radius:999px;background:#e6f1ed;color:#0b6958;font-size:10px;font-weight:800}
.writing-upload-panel{margin:18px 0;padding:16px;border:1px solid #cfe0da;border-radius:11px;background:#f4f9f7}
.writing-upload-copy{display:flex;flex-direction:column;gap:3px;margin-bottom:12px}
.writing-upload-copy strong{color:#24463d;font:800 12px/1.3 Inter,Segoe UI,sans-serif}
.writing-upload-copy small{color:#70807a;font-size:10px}
.writing-upload-form{display:grid;grid-template-columns:minmax(180px,1.1fr) minmax(170px,1fr) minmax(220px,1.3fr) auto;align-items:start;gap:10px}
.writing-upload-form label,.writing-relation-form label{display:flex;min-width:0;flex-direction:column;gap:5px}
.writing-upload-form label>span,.writing-relation-form label>span{color:#60716b;font-size:8px;font-weight:850;letter-spacing:.1em;text-transform:uppercase}
.writing-upload-form input,.writing-relation-form input{width:100%;min-height:40px;padding:9px 10px;border:1px solid #cfdcd8;border-radius:8px;background:#fff;color:#24443c;font:600 11px Inter,Segoe UI,sans-serif}
.writing-upload-form input[type="file"]{padding:7px}
.writing-upload-form>button{min-height:40px;margin-top:20px}
.writing-document-search-field{position:relative}
.writing-document-search-results{position:absolute;z-index:80;top:60px;right:0;width:min(680px,calc(94vw - 70px));margin-top:0}
.writing-relation-form .writing-document-search-results{right:0;left:0;width:auto}
.writing-document-search-status{display:block;min-height:12px;margin-top:3px;color:#6d7d77;font-size:8px;font-weight:700}
.writings-list{display:grid;gap:10px;margin-top:17px}
.writing-card{display:grid;grid-template-columns:44px minmax(0,1fr) auto;align-items:center;gap:14px;padding:14px;border:1px solid #d8e2df;border-left:4px solid #315c7a;border-radius:10px;background:#fff}
.writing-word-badge{display:grid;width:42px;height:48px;place-items:center;border-radius:7px;background:#315c7a;color:#fff;font:800 23px Georgia,serif;box-shadow:inset 0 -8px 0 rgba(255,255,255,.08)}
.writing-card-main{min-width:0}
.writing-card-heading{display:flex;align-items:center;gap:8px}
.writing-card-heading span{padding:3px 6px;border-radius:4px;background:#e8eef4;color:#315c7a;font-size:9px;font-weight:900}
.writing-card-heading small{color:#7b8783;font-size:9px}
.writing-card h3{margin:5px 0 2px;overflow:hidden;color:#223c35;font:700 17px Georgia,serif;text-overflow:ellipsis;white-space:nowrap}
.writing-filename,.writing-relation,.writing-author{margin:2px 0;color:#687873;font-size:10px;line-height:1.4}
.writing-relation{color:#36584f}
.writing-author{font-size:9px}
.writing-card-actions{display:flex;gap:7px}
.writing-card-actions button{padding:8px 10px;font-size:10px}
.writing-relation-dialog{width:min(620px,92vw)}
.writing-relation-form header{padding-bottom:14px;border-bottom:1px solid #dce4e1}
.writing-relation-form header p:last-child{margin:0;color:#65766f;font-size:11px}
.writing-relation-form>label{margin:18px 0}
.writing-relation-form footer{display:flex;justify-content:flex-end;gap:8px;margin-top:14px}

@media(max-width:900px){
  .writing-upload-form{grid-template-columns:1fr 1fr}
  .writing-upload-form>button{justify-self:end}
}

@media(max-width:650px){
  .writings-dialog{padding:24px 18px}
  .writings-head{align-items:flex-start;flex-direction:column;gap:8px}
  .writing-upload-form{grid-template-columns:1fr}
  .writing-upload-form>button{width:100%;margin-top:0;justify-self:stretch}
  .writing-card{grid-template-columns:38px minmax(0,1fr);align-items:start;padding:12px 10px}
  .writing-word-badge{width:36px;height:42px;font-size:20px}
  .writing-card-actions{grid-column:2;justify-content:flex-end;margin-top:5px}
  .writing-card h3{white-space:normal}
}

@media(max-width:800px){
  .session-identity{align-items:flex-end}
  .last-access{display:none}
  .connection{display:block}
}

/* Tablero v0.5: tres columnas compactas y detalle con relaciones laterales */
select{font-size:29px}
.dashboard-main{
  grid-template-columns:minmax(350px,1.04fr) minmax(315px,.94fr) minmax(340px,1.02fr);
  align-items:stretch;
}
.case-card{padding:19px 21px 17px}
.section-heading.simple{align-items:center;margin-bottom:10px}
.section-heading.simple .eyebrow{margin:0}
.case-card .section-heading{padding-left:4px;margin-bottom:9px}
.case-identity{padding:10px 14px;margin-bottom:8px}
.case-identity strong{font-size:21px}
.case-field{padding:6px 0}
.summary-card,.recent-card{padding:18px 19px}

.themes-card{display:flex;flex-direction:column;align-items:stretch;gap:11px;padding:15px 20px 17px}
.themes-heading{display:flex;align-items:baseline;justify-content:space-between;gap:18px;width:100%}
.theme-stats{display:block;width:100%;min-width:0}
.theme-chip{width:auto;justify-content:space-between;text-align:left}

.detail-head h2{font:650 20px/1.35 Inter,Segoe UI,system-ui,sans-serif;color:#405057;margin-top:5px}
.promoter{display:inline-flex;align-items:center;gap:6px}
.promoter small{font-size:10px;text-transform:uppercase;letter-spacing:.06em;color:var(--muted);font-weight:750}
.detail-topic{display:flex;flex-direction:column;gap:5px;margin-top:17px;padding:15px 18px;border-radius:10px;background:#edf5f1;border-left:4px solid var(--green)}
.detail-topic span{font-size:9px;letter-spacing:.13em;color:var(--green);font-weight:800}
.detail-topic strong{font:700 21px/1.25 Georgia,serif;color:#17352f}
.detail-links-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;margin-top:22px;align-items:stretch}
.detail-links-grid .related-docs,.detail-links-grid .derived-docs,.detail-links-grid .notifications{margin:0;border:1px solid var(--line);border-radius:10px;padding:16px 17px;background:#fafbf9;min-height:126px}
.detail-links-grid .derived-docs{min-width:0}
.derived-docs h3{margin:0 0 9px;font-size:13px;color:var(--green);text-transform:uppercase;letter-spacing:.06em}
.derived-list{display:grid;gap:7px}
.derived-level .derived-level{margin:6px 0 0 10px;padding-left:8px;border-left:2px solid #d9dfdc}
.derived-document{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:8px;padding:8px 9px;border:1px solid var(--line);border-radius:8px;background:#fff}
.derived-copy{display:flex;flex-direction:column;gap:3px;min-width:0}
.derived-copy>span{font-size:9px;font-weight:800;letter-spacing:.07em;text-transform:uppercase;color:var(--green)}
.derived-copy>strong{font-size:11px;line-height:1.3;color:var(--ink);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.derived-copy>small{font-size:10px;color:var(--muted)}
.derived-actions{display:flex;align-items:center;gap:4px;flex-wrap:nowrap}
.derived-actions button{padding:5px 7px;font-size:9px;line-height:1;white-space:nowrap}
.origin-group+.origin-group{margin-top:13px;padding-top:12px;border-top:1px solid var(--line)}
.origin-group h4{margin:0 0 7px;font-size:11px;color:var(--ink)}
.origin-kind{display:flex;align-items:center;gap:6px;flex-wrap:wrap}
.origin-type{font-size:9px;font-weight:800;letter-spacing:.07em;text-transform:uppercase;color:var(--green)}
.relation-source{display:inline-flex;align-items:center;border-radius:999px;padding:2px 6px;font-size:8px;font-weight:800;letter-spacing:.04em;text-transform:uppercase}
.relation-source.tribunal{background:#e5eee9;color:var(--green)}
.relation-source.analysis{background:#f8e8c7;color:#8b5f14}
.relation-source.both{background:#e7edf7;color:#315c7a}
.detail-links-grid .notifications{background:#faf8f1;border-color:#eadfbf}
.notification-list{display:grid;gap:8px}
.notification-list .notification-note{padding:9px 10px;margin:0}
.notification-list .notification-copy{display:flex!important;flex-direction:column;align-items:flex-start!important;gap:3px!important;min-width:0}
.notification-list .notification-copy>span{font-size:10px!important;color:var(--muted)}
.notification-list .notification-note button{padding:6px 8px;font-size:10px;white-space:nowrap}
.detail-links-grid .related-actions{display:grid;gap:7px}
.detail-links-grid .related-actions button{width:100%;text-align:left;padding:8px 10px;font-size:11px}

/* Seguimiento contextual del documento */
#detailDialog{width:min(1280px,96vw)}
.detail-history-nav{display:flex;align-items:center;justify-content:flex-end;gap:8px;margin:-7px 32px 14px 0;padding-bottom:11px;border-bottom:1px solid var(--line)}
.detail-history-nav button{min-height:30px;padding:6px 10px;font-size:10px}
.detail-history-nav button:disabled{opacity:.4;cursor:default}
.detail-history-nav span{min-width:48px;text-align:center;color:var(--muted);font-size:10px}
.context-timeline{display:grid;grid-template-columns:minmax(0,1fr) 34px minmax(0,1fr) 34px minmax(0,1fr);align-items:start;margin:22px 0;padding:18px;border:1px solid #d9e1de;border-radius:12px;background:linear-gradient(180deg,#fbfcfa 0%,#f5f7f5 100%)}
.timeline-column{min-width:0}
.timeline-column-heading{display:flex;align-items:center;gap:9px;margin-bottom:12px}
.timeline-column-heading>span{width:27px;height:27px;display:grid;place-items:center;flex:0 0 27px;border-radius:50%;background:#e5eee9;color:var(--green);font-size:9px;font-weight:850}
.timeline-column-heading>div{display:flex;flex-direction:column;min-width:0}
.timeline-column-heading strong{font-size:12px;color:var(--ink)}
.timeline-column-heading small{font-size:9px;color:var(--muted)}
.timeline-branch-list{position:relative;display:grid;gap:8px;padding-left:12px}
.timeline-branch-list::before{content:'';position:absolute;left:2px;top:8px;bottom:8px;width:2px;border-radius:2px;background:#cdd9d5}
.timeline-card{position:relative;display:flex;flex-direction:column;gap:5px;width:100%;min-width:0;padding:10px 11px;border:1px solid var(--line);border-left:3px solid var(--blue);border-radius:8px;background:#fff;color:var(--ink);font-family:inherit;font-weight:400;text-align:left;box-shadow:0 2px 7px rgba(24,33,40,.04);appearance:none}
.timeline-card::before{content:'';position:absolute;left:-14px;top:18px;width:10px;height:2px;background:#cdd9d5}
.timeline-card time{font-size:10px;font-weight:850;color:#94691f;letter-spacing:.015em}
.timeline-kind{display:flex;align-items:center;gap:5px;flex-wrap:wrap}
.timeline-kind>span:first-child{font-size:8px;font-weight:850;letter-spacing:.07em;text-transform:uppercase;color:var(--green)}
.timeline-card>strong{font:700 15px/1.15 Georgia,serif;color:#213139}
.timeline-card>p{margin:0;color:#435159;font-size:10px;line-height:1.35;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.timeline-card.current{border-color:#0b6958;border-left-width:4px;background:linear-gradient(145deg,#f4fbf8 0%,#fff 72%);box-shadow:0 5px 14px rgba(11,105,88,.12)}
.timeline-card.notification{border-color:#ead8a8;border-left-color:var(--gold);background:#fffaf0}
.timeline-card.notification .timeline-kind>span:first-child{color:#93651b}
.timeline-card.interactive{cursor:pointer;transition:transform .16s ease,box-shadow .16s ease,border-color .16s ease}
.timeline-card.interactive:hover{transform:translateY(-2px);border-color:#71988c;box-shadow:0 7px 18px rgba(24,60,52,.13)}
.timeline-card.interactive:focus-visible{outline:3px solid rgba(11,105,88,.25);outline-offset:2px}
.timeline-card.notification.interactive:hover{border-color:#c5913b;box-shadow:0 7px 18px rgba(148,105,31,.14)}
.timeline-connector{height:100%;min-height:92px;display:flex;align-items:center;justify-content:center;padding-top:35px}
.timeline-connector i{position:relative;display:block;width:100%;height:2px;background:#9eb4ac}
.timeline-connector i::after{content:'';position:absolute;right:0;top:50%;width:7px;height:7px;border-top:2px solid #79978c;border-right:2px solid #79978c;transform:translateY(-50%) rotate(45deg)}
.timeline-more{width:100%;margin-top:8px;padding:6px 8px;border:0;background:transparent;color:var(--green);font-size:9px}
.timeline-more:hover{background:#e9f2ee}
.timeline-extra{margin-top:8px}
.timeline-empty{display:block;padding:14px 10px;border:1px dashed #ccd6d2;border-radius:8px;color:var(--muted);font-size:10px;text-align:center;background:#fff}

.detail-document-sheet{overflow:hidden;border:1px solid #d7e0dd;border-radius:12px;background:#fff;box-shadow:0 8px 24px rgba(24,33,40,.055)}
.detail-sheet-bar{display:flex;align-items:center;justify-content:space-between;gap:18px;padding:10px 24px;border-bottom:1px solid #29443f;background:#193a36;color:#fff}
.detail-sheet-bar span{font-size:9px;font-weight:850;letter-spacing:.14em}
.detail-sheet-bar small{color:#bfd2cd;font-size:9px;font-weight:700;letter-spacing:.08em}
.detail-document-sheet .detail-head{margin:0;padding:24px 26px 22px;border-bottom:1px solid #dce4e1;background:linear-gradient(180deg,#fff 0%,#fbfcfb 100%)}
.detail-document-sheet .detail-context{padding-top:0;align-self:center}
.detail-document-sheet .topic-context{background:#edf5f2;border-color:#c8ddd6;border-left:3px solid var(--green);text-align:left}
.detail-document-sheet .topic-context span{margin-bottom:6px;color:#5e746d;font-size:8px;font-weight:850;letter-spacing:.11em}
.detail-document-sheet .detail-context .topic-context span{display:inline-block;width:max-content;padding:3px 7px;border-radius:999px;background:rgba(255,255,255,.72);color:#17332e;font-weight:900}
.detail-document-sheet .analysis-sheet{margin:0;padding:0 26px 7px;border:0;border-radius:0;background:#fff}
.detail-document-sheet .analysis-title{display:flex;align-items:center;justify-content:space-between;gap:16px;margin:0 -26px;padding:13px 26px;border-bottom:1px solid #e0e7e4;background:#f1f5f3;color:#21443d;text-align:left}
.detail-document-sheet .analysis-title span{font-size:10px;font-weight:850;letter-spacing:.1em;text-transform:uppercase}
.detail-document-sheet .analysis-title small{color:#75867f;font-size:9px;font-weight:600;letter-spacing:.02em;text-transform:none}
.detail-document-sheet .narrative-block{padding:18px 0 17px}
.timeline-caption{margin:0;padding:14px 26px 10px;color:#52655f;font-size:11px;font-weight:650}
.detail-document-sheet .context-timeline{margin:0 24px 22px}

@media(max-width:900px){
  #detailDialog{width:min(760px,95vw);padding:25px 20px}
  .detail-history-nav{margin-right:32px}
  .context-timeline{grid-template-columns:1fr;padding:15px}
  .timeline-connector{min-height:28px;height:28px;padding:0;justify-content:flex-start;margin-left:27px}
  .timeline-connector i{width:2px;height:100%;background:#9eb4ac}
  .timeline-connector i::after{right:auto;left:50%;top:auto;bottom:0;transform:translateX(-50%) rotate(135deg)}
  .timeline-column-heading{margin-bottom:9px}
}

@media(max-width:520px){
  .detail-history-nav{justify-content:space-between;margin-right:28px}
  .context-timeline{margin-left:-5px;margin-right:-5px;padding:12px}
  .detail-sheet-bar{align-items:flex-start;flex-direction:column;gap:3px;padding:10px 17px}
  .detail-document-sheet .detail-head{padding:20px 17px}
  .timeline-caption{padding:13px 17px 9px}
  .detail-document-sheet .context-timeline{margin:0 12px 18px}
  .detail-document-sheet .analysis-sheet{padding:0 17px 5px}
  .detail-document-sheet .analysis-title{align-items:flex-start;flex-direction:column;gap:3px;margin:0 -17px;padding:12px 17px}
}

@media(max-width:1250px){
  .dashboard-main{grid-template-columns:1fr 1fr}
  .dashboard-main .summary-card{grid-column:1/-1}
  .dashboard-main .recent-card{grid-column:auto}
  .dashboard-main .recent-documents{grid-template-columns:1fr;border-top:1px solid var(--line)}
  .dashboard-main .recent-item{grid-template-columns:minmax(0,1fr) auto;padding:9px 0;border-right:0;border-bottom:1px solid var(--line)}
  .dashboard-main .recent-body{grid-template-columns:auto auto 1fr}
  .dashboard-main .recent-date{grid-column:1/-1}
}

@media(max-width:700px){
  .detail-links-grid{grid-template-columns:1fr}
}
@media(max-width:900px){
  .dashboard-main{grid-template-columns:1fr}
  .dashboard-main .summary-card{grid-column:auto}
  .themes-heading{align-items:flex-start;flex-direction:column;gap:3px}
  .theme-actions{justify-content:flex-start;overflow-x:auto}
  .theme-stats{display:block}
  .theme-visible{grid-template-columns:repeat(3,minmax(0,1fr));margin-bottom:8px}
}

@media(max-width:560px){
  .theme-visible{grid-template-columns:repeat(2,minmax(0,1fr))}
}

/* Portal v0.6: tablero alineado y detalle narrativo */
.dashboard-main{
  grid-template-columns:minmax(340px,1.06fr) minmax(300px,.94fr) minmax(330px,1fr);
}
.dashboard-main>.case-card,
.dashboard-main>.recent-card,
.dashboard-main>.summary-card,
.dashboard-main>.chronology-card{grid-column:auto;min-width:0}

.detail-topic{
  display:grid;
  grid-template-columns:70px minmax(0,1fr);
  align-items:center;
  gap:15px;
  padding:12px 16px;
  background:#f2f7f5;
  border:1px solid #d7e5e0;
  border-left:3px solid var(--green);
}
.detail-topic span{margin:0;font-size:9px}
.detail-topic strong{
  font:650 15px/1.4 Inter,Segoe UI,system-ui,sans-serif;
  color:#28433d;
}
.analysis-sheet{padding:0 21px 4px;overflow:visible}
.analysis-title{
  margin:0 -21px 0;
  padding:13px 20px;
}
.analysis-title small{font-size:10px;color:#b9cbc6;font-weight:500;letter-spacing:.02em}
.narrative-block{
  display:block;
  min-height:0;
  padding:19px 0 18px;
  border-top:1px solid #e5e9e8;
}
.narrative-block:first-of-type{border-top:0}
.narrative-label{
  margin:0 0 8px;
  padding:0;
  background:transparent;
  border:0;
  color:var(--green);
  font-size:10px;
  line-height:1.25;
  text-transform:uppercase;
  letter-spacing:.09em;
  font-weight:800;
}
.narrative-copy{
  padding:0;
  font-size:13px;
  line-height:1.65;
  color:#344249;
}
.narrative-block.featured .narrative-copy{font-weight:500;color:#26363d}

@media(max-width:1250px){
  .dashboard-main{grid-template-columns:repeat(2,minmax(285px,1fr));overflow:visible}
  .dashboard-main .summary-card,
  .dashboard-main .recent-card{grid-column:auto}
}
@media(max-width:980px){
  .dashboard-main{grid-template-columns:1fr;overflow:visible}
  .dashboard-main>.case-card,
  .dashboard-main>.recent-card,
  .dashboard-main>.summary-card{grid-column:auto}
}
@media(max-width:650px){
  .detail-topic{grid-template-columns:1fr;gap:5px}
  .analysis-title{align-items:flex-start}
}

@media(max-width:650px){
  .topbar{padding:0 18px}
  .brand small,.last-access{display:none}
  .account-menu .case-info{grid-template-columns:1fr}
}

/* Detalle v0.8.7: acción PDF inmediatamente después del título */
.detail-head{display:grid;grid-template-columns:minmax(0,1fr) minmax(190px,250px);align-items:start;gap:28px;padding-right:30px}
.detail-title-row{display:flex;align-items:center;justify-content:flex-start;gap:12px}
.detail-title-row h2{min-width:0;margin-right:0}
.detail-title-row .pdf-button,.detail-title-row button,.detail-title-row a{flex:0 0 auto}
.detail-context{display:flex;flex-direction:column;align-items:flex-end;gap:14px;padding-top:45px}
.topic-context{width:100%;padding:12px 14px;border:1px solid #d7e5e0;border-left:3px solid var(--green);border-radius:9px;background:#f2f7f5;text-align:right}
.topic-context strong{display:block;color:#263a3d;font:600 16px/1.35 Georgia,serif}
.analysis-sheet{margin:22px 0 0;padding:18px 21px 4px;border:1px solid var(--line);border-radius:10px;overflow:visible;background:#fafbf9}
.analysis-title{margin:0 0 7px;padding:0;background:transparent;color:var(--muted);font:800 10px/1.25 Inter,Segoe UI,system-ui,sans-serif;letter-spacing:.09em;text-align:right;text-transform:uppercase}
.analysis-sheet .narrative-copy{font-size:15px;line-height:1.7;color:#2d3b42}
.analysis-sheet .narrative-block.featured .narrative-copy{font-weight:500;color:#22343a}
@media(max-width:650px){
  .detail-head{grid-template-columns:1fr}
  .detail-title-row{align-items:flex-start}
  .detail-context{align-items:flex-start}
  .topic-context{text-align:left}
}

/* Promociones: partes anidadas como árbol */
.party-tree{position:relative;margin:1px 0 7px 18px;padding:3px 0 3px 14px;border-left:1px solid #c8d3cf}
.party-tree::before{content:'';position:absolute;left:-1px;top:0;width:12px;border-top:1px solid #c8d3cf}
.party-tree .party-filter{position:relative;display:flex;align-items:center;gap:8px;padding:7px 9px;font-size:12px;color:#59676d}
.party-tree .party-filter::before{content:'';position:absolute;left:-15px;width:11px;border-top:1px solid #c8d3cf}
.party-tree .party-filter.active{background:transparent;color:var(--green);font-weight:700}
.party-check{width:16px;height:16px;display:grid;place-items:center;flex:0 0 16px;border:1px solid #aebbb7;border-radius:3px;background:#fff;color:#fff;font-size:11px;line-height:1}
.party-filter.active .party-check{border-color:var(--green);background:var(--green)}

/* Listado documental compacto: parte junto al título y acciones centradas */
.documents{gap:8px}
.doc{gap:18px;padding:11px 16px;min-height:0}
.doc-main{display:flex;min-width:0;flex-direction:column;justify-content:center}
.doc-title-row{display:flex;align-items:center;gap:6px;min-width:0}
.doc-title-row h4{width:100%;min-width:0;margin:0;font-size:16px;line-height:1.3}
.document-favorite-button{
  display:grid;
  flex:0 0 auto;
  place-items:center;
  width:29px;
  height:29px;
  min-height:29px;
  padding:5px;
  border:1px solid transparent;
  border-radius:50%;
  background:transparent;
  color:#aeb9b5;
  box-shadow:none;
}
.document-favorite-button svg{width:17px;height:17px;fill:transparent;stroke:currentColor;stroke-width:1.65;stroke-linejoin:round}
.document-favorite-button:hover,.document-favorite-button:focus-visible{border-color:#e6d29c;background:#fff9e8;color:#a97519;outline:none;box-shadow:none}
.document-favorite-button.active{border-color:#ead5a0;background:#fff8df;color:#b77b12}
.document-favorite-button.active svg{fill:currentColor}
.detail-title-row .detail-favorite-button{width:34px;height:34px;min-height:34px;padding:7px;margin-left:4px;border-color:#d7e2df;background:#fff;color:#9aa9a4}
.detail-title-row .detail-favorite-button:hover,.detail-title-row .detail-favorite-button:focus-visible{border-color:#e6d29c;background:#fff9e8;color:#a97519}
.detail-title-row .detail-favorite-button.active{border-color:#ead5a0;background:#fff8df;color:#b77b12}
.detail-title-row .detail-favorite-button svg{width:18px;height:18px}
.doc-party-inline{display:inline}
.doc-party-inline>.badge.party{display:inline-flex;margin-left:7px;vertical-align:2px}
.doc-meta{margin-top:7px}
.doc-side{align-self:stretch;align-items:center;justify-content:center;flex-direction:row}
.doc-actions{align-items:center;flex-wrap:nowrap}

@media(max-width:1100px){
  .doc{grid-template-columns:150px minmax(0,1fr) auto}
  .doc-side{grid-column:auto;align-self:stretch;align-items:center;justify-content:center}
}
@media(max-width:1250px){
  .dashboard-main{grid-template-columns:repeat(2,minmax(0,1fr))}
  .chronology-card{grid-column:1/-1}
}
@media(max-width:800px){
  .doc{grid-template-columns:1fr}
  .doc-title-row{align-items:flex-start;flex-wrap:wrap}
  .doc-side{grid-column:auto;justify-content:flex-start}
  .chronology-card{grid-column:auto}
  .chronology-chart{gap:3px}
  .chronology-point>small{font-size:7px}
}

/* Actividad unificada 50/50 y cronología diaria */
.dashboard-main{display:block}
.activity-overview-card{position:relative;overflow:hidden;background:var(--card);border:1px solid var(--line);border-radius:12px;box-shadow:0 5px 20px rgba(30,40,45,.04)}
.activity-overview-content{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr)}
.activity-column{min-width:0;padding:22px 20px 20px}
.activity-column+.activity-column{border-left:1px solid var(--line)}
.inner-panel-heading{display:flex;align-items:center;min-height:25px;margin-bottom:13px}
.inner-panel-heading .eyebrow{margin:0}
.panel-heading{display:flex;flex-direction:row;align-items:center;justify-content:space-between;gap:12px}
.panel-toggle{display:grid;place-items:center;width:25px;height:25px;min-width:25px;padding:0;border:1px solid #d3dfdb;border-radius:7px;background:#f6faf8;color:#176f5c;font:700 16px/1 system-ui,sans-serif;box-shadow:none}
.panel-toggle:hover{border-color:#9fc5b9;background:#edf6f2;color:#0b6958}
.panel-toggle.collapsed{background:#edf4f1}
.joint-toggle{position:absolute;z-index:3;right:13px;top:11px}
.collapsible-panel[hidden]{display:none}
.panorama-section .chronology-chart{display:block;height:275px;padding:0;overflow:hidden}
.panorama-section .chronology-chart svg{display:block;width:100%;height:100%;overflow:visible}
.chronology-grid{stroke:#dfe8e5;stroke-width:1;stroke-dasharray:3 5}
.chronology-bar{fill:url(#chronologyBars);filter:drop-shadow(0 3px 3px rgba(7,92,76,.16));transition:opacity .18s,filter .18s}
.chronology-month:hover .chronology-bar{opacity:.82;filter:drop-shadow(0 5px 5px rgba(7,92,76,.24))}
.chronology-month.current .chronology-bar{fill:url(#chronologyCurrent)}
.chronology-value{font-size:10px!important;font-weight:800;fill:#31554e!important}
.chronology-chart text{font:8px system-ui,sans-serif;fill:#6a777c;text-transform:capitalize}
.chronology-y-label{font-size:8px;fill:#82908d}
.chronology-x-label{font-size:8px;fill:#667570}

/* Filtro múltiple de tipos */
.type-actions{display:grid;grid-template-columns:1fr 1fr;gap:5px;margin:0 0 9px}
.type-actions button{min-width:0;padding:6px 4px;border-color:#d8e0dd;background:#fff;font-size:8px;line-height:1.2;color:#52615d}
.type-actions button:disabled{opacity:.45;cursor:default}
.type-tree-item{position:relative;margin-bottom:5px}
.type-tree-item:last-child{margin-bottom:0}
.type-filter{display:flex;align-items:center;gap:8px}
.type-check{width:16px;height:16px;display:grid;place-items:center;flex:0 0 16px;border:1px solid #aebbb7;border-radius:3px;background:#fff;color:#fff;font-size:11px;line-height:1}
.type-filter.active .type-check{border-color:var(--green);background:var(--green)}

/* Filtro, orden y adaptación documental v0.30.4 */
.content{min-width:0}
@media(min-width:801px){
  .workspace{grid-template-columns:210px minmax(0,1fr)}
}
.document-toolbar-controls{
  display:grid;
  grid-template-columns:minmax(240px,1.35fr) repeat(3,minmax(0,1fr));
  width:100%;
  min-width:0;
  align-items:stretch;
  gap:10px;
}
.document-toolbar-controls #search{
  width:100%;
  min-width:0;
}
.document-display-filter,
.document-order-filter{
  display:flex;
  min-width:0;
  flex-direction:column;
  gap:3px;
}
.document-order-filter>span{
  padding-left:2px;
  color:#60716b;
  font-size:8px;
  font-weight:850;
  letter-spacing:.1em;
  line-height:1;
  text-transform:uppercase;
}
.document-display-filter>select,
.document-order-filter>select{
  width:100%;
  min-height:38px;
  padding:8px 34px 8px 11px;
  border:1px solid #cfdcd8;
  border-radius:8px;
  background:#fff;
  color:#24443c;
  font:700 11px/1.2 Inter,Segoe UI,system-ui,sans-serif;
  box-shadow:0 2px 8px rgba(27,62,52,.06);
  cursor:pointer;
}
.document-display-filter>select:hover,
.document-display-filter>select:focus,
.document-order-filter>select:hover,
.document-order-filter>select:focus{
  border-color:#78a99a;
  outline:none;
  box-shadow:0 0 0 3px rgba(11,105,88,.08);
}
.document-theme-filter{position:relative;min-width:0}
.document-theme-filter-trigger{
  display:flex;align-items:center;justify-content:space-between;gap:10px;
  width:100%;min-height:38px;padding:8px 11px;border:1px solid #cfdcd8;
  border-radius:8px;background:#fff;color:#24443c;
  font:700 11px/1.2 Inter,Segoe UI,system-ui,sans-serif;
  box-shadow:0 2px 8px rgba(27,62,52,.06);text-align:left;
}
.document-theme-filter-trigger>span{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.document-theme-filter-trigger svg{width:18px;height:18px;flex:0 0 auto;fill:none;stroke:var(--green);stroke-width:2;transition:transform .18s}
.document-theme-filter-trigger[aria-expanded="true"]{border-color:#78a99a;box-shadow:0 0 0 3px rgba(11,105,88,.08)}
.document-theme-filter-trigger[aria-expanded="true"] svg{transform:rotate(180deg)}
.document-theme-filter-menu{position:absolute;z-index:45;top:calc(100% + 7px);right:0;width:min(360px,calc(100vw - 36px));padding:11px;border:1px solid #cbd9d4;border-radius:10px;background:#fff;box-shadow:0 18px 42px rgba(24,55,47,.22)}
.document-theme-filter-menu[hidden]{display:none!important}
.document-theme-filter-heading{display:flex;flex-direction:column;gap:2px;padding:2px 3px 9px;border-bottom:1px solid var(--line)}
.document-theme-filter-heading strong{font-size:11px;color:#24443c}
.document-theme-filter-heading small{font-size:9px;color:var(--muted)}
.document-theme-filter-search{width:100%;min-height:36px;margin-top:8px;padding:8px 10px;border:1px solid #cfdbd7;border-radius:7px;background:#fff;color:#314b44;font:600 11px/1.3 Inter,Segoe UI,system-ui,sans-serif;outline:none}
.document-theme-filter-search:focus{border-color:#78a99a;box-shadow:0 0 0 3px rgba(11,105,88,.08)}
.document-theme-filter-options{display:grid;gap:3px;max-height:280px;overflow:auto;padding:7px 1px}
.document-theme-filter-option{display:grid;grid-template-columns:18px minmax(0,1fr) auto;align-items:center;gap:8px;width:100%;padding:8px 9px;border:0;border-radius:7px;background:#fff;color:#344b45;text-align:left;font-size:11px}
.document-theme-filter-option:hover{border:0;background:#f1f7f4}
.document-theme-filter-option.active{background:#e5f1ed;color:#075446;font-weight:800}
.document-theme-filter-check{display:grid;place-items:center;width:16px;height:16px;border:1px solid #aabbb5;border-radius:4px;background:#fff;color:#fff;font-size:11px}
.document-theme-filter-option.active .document-theme-filter-check{border-color:var(--green);background:var(--green)}
.document-theme-filter-option small{color:var(--muted);font-size:9px}
.document-theme-filter-empty{padding:22px 10px;text-align:center;color:var(--muted);font-size:10px}
.document-theme-filter-actions{display:flex;justify-content:flex-end;gap:6px;padding-top:9px;border-top:1px solid var(--line)}
.document-theme-filter-actions button{padding:7px 9px;font-size:9px}

.toolbar{align-items:flex-start;flex-direction:column}

@media(max-width:1050px){
  .toolbar{align-items:flex-start;flex-direction:column}
  .document-toolbar-controls{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));width:100%}
  .document-display-filter,.document-theme-filter,.document-order-filter{min-width:0}
  .document-toolbar-controls #search{grid-column:1/-1;width:100%;min-width:0}
}

@media(max-width:600px){
  .document-toolbar-controls{display:flex;align-items:stretch;flex-direction:column}
  .document-toolbar-controls #search{width:100%;min-width:0}
  .document-display-filter,.document-theme-filter,.document-order-filter{width:100%;min-width:0}
  .document-theme-filter-menu{left:0;right:auto;width:100%}
}

@media(max-width:900px){
  .activity-overview-content{grid-template-columns:1fr}
  .activity-column+.activity-column{border-left:0;border-top:1px solid var(--line)}
}

/* Acceso desplegable a las últimas actuaciones desde el encabezado */
.recent-menu-area{position:relative}
.recent-menu-button{display:flex;align-items:center;gap:8px;padding:8px 11px;border:1px solid transparent;background:transparent;color:#dce6e8;border-radius:9px;font-size:12px}
.recent-menu-button:hover,.recent-menu-button[aria-expanded="true"]{border-color:#53666e;background:rgba(255,255,255,.055);color:#fff}
.recent-menu-button svg,.recent-menu-heading>svg{width:19px;height:19px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.recent-menu-button svg{color:#e0b463}
.menu-icon-wrap{position:relative;display:grid;place-items:center;flex:0 0 auto}
.pending-menu-button svg{color:#91c8bb}
.pending-count{position:absolute;top:-9px;right:-11px;min-width:18px;height:18px;padding:0 5px;display:grid;place-items:center;border:2px solid #26373e;border-radius:10px;background:#d64b45;color:#fff;font-size:9px;font-weight:850;line-height:1;box-shadow:0 2px 6px rgba(0,0,0,.22)}
.pending-count[hidden]{display:none}
.recent-menu{position:absolute;z-index:31;right:0;top:calc(100% + 12px);width:min(430px,calc(100vw - 28px));padding:18px 20px 13px;background:#fff;color:var(--ink);border:1px solid #d7dfe0;border-radius:12px;box-shadow:0 22px 55px rgba(12,25,30,.24)}
.pending-menu{
  position:fixed;
  top:76px;
  left:50%;
  right:auto;
  width:min(470px,calc(100vw - 32px));
  transform:translateX(-50%);
}
.pending-documents{max-height:min(560px,calc(100vh - 170px));overflow-y:auto;padding-right:5px;scrollbar-color:#b9c8c4 transparent;scrollbar-width:thin}
.recent-menu::before{content:'';position:absolute;right:28px;top:-7px;width:12px;height:12px;background:#fff;border-left:1px solid #d7dfe0;border-top:1px solid #d7dfe0;transform:rotate(45deg)}
.recent-menu-heading{display:flex;align-items:center;gap:11px;padding:0 2px 13px;border-bottom:1px solid var(--line)}
.recent-menu-heading>svg{width:25px;height:25px;color:var(--green)}
.recent-menu-heading .eyebrow{margin:0 0 3px}
.recent-menu-heading small{display:block;color:var(--muted);font-size:11px}
.header-recent-documents{display:grid;grid-template-columns:1fr;border:0;border-radius:0;overflow:visible}
.header-recent-documents .recent-item{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:9px;padding:11px 1px;border:0;border-bottom:1px solid #edf0ef;background:#fff}
.header-recent-documents .recent-item:last-child{border-bottom:0}
.header-recent-documents .recent-body{display:grid;grid-template-columns:auto minmax(0,1fr);align-items:center;gap:7px 8px;min-height:0;min-width:0}
.header-recent-documents .recent-date{grid-column:1/-1;font-size:9px;line-height:1}
.header-recent-documents .recent-number{font:700 12px Georgia,serif;white-space:nowrap}
.header-recent-documents .recent-title{grid-column:1/-1;display:block;min-width:0;color:#556168;font-size:10px;line-height:1.35;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.notification-menu-button svg{color:#e0b463}
.notification-menu-heading>svg{color:#a57424}
.notification-menu{width:min(370px,calc(100vw - 28px));padding:16px 16px 11px}
.notification-count{background:#c78b2e}
.recent-count{background:#2d7c69}
.notification-menu-area[hidden]{display:none!important}
.recent-notifications .notification-recent-item{position:relative;grid-template-columns:minmax(0,1fr) 62px;align-items:stretch;min-height:106px;border-left:3px solid #d5a24c;padding:10px 7px 9px 10px}
.notification-recent-item .recent-body{display:flex;flex-direction:column;align-items:flex-start;gap:5px;min-height:86px;padding-top:1px}
.notification-recent-item .recent-number{font-size:14px}
.notification-recent-item .recent-title{width:100%;white-space:normal;display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2;overflow:hidden}
.notification-action-rail{display:grid;place-items:center;align-self:stretch;min-width:0}
.notification-action-rail>button[data-pdf]{min-height:29px;padding:6px 9px;font-size:9px;border-radius:6px}
.notification-origin-compact{display:flex;align-items:center;gap:4px;width:100%;min-width:0;margin-top:auto;color:#7a8589;font-size:8px;line-height:1.15;text-align:left}
.notification-origin-compact button{display:block;min-width:0;overflow:hidden;padding:0;border:0;background:transparent;color:#0b6958;font-size:8px;font-weight:800;text-align:left;text-overflow:ellipsis;white-space:nowrap;box-shadow:none}
.notification-origin-compact button::before{display:none;content:none}
.notification-origin-compact button:hover{border:0;background:transparent;color:#064d41;text-decoration:underline;transform:none;box-shadow:none}
.notification-origin-compact small{flex:0 0 auto;padding:2px 4px;border-radius:8px;background:#edf3f1;color:#45655c;font-size:7px;font-weight:850}
.notification-new-badge{position:absolute;z-index:1;right:7px;top:7px;min-width:42px;text-align:center;font-size:7px}
.pending-documents .recent-item{align-items:start;padding:13px 3px}
.pending-documents .recent-body{row-gap:7px}
.pending-documents .recent-title{white-space:normal;overflow:visible;text-overflow:clip;overflow-wrap:anywhere}
.pending-documents .doc-actions{align-self:center}
.header-recent-documents .doc-actions{margin:0;flex-wrap:nowrap}
.header-recent-documents .doc-actions button{padding:5px 7px;font-size:9px;border-radius:5px}
button[data-analyze]{display:inline-flex;align-items:center;justify-content:center;gap:6px;width:max-content;min-height:29px;padding:6px 10px;border:1px solid #075446;border-radius:6px;background:linear-gradient(180deg,#16816d 0%,#0b6958 100%);color:#fff;font-size:9px;font-weight:850;white-space:nowrap;box-shadow:0 2px 5px rgba(11,105,88,.18)}
button[data-analyze]::before{content:'✦';font-size:10px;color:#c9e9e0}
button[data-analyze]:hover{border-color:#06493d;background:linear-gradient(180deg,#11715f 0%,#07584a 100%);color:#fff;transform:translateY(-1px);box-shadow:0 5px 12px rgba(11,105,88,.24)}
button[data-analyze]:focus-visible{outline:3px solid rgba(22,129,109,.3);outline-offset:2px}

/* Encabezados documentales del menú lateral */
aside h3.aside-heading{display:flex;align-items:center;gap:9px;margin:7px 0 10px;padding:9px 10px;border-radius:7px;background:#edf3ef;color:#315d54;font-size:13px;font-weight:850;letter-spacing:.1em;line-height:1}
aside h3.aside-heading:not(:first-child){margin-top:18px}
.aside-heading svg{width:21px;height:21px;flex:0 0 21px;fill:none;stroke:var(--green);stroke-width:1.9;stroke-linecap:round;stroke-linejoin:round}

@media(max-width:800px){
  .recent-menu-button > span:not(.menu-icon-wrap){
    display:none;
  }

  .recent-menu-button{padding:8px}

  .recent-menu{
    position:fixed;
    right:14px;
    top:66px;
    width:calc(100vw - 28px);
    max-height:calc(100vh - 82px);
    overflow:auto;
  }

  .recent-menu::before{right:112px}

  .pending-menu{
    left:14px;
    right:14px;
    top:66px;
    width:auto;
    transform:none;
  }

  .pending-menu::before{display:none}
}

/* Ajustes finales: prevalecen sobre las variantes históricas del portal */
.doc-meta .theme-label{
  position:relative;
  min-height:25px;
  padding:5px 10px 5px 24px;
  border:1px solid #b9d8cd;
  border-radius:6px;
  background:linear-gradient(180deg,#edf7f3 0%,#e2f0eb 100%);
  color:#0d5d4f;
  font-size:9px;
  font-weight:850;
  letter-spacing:.045em;
  text-transform:uppercase;
  box-shadow:inset 3px 0 0 #21846f,0 2px 5px rgba(11,105,88,.08);
}
.doc-meta .theme-label::before{content:'\25C6';position:absolute;left:10px;top:50%;transform:translateY(-50%);font-size:7px;color:#21846f}
.detail-context .topic-context{border:1px solid #b9d8cd;border-left:5px solid var(--green);background:linear-gradient(135deg,#edf7f3 0%,#e4f1ec 100%);box-shadow:0 5px 14px rgba(11,105,88,.1)}
.detail-context .topic-context strong{color:#104f45;font-weight:700}
.header-recent-documents .doc-actions button[data-pdf],
.header-recent-documents .doc-actions button[data-detail]{min-height:29px;padding:6px 9px;font-size:9px;border-radius:6px}

/* Tema destacado y acciones proporcionadas al contexto. */
.doc-meta .theme-label{
  border-color:#075446;
  border-radius:999px;
  background:linear-gradient(180deg,#16816d 0%,#0b6958 100%);
  color:#fff;
  box-shadow:0 3px 8px rgba(11,105,88,.2);
}
.doc-meta .theme-label::before{color:#bfe3d9}
.detail-context .topic-context{
  border:1px solid #075446;
  border-left:5px solid #d2a24c;
  border-radius:10px;
  background:linear-gradient(135deg,#147764 0%,#0b6958 100%);
  box-shadow:0 6px 16px rgba(11,105,88,.2);
}
.detail-context .topic-context strong{
  color:#fff;
  font-weight:800;
  letter-spacing:.035em;
  text-transform:uppercase;
}
button[data-pdf],button[data-detail]{width:max-content;min-width:0;flex:0 0 auto;white-space:nowrap}
.detail-title-row button[data-pdf]{min-height:34px;padding:8px 12px;font-size:11px}
.documents .doc-actions button[data-pdf],.documents .doc-actions button[data-detail]{min-height:31px;padding:6px 9px;font-size:10px}
.derived-actions button[data-pdf],.derived-actions button[data-detail]{min-height:27px;padding:5px 7px;font-size:9px}
.notification-note button[data-pdf]{min-height:29px;padding:6px 8px;font-size:10px}

/* Pendientes se despliega desde su propio botón, no desde el perfil. */
.pending-menu-area{position:relative}
.pending-menu{
  position:absolute;
  top:calc(100% + 12px);
  left:50%;
  right:auto;
  width:min(470px,calc(100vw - 32px));
  transform:translateX(-50%);
}
.pending-menu::before{
  display:block;
  left:50%;
  right:auto;
  transform:translateX(-50%) rotate(45deg);
}

.admin-actions{
  margin-top:12px;
  padding-top:12px;
  border-top:1px solid var(--line);
}

.admin-actions{
  margin-top:8px;
  padding-top:8px;
  border-top:1px solid var(--line);
}

.admin-tool-buttons{display:flex;align-items:center;gap:6px;flex-wrap:wrap}

.admin-monitor-button,.admin-users-button,.admin-themes-button{
  width:max-content;
  max-width:100%;
  min-height:30px;
  min-width:0;
  flex:0 0 auto;
  display:inline-flex;
  align-items:center;
  gap:7px;
  justify-content:flex-start;
  padding:7px 10px;
  border:0;
  background:transparent;
  color:var(--green);
  border-radius:6px;
  font-size:11px;
  font-weight:750;
}

.admin-monitor-button:hover,.admin-users-button:hover,.admin-themes-button:hover{
  background:#edf6f2;
  color:#07584a;
}

.admin-monitor-button svg,.admin-users-button svg,.admin-themes-button svg{
  width:14px;
  height:14px;
  flex:0 0 14px;
  fill:currentColor;
}

.admin-monitor-button:disabled{
  opacity:.55;
  cursor:wait;
}

.admin-users-button svg,.admin-themes-button svg{fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}

/* Administración de usuarios y accesos por expediente. */
.user-admin-dialog{width:min(1180px,95vw);padding:28px;overflow-y:auto}
.user-admin-head{display:flex;align-items:flex-end;justify-content:space-between;gap:24px;padding:0 38px 18px 0;border-bottom:1px solid var(--line)}
.user-admin-head h2,.user-form-head h2{margin:0;color:#24373d;font:700 27px/1.2 Georgia,serif}
.user-admin-head p:last-child,.user-form-head p:last-child{margin:7px 0 0;color:var(--muted);font-size:12px}
.user-admin-summary{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:9px;margin:18px 0}
.user-admin-summary>div{display:flex;align-items:center;gap:10px;padding:12px 14px;border:1px solid #dfe7e4;border-radius:9px;background:#f7faf8}
.user-admin-summary strong{color:var(--green);font:700 22px Georgia,serif}
.user-admin-summary span{color:#63736e;font-size:10px;font-weight:750;text-transform:uppercase}
.user-admin-content{display:grid;gap:9px}
.user-record{display:grid;grid-template-columns:minmax(210px,.9fr) minmax(320px,1.3fr) minmax(210px,1fr) auto;align-items:center;gap:16px;padding:14px 15px;border:1px solid #dbe3e1;border-left:4px solid var(--green);border-radius:9px;background:#fff}
.user-record.inactive{border-left-color:#9ca7a3;background:#f7f8f7;opacity:.83}
.user-record-identity{display:flex;align-items:center;gap:11px;min-width:0}
.user-record-avatar{display:grid;place-items:center;flex:0 0 36px;width:36px;height:36px;border-radius:50%;background:#e4efeb;color:var(--green);font:700 16px Georgia,serif}
.user-record-identity>div{min-width:0}
.user-record-heading{display:flex;align-items:center;gap:6px;flex-wrap:wrap}
.user-record-heading h3{margin:0;min-width:0;color:#22363c;font:700 15px Georgia,serif;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.user-record-identity p{margin:3px 0 0;color:#697872;font-size:10px}
.user-status,.user-self-label{padding:3px 6px;border-radius:999px;font-size:7px;font-weight:900;letter-spacing:.055em;text-transform:uppercase}
.user-status.active{background:#e3f2eb;color:#0b6958}
.user-status.inactive{background:#eceeed;color:#68726f}
.user-self-label{background:#edf2f8;color:#315c7a}
.user-record-details{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:7px 15px}
.user-record-details>div{display:flex;min-width:0;flex-direction:column;gap:2px}
.user-record-details span,.user-record-access>span{color:#788580;font-size:7px;font-weight:900;letter-spacing:.07em;text-transform:uppercase}
.user-record-details strong{overflow:hidden;color:#364a44;font-size:9px;text-overflow:ellipsis;white-space:nowrap}
.user-record-access{display:flex;min-width:0;flex-direction:column;gap:6px}
.user-record-access>div{display:flex;gap:5px;flex-wrap:wrap}
.user-record-access>div>span{padding:4px 7px;border-radius:999px;background:#e8f1ee;color:#31554b;font-size:8px;font-weight:800}
.user-record-access .user-access-all{background:#e8eef5;color:#315c7a}
.user-record-access .user-access-none{background:#f5ecea;color:#8b5048}
.user-record-actions{display:flex;justify-content:flex-end;gap:6px}
.user-record-actions button{padding:7px 10px;font-size:9px;white-space:nowrap}
.danger-outline{border-color:#dfc1bd;background:#fff8f6;color:#93443d}
.danger-outline:hover{border-color:#b96e66;background:#fff1ee;color:#7f302a}

.user-form-dialog{width:min(760px,94vw);padding:27px;overflow-y:auto}
.user-form-head{padding:0 34px 17px 0;border-bottom:1px solid var(--line)}
.user-form{padding-top:18px}
.user-form-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px}
.user-form-grid>label{display:flex;min-width:0;flex-direction:column;gap:6px}
.user-form-grid>label>span,.user-case-access legend{color:#415a52;font-size:9px;font-weight:900;letter-spacing:.07em;text-transform:uppercase}
.user-form-grid input,.user-form-grid select{width:100%;min-height:41px;padding:9px 11px;border:1px solid #cbd7d3;border-radius:8px;background:#fff;color:#293b35;font:600 11px Inter,Segoe UI,sans-serif}
.user-form-grid input:focus,.user-form-grid select:focus{outline:3px solid rgba(11,105,88,.1);border-color:#6ca697}
.user-form-grid input:disabled{background:#f0f2f1;color:#78827e}
.user-form-grid>label small{color:#78847f;font-size:8px;line-height:1.35}
.user-form-switches{display:flex;align-items:center;gap:18px;grid-column:1/-1;padding:10px 0 2px}
.user-form-switches label{display:flex;align-items:center;gap:7px;color:#40534d;font-size:10px;font-weight:750}
.user-form-switches input{width:16px;height:16px;accent-color:var(--green)}
.user-case-access{margin:16px 0 0;padding:14px;border:1px solid #d8e2de;border-radius:9px;background:#f8faf9}
.user-case-access legend{padding:0 6px}
.user-case-access>p{margin:0 0 10px;color:#6e7d78;font-size:9px}
#userCaseAccessOptions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:7px}
#userCaseAccessOptions.disabled{opacity:.66}
#userCaseAccessOptions>label{display:flex;align-items:center;gap:8px;padding:9px 10px;border:1px solid #dce4e1;border-radius:7px;background:#fff}
#userCaseAccessOptions input{width:15px;height:15px;accent-color:var(--green)}
#userCaseAccessOptions label>span{display:flex;min-width:0;flex-direction:column;gap:2px}
#userCaseAccessOptions strong{color:#28433b;font-size:10px}
#userCaseAccessOptions small{color:#77837f;font-size:8px}
.user-welcome-options{margin:14px 0 0;padding:14px;border:1px solid #d8e2de;border-radius:9px;background:#f8faf9}
.user-welcome-options[hidden]{display:none}
.user-welcome-options legend{padding:0 6px;color:#415a52;font-size:9px;font-weight:900;letter-spacing:.07em;text-transform:uppercase}
.user-welcome-switch{display:flex;align-items:center;gap:8px;color:#2d4941;font-size:10px;font-weight:800}
.user-welcome-switch input{width:16px;height:16px;accent-color:var(--green)}
.user-welcome-options>small{display:block;margin:8px 0 0 24px;color:#78847f;font-size:8px;line-height:1.35}
.user-form-message{min-height:18px;margin:10px 0 0;color:#4e655d;font-size:10px}
.user-form-message.error{padding:8px 10px;border:1px solid #eac7c2;border-radius:7px;background:#fff2ef;color:#8d3932}
.user-form-actions{display:flex;justify-content:flex-end;gap:8px;margin-top:14px;padding-top:14px;border-top:1px solid var(--line)}

.user-delete-dialog{width:min(440px,calc(100vw - 32px));padding:26px;text-align:center}
.confirmation-icon{display:grid;place-items:center;width:44px;height:44px;margin:0 auto 12px;border-radius:50%;font:900 21px Georgia,serif}
.confirmation-icon.warning{background:#faecea;color:#93443d}
.user-delete-dialog h2{margin:0;color:#26383e;font:700 22px Georgia,serif}
.user-delete-dialog>p:not(.eyebrow){color:#62716c;font-size:12px;line-height:1.55}
.confirmation-actions{display:flex;justify-content:center;gap:8px;margin-top:18px;padding-top:15px;border-top:1px solid var(--line)}
.confirmation-actions .danger{border-color:#93443d;background:#93443d;color:#fff}
.confirmation-actions .danger:hover{border-color:#77342f;background:#77342f;color:#fff}

/* Catálogo administrativo de temas. */
.theme-admin-dialog{width:min(980px,95vw);padding:28px;overflow-y:auto}
.theme-admin-head{display:flex;align-items:flex-end;justify-content:space-between;gap:24px;padding:0 38px 18px 0;border-bottom:1px solid var(--line)}
.theme-admin-head h2,.theme-form-head h2,.document-theme-head h2{margin:0;color:#24373d;font:700 27px/1.2 Georgia,serif}
.theme-admin-head p:last-child,.theme-form-head p:last-child,.document-theme-head p:last-child{margin:7px 0 0;color:var(--muted);font-size:12px}
.theme-admin-summary{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:9px;margin:18px 0}
.theme-admin-summary>div{display:flex;align-items:center;gap:10px;padding:12px 14px;border:1px solid #dfe7e4;border-radius:9px;background:#f7faf8}
.theme-admin-summary strong{color:var(--green);font:700 22px Georgia,serif}
.theme-admin-summary span{color:#63736e;font-size:10px;font-weight:750;text-transform:uppercase}
.theme-admin-content{display:grid;gap:9px}
.theme-record{display:grid;grid-template-columns:minmax(0,1fr) 130px auto;align-items:center;gap:18px;padding:14px 15px;border:1px solid #dbe3e1;border-left:4px solid var(--green);border-radius:9px;background:#fff}
.theme-record-name{display:flex;align-items:center;gap:11px;min-width:0}
.theme-record-icon{display:grid;place-items:center;flex:0 0 36px;width:36px;height:36px;border-radius:9px;background:#e4efeb;color:var(--green);font:700 16px Georgia,serif}
.theme-record-name>div{min-width:0}
.theme-record-name h3{margin:0;color:#22363c;font:700 15px Georgia,serif}
.theme-record-name p{margin:4px 0 0;overflow:hidden;color:#697872;font-size:10px;line-height:1.4;text-overflow:ellipsis;white-space:nowrap}
.theme-record-usage{display:flex;align-items:baseline;justify-content:flex-end;gap:5px;color:#697872}
.theme-record-usage strong{color:var(--green);font:700 19px Georgia,serif}
.theme-record-usage span{font-size:9px}
.theme-record-actions{display:flex;justify-content:flex-end;gap:6px}
.theme-record-actions button{padding:7px 11px;border-color:#9bc8bd;background:#f2faf7;color:#0b6958;font-size:9px;white-space:nowrap}
.theme-record-actions button:hover{border-color:#0b6958;background:#0b6958;color:#fff}
.theme-record-actions .danger-outline{border-color:#dfc1bd;background:#fff8f6;color:#93443d}
.theme-record-actions .danger-outline:hover{border-color:#93443d;background:#93443d;color:#fff}
.theme-form-dialog,.document-theme-dialog{width:min(680px,94vw);padding:27px;overflow-y:auto}
.theme-form-head,.document-theme-head{padding:0 34px 17px 0;border-bottom:1px solid var(--line)}
.theme-form{display:grid;gap:14px;padding-top:18px}
.theme-form>label,.document-theme-form>label{display:flex;min-width:0;flex-direction:column;gap:6px}
.theme-form>label>span,.document-theme-form>label>span{color:#415a52;font-size:9px;font-weight:900;letter-spacing:.07em;text-transform:uppercase}
.theme-form input,.theme-form textarea,.document-theme-form select{width:100%;padding:9px 11px;border:1px solid #cbd7d3;border-radius:8px;background:#fff;color:#293b35;font:600 11px Inter,Segoe UI,sans-serif}
.theme-form input,.document-theme-form select{min-height:41px}
.theme-form textarea{resize:vertical;line-height:1.5}
.theme-form input:focus,.theme-form textarea:focus,.document-theme-form select:focus{outline:3px solid rgba(11,105,88,.1);border-color:#6ca697}
.theme-form-message{min-height:18px;margin:0;color:#4e655d;font-size:10px}
.theme-form-message.error{padding:8px 10px;border:1px solid #eac7c2;border-radius:7px;background:#fff2ef;color:#8d3932}
.theme-form-actions{display:flex;justify-content:flex-end;gap:8px;padding-top:14px;border-top:1px solid var(--line)}
.document-theme-summary{margin:18px 0 0}
.document-theme-form{display:grid;gap:14px;padding-top:18px}

.theme-delete-dialog{width:min(560px,calc(100vw - 32px));padding:26px;text-align:center}
.theme-delete-dialog h2{margin:0;color:#26383e;font:700 22px Georgia,serif}
.theme-delete-dialog>p:not(.eyebrow):not(.theme-form-message){color:#62716c;font-size:12px;line-height:1.55}
.theme-delete-resolution{display:grid;gap:9px;margin:17px 0 12px;padding:14px;border:1px solid #d8e2de;border-radius:9px;background:#f8faf9;text-align:left}
.theme-delete-resolution legend{padding:0 6px;color:#415a52;font-size:9px;font-weight:900;letter-spacing:.07em;text-transform:uppercase}
.theme-delete-resolution label{display:flex;align-items:center;gap:8px;color:#344a43;font-size:10px;font-weight:700}
.theme-delete-resolution input{width:15px;height:15px;accent-color:var(--green)}
.theme-delete-resolution select{width:100%;min-height:38px;padding:8px 10px;border:1px solid #cbd7d3;border-radius:8px;background:#fff;color:#293b35;font-size:10px}
.theme-delete-resolution select:disabled{background:#edf0ef;color:#7e8885}

.detail-document-sheet .detail-topic-control{width:100%}
.detail-document-sheet .detail-topic-control .topic-context{width:100%}
.detail-document-sheet .detail-topic-control>button.topic-change-link{
  display:block;
  width:max-content;
  min-height:0;
  margin:6px auto 0;
  padding:0;
  border:0;
  border-radius:0;
  background:transparent;
  color:#0b6958;
  font-size:8px;
  font-weight:750;
  line-height:1.2;
  text-decoration:underline;
  text-underline-offset:2px;
  box-shadow:none;
}
.detail-document-sheet .detail-topic-control>button.topic-change-link:hover{background:transparent;color:#075446;box-shadow:none}

.monitor-confirm-dialog{
  width:min(440px,calc(100vw - 32px));
  padding:0;
  overflow:hidden;
  border:1px solid rgba(11,105,88,.15);
}

.monitor-confirm-dialog form{
  display:grid;
  grid-template-columns:48px minmax(0,1fr);
  gap:16px;
  padding:25px;
}

.monitor-confirm-icon{
  width:48px;
  height:48px;
  display:grid;
  place-items:center;
  border-radius:50%;
  background:#e7f2ee;
  color:var(--green);
}

.monitor-confirm-icon svg{
  width:23px;
  height:23px;
  fill:currentColor;
  transform:translateX(1px);
}

.logout-confirm-icon{background:#faecea;color:#9a413a}
.logout-confirm-icon svg{fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round;transform:none}
.logout-confirm-button{border-color:#93443d;background:#93443d;color:#fff}
.logout-confirm-button:hover{border-color:#77342f;background:#77342f;color:#fff}
.notification-result-icon svg{fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round;transform:none}
.notification-result-icon.disabled{background:#f8eedb;color:#94691f}
.analysis-success-icon svg{fill:none;stroke:currentColor;stroke-width:2.2;stroke-linecap:round;stroke-linejoin:round;transform:none}
.user-welcome-result-icon svg{fill:none;stroke:currentColor;stroke-width:2.2;stroke-linecap:round;stroke-linejoin:round;transform:none}
.user-welcome-result-icon.warning{background:#f8eedb;color:#94691f}
.user-welcome-result-icon.warning strong{font:900 22px Georgia,serif}

.monitor-confirm-copy .eyebrow{margin-bottom:6px}
.monitor-confirm-copy h2{margin:0;font:700 23px/1.2 Georgia,serif;color:var(--ink)}
.monitor-confirm-copy p:last-child{margin:10px 0 0;color:var(--muted);font-size:14px;line-height:1.5}

.monitor-confirm-actions{
  grid-column:1/-1;
  display:flex;
  justify-content:flex-end;
  gap:9px;
  margin-top:5px;
  padding-top:17px;
  border-top:1px solid var(--line);
}

@media(max-width:800px){
  .admin-actions{display:block}
  .admin-monitor-button{
    width:max-content;
    min-height:30px;
    padding:7px 10px;
    font-size:11px;
  }
  .admin-monitor-button svg{
    width:14px;
    height:14px;
  }
  .user-admin-head{align-items:flex-start;flex-direction:column;padding-right:35px}
  .user-admin-summary{grid-template-columns:1fr}
  .user-record{grid-template-columns:1fr}
  .user-record-actions{justify-content:flex-start}
  .user-form-grid{grid-template-columns:1fr}
  .user-form-switches{grid-column:auto;align-items:flex-start;flex-direction:column;gap:9px}
  .theme-admin-head{align-items:flex-start;flex-direction:column;padding-right:35px}
  .theme-admin-summary{grid-template-columns:1fr}
  .theme-record{grid-template-columns:minmax(0,1fr) auto}
  .theme-record-usage{justify-content:flex-start;grid-column:1}
  .theme-record-actions{grid-column:2;grid-row:1/3;flex-direction:column}
}

@media(max-width:480px){
  .monitor-confirm-dialog form{grid-template-columns:40px minmax(0,1fr);gap:13px;padding:20px}
  .monitor-confirm-icon{width:40px;height:40px}
  .monitor-confirm-copy h2{font-size:21px}
  .monitor-confirm-actions{flex-direction:column-reverse}
  .monitor-confirm-actions button{width:100%}
  .user-admin-dialog,.user-form-dialog,.theme-admin-dialog,.theme-form-dialog,.document-theme-dialog{padding:20px 16px}
  .user-admin-head,.theme-admin-head{padding-right:28px}
  #userCaseAccessOptions{grid-template-columns:1fr}
  .user-form-actions,.confirmation-actions{flex-direction:column-reverse}
  .user-form-actions button,.confirmation-actions button{width:100%}
  .theme-record{grid-template-columns:1fr}
  .theme-record-actions{grid-column:1;grid-row:auto;flex-direction:row}
  .theme-record-actions button{width:100%}
  .theme-form-actions{flex-direction:column-reverse}
  .theme-form-actions button{width:100%}
}

/* Flujo manual de análisis documental */
#analysisDialog,.fact-analysis-dialog{width:min(1220px,96vw);padding:30px 34px;max-height:92vh}
.analysis-dialog-head{display:flex;align-items:flex-start;justify-content:space-between;gap:24px;padding:0 34px 18px 0;border-bottom:1px solid var(--line)}
.analysis-dialog-head h2{margin:0;font:700 25px Georgia,serif}
.analysis-dialog-head .muted{margin-bottom:0}
.analysis-document-type{flex:0 0 auto;padding:5px 9px;border-radius:999px;background:#e5eee9;color:var(--green);font-size:9px;font-weight:850;letter-spacing:.07em}
.analysis-workspace-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin-top:18px}
.code-panel{display:flex;flex-direction:column;min-width:0;height:min(610px,calc(92vh - 165px));overflow:hidden;border:1px solid #263a42;border-radius:10px;background:#152229;box-shadow:0 8px 22px rgba(13,25,30,.12)}
.code-panel-head{display:flex;align-items:center;justify-content:space-between;gap:12px;min-height:57px;padding:10px 13px;border-bottom:1px solid #34464d;background:#1c2c33;color:#e8eff1}
.code-panel-head>div{display:flex;flex-direction:column;gap:2px}
.code-panel-head span{color:#91aaa9;font-size:8px;font-weight:850;letter-spacing:.12em}
.code-panel-head strong{font-size:11px}
.code-editor{width:100%;min-height:0;flex:1;resize:none;margin:0;padding:16px;border:0;border-radius:0;background:#111c22;color:#dce8e8;font:12px/1.55 Consolas,'Cascadia Code','Courier New',monospace;tab-size:4;outline:none;white-space:pre;overflow:auto}
.code-editor::placeholder{color:#718389;opacity:.72}
.code-editor:focus{box-shadow:inset 0 0 0 2px #3a8f7b}
.code-editor[readonly]{color:#b8c9ca;background:#132027}
.copy-code-button{padding:7px 10px;border-color:#47616a;background:#263d46;color:#eef5f5;font-size:9px}
.copy-code-button:hover{border-color:#79a89c;background:#304b55;color:#fff}
.json-label{padding:4px 7px;border:1px solid #50656d;border-radius:4px;color:#bad6d1!important}
.analysis-form-footer{display:flex;align-items:center;justify-content:space-between;gap:14px;min-height:62px;padding:10px 12px;border-top:1px solid #34464d;background:#1c2c33}
.analysis-message{color:#aebdc1;font-size:9px;line-height:1.35}
.analysis-message.success{color:#80d7b9}
.analysis-message.error{color:#ffaaa4}
.save-analysis-button{flex:0 0 auto;padding:8px 12px;border-color:#08705e;background:#0b6958;color:#fff;font-size:10px}
.save-analysis-button:hover{background:#07584a;color:#fff}
.save-analysis-button:disabled{cursor:default;opacity:.68}
.analysis-load-error{display:flex;flex-direction:column;gap:7px;margin:45px auto;padding:22px;max-width:520px;border:1px solid #e0b9b5;border-radius:9px;background:#fff5f4;color:#823c36}
@media(max-width:850px){
  #analysisDialog,.fact-analysis-dialog{padding:25px 18px}
  .analysis-workspace-grid{grid-template-columns:1fr}
  .code-panel{height:430px}
  .analysis-dialog-head{padding-right:30px}
}

/* v0.34.1-beta - Análisis documental manual con Claude Code: una columna, sin OCR.
   Limitado a #analysisDialog; hechos y notas conservan su diseño de dos paneles. */
#analysisDialog{width:min(760px,96vw)}
.manual-analysis-facts{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin:16px 0 0}
.manual-analysis-facts div{min-width:0;padding:10px 12px;border:1px solid var(--line);border-radius:9px;background:#fafaf7}
.manual-analysis-facts dt{color:var(--muted);font-size:9px;font-weight:850;letter-spacing:.1em;text-transform:uppercase}
.manual-analysis-facts dd{margin:4px 0 0;font-size:13px;font-weight:700;overflow-wrap:anywhere}
.manual-analysis-facts .manual-analysis-status{color:#8b5f14}
.manual-analysis-instruction{display:flex;align-items:center;justify-content:space-between;gap:14px;margin-top:14px;padding:12px 14px;border:1px solid #263a42;border-radius:10px;background:#1c2c33;color:#e8eff1}
.manual-analysis-instruction>div{display:flex;min-width:0;flex-direction:column;gap:4px}
.manual-analysis-instruction span{color:#91aaa9;font-size:8px;font-weight:850;letter-spacing:.12em}
.manual-analysis-instruction strong{font-size:11px}
.manual-analysis-instruction code{color:#dce8e8;font:12px/1.4 Consolas,'Cascadia Code','Courier New',monospace;overflow-wrap:anywhere}
.manual-analysis-instruction .copy-code-button{flex:0 0 auto}
#analysisDialog .manual-analysis-result{height:min(420px,calc(92vh - 340px));min-height:280px;margin-top:14px}
@media(max-width:600px){
  .manual-analysis-facts{grid-template-columns:1fr 1fr}
  .manual-analysis-facts div:last-child{grid-column:1/-1}
  .manual-analysis-instruction{flex-direction:column;align-items:stretch}
  .manual-analysis-instruction .copy-code-button{width:100%}
  #analysisDialog .manual-analysis-result{height:360px}
}

/* Etiqueta compacta y centrada en el detalle de la actuación. */
.detail-context{align-items:center}
.detail-context .topic-context{
  width:auto;
  max-width:240px;
  min-width:132px;
  padding:8px 14px;
  border:1px solid #075446;
  border-left:1px solid #075446;
  border-bottom:3px solid #d2a24c;
  border-radius:999px;
  text-align:center;
  background:linear-gradient(180deg,#16816d 0%,#0b6958 100%);
  box-shadow:0 4px 11px rgba(11,105,88,.18);
}
.detail-context .topic-context strong{
  display:block;
  font:800 11px/1.3 Inter,Segoe UI,system-ui,sans-serif;
  letter-spacing:.055em;
  text-align:center;
  overflow-wrap:anywhere;
}

@media(max-width:800px){
  .pending-menu{
    position:fixed;
    left:14px;
    right:14px;
    top:66px;
    width:auto;
    transform:none;
  }
  .pending-menu::before{display:none}
}

.monitor-status-panel{
  margin-top:8px;
  padding:10px;
  border:1px solid var(--line);
  border-radius:8px;
  background:#f8faf9;
  font-size:11px;
  line-height:1.45;
}

.monitor-status-title{
  font-weight:800;
  margin-bottom:6px;
}

.monitor-status-running{
  color:var(--green);
}

.monitor-status-success{
  color:#18794e;
}

.monitor-status-error{
  color:#b42318;
}

.monitor-expediente{
  margin-top:7px;
  padding-top:7px;
  border-top:1px solid var(--line);
}

.monitor-expediente strong{
  display:block;
  margin-bottom:2px;
}

.monitor-live-log{
  display:grid;
  gap:5px;
  margin:7px 0 3px;
  padding:8px;
  border:1px solid #dce7e3;
  border-radius:7px;
  background:#fff;
}

.monitor-log-entry{
  display:grid;
  grid-template-columns:78px minmax(0,1fr);
  gap:7px;
  align-items:start;
  color:#53625d;
  font-size:10px;
  line-height:1.35;
}

.monitor-log-entry time{
  color:#7a8984;
  font-variant-numeric:tabular-nums;
}

.monitor-log-entry.running span{color:var(--green)}
.monitor-log-entry.success span{color:#18794e;font-weight:700}
.monitor-log-entry.error span{color:#b42318;font-weight:700}

/* Ficha v0.21.2: acciones ejecutivas y tarjetas uniformes del seguimiento. */
.detail-document-sheet .detail-context{width:min(240px,100%);align-items:stretch;gap:12px}
.detail-document-sheet .detail-context .topic-context{width:100%;max-width:none;min-width:0;padding:12px 16px;border:1px solid #075446;border-bottom:3px solid #d2a24c;border-radius:10px;background:linear-gradient(180deg,#16816d 0%,#0b6958 100%);text-align:center;box-shadow:0 5px 14px rgba(11,105,88,.16)}
.detail-document-sheet .detail-context .topic-context strong{color:#fff;font-size:11px;line-height:1.35;letter-spacing:.055em}
.detail-primary-action{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:10px;padding:9px 10px;border:1px solid #e1d2bd;border-radius:9px;background:#fcf8f2}
.detail-primary-action>span{color:#795f42;font-size:8px;font-weight:850;letter-spacing:.08em}
.detail-primary-action button[data-pdf]{min-height:31px;padding:7px 10px;font-size:10px;box-shadow:0 3px 8px rgba(117,76,39,.16)}
.timeline-caption{margin:24px 2px 10px;padding:0;color:#52655f;font-size:11px;font-weight:650}
.timeline-caption+.context-timeline{margin-top:0}

.timeline-card,
button.timeline-card[data-detail],
button.timeline-card[data-pdf]{height:126px;min-height:126px;max-height:126px;width:100%;display:flex;align-items:stretch;justify-content:flex-start;gap:5px;padding:10px 11px;overflow:hidden;border:1px solid #0b6958;border-left:4px solid #0b6958;border-radius:8px;background:linear-gradient(145deg,#f4fbf8 0%,#fff 72%);color:var(--ink);font-family:inherit;font-weight:400;letter-spacing:normal;line-height:normal;text-align:left;white-space:normal;box-shadow:0 5px 14px rgba(11,105,88,.1)}
button.timeline-card[data-detail]::before,
button.timeline-card[data-pdf]::before{content:none;display:none}
.timeline-card.current,
.timeline-card.notification{border-color:#0b6958;border-left:4px solid #0b6958;background:linear-gradient(145deg,#f4fbf8 0%,#fff 72%);box-shadow:0 5px 14px rgba(11,105,88,.1)}
.timeline-card.notification .timeline-kind>span:first-child{color:#94691f}
button.timeline-card.interactive[data-detail]:hover,
button.timeline-card.interactive[data-pdf]:hover{height:126px;min-height:126px;max-height:126px;border-color:#07584a;background:linear-gradient(145deg,#edf8f4 0%,#fff 72%);color:var(--ink);transform:translateY(-2px);box-shadow:0 8px 18px rgba(11,105,88,.17)}
.timeline-card>p{min-height:0;max-height:2.7em}
article.timeline-card.case-root{border-color:#c8d8d3;border-left-color:var(--green);background:#eef5f2;box-shadow:none}
article.timeline-card.case-root .timeline-kind>span:first-child{color:#52655f}

@media(max-width:650px){
  .detail-document-sheet .detail-context{width:100%}
  .detail-primary-action{grid-template-columns:1fr auto}
}

/* Seguimiento v0.21.5: encabezados y tarjetas comparten filas reales. */
.context-timeline{
  grid-template-columns:minmax(0,1fr) 34px minmax(0,1fr) 34px minmax(0,1fr);
  grid-template-rows:auto auto;
  grid-template-areas:
    "origin-head . current-head . continuation-head"
    "origin-body origin-arrow current-body current-arrow continuation-body";
  align-items:start;
}
.timeline-heading-origins{grid-area:origin-head}
.timeline-heading-current{grid-area:current-head}
.timeline-heading-continuation{grid-area:continuation-head}
.timeline-body-origins{grid-area:origin-body}
.timeline-body-current{grid-area:current-body}
.timeline-body-continuation{grid-area:continuation-body}
.timeline-connector-origins{grid-area:origin-arrow}
.timeline-connector-current{grid-area:current-arrow}
.timeline-body{min-width:0;align-self:center;width:100%}
.context-timeline>.timeline-connector{align-self:stretch;height:auto;min-height:126px;padding-top:0}

@media(max-width:900px){
  .context-timeline{
    grid-template-columns:1fr;
    grid-template-rows:auto;
    grid-template-areas:
      "origin-head"
      "origin-body"
      "origin-arrow"
      "current-head"
      "current-body"
      "current-arrow"
      "continuation-head"
      "continuation-body";
  }
  .timeline-body{align-self:stretch}
  .context-timeline>.timeline-connector{height:28px;min-height:28px}
}

/* Revisión documental y hechos relevantes v0.22.0 */
.review-list-state{
  display:inline-flex;
  align-items:center;
  min-height:20px;
  padding:3px 7px;
  border-radius:999px;
  font-size:9px;
  font-weight:800;
  letter-spacing:.035em;
  text-transform:uppercase;
}
.review-list-state.pending{background:#f6eedf;color:#835d1d}
.review-list-state.reviewed{background:#e4f2ec;color:#14634f}

.document-review{
  margin:0;
  padding:20px 26px 22px;
  border-bottom:1px solid #dce4e1;
  background:linear-gradient(180deg,#f8fbfa 0%,#f2f7f5 100%);
}
.document-review-heading{
  display:flex;
  justify-content:space-between;
  align-items:flex-start;
  gap:24px;
}
.document-review-heading h3{
  margin:0;
  color:#24363c;
  font:700 18px/1.3 Georgia,serif;
}
.document-review-heading>div:first-child>p:last-child{
  max-width:680px;
  margin:6px 0 0;
  color:#697a74;
  font-size:11px;
  line-height:1.5;
}
.document-review-status{
  flex:0 0 auto;
  display:flex;
  flex-direction:column;
  align-items:flex-end;
  gap:5px;
}
.review-state{
  display:inline-flex;
  align-items:center;
  gap:6px;
  padding:6px 10px;
  border:1px solid transparent;
  border-radius:999px;
  font-size:9px;
  font-weight:850;
  letter-spacing:.08em;
  text-transform:uppercase;
}
.review-state::before{content:'';width:7px;height:7px;border-radius:50%;background:currentColor}
.review-state.pending{border-color:#e5d4b5;background:#fff8eb;color:#8b631f}
.review-state.reviewed{border-color:#bfdcd1;background:#e7f4ef;color:#11614d}
.document-review-status small{color:#73827d;font-size:9px;text-align:right}
.document-review-actions{display:flex;flex-wrap:wrap;gap:9px;margin-top:16px}
.document-review-actions button{min-height:34px;padding:8px 12px;font-size:10px}
.document-review-actions .review-toggle.secondary{background:#fff;color:#4f605b}
.new-fact-button{border-color:#0b6958;background:#fff;color:#0b6958}
.new-fact-button:hover{background:#eaf4f0}
.registered-facts{margin-top:18px;padding-top:15px;border-top:1px solid #d8e3df}
.registered-facts-title{display:flex;align-items:center;gap:8px;color:#385149;font-size:9px;font-weight:850;letter-spacing:.08em;text-transform:uppercase}
.registered-facts-title strong{display:grid;place-items:center;min-width:20px;height:20px;padding:0 5px;border-radius:999px;background:#dbeae4;color:#0b6958;font-size:10px}
.no-relevant-facts{margin:10px 0 0;color:#7a8984;font-size:11px}
.relevant-facts-list{display:grid;gap:9px;margin-top:11px}
.relevant-fact{padding:13px 14px;border:1px solid #d8e2df;border-left:4px solid #789b90;border-radius:8px;background:#fff;box-shadow:0 3px 10px rgba(22,47,40,.035)}
.relevant-fact.interactive{cursor:pointer;transition:border-color .15s ease,box-shadow .15s ease,transform .15s ease}
.relevant-fact.interactive:hover{border-color:#b9d0c9;border-left-color:#0b6958;box-shadow:0 6px 17px rgba(22,47,40,.09);transform:translateY(-1px)}
.relevant-fact.interactive:focus-visible{outline:2px solid rgba(11,105,88,.32);outline-offset:2px}
.relevant-fact.alta{border-left-color:#a8642f}
.relevant-fact-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:14px}
.relevant-fact-tags{display:flex;flex-wrap:wrap;gap:6px}
.fact-identifier,.fact-type,.fact-relevance,.fact-analysis-state{display:inline-flex;align-items:center;padding:4px 7px;border-radius:4px;font-size:8px;font-weight:850;letter-spacing:.065em;text-transform:uppercase}
.fact-identifier{border:1px solid #c9d8df;background:#f3f7f9;color:#315c7a;font-variant-numeric:tabular-nums}
.fact-type{background:#e7f1ed;color:#0b6958}
.fact-relevance{background:#edf0f1;color:#5d6b71}
.relevant-fact.alta .fact-relevance{background:#f7e8da;color:#8a4f22}
.fact-analysis-state.en-construccion{background:#edf0f1;color:#5d6b71}
.fact-analysis-state.pendiente-analisis{background:#fff0cf;color:#805b18}
.fact-analysis-state.analizado{background:#dff1e9;color:#0b6958}
.fact-analysis-state.requiere-reanalisis{background:#f9e2dc;color:#93473d}
.relevant-fact-actions{display:flex;gap:5px}
.relevant-fact-actions button{padding:4px 7px;border:0;background:transparent;color:#536a63;font-size:9px}
.relevant-fact-actions button[data-delete-fact]{color:#91463e}
.relevant-fact h4{margin:9px 0 5px;color:#24353b;font-size:13px}
.relevant-fact>p{margin:0;color:#4c5b61;font-size:11px;line-height:1.55;white-space:pre-wrap}
.relevant-fact-meta{display:flex;align-items:center;flex-wrap:wrap;gap:7px 14px;margin-top:10px;color:#687872;font-size:9px}
.relevant-fact-meta strong{color:#41534d}
.fact-related-document{padding:3px 7px;border-color:#cbdcd6;background:#f4f9f7;color:#0b6958;font-size:9px}

#factDialog{width:min(820px,94vw);padding:0;overflow-y:auto}
.fact-dialog>.close{z-index:2;color:#34464c}
.fact-form{display:block}
.fact-dialog-head{padding:25px 52px 19px 27px;border-bottom:1px solid #dce4e1;background:linear-gradient(135deg,#f4f8f6,#fff)}
.fact-dialog-head h2{margin:0;color:#203239;font:700 24px/1.25 Georgia,serif}
.fact-dialog-head p:last-child{margin:7px 0 0;color:#687872;font-size:12px;line-height:1.5}
.fact-origin-summary{position:relative}
.fact-origin-summary .change-fact-origin{
  align-self:center;
  min-height:31px;
  margin-left:auto;
  padding:6px 10px;
  border-color:#9bc8bd;
  background:#f2faf7;
  color:#0b6958;
  font-size:9px;
  white-space:nowrap;
}
.fact-origin-summary .change-fact-origin:hover{border-color:#0b6958;background:#0b6958;color:#fff}
.fact-form-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px 16px;padding:21px 27px 15px}
.fact-field{display:flex;flex-direction:column;gap:6px;min-width:0}
.fact-field-wide{grid-column:1/-1}
.fact-field>span{color:#4f625b;font-size:9px;font-weight:850;letter-spacing:.075em;text-transform:uppercase}
.fact-field>span small{font-size:8px;font-weight:650;letter-spacing:0;text-transform:none}
.fact-form input,.fact-form textarea,.fact-form select{
  width:100%;
  min-height:40px;
  margin:0;
  padding:9px 11px;
  border:1px solid #ccd8d4;
  border-radius:7px;
  outline:none;
  background:#fff;
  color:#26363d;
  font:500 12px/1.4 Inter,Segoe UI,system-ui,sans-serif;
}
.fact-form select{padding-right:30px}
.fact-form textarea{resize:vertical;min-height:72px}
.fact-form input:focus,.fact-form textarea:focus,.fact-form select:focus{border-color:#0b6958;box-shadow:0 0 0 3px rgba(11,105,88,.09)}
.fact-form-message{min-height:19px;margin:0;padding:0 27px;color:#5e716a;font-size:10px}
.fact-form-message.error{color:#9b3e36}
.fact-form-actions{display:flex;justify-content:flex-end;gap:9px;margin-top:5px;padding:15px 27px 20px;border-top:1px solid #e0e7e4;background:#fafbf9}
.fact-form-actions button{min-width:112px}
.fact-delete-icon{background:#faecea;color:#9a413a;font-weight:900}

@media(max-width:650px){
  .document-review{padding:18px 17px 20px}
  .document-review-heading{flex-direction:column;gap:12px}
  .document-review-status{align-items:flex-start}
  .document-review-status small{text-align:left}
  .document-review-actions{display:grid;grid-template-columns:1fr}
  .document-review-actions button{width:100%}
  .relevant-fact-heading{flex-direction:column;gap:7px}
  .relevant-fact-actions{align-self:flex-end}
  #factDialog{width:96vw;max-height:94vh}
  .fact-dialog-head{padding:22px 43px 17px 18px}
  .fact-dialog-head h2{font-size:21px}
  .fact-form-grid{grid-template-columns:1fr;padding:18px;gap:12px}
  .fact-field-wide{grid-column:auto}
  .fact-form-message{padding:0 18px}
  .fact-form-actions{padding:14px 18px 18px;flex-direction:column-reverse}
  .fact-form-actions button{width:100%}
  .fact-origin-summary .change-fact-origin{width:100%;margin:8px 0 0}
}

/* Reorganización del módulo de revisión v0.23.0 */
.facts-list-state{
  display:inline-flex;
  align-items:center;
  min-height:20px;
  padding:3px 7px;
  border-radius:999px;
  font-size:9px;
  font-weight:800;
  letter-spacing:.035em;
  text-transform:uppercase;
}
.facts-list-state.has-facts{background:#e6eef7;color:#315c7a}
.facts-list-state.no-facts{background:#f0f2f2;color:#748087}

.detail-document-sheet .detail-head{
  grid-template-columns:minmax(0,1fr) minmax(240px,280px);
}
.detail-document-sheet .detail-context{width:min(280px,100%)}
.detail-review-tools{
  display:grid;
  gap:8px;
  padding:10px;
  border:1px solid #d5e0dc;
  border-radius:9px;
  background:#f7faf8;
}
.detail-review-summary{display:flex;align-items:center;justify-content:space-between;gap:8px}
.detail-fact-count{
  display:inline-flex;
  align-items:center;
  min-height:24px;
  padding:4px 8px;
  border-radius:999px;
  background:#ebeeee;
  color:#69767b;
  font-size:9px;
  font-weight:800;
  text-transform:uppercase;
}
.detail-fact-count.has-facts{background:#e3edf7;color:#315c7a}
.detail-review-actions{display:grid;grid-template-columns:1fr 1fr;gap:6px}
.detail-review-actions button{
  min-height:29px;
  padding:6px 8px;
  border-radius:6px;
  font-size:8px;
  line-height:1.25;
}
.detail-review-actions .new-fact-button{grid-column:1/-1;background:#0b6958;color:#fff}
.detail-review-actions .review-toggle{color:#4e605a;background:#fff}
.detail-review-tools>small{color:#74817d;font-size:8px;line-height:1.35;text-align:right}

#reviewModuleBtn{border-color:#9dbbb1;background:#edf5f2;color:#0b6958}
#reviewModuleBtn:hover{border-color:#0b6958;background:#e2f0eb}
.review-module-dialog{width:min(1050px,95vw);padding:28px 31px;max-height:92vh}
.review-module-head,.facts-list-head{display:flex;align-items:flex-end;justify-content:space-between;gap:24px;padding:0 37px 17px 0;border-bottom:1px solid var(--line)}
.review-module-head h2,.facts-list-head h2{margin:0;color:#25363c;font:700 25px/1.2 Georgia,serif}
.review-module-head>p{margin:0;color:#52655f;font-size:11px;font-weight:750;text-transform:uppercase}
.review-module-head-actions{display:flex;align-items:center;gap:12px}
.review-module-head-actions>p{margin:0;color:#52655f;font-size:11px;font-weight:750;text-transform:uppercase}
.review-module-head-actions>button{min-height:35px;padding:8px 13px;border-color:#0b6958;background:#0b6958;color:#fff;font-size:10px;white-space:nowrap}
.review-module-head-actions>button:hover{border-color:#075446;background:#075446;color:#fff}
.review-module-content{display:grid;gap:9px;margin-top:17px}
.review-record{
  display:grid;
  grid-template-columns:150px minmax(0,1fr) auto;
  gap:17px;
  align-items:center;
  min-height:94px;
  padding:13px 14px;
  border:1px solid #dce3e1;
  border-left:4px solid #0b6958;
  border-radius:8px;
  background:#fff;
}
.review-record-key{display:flex;flex-direction:column;gap:5px;padding-right:15px;border-right:1px solid #e1e6e4}
.review-record-key span{color:#0b6958;font-size:9px;font-weight:850;letter-spacing:.075em;text-transform:uppercase}
.review-record-key strong{font:700 18px/1.2 Georgia,serif;overflow-wrap:anywhere}
.review-record-main{min-width:0}
.review-record-main h3{margin:0 0 9px;color:#35454b;font-size:13px;line-height:1.35}
.review-record-meta{display:flex;align-items:center;flex-wrap:wrap;gap:7px 12px;color:#73807c;font-size:9px}
.review-record>button{padding:7px 10px;color:#0b6958;font-size:9px;white-space:nowrap}

.facts-list-dialog{width:min(850px,94vw);padding:27px 30px;max-height:90vh}
.facts-list-head{align-items:center}
.facts-list-head>strong{color:#0b6958;font:700 18px Georgia,serif}
.facts-list-content{margin-top:16px}
.facts-list-content .relevant-facts-list{margin-top:0}

@media(max-width:800px){
  .detail-document-sheet .detail-head{grid-template-columns:1fr}
  .detail-document-sheet .detail-context{width:100%}
  .review-module-dialog{padding:25px 18px}
  .review-module-head,.facts-list-head{align-items:flex-start;flex-direction:column;gap:7px;padding-right:32px}
  .review-module-head-actions{align-items:flex-start;flex-direction:column;gap:7px}
  .review-record{grid-template-columns:1fr}
  .review-record-key{padding:0 0 10px;border-right:0;border-bottom:1px solid #e1e6e4}
  .review-record>button{justify-self:start}
}

@media(max-width:480px){
  .detail-review-actions{grid-template-columns:1fr}
  .detail-review-actions .new-fact-button{grid-column:auto}
  .facts-list-dialog{padding:24px 17px}
}

/* Ajustes de revisión y ficha del hecho v0.24.0 */
.detail-document-sheet .detail-head{grid-template-columns:minmax(0,1fr) minmax(190px,250px)}
.detail-document-sheet .detail-context{width:min(240px,100%)}
.detail-review-row{
  display:grid;
  grid-template-columns:minmax(0,1fr) auto;
  align-items:center;
  gap:15px;
  min-height:54px;
  padding:9px 26px;
  border-bottom:1px solid #dce4e1;
  background:#f6f9f7;
}
.detail-review-row.read-only{grid-template-columns:minmax(0,1fr) auto}
.detail-review-row .detail-review-actions{
  display:flex;
  align-items:center;
  justify-content:flex-start;
  gap:7px;
  min-width:0;
}
.detail-review-row .detail-review-actions button{
  width:auto;
  min-height:29px;
  padding:6px 9px;
  border-radius:6px;
  font-size:8px;
  white-space:nowrap;
}
.detail-review-row .detail-review-actions .new-fact-button{background:#0b6958;color:#fff}
.detail-review-row .detail-review-summary{display:flex;align-items:center;justify-content:flex-end;gap:7px;white-space:nowrap}
.detail-review-row .review-state,.detail-review-row .detail-fact-count{min-height:24px;padding:4px 8px;font-size:8px}

/* Conserva la cuadrícula original de la tarjeta: el bloque derecho no tiene
   un ancho fijo y apila únicamente los dos indicadores alrededor de las
   acciones, sin comprimir el título ni los metadatos del documento. */
.doc-side{
  min-width:0;
  align-items:flex-end;
  justify-content:space-between;
  flex-direction:column;
  gap:5px;
}
.doc-side>.facts-list-state,
.doc-side>.review-list-state{
  align-self:flex-end;
  max-width:135px;
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;
}

.review-module-content{gap:11px}
.review-fact-record{
  display:grid;
  grid-template-columns:38px minmax(0,1fr) auto;
  gap:14px;
  align-items:center;
  min-height:112px;
  padding:14px 15px;
  border:1px solid #d8e1e6;
  border-left:4px solid #315c7a;
  border-radius:9px;
  background:linear-gradient(135deg,#f7fafc 0%,#fff 76%);
  box-shadow:0 4px 13px rgba(34,66,87,.045);
}
.review-fact-record.alta{border-left-color:#b7792e;background:linear-gradient(135deg,#fffaf2 0%,#fff 76%)}
.review-fact-marker{width:34px;height:34px;display:grid;place-items:center;border-radius:9px;background:#315c7a;color:#fff;font:700 17px Georgia,serif}
.review-fact-record.alta .review-fact-marker{background:#a96b25}
.review-fact-main{min-width:0}
.review-fact-main h3{margin:8px 0 5px;color:#293b44;font:700 16px/1.25 Georgia,serif}
.review-fact-main>p{display:-webkit-box;margin:0;color:#56666d;font-size:11px;line-height:1.45;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.review-fact-meta{display:flex;align-items:center;flex-wrap:wrap;gap:6px 13px;margin-top:9px;color:#738087;font-size:9px}

.fact-detail-dialog{width:min(820px,94vw);padding:0;overflow-x:hidden;overflow-y:auto;max-height:92vh}
.fact-detail-sheet{min-width:0;overflow:hidden;border-top:5px solid #315c7a;background:#fff}
.fact-detail-sheet.alta{border-top-color:#b7792e}
.fact-detail-head{padding:27px 52px 22px 29px;background:linear-gradient(135deg,#f5f9fb,#fff);border-bottom:1px solid #dde5e8}
.fact-detail-sheet.alta .fact-detail-head{background:linear-gradient(135deg,#fff9ef,#fff)}
.fact-detail-head h2{margin:12px 0 8px;color:#263941;font:700 26px/1.22 Georgia,serif}
.fact-detail-title-row{display:flex;align-items:center;flex-wrap:wrap;gap:8px;margin:12px 0 8px}
.fact-detail-title-row h2{margin:0}
.fact-detail-head>p{margin:0;color:#4d5f66;font-size:13px;line-height:1.65;white-space:pre-wrap}
.fact-detail-actions{display:flex;justify-content:flex-end;gap:8px;padding:15px 29px 19px;border-top:1px solid #dce6e3;background:#fff}
.fact-detail-analyze{min-height:36px;padding:8px 14px;border-color:#315c7a;background:#315c7a;color:#fff;font-size:10px;box-shadow:0 4px 11px rgba(49,92,122,.16)}
.fact-detail-analyze:hover{border-color:#264b67;background:#264b67;color:#fff}
.fact-detail-edit{min-height:36px;padding:8px 14px;border-color:#0b6958;background:#0b6958;color:#fff;font-size:10px;box-shadow:0 4px 11px rgba(11,105,88,.16)}
.fact-detail-edit:hover{border-color:#075446;background:#075446;color:#fff;box-shadow:0 6px 15px rgba(11,105,88,.22)}
.fact-detail-delete{min-height:36px;padding:8px 14px;border-color:#d9aaa5;background:#fff7f6;color:#943c34;font-size:10px}
.fact-detail-delete:hover{border-color:#943c34;background:#943c34;color:#fff;box-shadow:0 5px 13px rgba(148,60,52,.18)}
.fact-detail-data{display:grid;grid-template-columns:1fr 1fr;gap:0 22px;padding:8px 29px 17px}
.fact-detail-data>div{display:flex;flex-direction:column;gap:5px;padding:14px 0;border-bottom:1px solid #e7ecee}
.fact-detail-data>div.wide{grid-column:1/-1}
.fact-detail-data span{color:#738087;font-size:8px;font-weight:850;letter-spacing:.08em;text-transform:uppercase}
.fact-detail-data strong{color:#33464e;font-size:12px;line-height:1.55;white-space:pre-wrap}
.fact-legal-analysis{position:relative;width:min(100%,900px);margin:0 auto;padding:5px 29px 24px}
.fact-analysis-section{margin-top:14px;overflow:hidden;border:1px solid #dce5e2;border-radius:10px;background:#fff}
.fact-analysis-section>header{padding:10px 15px;border-bottom:1px solid #dce5e2;background:#f2f7f5;color:#315148;font-size:9px;font-weight:850;letter-spacing:.095em;text-transform:uppercase}
.fact-analysis-result>header{background:#f6f4ed;color:#665a3f}
.structured-legal-copy{padding:4px 16px 13px;color:#33464e;font-size:12px;line-height:1.72}
.legal-text-segment{padding:12px 0 11px;border-bottom:1px solid #edf1f0}
.legal-text-segment:last-child{border-bottom:0}
.legal-text-segment h4{margin:0 0 6px;color:#0b6958;font:800 10px/1.35 Inter,Segoe UI,system-ui,sans-serif;letter-spacing:.045em;text-transform:none}
.legal-text-segment p{margin:0;color:#33464e;font:400 12px/1.72 Inter,Segoe UI,system-ui,sans-serif;white-space:pre-wrap}
.legal-reference{color:#274f62;font-weight:750}
.legal-text-segment.conclusion{margin:7px 0 1px;padding:13px 14px;border:1px solid #d4e2de;border-radius:8px;background:#f3f8f6}
.legal-text-segment.conclusion h4{color:#315148;text-transform:uppercase}
.fact-legal-analysis.is-collapsible.is-collapsed .fact-analysis-section .structured-legal-copy{max-height:205px;overflow:hidden}
.fact-analysis-fade{display:none}
.fact-legal-analysis.is-collapsible.is-collapsed .fact-analysis-fade{position:absolute;right:29px;bottom:57px;left:29px;z-index:1;display:block;height:58px;pointer-events:none;background:linear-gradient(transparent,#fff 82%)}
.fact-analysis-toggle{display:flex;width:max-content;min-height:32px;align-items:center;justify-content:center;gap:6px;margin:14px auto 0;padding:6px 10px;border:0;background:transparent;color:#0b6958;box-shadow:none;font-size:9px;font-weight:800}
.fact-analysis-toggle:hover{background:#edf5f2;color:#075446}
.fact-analysis-toggle svg{width:13px;height:13px;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round;transition:transform .18s ease}
.fact-analysis-toggle[aria-expanded="true"] svg{transform:rotate(180deg)}
.fact-linked-documents{min-width:0;padding:18px 29px 27px;overflow:hidden;background:#f7f9f9;border-top:1px solid #e0e6e6}
.fact-linked-documents h3{margin:0 0 11px;color:#315148;font-size:10px;letter-spacing:.08em;text-transform:uppercase}
.fact-linked-documents>div{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
.fact-document-link{display:flex;flex-direction:column;align-items:flex-start;gap:5px;min-height:88px;padding:13px;border-color:#cbd9dd;background:#fff;color:#30434b;text-align:left;white-space:normal}
.fact-document-link>span{color:#687b82;font-size:8px;font-weight:800;letter-spacing:.05em;text-transform:uppercase}
.fact-document-link>strong{color:#0b6958;font:700 17px Georgia,serif}
.fact-document-link>small{color:#52646b;font-size:9px;line-height:1.35}

@media(max-width:800px){
  .detail-document-sheet .detail-head{grid-template-columns:1fr}
  .detail-document-sheet .detail-context{width:100%}
  .detail-review-row{grid-template-columns:minmax(0,1fr) auto;padding:8px 17px;gap:10px;overflow-x:auto}
  .detail-review-row.read-only{grid-template-columns:minmax(0,1fr) auto}
  .detail-review-row .detail-review-actions{min-width:max-content}
  .review-fact-record{grid-template-columns:34px minmax(0,1fr)}
}

@media(max-width:600px){
  .fact-detail-data{grid-template-columns:1fr;padding-left:18px;padding-right:18px}
  .fact-detail-data>div.wide{grid-column:auto}
  .fact-linked-documents{padding:17px 18px 22px}
  .fact-linked-documents>div{grid-template-columns:1fr}
  .fact-detail-head{padding:24px 43px 19px 18px}
  .fact-detail-head h2{font-size:22px}
  .fact-legal-analysis{padding:4px 18px 20px}
  .structured-legal-copy{padding:3px 13px 11px;font-size:11px}
  .legal-text-segment p{font-size:11px;line-height:1.68}
  .fact-legal-analysis.is-collapsible.is-collapsed .fact-analysis-fade{right:18px;left:18px}
  .fact-document-search-result{grid-template-columns:1fr auto;gap:4px 8px}
  .fact-document-search-result>span:first-child,.fact-document-search-result>strong{grid-column:1}
  .fact-document-search-result>.badge{grid-column:2;grid-row:1/3}
  .fact-document-search-result>small{grid-column:1/-1}
  .fact-origin-search{padding:17px 18px 22px}
}

/* Tarjetas documentales: hechos como texto y composición compacta en celular. */
.documents .doc-actions-mobile{display:none}
.documents .facts-list-state.has-facts{
  min-height:0;
  padding:0;
  border-radius:0;
  background:transparent;
  color:#315c7a;
  font-size:8px;
  font-weight:800;
  letter-spacing:.035em;
  line-height:1.2;
  text-transform:uppercase;
}

@media(max-width:700px){
  .documents .doc{
    position:relative;
    grid-template-columns:1fr;
    gap:9px;
    padding:12px 13px 11px;
  }
  .documents .doc-key{
    min-height:51px;
    padding:0 150px 8px 0;
  }
  .documents .doc-main{
    display:grid;
    grid-template-columns:minmax(0,1fr) 70px;
    grid-template-areas:
      "title actions"
      "meta actions";
    gap:7px 10px;
    justify-content:stretch;
  }
  .documents .doc-title-row{grid-area:title}
  .documents .doc-title-row h4{
    display:-webkit-box;
    overflow:hidden;
    font-size:15px;
    line-height:1.28;
    -webkit-box-orient:vertical;
    -webkit-line-clamp:2;
  }
  .documents .doc-actions-mobile{
    display:flex;
    grid-area:actions;
    align-self:center;
    justify-self:end;
    flex-direction:column;
    width:70px;
    margin:0;
    gap:6px;
  }
  .documents .doc-actions-mobile button{
    width:70px;
    justify-content:center;
  }
  .documents .doc-actions-desktop{display:none}
  .documents .link-fact-card-desktop{display:none}
  .documents .doc-meta{
    grid-area:meta;
    align-self:start;
    margin-top:0;
    gap:7px;
  }
  .documents .doc-side{
    display:block;
    position:static;
    grid-column:auto;
    width:0;
    height:0;
    min-height:0;
    margin:0;
    padding:0;
  }
  .documents .review-list-state{
    position:absolute;
    z-index:1;
    top:10px;
    right:12px;
    max-width:138px;
    text-align:right;
  }
  .documents .facts-list-state.has-facts{
    position:absolute;
    z-index:1;
    top:37px;
    right:13px;
    max-width:138px;
    overflow:hidden;
    text-align:right;
    text-overflow:ellipsis;
    white-space:nowrap;
  }
}

@media(min-width:801px){
  .documents .doc{
    position:relative;
    grid-template-columns:clamp(150px,13vw,170px) minmax(0,1fr) 132px;
    min-height:122px;
  }
  .documents .doc-meta{min-width:0}
  .documents .doc-meta .theme-label{
    max-width:calc(100% - 150px);
    overflow:hidden;
    text-overflow:ellipsis;
    white-space:nowrap;
  }
  .documents .doc-side{
    display:grid;
    width:132px;
    min-width:132px;
    grid-template-rows:1fr auto 1fr;
    justify-items:end;
    align-items:stretch;
  }
  .documents .doc-side>.facts-list-state{
    grid-row:1;
    align-self:start;
  }
  .documents .doc-side>.doc-actions-desktop{
    grid-row:2;
    align-self:center;
  }
  .documents .doc-side>.doc-side-footer{
    position:absolute;
    right:16px;
    bottom:10px;
  }
}

/* Track documental de hechos relevantes v0.26.0 */
.link-fact-card-button,.link-fact-button{
  border-color:#9fbfb5;
  background:#edf6f2;
  color:#0b6958;
}
.link-fact-card-button:hover,.link-fact-button:hover{border-color:#0b6958;background:#e2f0eb}
.documents .link-fact-card-button{min-height:31px;padding:6px 9px;font-size:9px}
.documents .doc-side-footer{display:flex;align-items:center;justify-content:flex-end;gap:7px}
.documents .doc-side-footer .link-fact-card-button{flex:0 0 auto}
.fact-origin-summary{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:20px;
  margin:18px 27px 0;
  padding:13px 15px;
  border:1px solid #cfe0da;
  border-left:4px solid #0b6958;
  border-radius:9px;
  background:#f3f8f6;
}
.fact-origin-summary[data-detail]{cursor:pointer}
.fact-origin-summary[data-detail]:focus-visible{outline:2px solid rgba(11,105,88,.3);outline-offset:2px}
.fact-origin-summary>div{display:flex;min-width:0;flex-direction:column;gap:3px}
.fact-origin-summary>div>span{color:#4d6a61;font-size:8px;font-weight:900;letter-spacing:.09em}
.fact-origin-document-heading{display:flex;min-width:0;align-items:center;gap:8px;flex-wrap:wrap}
.fact-origin-document-heading>.badge{flex:0 0 auto;font-size:7px}
.fact-origin-summary strong{color:#173c34;font:700 15px Georgia,serif}
.fact-origin-summary p{margin:0;color:#53665f;font-size:10px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.fact-origin-summary time{flex:0 0 auto;color:#687a74;font-size:10px}
.fact-links-builder{padding:15px;border:1px solid #d8e4e0;border-radius:10px;background:#f8faf9}
.fact-links-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:14px;margin-bottom:12px}
.fact-links-heading>div{display:flex;flex-direction:column;gap:3px}
.fact-links-heading span{color:#315148;font-size:9px;font-weight:900;letter-spacing:.08em;text-transform:uppercase}
.fact-links-heading small{color:#70817b;font-size:9px}
.fact-links-heading>strong{display:grid;place-items:center;min-width:25px;height:25px;border-radius:999px;background:#dcebe6;color:#0b6958;font-size:10px}
.fact-link-controls{position:relative;display:grid;grid-template-columns:minmax(210px,2fr) minmax(125px,1fr) minmax(180px,1.5fr) auto;gap:9px;align-items:start}
.fact-link-search-status{display:block;min-height:12px;margin-top:3px;color:#6d7d77;font-size:8px;font-weight:700}
.fact-link-document-field{position:static}
.fact-link-document-field>.fact-document-search-results{position:absolute;z-index:40;top:66px;right:0;left:0;width:auto}
.fact-document-search-results{display:grid;gap:5px;max-height:320px;margin-top:5px;padding:5px;overflow-x:hidden;overflow-y:auto;border:1px solid #cfdbd7;border-radius:8px;background:#edf3f1;box-shadow:0 7px 18px rgba(27,62,52,.09)}
.fact-document-search-result{display:grid;grid-template-columns:minmax(80px,.4fr) minmax(115px,.55fr) minmax(260px,2fr) auto;align-items:center;gap:10px;width:100%;min-height:50px;padding:9px 11px;border-color:#d4dfdb;background:#fff;color:#31443e;text-align:left;white-space:normal;box-shadow:none}
.fact-document-search-result:hover{border-color:#77a99a;background:#f5faf8;color:#203b33}
.fact-document-search-result>span:first-child{color:#0b6958;font-size:7px;font-weight:900;letter-spacing:.06em;text-transform:uppercase}
.fact-document-search-result>strong{color:#173c34;font:700 13px Georgia,serif}
.fact-document-search-result>small{min-width:0;overflow:visible;color:#536760;font-size:8px;line-height:1.4;text-overflow:clip;white-space:normal}
.fact-document-search-result>.badge{justify-self:end;font-size:7px}
.fact-document-search-empty{margin:0;padding:12px;color:#708079;font-size:9px;text-align:center}
.fact-link-controls>button{align-self:start;min-height:38px;margin-top:20px;padding:8px 12px;background:#315c7a;color:#fff;border-color:#315c7a;font-size:10px}
.fact-linked-selection{display:grid;gap:8px;margin-top:12px}
.fact-linked-empty{margin:0;padding:13px;border:1px dashed #ccd8d4;border-radius:8px;color:#72817c;font-size:10px;text-align:center}
.fact-linked-selection-item{
  display:grid;
  grid-template-columns:minmax(210px,2fr) minmax(125px,1fr) minmax(180px,1.5fr) auto;
  gap:10px;
  align-items:start;
  padding:10px;
  border:1px solid #d6e0dd;
  border-left:3px solid #789b90;
  border-radius:8px;
  background:#fff;
}
.fact-linked-document-copy{display:flex;min-width:0;flex-direction:column;gap:2px;align-self:start}
.fact-linked-document-copy>span,.fact-linked-selection-item label>span{color:#6b7c76;font-size:7px;font-weight:850;letter-spacing:.07em;text-transform:uppercase}
.fact-linked-document-copy>strong{color:#0b6958;font:700 14px Georgia,serif}
.fact-linked-document-copy>small{overflow:hidden;color:#52645e;font-size:8px;text-overflow:ellipsis;white-space:nowrap}
.fact-linked-selection-item label{display:flex;min-width:0;flex-direction:column;gap:4px}
.fact-linked-selection-item select,.fact-linked-selection-item input{width:100%;min-height:34px;padding:7px 8px;border:1px solid #cfd9d6;border-radius:7px;background:#fff;color:#26383e;font-size:9px}
.fact-linked-selection-item>button{align-self:end;min-height:34px;padding:7px 9px;border-color:#e1c7c3;background:#fff7f5;color:#8e4941;font-size:9px}
.fact-form-message.success{color:#0b6958}
.link-fact-dialog{width:min(760px,94vw);padding:0;overflow-y:auto}
.link-fact-dialog .fact-form-grid{padding-top:18px}
.fact-origin-dialog{width:min(760px,94vw);padding:0;max-height:90vh;overflow-y:auto}
.fact-origin-search{padding:20px 27px 27px}
.fact-origin-search>label{display:block;margin-bottom:6px;color:#315148;font-size:9px;font-weight:900;letter-spacing:.07em;text-transform:uppercase}
.fact-origin-search>input{width:100%;min-height:42px;padding:9px 12px;border:1px solid #c9d6d2;border-radius:8px;background:#fff;color:#273b34;font-size:11px}
.fact-origin-search>p{margin:7px 0 10px;color:#6d7d77;font-size:9px}
.fact-origin-search-results{max-height:390px;margin-top:0}
.fact-track-heading{display:flex;align-items:center;justify-content:space-between;gap:15px;margin-bottom:11px}
.fact-linked-documents .fact-track-heading h3{margin:0}
.fact-track-heading>span{color:#5d706a;font-size:9px;font-weight:750}
.fact-linked-documents>.fact-track-list{display:grid;grid-template-columns:minmax(0,1fr);gap:8px;min-width:0;max-width:100%;overflow:hidden}
.fact-detail-origin-summary{margin-bottom:0}
.fact-track-empty{margin:0;padding:16px;border:1px dashed #cfdad6;border-radius:8px;background:#fff;color:#71807b;font-size:10px;text-align:center}
.fact-track-card{
  position:relative;
  display:grid;
  grid-template-columns:minmax(90px,.35fr) minmax(135px,.5fr) minmax(0,1fr);
  align-items:center;
  gap:10px;
  width:100%;
  min-height:62px;
  padding:9px 11px;
  border:1px solid #d5e0dd;
  border-left:4px solid #789b90;
  border-radius:8px;
  background:#fff;
  color:#30434b;
  text-align:left;
  white-space:normal;
  overflow:hidden;
}
.fact-track-card,.fact-track-card.origin{border-left-color:#0b6958;background:#f2f8f5}
.fact-track-card>*{min-width:0;max-width:100%}
.fact-track-role{display:flex;min-width:0;overflow:hidden;flex-direction:column;gap:4px}
.fact-track-role>span{color:#0b6958;font-size:8px;font-weight:900;letter-spacing:.07em;text-transform:uppercase}
.fact-track-role>time{color:#6e7e79;font-size:9px}
.fact-track-number{display:flex;min-width:0;align-items:flex-start;flex-direction:column;gap:5px}
.fact-track-number>strong{max-width:100%;overflow:hidden;color:#173c34;font:700 16px Georgia,serif;text-overflow:ellipsis;white-space:nowrap}
.fact-track-number>.badge.party{flex:0 0 auto;font-size:7px}
.fact-track-document{display:flex;min-width:0;flex-direction:column;gap:4px}
.fact-track-document>small{flex:1 1 auto;min-width:0;color:#51635d;font-size:9px;line-height:1.4;white-space:normal}
.fact-track-explanation{display:-webkit-box;margin:0;padding-top:4px;overflow:hidden;border-top:1px solid #dce8e4;color:#5a6a65;font-size:8px;line-height:1.35;white-space:normal;-webkit-box-orient:vertical;-webkit-line-clamp:2}
.fact-track-explanation>span{color:#315c7a;font-size:7px;font-weight:850;letter-spacing:.04em;text-transform:uppercase}
button.fact-track-card[data-detail],button.fact-track-card[data-pdf]{
  display:grid;
  width:100%;
  min-width:0;
  min-height:62px;
  padding:9px 11px;
  border:1px solid #d5e0dd;
  border-left:4px solid #0b6958;
  border-radius:8px;
  background:#f2f8f5;
  color:#30434b;
  box-shadow:none;
  text-align:left;
  white-space:normal;
}
button.fact-track-card[data-detail]::before,button.fact-track-card[data-pdf]::before{content:none}
button.fact-track-card[data-detail]:hover,button.fact-track-card[data-pdf]:hover,
button.fact-track-card[data-detail]:active,button.fact-track-card[data-pdf]:active,
button.fact-track-card[data-detail]:focus,button.fact-track-card[data-pdf]:focus{
  border-color:#d5e0dd;
  border-left-color:#0b6958;
  background:#f2f8f5;
  color:#30434b;
  box-shadow:none;
  transform:none;
}
button.fact-track-card[data-detail]:focus-visible,button.fact-track-card[data-pdf]:focus-visible{outline:2px solid rgba(11,105,88,.3);outline-offset:1px}

@media(max-width:800px){
  .fact-origin-summary{margin:15px 18px 0}
  .fact-link-controls{grid-template-columns:1fr 1fr}
  .fact-link-document-field,.fact-link-description-field{grid-column:1/-1}
  .fact-link-controls>button{justify-self:end}
  .fact-linked-selection-item{grid-template-columns:1fr 1fr}
  .fact-linked-document-copy{grid-column:1/-1}
  .fact-linked-selection-item>button{justify-self:end}
}

@media(max-width:600px){
  .fact-origin-summary{align-items:flex-start;flex-direction:column;gap:7px}
  .fact-origin-summary p{max-width:100%}
  .fact-link-controls,.fact-linked-selection-item{grid-template-columns:1fr}
  .fact-link-document-field,.fact-link-description-field,.fact-linked-document-copy{grid-column:auto}
  .fact-link-controls>button,.fact-linked-selection-item>button{width:100%;justify-self:stretch}
  .fact-link-document-field>.fact-document-search-results{top:66px}
  .fact-track-card,button.fact-track-card[data-detail],button.fact-track-card[data-pdf]{grid-template-columns:82px minmax(0,1fr);gap:5px 9px;padding:9px 10px}
  .fact-track-document{grid-column:1/-1}
  .fact-track-document>small{
    display:-webkit-box;
    overflow:hidden;
    -webkit-box-orient:vertical;
    -webkit-line-clamp:2;
  }
  .fact-track-explanation{-webkit-line-clamp:2}
  .fact-detail-actions{padding:13px 18px 17px}
  .fact-detail-actions{flex-wrap:wrap}
  .fact-detail-analyze{width:100%}
  .documents .doc-actions-mobile{gap:4px}
  .documents .doc-actions-mobile .link-fact-card-button{min-height:27px;padding:5px 7px}
}
.fact-theme {
  display:inline-flex;
  align-items:center;
  padding:4px 7px;
  border:0;
  border-radius:4px;
  background:#e8f0f5;
  color:#315c7a;
  font-size:8px;
  font-weight:850;
  letter-spacing:.065em;
  text-transform:uppercase;
}

/* Navegación de listados y revisión por tema v0.33.1 */
.back-to-top{
  position:fixed;
  right:clamp(14px,2.2vw,28px);
  bottom:clamp(16px,3vh,28px);
  z-index:40;
  display:grid;
  width:36px;
  height:36px;
  min-height:36px;
  padding:0;
  place-items:center;
  align-items:center;
  border:1px solid rgba(88,112,104,.28);
  border-radius:50%;
  background:rgba(255,255,255,.82);
  color:#667b74;
  box-shadow:0 4px 12px rgba(37,58,51,.12);
  opacity:.9;
  backdrop-filter:blur(6px);
  -webkit-backdrop-filter:blur(6px);
  transition:transform .16s ease,box-shadow .16s ease,background-color .16s ease,border-color .16s ease,color .16s ease,opacity .16s ease;
}
.back-to-top[hidden]{display:none}
.back-to-top svg{width:14px;height:14px;fill:none;stroke:currentColor;stroke-width:1.9;stroke-linecap:round;stroke-linejoin:round}
.back-to-top:hover,.back-to-top:focus-visible{border-color:rgba(11,105,88,.45);background:rgba(255,255,255,.96);color:#0b6958;box-shadow:0 6px 15px rgba(37,58,51,.16);opacity:1;outline:none;transform:translateY(-1px)}
.back-to-top:active{box-shadow:0 3px 8px rgba(37,58,51,.12);transform:translateY(0)}

.review-module-toolbar{
  display:grid;
  grid-template-columns:minmax(230px,1.4fr) minmax(180px,1fr) minmax(180px,1fr) auto;
  align-items:flex-end;
  justify-content:space-between;
  gap:16px;
  padding:14px 0 1px;
}
.review-module-toolbar label{display:flex;flex-direction:column;gap:5px;min-width:0}
.review-module-toolbar label>span{color:#60716b;font-size:8px;font-weight:850;letter-spacing:.1em;text-transform:uppercase}
.review-module-toolbar select,.review-module-toolbar input{width:100%;min-width:0;min-height:38px;padding:8px 11px;border:1px solid #cfdcd8;border-radius:8px;background-color:#fff;color:#24443c;font:700 11px/1.2 Inter,Segoe UI,system-ui,sans-serif;box-shadow:0 2px 8px rgba(27,62,52,.06)}
.review-module-toolbar select{padding-right:36px}
.review-module-toolbar input:focus{border-color:#78a99a;outline:3px solid rgba(11,105,88,.08)}
.review-module-toolbar>p{margin:0 2px 9px;color:#667771;font-size:10px;font-weight:750;white-space:nowrap}
.review-fact-record{grid-template-columns:38px minmax(0,1fr) auto}
.review-fact-record.interactive{cursor:pointer;transition:border-color .16s ease,box-shadow .16s ease,transform .16s ease}
.review-fact-record.interactive:hover,.review-fact-record.interactive:focus-visible{border-color:#91aebb;box-shadow:0 8px 21px rgba(34,66,87,.11);outline:none;transform:translateY(-1px)}
.review-fact-actions{display:flex;align-items:flex-start;gap:6px}
.review-fact-actions button{padding:7px 9px;border-color:#cbd8d4;background:#fff;color:#31554b;font-size:10px}
.review-fact-actions button:last-child{border-color:#ebc8c2;color:#9a4138}
.fact-theme.unassigned{background:#f2f4f3;color:#6b7773}

/* Desplegables propios: evita la representación nativa distinta en móvil y tableta. */
.custom-select-native{
  position:absolute!important;
  width:1px!important;
  height:1px!important;
  margin:0!important;
  padding:0!important;
  overflow:hidden!important;
  border:0!important;
  opacity:0!important;
  pointer-events:none!important;
}
.custom-select-trigger{
  position:relative;
  width:100%;
  min-width:0;
  min-height:38px;
  padding:8px 38px 8px 11px;
  overflow:hidden;
  border:1px solid #cfdcd8;
  border-radius:8px;
  background:#fff;
  color:#24443c;
  box-shadow:0 2px 8px rgba(27,62,52,.06);
  font:700 11px/1.25 Inter,Segoe UI,system-ui,sans-serif;
  text-align:left;
  text-overflow:ellipsis;
  white-space:nowrap;
}
.custom-select-trigger[hidden]{display:none}
.custom-select-trigger::after{
  position:absolute;
  top:50%;
  right:12px;
  width:8px;
  height:8px;
  border-right:2px solid #0b6958;
  border-bottom:2px solid #0b6958;
  content:"";
  transform:translateY(-68%) rotate(45deg);
  transition:transform .16s ease;
}
.custom-select-trigger[aria-expanded="true"]::after{transform:translateY(-25%) rotate(225deg)}
.custom-select-trigger:hover,.custom-select-trigger:focus-visible,.custom-select-trigger[aria-expanded="true"]{border-color:#0b6958;background:#fff;color:#24443c;box-shadow:0 0 0 3px rgba(11,105,88,.11);outline:none}
.custom-select-trigger.placeholder{color:#74827e;font-weight:600}
.custom-select-trigger.invalid{border-color:#bd655b}
.custom-select-trigger:disabled{border-color:#dce3e1;background:#f3f5f4;color:#87928e;cursor:not-allowed;opacity:.72}
.custom-select-options{
  position:fixed;
  inset:auto;
  margin:0;
  z-index:12000;
  display:flex;
  flex-direction:column;
  gap:2px;
  padding:6px;
  overflow-y:auto;
  overscroll-behavior:contain;
  border:1px solid #c7d6d1;
  border-radius:10px;
  background:#fff;
  box-shadow:0 16px 38px rgba(24,55,47,.22);
}
.custom-select-options button{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
  width:100%;
  min-height:36px;
  padding:8px 10px;
  border:0;
  border-radius:7px;
  background:#fff;
  color:#314b44;
  font:650 11px/1.3 Inter,Segoe UI,system-ui,sans-serif;
  text-align:left;
}
.custom-select-options button>span:first-child{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.custom-select-option-copy{display:flex;min-width:0;flex:1 1 auto;flex-direction:column;gap:2px;overflow:hidden;white-space:normal!important}
.custom-select-option-copy>strong{overflow:hidden;color:inherit;font-size:inherit;text-overflow:ellipsis;white-space:nowrap}
.custom-select-option-copy>small{overflow:hidden;color:#71817c;font-size:9px;font-weight:550;text-overflow:ellipsis;white-space:nowrap}
.custom-select-options button:hover,.custom-select-options button:focus-visible{background:#edf6f3;color:#075446;outline:none}
.custom-select-options button.selected{background:#e1f0eb;color:#075446;font-weight:800}
.custom-select-options button:disabled{color:#a4aeab;cursor:not-allowed}
.custom-select-check{color:#0b6958;font-size:14px;font-weight:900}
.document-display-filter .custom-select-trigger,.document-order-filter .custom-select-trigger{min-width:190px}
#caseSelect+.custom-select-trigger{
  min-width:170px;
  min-height:45px;
  padding:2px 40px 4px 0;
  border:0;
  border-bottom:2px solid var(--gold);
  border-radius:0;
  background:transparent;
  color:var(--ink);
  box-shadow:none;
  font:700 29px/1.2 Georgia,serif;
}
#caseSelect+.custom-select-trigger::after{right:9px}
#caseSelect+.custom-select-trigger:hover,#caseSelect+.custom-select-trigger:focus-visible,#caseSelect+.custom-select-trigger[aria-expanded="true"]{border-color:var(--gold);background:transparent;color:var(--ink);box-shadow:none}
.fact-form .custom-select-trigger{min-height:40px;font:500 12px/1.4 Inter,Segoe UI,system-ui,sans-serif}
.user-form-grid .custom-select-trigger,.theme-form .custom-select-trigger,.document-theme-form .custom-select-trigger{min-height:41px;font:600 11px/1.3 Inter,Segoe UI,sans-serif}
.review-module-toolbar .custom-select-trigger{min-height:38px}

@media(max-width:1024px){
  .custom-select-trigger{min-height:42px;font-size:13px}
  .custom-select-options button{min-height:42px;font-size:13px}
  #caseSelect+.custom-select-trigger{font-size:29px}
}

/* Acceso directo a un escrito compartido v0.33.44. */
.writing-card-shared{
  border-color:#b9d2ca;
  box-shadow:0 12px 32px rgba(24,62,55,.09);
}

@media(max-width:650px){
  .back-to-top{right:12px;bottom:14px;width:34px;height:34px;min-height:34px}
  .review-module-toolbar{align-items:stretch;flex-direction:column;gap:7px}
  .review-module-toolbar label{min-width:0;width:100%}
  .review-module-toolbar>p{margin:0;text-align:right}
  .document-display-filter .custom-select-trigger,.document-order-filter .custom-select-trigger,#caseSelect+.custom-select-trigger{min-width:0}
  .review-fact-record{grid-template-columns:32px minmax(0,1fr)}
  .review-fact-actions{grid-column:2;justify-content:flex-end}
}

/* Búsqueda dentro de catálogos extensos */
.custom-select-options{overflow:hidden}
.custom-select-search-wrap{position:sticky;top:0;z-index:1;padding:2px 2px 6px;background:#fff}
.custom-select-search{
  width:100%;
  min-height:38px;
  padding:8px 11px 8px 32px;
  border:1px solid #cfdbd7;
  border-radius:7px;
  background:#f8faf9;
  color:#24443c;
  font:600 11px/1.3 Inter,Segoe UI,system-ui,sans-serif;
  outline:none;
}
.custom-select-search-wrap::before{position:absolute;left:13px;top:13px;width:9px;height:9px;border:1.7px solid #60766f;border-radius:50%;content:""}
.custom-select-search-wrap::after{position:absolute;left:22px;top:22px;width:6px;height:1.7px;background:#60766f;content:"";transform:rotate(45deg);transform-origin:left center}
.custom-select-search:focus{border-color:#0b6958;background:#fff;box-shadow:0 0 0 3px rgba(11,105,88,.1)}
.custom-select-option-list{min-height:0;overflow-y:auto;overscroll-behavior:contain}
.custom-select-empty{margin:18px 8px;padding:8px;color:#72817c;font-size:11px;text-align:center}

.fact-detail-actions{align-items:center;justify-content:space-between}
.fact-detail-management-actions{display:flex;align-items:center;justify-content:flex-end;gap:8px;margin-left:auto}
.fact-detail-cancel{min-height:36px;padding:8px 14px;border-color:#cbd5d2;background:#fff;color:#53655f;font-size:10px}
.fact-detail-cancel:hover,.fact-detail-cancel:focus-visible{border-color:#758a83;background:#f3f6f5;color:#283f38;outline:none}
@media(max-width:650px){
  .fact-detail-actions{align-items:stretch;flex-direction:column}
  .fact-detail-analyze{align-self:flex-start}
  .fact-detail-management-actions{width:100%;margin-left:0}
  .fact-detail-management-actions button{flex:1 1 0}
}

/* Recorrido cronológico del seguimiento v0.33.14. */
.tree-recent-navigator button.tree-recent-card[data-detail]{display:grid;grid-template-columns:auto minmax(0,1fr);align-items:initial;justify-content:initial;column-gap:12px;row-gap:3px;width:100%;min-height:82px;padding:11px 14px;border:1px solid #d6e2de;border-left:4px solid var(--gold);border-radius:8px;background:#fff;color:var(--ink);font-weight:650;letter-spacing:normal;white-space:normal;box-shadow:none;transition:none}
.tree-recent-navigator button.tree-recent-card[data-detail]::before{content:none}
.tree-recent-navigator button.tree-recent-card[data-detail]:hover,.tree-recent-navigator button.tree-recent-card[data-detail]:focus-visible{border-color:#9cbab1;border-left-color:var(--gold);background:#f9fcfb;color:var(--ink);box-shadow:none;outline:3px solid rgba(11,105,88,.12);outline-offset:1px;transform:none}
@media(max-width:650px){
  .tree-recent-navigator button.tree-recent-card[data-detail]{grid-template-columns:1fr;min-height:96px;padding:10px}
}

/* Controles documentales adaptables v0.33.15. */
.document-toolbar-controls{
  grid-template-columns:repeat(3,minmax(0,1fr));
}
.document-toolbar-controls #search{
  grid-column:1/-1;
  min-height:42px;
}
.document-display-filter .custom-select-trigger,
.document-order-filter .custom-select-trigger{
  width:100%;
  min-width:0;
}
@media(max-width:900px){
  .document-toolbar-controls{grid-template-columns:repeat(2,minmax(0,1fr))}
  .document-order-filter{grid-column:1/-1}
}
@media(max-width:600px){
  .document-toolbar-controls{display:grid;grid-template-columns:minmax(0,1fr);gap:9px}
  .document-toolbar-controls #search,.document-order-filter{grid-column:auto}
}

/* Temas pendientes por revisar. */
.account-work-tools{padding:10px 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.pending-notes-menu-button{display:flex;align-items:center;gap:9px;width:100%;padding:8px 10px;border:0;background:transparent;color:#0b6958;font-size:11px;text-align:left}
.pending-notes-menu-button svg{width:17px;height:17px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.pending-notes-menu-button:hover,.pending-notes-menu-button:focus-visible{border:0;background:#edf6f3;color:#075446;outline:none}

.pending-notes-dialog{width:min(1080px,95vw);padding:28px;overflow-y:auto}
.pending-notes-head{display:flex;align-items:flex-end;justify-content:space-between;gap:24px;padding:0 38px 18px 0;border-bottom:1px solid var(--line)}
.pending-notes-head h2,.pending-note-form-head h2{margin:0;color:#24373d;font:700 27px/1.2 Georgia,serif}
.pending-notes-head p:last-child,.pending-note-form-head p:last-child{margin:7px 0 0;color:var(--muted);font-size:12px}
.pending-notes-summary{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:9px;margin:18px 0}
.pending-notes-summary>div{display:flex;align-items:center;gap:10px;padding:12px 14px;border:1px solid #dfe7e4;border-radius:9px;background:#f7faf8}
.pending-notes-summary strong{color:var(--green);font:700 22px Georgia,serif}
.pending-notes-summary span{color:#63736e;font-size:10px;font-weight:750;text-transform:uppercase}
.pending-notes-list{display:grid;gap:9px}
.pending-note-record{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:18px;padding:16px;border:1px solid #dbe3e1;border-left:4px solid var(--gold);border-radius:9px;background:#fff}
.pending-note-record-copy{min-width:0}
.pending-note-record-meta{display:flex;align-items:center;gap:9px}
.pending-note-record-meta time{color:#74817d;font-size:9px}
.pending-note-record h3{margin:9px 0 4px;color:#22363c;font:700 17px/1.3 Georgia,serif}
.pending-note-record p{margin:0;color:#5f706b;font-size:11px;line-height:1.5}
.pending-note-state{display:inline-flex;padding:4px 7px;border-radius:999px;background:#f6ead1;color:#8a601d;font-size:8px;font-weight:850;letter-spacing:.06em;text-transform:uppercase}
.pending-note-state.en-revision{background:#e5edf3;color:#315c7a}
.pending-note-state.resuelto{background:#e2f0eb;color:#0b6958}
.pending-note-document-links{display:flex;flex-wrap:wrap;gap:5px;margin-top:10px}
.pending-note-document-links button{min-height:0;padding:4px 7px;border-color:#c8d9d3;background:#f3f8f6;color:#0b6958;font-size:8px}
.pending-note-record-actions{display:flex;align-items:flex-start;gap:7px}
.pending-note-record-actions button{padding:8px 11px;font-size:9px;white-space:nowrap}

/* Encabezados fijos reales: el encabezado queda fuera del área desplazable. */
.tree-dialog[open],.review-module-dialog[open]{display:flex;flex-direction:column;padding:0;overflow:hidden}
.tree-dialog[open]{height:94vh;max-height:94vh}
.tree-dialog-fixed-head,.review-dialog-fixed-head{position:relative;z-index:6;flex:0 0 auto;background:#fff;box-shadow:0 7px 18px rgba(24,33,40,.1)}
.tree-dialog-fixed-head{padding:27px 32px 16px}
.review-dialog-fixed-head{padding:28px 31px 12px}
.tree-dialog-fixed-head>.close,.review-dialog-fixed-head>.close{z-index:2;background:#fff;box-shadow:0 2px 9px rgba(24,33,40,.1)}
.tree-dialog-fixed-head .tree-recent-navigator{position:static;top:auto;margin:14px 0 0;background:#fff;backdrop-filter:none}
.tree-dialog-scroll,.review-dialog-scroll{min-height:0;overflow-y:auto;overscroll-behavior:contain;scrollbar-gutter:stable}
.tree-dialog-scroll{padding:0 32px 32px}
.review-module-dialog .review-module-content.review-dialog-scroll{margin:0;padding:17px 31px 28px}
.tree-node.recent-selected{position:relative;border-color:#0b6958;border-left:6px solid #0b6958;background:#edf7f3;box-shadow:0 8px 22px rgba(11,105,88,.18);outline:3px solid rgba(11,105,88,.18);outline-offset:2px}
.tree-node.recent-selected::after{content:"En recorrido";position:absolute;right:12px;top:-11px;padding:4px 8px;border-radius:999px;background:#0b6958;color:#fff;font-size:8px;font-weight:900;letter-spacing:.08em;text-transform:uppercase;box-shadow:0 3px 8px rgba(11,105,88,.22)}

@media(max-width:800px){
  .review-dialog-fixed-head{padding:25px 18px 12px}
  .review-module-dialog .review-module-content.review-dialog-scroll{padding:17px 18px 25px}
  .review-module-head{align-items:flex-start;flex-direction:column;gap:10px;padding-right:38px}
  .review-module-head-actions{width:100%;align-items:flex-start;justify-content:space-between}
  .review-module-toolbar{grid-template-columns:1fr 1fr}
  .review-search-field{grid-column:1/-1}
  .review-module-toolbar>p{grid-column:1/-1;text-align:right}
  .review-fact-record{grid-template-columns:32px minmax(0,1fr)}
  .review-fact-actions{grid-column:2;flex-wrap:wrap;justify-content:flex-end}
}
@media(max-width:650px){
  .tree-dialog-fixed-head{padding:22px 20px 14px}
  .tree-dialog-fixed-head .dialog-head{padding-right:34px}
  .tree-dialog-fixed-head .dialog-head>.muted{display:none}
  .tree-dialog-scroll{padding:0 18px 24px}
  .tree-node.recent-selected::after{right:8px}
  .tree-recent-heading{grid-template-columns:minmax(0,1fr) auto}
  .tree-recent-latest{grid-column:1/-1;width:100%}
  .tree-recent-controls{grid-template-columns:38px minmax(0,1fr) 38px;gap:6px}
  .tree-recent-card{grid-template-columns:1fr;padding:9px 10px}
  .tree-recent-card .tree-recent-date{grid-row:auto;min-width:0;padding:0;border-right:0}
  .tree-recent-card strong{white-space:normal;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical}
  .review-module-dialog[open]{width:calc(100vw - 12px);height:96vh;max-height:96vh}
  .review-dialog-fixed-head{padding:20px 14px 10px}
  .review-module-head-actions{flex-direction:column;gap:8px}
  .review-module-head-actions>button{width:100%}
  .review-module-toolbar{grid-template-columns:1fr;max-height:245px;overflow-y:auto;padding-right:3px}
  .review-search-field,.review-module-toolbar>p{grid-column:auto}
  .review-module-dialog .review-module-content.review-dialog-scroll{padding:14px 12px 22px}
  .review-fact-record{grid-template-columns:28px minmax(0,1fr);gap:10px;padding:12px 10px;overflow:hidden}
  .review-fact-marker{width:28px;height:28px;font-size:14px}
  .review-fact-main h3{overflow-wrap:anywhere;font-size:15px}
  .relevant-fact-tags,.review-fact-meta{min-width:0;overflow-wrap:anywhere}
  .review-fact-actions{grid-column:1/-1;display:grid;grid-template-columns:1fr 1fr;width:100%}
  .review-fact-actions button{width:100%}
}

.pending-note-form-dialog{width:min(880px,95vw);padding:28px;overflow-y:auto}
.pending-note-form-head{padding:0 38px 17px 0;border-bottom:1px solid var(--line)}
.pending-note-form-grid{display:grid;grid-template-columns:minmax(0,2fr) minmax(180px,1fr);gap:14px;padding-top:18px}
.pending-note-field{display:flex;min-width:0;flex-direction:column;gap:6px}
.pending-note-field-wide{grid-column:1/-1}
.pending-note-field>span,.pending-note-document-search-field>span{color:#415a52;font-size:9px;font-weight:900;letter-spacing:.07em;text-transform:uppercase}
.pending-note-field input,.pending-note-field textarea,.pending-note-field select,.pending-note-document-search-field input{width:100%;padding:10px 11px;border:1px solid #cbd7d3;border-radius:8px;background:#fff;color:#293b35;font:600 11px Inter,Segoe UI,sans-serif}
.pending-note-field input,.pending-note-field select,.pending-note-document-search-field input{min-height:42px}
.pending-note-field textarea{resize:vertical;line-height:1.5}
.pending-note-field input:focus,.pending-note-field textarea:focus,.pending-note-document-search-field input:focus{border-color:#6ca697;outline:3px solid rgba(11,105,88,.1)}
.pending-note-documents{margin-top:17px;padding:15px;border:1px solid #d8e2de;border-radius:10px;background:#f8faf9}
.pending-note-documents-head{display:flex;align-items:flex-start;justify-content:space-between;gap:18px;margin-bottom:12px}
.pending-note-documents-head>div{display:flex;min-width:0;flex-direction:column;gap:3px}
.pending-note-documents-head strong{color:#2d4941;font-size:11px}
.pending-note-documents-head small{color:#74817d;font-size:9px}
.pending-note-documents-head>span{flex:0 0 auto;padding:4px 7px;border-radius:999px;background:#e3efeb;color:#0b6958;font-size:8px;font-weight:850}
.pending-note-document-search-field{position:relative;display:flex;flex-direction:column;gap:6px}
.pending-note-document-results{position:absolute;z-index:40;top:66px;right:0;left:0;max-height:290px}
.pending-note-selected-documents{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:7px;margin-top:12px}
.pending-note-selected-document{display:grid;grid-template-columns:minmax(0,1fr) 31px;overflow:hidden;border:1px solid #d6e1dd;border-radius:8px;background:#fff}
.pending-note-document-open{display:flex;min-width:0;flex-direction:column;align-items:flex-start;gap:2px;padding:9px 10px;border:0;border-radius:0;background:#fff;text-align:left}
.pending-note-document-open span{color:#60716b;font-size:8px;font-weight:850;text-transform:uppercase}
.pending-note-document-open strong,.pending-note-document-open small{max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.pending-note-document-open strong{color:#24443c;font:700 13px Georgia,serif}
.pending-note-document-open small{color:#74817d;font-size:8px}
.pending-note-document-remove{padding:0;border:0;border-left:1px solid #e1e7e5;border-radius:0;background:#fff;color:#9a4138;font-size:18px}
.pending-note-documents-empty{grid-column:1/-1;margin:0;padding:14px;border:1px dashed #cbd8d4;border-radius:7px;color:#74817d;font-size:10px;text-align:center}
.pending-note-form-message{min-height:18px;margin:11px 0 0;color:#4e655d;font-size:10px}
.pending-note-form-message.error{padding:8px 10px;border:1px solid #eac7c2;border-radius:7px;background:#fff2ef;color:#8d3932}
.pending-note-form-actions{display:flex;justify-content:flex-end;gap:8px;margin-top:4px;padding-top:14px;border-top:1px solid var(--line)}
.pending-note-analysis-dialog{width:min(1220px,96vw);padding:30px 34px;max-height:92vh}

@media(max-width:800px){
  .pending-notes-head{align-items:flex-start;flex-direction:column;padding-right:35px}
  .pending-notes-summary{grid-template-columns:1fr}
  .pending-note-record{grid-template-columns:1fr}
  .pending-note-record-actions{justify-content:flex-end}
}
@media(max-width:600px){
  .pending-notes-dialog,.pending-note-form-dialog{width:calc(100vw - 20px);padding:20px 15px}
  .pending-note-form-grid,.pending-note-selected-documents{grid-template-columns:1fr}
  .pending-note-field-wide{grid-column:auto}
  .pending-note-documents{padding:12px}
  .pending-note-documents-head{flex-direction:column;gap:7px}
  .pending-note-record-actions{display:grid;grid-template-columns:1fr}
  .pending-note-record-actions button,.pending-note-form-actions button{width:100%}
  .pending-note-form-actions{flex-direction:column-reverse}
  .pending-note-analysis-dialog{width:calc(100vw - 16px);padding:24px 14px}
}

/* Navegación principal por módulos. */
.workspace[hidden],.primary-module-host[hidden],#documentNavigationTools[hidden],.primary-page[hidden]{display:none!important}

.type-filter-row{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:stretch;gap:5px}
.type-children-toggle{display:grid;place-items:center;width:34px;min-width:34px;padding:0;border-color:#cad9d4;background:#f4f8f6;color:var(--green)}
.type-children-toggle span{display:block;font-size:19px;line-height:1;transition:transform .18s ease}
.type-children-toggle.expanded span{transform:rotate(180deg)}
.party-tree[hidden]{display:none!important}

/* Los módulos secundarios ocupan una página completa y no heredan el menú lateral. */
.primary-module-host{width:100%;min-width:0}
.primary-module-host>.primary-module-page[open]{position:static;inset:auto;display:block;width:100%;max-width:none;min-width:0;margin:0;padding:28px;border:1px solid var(--line);border-radius:18px;background:var(--card);box-shadow:0 16px 40px rgba(26,52,45,.08)}
.primary-module-host>.primary-module-page::backdrop{display:none}
.primary-module-host>.primary-module-page>.close{display:none!important}
.primary-module-host>.tree-dialog.primary-module-page[open],
.primary-module-host>.review-module-dialog.primary-module-page[open]{height:calc(100vh - 150px);min-height:590px;max-height:none;padding:0;overflow:hidden}
.primary-module-host>.tree-dialog.primary-module-page .tree-dialog-fixed-head,
.primary-module-host>.review-module-dialog.primary-module-page .review-dialog-fixed-head{padding-left:28px;padding-right:28px;background:var(--card)}
.primary-module-host>.tree-dialog.primary-module-page .tree-dialog-scroll{padding-right:28px;padding-left:28px}
.primary-module-host>.review-module-dialog.primary-module-page .review-module-content.review-dialog-scroll{padding-right:28px;padding-left:28px}
.primary-module-host>.writings-dialog.primary-module-page[open]{overflow:visible}
.primary-module-host>.writings-dialog.primary-module-page .writings-head,
.primary-module-host>.pending-notes-dialog.primary-module-page .pending-notes-head,
.primary-module-host>.user-admin-dialog.primary-module-page .user-admin-head,
.primary-module-host>.theme-admin-dialog.primary-module-page .theme-admin-head{padding-right:0}
.monitor-page-head{display:flex;align-items:flex-start;justify-content:space-between;gap:24px;padding-bottom:22px;border-bottom:1px solid var(--line)}
.monitor-page-head h2{margin:4px 0 8px}
.monitor-page-head p:last-child{margin:0;color:var(--muted)}
.monitor-page .monitor-status-panel{margin-top:22px}

@media(max-width:800px){
  .primary-module-host>.primary-module-page[open]{padding:20px 16px;border-radius:12px}
  .primary-module-host>.tree-dialog.primary-module-page[open],
  .primary-module-host>.review-module-dialog.primary-module-page[open]{width:100%;height:auto;min-height:70vh;max-height:none;padding:0}
  .primary-module-host>.tree-dialog.primary-module-page .tree-dialog-scroll,
  .primary-module-host>.review-module-dialog.primary-module-page .review-dialog-scroll{max-height:65vh;padding-right:16px;padding-left:16px}
  .primary-module-host>.tree-dialog.primary-module-page .tree-dialog-fixed-head,
  .primary-module-host>.review-module-dialog.primary-module-page .review-dialog-fixed-head{padding-right:16px;padding-left:16px}
  .monitor-page-head{flex-direction:column}
}

/* Páginas reales: el documento principal controla todo el desplazamiento. */
.primary-module-host>.primary-module-page[open]{height:auto!important;min-height:0!important;max-height:none!important;padding:0!important;overflow:visible!important;border:0!important;border-radius:0!important;background:transparent!important;box-shadow:none!important}
.primary-module-host>.primary-module-page .tree-dialog-scroll,
.primary-module-host>.primary-module-page .review-dialog-scroll,
.primary-module-host>.primary-module-page.user-admin-dialog,
.primary-module-host>.primary-module-page.theme-admin-dialog,
.primary-module-host>.primary-module-page.pending-notes-dialog,
.primary-module-host>.primary-module-page.writings-dialog{height:auto!important;max-height:none!important;overflow:visible!important;scrollbar-gutter:auto}
.primary-module-host>.review-module-dialog .review-dialog-fixed-head{position:sticky;top:0;z-index:12;padding:22px 0 12px!important;background:rgba(247,246,241,.97)!important;box-shadow:0 8px 16px rgba(24,33,40,.06);backdrop-filter:blur(10px)}
.primary-module-host>.review-module-dialog .review-module-content.review-dialog-scroll{margin:0;padding:18px 0 30px!important}
.primary-module-host>.tree-dialog .tree-dialog-fixed-head{position:sticky;top:0;z-index:12;padding:20px 0 12px!important;background:rgba(247,246,241,.97)!important;box-shadow:0 8px 16px rgba(24,33,40,.06);backdrop-filter:blur(10px)}
.primary-module-host>.tree-dialog .tree-dialog-scroll{padding:18px 0 34px!important}
.primary-module-page [data-module-close]{display:none!important}

/* Navegación compacta y estable del seguimiento. */
.tree-dialog-fixed-head .tree-recent-navigator{margin:10px 0 0;padding:10px 12px;border-top-width:3px;box-shadow:none}
.tree-traversal-controls{display:grid;grid-template-columns:auto minmax(130px,1fr) auto auto;align-items:center;gap:10px}
.tree-traversal-controls>span{color:#526762;font-size:10px;font-weight:850;text-align:center;letter-spacing:.04em;text-transform:uppercase}
.tree-traversal-button,.tree-traversal-controls .tree-recent-latest{min-height:36px;padding:8px 13px;white-space:nowrap}
.tree-traversal-button{border-color:#a7c2ba;background:#fff;color:var(--green);font-weight:800}
.tree-traversal-button:disabled,.tree-traversal-controls .tree-recent-latest:disabled{cursor:default;opacity:.38}
.tree-node.recent-selected::after{content:none!important}

/* Catálogo de temas compacto: tres tarjetas por fila en escritorio. */
.primary-module-host .theme-admin-content{grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}
.primary-module-host .theme-record{grid-template-columns:1fr;align-content:start;gap:12px;min-height:178px;padding:16px}
.primary-module-host .theme-record-name{align-items:flex-start}
.primary-module-host .theme-record-name p{display:-webkit-box;overflow:hidden;white-space:normal;-webkit-box-orient:vertical;-webkit-line-clamp:3}
.primary-module-host .theme-record-usage{justify-content:flex-start}
.primary-module-host .theme-record-actions{align-self:end;justify-content:stretch;margin-top:auto}
.primary-module-host .theme-record-actions button{flex:1}

@media(max-width:1050px){
  .primary-module-host .theme-admin-content{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media(max-width:700px){
  .primary-module-host>.review-module-dialog .review-dialog-fixed-head,
  .primary-module-host>.tree-dialog .tree-dialog-fixed-head{position:relative;top:auto;padding-right:0!important;padding-left:0!important}
  .tree-traversal-controls{grid-template-columns:1fr 1fr}
  .tree-traversal-controls>span{grid-column:1/-1;grid-row:1}
  .tree-traversal-controls .tree-recent-latest{grid-column:1/-1}
  .primary-module-host .theme-admin-content{grid-template-columns:1fr}
  .primary-module-host .theme-record{min-height:0}
}

/* Encabezado global siempre disponible. */
.topbar{position:sticky;top:0;z-index:1000;box-shadow:0 5px 18px rgba(10,24,29,.2)}

/* Todos los módulos conservan la superficie blanca formal de Documentos. */
.primary-module-host{min-height:590px;padding:28px;background:var(--card);border:1px solid var(--line);border-radius:12px;box-shadow:var(--shadow)}
.primary-module-host>.primary-module-page[open]{background:var(--card)!important}
.primary-module-host>.review-module-dialog .review-dialog-fixed-head,
.primary-module-host>.tree-dialog .tree-dialog-fixed-head{top:74px;background:rgba(255,255,255,.97)!important}

/* Las flechas acompañan a la actuación activa, sin una barra independiente. */
.tree-inline-navigation{display:flex;flex:0 0 auto;align-items:center;gap:6px;margin-left:4px;padding-left:9px;border-left:1px solid #c7dbd5}
.tree-inline-navigation button{display:grid;place-items:center;width:30px;height:30px;min-width:30px;margin-left:0!important;padding:0;border:1px solid #b8d0c9;border-radius:50%;background:#fff;color:var(--green);box-shadow:0 2px 7px rgba(21,74,62,.1)}
.tree-inline-navigation button:hover:not(:disabled){border-color:var(--green);background:#e8f3ef;transform:translateY(-1px)}
.tree-inline-navigation button:disabled{cursor:default;opacity:.28}
.tree-inline-navigation svg{width:15px;height:15px;fill:none;stroke:currentColor;stroke-width:2.2;stroke-linecap:round;stroke-linejoin:round}
.tree-node.recent-selected{border-left-width:4px;outline:2px solid rgba(11,105,88,.12);outline-offset:1px;box-shadow:0 5px 16px rgba(11,105,88,.1)}

/* Herramientas y tarjetas modernas del catálogo de temas. */
.theme-admin-toolbar{display:grid;grid-template-columns:minmax(260px,1fr) minmax(190px,260px) auto;align-items:end;gap:12px;margin:0 0 18px;padding:14px;border:1px solid #dbe6e2;border-radius:10px;background:#f6f9f8}
.theme-admin-toolbar label{display:flex;min-width:0;flex-direction:column;gap:6px}
.theme-admin-toolbar label>span{color:#526760;font-size:8px;font-weight:900;letter-spacing:.1em;text-transform:uppercase}
.theme-admin-toolbar input,.theme-admin-toolbar select{width:100%;min-height:40px;padding:9px 12px;border:1px solid #cbdad5;border-radius:8px;background:#fff;color:#263b35;font:700 11px Inter,Segoe UI,system-ui,sans-serif}
.theme-admin-toolbar select{padding-right:34px}
.theme-admin-toolbar input:focus,.theme-admin-toolbar select:focus{border-color:#78a99a;outline:3px solid rgba(11,105,88,.08)}
.theme-admin-toolbar>p{margin:0 0 11px;color:#60726c;font-size:9px;font-weight:800;white-space:nowrap}
.primary-module-host .theme-admin-content{gap:16px}
.primary-module-host .theme-record{position:relative;isolation:isolate;overflow:hidden;min-height:190px;padding:19px 17px 15px;border:1px solid #d8e4e0;border-left:1px solid #d8e4e0;border-radius:14px;background:linear-gradient(145deg,#fff 55%,#f1f7f4);box-shadow:0 7px 20px rgba(24,64,54,.07);transition:border-color .18s ease,box-shadow .18s ease,transform .18s ease}
.primary-module-host .theme-record:hover{border-color:#9fc5ba;box-shadow:0 12px 26px rgba(24,64,54,.12);transform:translateY(-2px)}
.theme-record-accent{position:absolute;z-index:-1;top:-42px;right:-42px;width:120px;height:120px;border-radius:50%;background:radial-gradient(circle,rgba(197,145,59,.18),rgba(197,145,59,0) 70%)}
.primary-module-host .theme-record-icon{width:40px;height:40px;flex-basis:40px;border:1px solid #c7ddd6;border-radius:12px;background:linear-gradient(145deg,#0b6958,#11816d);color:#fff;font:700 17px Georgia,serif;box-shadow:0 5px 12px rgba(11,105,88,.2)}
.primary-module-host .theme-record-name h3{font-size:16px;line-height:1.25}
.primary-module-host .theme-record-usage{width:max-content;padding:5px 9px;border-radius:999px;background:#e6f1ed;color:#526b63}
.primary-module-host .theme-record-usage strong{font:800 15px Inter,Segoe UI,sans-serif}
.primary-module-host .theme-record-actions{justify-content:flex-start;padding-top:11px;border-top:1px solid #dce7e3}
.primary-module-host .theme-record-actions button{flex:0 0 auto;display:inline-flex;align-items:center;gap:5px;min-height:29px;padding:5px 9px;border-radius:7px;font-size:8px;font-weight:850}
.primary-module-host .theme-record-actions svg{width:13px;height:13px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.primary-module-host .theme-edit-button{border-color:#b9d3cb;background:#edf6f3;color:#0b6958}
.primary-module-host .theme-delete-button{border-color:transparent;background:transparent;color:#8e4a43}
.primary-module-host .theme-delete-button:hover{border-color:#e2c0bc;background:#fff2f0;color:#803a34}

@media(max-width:800px){
  .primary-module-host{padding:18px 16px;border-radius:10px}
  .primary-module-host>.review-module-dialog .review-dialog-fixed-head,
  .primary-module-host>.tree-dialog .tree-dialog-fixed-head{top:74px}
  .theme-admin-toolbar{grid-template-columns:1fr 1fr}
  .theme-admin-toolbar>p{grid-column:1/-1;margin:0;text-align:right}
}
@media(max-width:600px){
  .topbar{position:sticky}
  .primary-module-host{padding:15px 12px}
  .theme-admin-toolbar{grid-template-columns:1fr}
  .theme-admin-toolbar>p{grid-column:auto}
  .tree-node{position:relative;flex-wrap:wrap}
  .tree-inline-navigation{margin-left:auto;border-left:0}
}

/* Navegación principal simplificada. La marca funciona como acceso a Documentos. */
.brand-home-button{
  min-width:0;
  padding:0;
  border:0;
  border-radius:10px;
  background:transparent;
  color:#fff;
  text-align:left;
}
.brand-home-button:hover{border-color:transparent;background:rgba(255,255,255,.055)}
.brand-home-button:focus-visible{outline:2px solid #e0b463;outline-offset:5px}
.brand-copy{display:flex;min-width:0;flex-direction:column}
.brand-copy strong,.brand-copy small{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
/* v0.34.0-beta - marca de agua global de versión (beta asistida por IA), fija en la
   esquina inferior izquierda. Es informativa: no recibe clics y queda debajo de menús,
   "volver arriba" y diálogos. */
.version-badge{
  position:fixed;
  left:max(14px,env(safe-area-inset-left));
  bottom:calc(14px + env(safe-area-inset-bottom));
  z-index:35;
  display:flex;
  flex-direction:column;
  gap:1px;
  padding:5px 9px;
  border:1px solid rgba(104,116,125,.16);
  border-radius:8px;
  background:rgba(255,255,255,.22);
  -webkit-backdrop-filter:blur(3px);
  backdrop-filter:blur(3px);
  color:#56646c;
  font-size:11px;
  line-height:1.25;
  opacity:.68;
  pointer-events:none;
  user-select:none;
}
.version-badge-name{display:flex;align-items:center;font-weight:700;letter-spacing:.01em}
.brand-beta{display:inline-block;margin-left:5px;padding:0 4px;border:1px solid rgba(154,116,50,.4);border-radius:3px;color:#9a7432;font-size:8px;font-weight:800;letter-spacing:.12em;line-height:1.4}
.brand-version{color:#68747d;font-size:9.5px;font-variant-numeric:tabular-nums}
/* Sobre el fondo oscuro del acceso, la misma marca en tonos claros. */
body:has(#loginView:not([hidden])) .version-badge{border-color:rgba(255,255,255,.12);background:rgba(255,255,255,.05);color:#d5dee2}
body:has(#loginView:not([hidden])) .version-badge .brand-beta{border-color:rgba(224,180,99,.45);color:#e0b463}
body:has(#loginView:not([hidden])) .version-badge .brand-version{color:#aebbc1}
@media(max-width:560px){
  .version-badge{left:max(10px,env(safe-area-inset-left));bottom:calc(10px + env(safe-area-inset-bottom));padding:4px 7px;border-radius:6px;font-size:10px}
  .version-badge .brand-beta{margin-left:4px;padding:0 3px;font-size:7.5px}
  .version-badge .brand-version{font-size:8.5px}
}
@media print{.version-badge{display:none}}
.account-work-tools{display:grid;gap:8px}
.writings-menu-button{
  display:flex;
  width:100%;
  align-items:center;
  gap:10px;
  justify-content:flex-start;
  text-align:left;
}
.writings-menu-button[hidden]{display:none}
.writings-menu-button svg{width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}

/* Encabezados de página: misma jerarquía visual que Documentos. */
.primary-module-host>.review-module-dialog .review-dialog-fixed-head,
.primary-module-host>.tree-dialog .tree-dialog-fixed-head{
  position:relative!important;
  top:auto!important;
  padding:0 0 22px!important;
  background:#fff!important;
  box-shadow:none!important;
  backdrop-filter:none!important;
  border-bottom:1px solid var(--line);
}
.module-page-head{display:flex;align-items:center;justify-content:space-between;gap:22px;padding:0;border:0}
.module-page-head h2{margin:0;font:700 24px/1.2 Georgia,serif;color:var(--ink)}
.module-page-head .muted{margin:6px 0 0;font-size:14px}
.review-module-head-actions{flex:0 0 auto}
.review-module-head-actions p{margin:0;color:#596b65;font-size:10px;font-weight:850;letter-spacing:.04em;text-transform:uppercase}
.review-module-head-actions button{min-height:39px;padding:9px 14px;border-color:var(--green);background:var(--green);color:#fff;box-shadow:0 5px 13px rgba(11,105,88,.16)}
.review-module-toolbar{margin-top:18px;padding:14px;border:1px solid #dbe5e2;border-radius:11px;background:#f6f9f8}

/* Hechos relevantes: tarjetas ejecutivas, compactas y legibles. */
.primary-module-host .review-module-content{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;padding-top:20px!important}
.primary-module-host .review-fact-record{
  position:relative;
  grid-template-columns:42px minmax(0,1fr);
  grid-template-rows:auto 1fr;
  align-items:start;
  gap:10px 13px;
  min-height:218px;
  padding:18px;
  overflow:hidden;
  border:1px solid #d7e3df;
  border-left:1px solid #d7e3df;
  border-radius:14px;
  background:linear-gradient(145deg,#fff 56%,#f2f7f5);
  box-shadow:0 7px 20px rgba(24,64,54,.07);
}
.primary-module-host .review-fact-record::before{content:"";position:absolute;top:0;right:0;left:0;height:4px;background:linear-gradient(90deg,#315c7a,#0b6958 74%,#c5913b)}
.primary-module-host .review-fact-record:hover,.primary-module-host .review-fact-record:focus-visible{border-color:#99bdb3;box-shadow:0 12px 28px rgba(24,64,54,.13);transform:translateY(-2px)}
.primary-module-host .review-fact-marker{width:40px;height:40px;border-radius:12px;background:linear-gradient(145deg,#315c7a,#24485f);box-shadow:0 5px 12px rgba(49,92,122,.2)}
.primary-module-host .review-fact-main{grid-column:2;grid-row:1/3}
.primary-module-host .review-fact-main h3{margin:10px 0 7px;font-size:18px;line-height:1.28}
.primary-module-host .review-fact-main>p{font-size:11px;line-height:1.55;-webkit-line-clamp:3}
.primary-module-host .review-fact-meta{gap:7px 12px;margin-top:12px;padding-top:10px;border-top:1px solid #e0e8e5}
.primary-module-host .review-fact-actions{grid-column:1/-1;display:flex;align-self:end;justify-content:flex-end;gap:7px;padding-top:10px;border-top:1px solid #dce7e3}
.primary-module-host .review-fact-actions button{min-height:30px;padding:6px 10px;border-radius:7px;font-size:9px}
.primary-module-host .review-fact-actions button:first-child{border-color:#b9d3cb;background:#edf6f3;color:#0b6958}
.primary-module-host .review-fact-actions button:last-child{border-color:transparent;background:transparent;color:#91463e}

@media(max-width:1000px){
  .primary-module-host .review-module-content{grid-template-columns:1fr}
}
@media(max-width:700px){
  main{padding-top:22px}
  .hero{gap:18px}
  .hero>.actions{display:grid;width:100%;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}
  .hero>.actions button{min-width:0;min-height:45px;padding:8px 7px;font-size:10px;line-height:1.25;white-space:normal}
  .module-page-head,.review-module-head{align-items:stretch;flex-direction:column;gap:14px}
  .module-page-head h2{font-size:22px}
  .review-module-head-actions{display:flex;align-items:center;justify-content:space-between;gap:10px}
  .review-module-head-actions button{min-height:36px;padding:8px 11px;font-size:9px}
  .review-module-toolbar{margin-top:14px;padding:11px}
  .primary-module-host .review-fact-record{grid-template-columns:36px minmax(0,1fr);min-height:0;padding:15px 13px;gap:9px 11px}
  .primary-module-host .review-fact-marker{width:34px;height:34px;border-radius:10px;font-size:15px}
  .primary-module-host .review-fact-main h3{margin-top:8px;font-size:16px}
  .primary-module-host .review-fact-actions{justify-content:stretch}
  .primary-module-host .review-fact-actions button{flex:1}
}
@media(max-width:560px){
  .topbar{min-height:74px;height:auto;padding:10px 14px;gap:8px}
  .brand-home-button{gap:8px;flex:1 1 auto;overflow:hidden}
  .brand-copy small{display:none}
  .brand-copy strong{font-size:14px}
  .logo{width:34px;height:34px;flex:0 0 34px;font-size:22px}
  .session-area{flex:0 1 auto;gap:5px}
  .recent-menu-button{padding:7px}
  .account-button{min-width:0;padding:5px}
  .session-identity{max-width:128px}
  .last-access{display:none}
  .hero>.actions{grid-template-columns:.8fr 1.15fr 1fr}
  .primary-module-host{padding:16px 12px}
  .tree-level{margin-left:5px;padding-left:8px}
  .tree-node{width:100%;min-width:0}
  .tree-node>div{min-width:0}
  .tree-node h3,.tree-node h4,.tree-node strong{overflow-wrap:anywhere}
}

/* Actualizar sólo pertenece al catálogo de Documentos. */
.document-toolbar-controls{grid-template-columns:minmax(220px,1.4fr) 42px repeat(3,minmax(0,1fr))}
.document-toolbar-controls #search{grid-column:auto;min-height:42px}
.documents-refresh-button{
  display:grid;
  width:42px;
  height:42px;
  min-width:42px;
  place-items:center;
  padding:0;
  border:1px solid #bcd1ca;
  border-radius:9px;
  background:#edf6f3;
  color:var(--green);
}
.documents-refresh-button:hover{border-color:var(--green);background:var(--green);color:#fff}
.documents-refresh-button:disabled{cursor:wait;opacity:.55}
.documents-refresh-button svg{width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}

/* Un solo lenguaje visual para todos los accesos del menú de usuario. */
.account-work-tools{padding:10px 0;border-top:1px solid var(--line);border-bottom:0}
.admin-actions{margin:0;padding:0 0 10px;border-top:0;border-bottom:1px solid var(--line)}
.admin-tool-buttons{display:grid;align-items:stretch;gap:8px}
.account-work-tools button,
.admin-tool-buttons button{
  display:flex;
  width:100%;
  max-width:none;
  min-height:38px;
  align-items:center;
  justify-content:flex-start;
  gap:10px;
  padding:9px 11px;
  border:1px solid transparent;
  border-radius:8px;
  background:transparent;
  color:var(--green);
  font-size:11px;
  font-weight:750;
  text-align:left;
}
.account-work-tools button:hover,.account-work-tools button:focus-visible,
.admin-tool-buttons button:hover,.admin-tool-buttons button:focus-visible{
  border-color:#d4e4df;
  background:#edf6f3;
  color:#075446;
  outline:none;
}
.account-work-tools button svg,.admin-tool-buttons button svg{
  width:18px;
  height:18px;
  flex:0 0 18px;
  fill:none;
  stroke:currentColor;
  stroke-width:1.8;
  stroke-linecap:round;
  stroke-linejoin:round;
}
.admin-monitor-button svg{fill:none!important}

/* Seguimiento: la tarjeta completa es la acción, sin botones duplicados. */
.tree-node.interactive{cursor:pointer;transition:border-color .17s ease,background .17s ease,box-shadow .17s ease,transform .17s ease}
.tree-node.interactive:hover,.tree-node.interactive:focus-visible{border-color:#82afa2;background:#f4faf8;box-shadow:0 7px 18px rgba(11,105,88,.11);outline:2px solid rgba(11,105,88,.1);outline-offset:1px;transform:translateY(-1px)}
.tree-node.tree-notification.interactive:hover,.tree-node.tree-notification.interactive:focus-visible{border-color:#c5913b;background:#fffaf0;outline-color:rgba(197,145,59,.14)}

/* Acciones de la ficha, sin franja horizontal ni contenido encimado. */
.detail-review-row,
.detail-review-row.read-only{
  grid-template-columns:minmax(0,1fr) auto;
  min-height:0;
  margin:14px 28px 4px;
  padding:11px 12px;
  border:1px solid #d9e5e1;
  border-radius:11px;
  background:#f5f9f7;
}
.detail-review-row .detail-review-actions{display:flex;min-width:0;flex-wrap:wrap;gap:7px}
.detail-review-row .detail-review-actions button{display:inline-flex;min-height:32px;align-items:center;gap:4px;padding:7px 10px}
.detail-review-row .detail-review-actions .link-fact-button{border-color:#a9c9c0;background:#fff;color:#0b6958}
.detail-review-row .detail-review-actions .show-facts-button{border-color:#d4dfdc;background:#fff;color:#52655f}
.detail-review-row .detail-review-summary{align-self:center}
.detail-review-row .review-state{min-width:82px;text-align:center}

/* Escritos: mayor separación jerárquica y acciones claras. */
.primary-module-host .writings-list{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;margin-top:20px}
.primary-module-host .writing-card{
  position:relative;
  grid-template-columns:46px minmax(0,1fr);
  grid-template-rows:1fr auto;
  align-items:start;
  gap:12px 14px;
  min-height:205px;
  padding:18px;
  overflow:hidden;
  border:1px solid #d7e3df;
  border-left:1px solid #d7e3df;
  border-radius:14px;
  background:linear-gradient(145deg,#fff 58%,#f2f7f5);
  box-shadow:0 7px 20px rgba(24,64,54,.07);
}
.primary-module-host .writing-card::before{content:"";position:absolute;top:0;right:0;left:0;height:4px;background:linear-gradient(90deg,#315c7a,#0b6958)}
.primary-module-host .writing-card:hover{border-color:#9fc1b7;box-shadow:0 11px 26px rgba(24,64,54,.12);transform:translateY(-2px)}
.primary-module-host .writing-word-badge{width:44px;height:48px;border-radius:11px;background:linear-gradient(145deg,#315c7a,#24485f);box-shadow:0 5px 12px rgba(49,92,122,.2)}
.primary-module-host .writing-word-badge svg{width:23px;height:23px;fill:none;stroke:#fff;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}
.primary-module-host .writing-card-heading{flex-wrap:wrap;gap:6px}
.primary-module-host .writing-card h3{margin:8px 0 6px;font-size:18px;line-height:1.28;white-space:normal}
.primary-module-host .writing-filename{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.primary-module-host .writing-relation{margin-top:10px;padding-top:9px;border-top:1px solid #dfe8e5;line-height:1.5}
.primary-module-host .writing-author{margin-top:6px}
.primary-module-host .writing-card-actions{grid-column:1/-1;display:flex;justify-content:flex-end;gap:7px;padding-top:11px;border-top:1px solid #dce7e3}
.primary-module-host .writing-card-actions button{min-height:31px;padding:6px 11px;border-radius:7px;font-size:9px}
.primary-module-host .writing-card-actions button:first-child{border-color:#315c7a;background:#315c7a;color:#fff}

/* Usuarios: tarjetas por perfil y iconografía funcional. */
.primary-module-host .user-admin-content{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}
.primary-module-host .user-record{
  position:relative;
  grid-template-columns:minmax(0,1fr) auto;
  align-items:start;
  gap:14px;
  min-height:235px;
  padding:18px;
  overflow:hidden;
  border:1px solid #d8e4e0;
  border-left:1px solid #d8e4e0;
  border-radius:14px;
  background:linear-gradient(145deg,#fff 60%,#f3f8f6);
  box-shadow:0 7px 20px rgba(24,64,54,.07);
}
.primary-module-host .user-record::before{content:"";position:absolute;top:0;right:0;left:0;height:4px;background:#315c7a}
.primary-module-host .user-record.profile-administrator::before{background:linear-gradient(90deg,#b7832f,#e0b463)}
.primary-module-host .user-record.profile-administrator{background:linear-gradient(145deg,#fff 60%,#fff8eb)}
.primary-module-host .user-record.profile-consultant::before{background:linear-gradient(90deg,#315c7a,#0b6958)}
.primary-module-host .user-record.inactive::before{background:#9ca7a3}
.primary-module-host .user-record-identity{grid-column:1/-1}
.primary-module-host .user-record-avatar{width:44px;height:44px;flex-basis:44px;border-radius:12px;background:linear-gradient(145deg,#315c7a,#24485f);color:#fff}
.primary-module-host .profile-administrator .user-record-avatar{background:linear-gradient(145deg,#c5913b,#9c6920)}
.primary-module-host .user-record-avatar svg{width:23px;height:23px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.primary-module-host .user-record-heading h3{font-size:17px}
.primary-module-host .user-record-details{grid-column:1/-1;padding:11px;border:1px solid #e0e8e5;border-radius:9px;background:rgba(255,255,255,.72)}
.primary-module-host .user-record-details strong{font-size:10px}
.primary-module-host .user-record-access{grid-column:1/-1}
.primary-module-host .user-record-actions{grid-column:1/-1;align-self:end;padding-top:10px;border-top:1px solid #dce7e3}
.primary-module-host .user-record-actions button{display:inline-flex;align-items:center;gap:5px;min-height:30px;padding:6px 10px;border-radius:7px}

/* En móvil, Eliminar temas siempre permanece visible y reconocible. */
@media(max-width:1000px){
  .primary-module-host .writings-list,.primary-module-host .user-admin-content{grid-template-columns:1fr}
}
@media(max-width:900px){
  .document-toolbar-controls{grid-template-columns:minmax(0,1fr) 42px repeat(2,minmax(0,1fr))}
  .document-order-filter{grid-column:auto}
}
@media(max-width:650px){
  .hero>.actions{grid-template-columns:repeat(2,minmax(0,1fr))}
  .document-toolbar-controls{grid-template-columns:minmax(0,1fr) 42px}
  .document-toolbar-controls #search{grid-column:1}
  .documents-refresh-button{grid-column:2;grid-row:1}
  .document-display-filter,.document-theme-filter,.document-order-filter{grid-column:1/-1}
  .detail-review-row,.detail-review-row.read-only{grid-template-columns:1fr;margin:12px 14px 4px;padding:10px}
  .detail-review-row .detail-review-summary{justify-content:flex-start}
  .detail-review-row .detail-review-actions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));width:100%}
  .detail-review-row .detail-review-actions button{justify-content:center;width:100%;white-space:normal;text-align:center}
  .primary-module-host .writing-card,.primary-module-host .user-record{min-height:0;padding:15px 13px}
  .primary-module-host .theme-record-actions{display:grid!important;grid-template-columns:1fr 1fr!important;width:100%;gap:7px}
  .primary-module-host .theme-record-actions button{display:inline-flex!important;width:100%!important;min-width:0!important;align-items:center;justify-content:center;visibility:visible!important;opacity:1!important}
  .primary-module-host .theme-delete-button{border:1px solid #e1beba!important;background:#fff4f2!important;color:#8e4039!important}
  .primary-module-host .theme-delete-button span{display:inline!important}
}

/* La revisión del documento usa vínculos secundarios, no botones protagonistas. */
.detail-review-row,
.detail-review-row.read-only{
  display:flex;
  min-height:48px;
  align-items:center;
  justify-content:space-between;
  gap:14px;
  margin:0;
  padding:11px 28px;
  border:0;
  border-top:1px solid #e1e8e5;
  border-bottom:1px solid #e1e8e5;
  border-radius:0;
  background:#fff;
}
.detail-review-row .detail-review-actions{
  display:flex;
  min-width:0;
  align-items:center;
  flex-wrap:wrap;
  gap:4px 18px;
}
.detail-review-row .detail-review-actions button,
.detail-review-row .detail-review-actions .new-fact-button,
.detail-review-row .detail-review-actions .link-fact-button,
.detail-review-row .detail-review-actions .show-facts-button{
  width:auto;
  min-height:0;
  padding:3px 0;
  border:0;
  border-radius:0;
  background:transparent;
  box-shadow:none;
  color:var(--green);
  font-size:9px;
  font-weight:800;
  white-space:nowrap;
}
.detail-review-row .detail-review-actions button:hover:not(:disabled),
.detail-review-row .detail-review-actions button:focus-visible{
  border:0;
  background:transparent;
  color:#064d41;
  text-decoration:underline;
  outline:none;
}
.detail-review-row .detail-review-actions button:disabled{
  border:0;
  background:transparent;
  color:#9aa5a1;
  opacity:1;
  cursor:default;
  text-decoration:none;
}
.detail-review-row .detail-review-summary{display:flex;flex:0 0 auto;align-items:center;justify-content:flex-end}
.detail-review-row .review-state{min-width:0}

@media(max-width:650px){
  .detail-review-row,.detail-review-row.read-only{
    display:grid;
    grid-template-columns:minmax(0,1fr) auto;
    gap:9px 12px;
    margin:0;
    padding:12px 16px;
  }
  .detail-review-row .detail-review-actions{
    display:flex;
    grid-column:1;
    width:auto;
    align-items:center;
    flex-wrap:wrap;
    gap:7px 16px;
  }
  .detail-review-row .detail-review-actions button,
  .detail-review-row .detail-review-actions .new-fact-button,
  .detail-review-row .detail-review-actions .link-fact-button,
  .detail-review-row .detail-review-actions .show-facts-button{
    width:auto;
    justify-content:flex-start;
    padding:3px 0;
    text-align:left;
  }
  .detail-review-row .detail-review-summary{grid-column:2;grid-row:1;align-self:center;justify-content:flex-end}
}
@media(max-width:420px){
  .detail-review-row,.detail-review-row.read-only{grid-template-columns:1fr}
  .detail-review-row .detail-review-actions{grid-column:1;grid-row:1}
  .detail-review-row .detail-review-summary{grid-column:1;grid-row:2;justify-content:flex-start}
}

/* El detalle es la única superficie desplazable mientras está abierto. */
body.detail-background-locked{
  position:fixed;
  right:0;
  left:0;
  width:100%;
  overflow:hidden;
  overscroll-behavior:none;
}
body.detail-background-locked #detailDialog{
  touch-action:pan-y;
  overscroll-behavior:contain;
}

/* En el listado la revisión ocupa el espacio liberado por Vincular. */
.documents .doc-side-footer{width:100%;justify-content:flex-end}
.documents .doc-side-footer .review-list-state{margin-left:auto}

/* Documentos: la tarjeta abre la ficha; PDF y favorito conservan su propia acción. */
.documents .doc.interactive{
  cursor:pointer;
  transition:border-color .17s ease,background .17s ease,box-shadow .17s ease,transform .17s ease;
}
.documents .doc.interactive:hover,
.documents .doc.interactive:focus-visible{
  border-color:#82afa2;
  background:#f8fbfa;
  box-shadow:0 8px 22px rgba(11,105,88,.1);
  outline:2px solid rgba(11,105,88,.09);
  outline-offset:1px;
  transform:translateY(-1px);
}
.documents .doc-key-number{display:flex;min-width:0;align-items:center;gap:7px}
.documents .doc-key-number .document-favorite-button{
  width:25px;
  min-width:25px;
  height:25px;
  min-height:25px;
  padding:3px;
}
.documents .doc-key-number strong{min-width:0}
.documents .doc-title-row,.documents .doc-title-row h4{width:100%}

@media(max-width:700px){
  .documents .doc-main{grid-template-columns:minmax(0,1fr) 62px}
  .documents .doc-actions-mobile,
  .documents .doc-actions-mobile button{width:62px}
}

/* Listado documental v0.33.27: número íntegro, PDF contextual y estado flotante. */
.documents .doc{
  position:relative;
  grid-template-columns:clamp(185px,16vw,220px) minmax(0,1fr);
  padding-top:22px;
}
.documents .doc-key{align-self:stretch;justify-content:center}
.documents .doc-key-number{flex-wrap:nowrap}
.documents .doc-key-number strong{
  overflow:visible;
  overflow-wrap:normal;
  white-space:nowrap;
}
.documents .doc-key-pdf{
  display:inline-flex;
  width:max-content;
  min-height:0;
  align-items:center;
  gap:5px;
  margin:2px 0 0 32px;
  padding:2px 0;
  border:0;
  border-radius:0;
  background:transparent;
  box-shadow:none;
  color:#8a6427;
  font-size:9px;
  font-weight:800;
  letter-spacing:.035em;
  text-transform:uppercase;
}
.documents .doc-key-pdf svg{width:13px;height:13px;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}
.documents .doc-key-pdf:hover,.documents .doc-key-pdf:focus-visible{border:0;background:transparent;color:#684713;text-decoration:underline;outline:none}
.documents .doc-main{padding-top:5px}
.documents .doc-meta{display:flex;align-items:center;justify-content:space-between;gap:10px;flex-wrap:wrap}
.documents .doc-meta-primary,.documents .doc-meta-secondary{display:flex;align-items:center;gap:9px;flex-wrap:wrap;min-width:0}
.documents .doc-meta-primary>span:not(:last-child):not(.badge)::after{content:' ·';margin-left:9px}
.documents .doc-meta-secondary{margin-left:auto;justify-content:flex-end}
.documents .doc-meta .facts-list-state.has-facts{margin-left:0}
.documents .doc-review-float{
  position:absolute;
  z-index:2;
  top:7px;
  right:11px;
  min-height:17px;
  padding:2px 6px;
  font-size:7px;
  letter-spacing:.045em;
  pointer-events:none;
}

@media(max-width:700px){
  .documents .doc{grid-template-columns:1fr;padding:24px 13px 12px}
  .documents .doc-key{min-height:0;padding:0 0 10px}
  .documents .doc-main{display:flex;padding-top:0}
  .documents .doc-title-row h4{-webkit-line-clamp:unset}
  .documents .doc-key-pdf{margin-left:32px}
  .documents .doc-meta-primary,.documents .doc-meta-secondary{width:100%}
  .documents .doc-meta-secondary{margin-left:0;justify-content:flex-start}
  .documents .doc-meta .facts-list-state.has-facts{
    position:static;
    max-width:none;
    margin-left:0;
    overflow:visible;
    white-space:normal;
  }
  .documents .doc-review-float{top:7px;right:10px}
}

/* Acciones separadas: favorito/PDF a la izquierda y detalle sólo en el contenido. */
.documents .doc{cursor:default}
.documents .doc-main.interactive{
  min-height:100%;
  padding-right:4px;
  border-radius:8px;
  cursor:pointer;
  transition:background .17s ease,box-shadow .17s ease;
}
.documents .doc-main.interactive:hover,
.documents .doc-main.interactive:focus-visible{
  background:rgba(11,105,88,.045);
  box-shadow:0 0 0px 7px rgba(11,105,88,.045);
  outline:2px solid rgba(11,105,88,.13);
  outline-offset:5px;
}
.documents .doc-key-number{
  display:grid;
  grid-template-columns:25px max-content;
  align-items:center;
  gap:7px;
  width:max-content;
  max-width:none;
}
.documents .doc-key-number strong{display:block;width:max-content;max-width:none;white-space:nowrap}

@media(max-width:700px){
  .documents .doc-main.interactive{padding:5px 2px}
}

/* Hover v0.33.29: sin recuadros internos; se enfatiza la tarjeta completa. */
.documents .doc-main.interactive{
  border-radius:0;
  background:transparent;
  box-shadow:none;
  outline:0;
}
.documents .doc-main.interactive:hover,
.documents .doc-main.interactive:focus-visible{
  background:transparent;
  box-shadow:none;
  outline:0;
}
.documents .doc:has(.doc-main.interactive:hover),
.documents .doc:has(.doc-main.interactive:focus-visible){
  border-color:#78a99c;
  box-shadow:0 7px 20px rgba(11,105,88,.1),0 0 0 2px rgba(11,105,88,.1);
}
.documents .doc-key-pdf{
  gap:3px;
  margin-left:48px;
  padding:1px 0;
  color:#7b8884;
  font-size:7px;
  letter-spacing:.025em;
}
.documents .doc-key-pdf svg{width:11px;height:11px;stroke-width:1.6}
.documents .doc-key-pdf:hover,
.documents .doc-key-pdf:focus-visible{
  background:transparent;
  box-shadow:none;
  color:#53645f;
  outline:0;
  text-decoration:none;
}

@media(max-width:700px){
  .documents .doc-key-pdf{margin-left:48px}
}

/* Identidad documental v0.33.30: borde e icono sobrios según el tipo. */
.documents .doc-type-label{display:inline-flex;align-items:center;gap:6px;color:var(--doc-type-color,#60716c)}
.documents .doc-type-icon{
  width:14px;
  height:14px;
  flex:0 0 14px;
  fill:none;
  stroke:currentColor;
  stroke-width:1.7;
  stroke-linecap:round;
  stroke-linejoin:round;
}
.documents .doc.doc-type-agreement{--doc-type-color:#315c7a;border-left-color:#315c7a}
.documents .doc.doc-type-promotion{--doc-type-color:#0b6958;border-left-color:#0b6958}
.documents .doc.doc-type-official{--doc-type-color:#aa7625;border-left-color:#c5913b}
.documents .doc.doc-type-hearing{--doc-type-color:#67598d;border-left-color:#75659c}
.documents .doc.doc-type-notification{--doc-type-color:#a85f28;border-left-color:#c87835}
.documents .doc.doc-type-proceeding{--doc-type-color:#4f7182;border-left-color:#65889a}
.documents .doc.doc-type-certificate{--doc-type-color:#237d78;border-left-color:#31938c}
.documents .doc.doc-type-expert{--doc-type-color:#7b5b88;border-left-color:#9570a3}
.documents .doc.doc-type-generic{--doc-type-color:#68747d;border-left-color:#929da2}
.documents .doc.new{background:#fffdf7}

/* El número sustituye al vínculo separado de PDF. */
.documents .doc-number-pdf{
  display:block;
  width:max-content;
  min-width:0;
  min-height:0;
  max-width:none;
  margin:0;
  padding:0;
  overflow:visible;
  border:0;
  border-radius:0;
  background:transparent;
  box-shadow:none;
  color:inherit;
  font:700 19px Georgia,serif;
  line-height:1.2;
  white-space:nowrap;
}
.documents .doc-number-pdf:hover,
.documents .doc-number-pdf:focus-visible{
  border:0;
  background:transparent;
  box-shadow:none;
  color:var(--doc-type-color,var(--green));
  outline:0;
  text-decoration:underline;
  text-decoration-thickness:1px;
  text-underline-offset:3px;
}

/* Temas v0.33.32: menor peso visual e iconografía contextual. */
.documents .doc-meta .theme-label{
  --theme-accent:#60716c;
  display:inline-flex;
  min-height:21px;
  max-width:min(100%,360px);
  align-items:center;
  gap:5px;
  padding:3px 7px;
  overflow:hidden;
  border:1px solid #d8e1de;
  border-radius:999px;
  background:#f3f6f5;
  box-shadow:none;
  color:#596a65;
  font-size:7px;
  font-weight:750;
  letter-spacing:.035em;
  line-height:1.2;
}
.documents .doc-meta .theme-label::before{content:none}
.documents .theme-label>span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.documents .theme-label-icon{
  width:12px;
  height:12px;
  flex:0 0 12px;
  fill:none;
  stroke:var(--theme-accent);
  stroke-width:1.65;
  stroke-linecap:round;
  stroke-linejoin:round;
}
.documents .theme-psychology{--theme-accent:#71658c}
.documents .theme-education{--theme-accent:#4e6f87}
.documents .theme-family{--theme-accent:#43776b}
.documents .theme-health{--theme-accent:#8b5c58}
.documents .theme-finance{--theme-accent:#8a6b32}
.documents .theme-protection{--theme-accent:#865754}
.documents .theme-social{--theme-accent:#5f7667}
.documents .theme-evidence{--theme-accent:#576f86}
.documents .theme-generic{--theme-accent:#71807c}

@media(max-width:700px){
  .documents .doc-meta .theme-label{max-width:100%}
}

/* Etiquetas v0.33.33: un poco más de color, conservando jerarquía y distinción. */
.documents .doc-meta .theme-label{
  border-color:var(--theme-border,#cdded8);
  background:var(--theme-bg,#edf4f1);
  color:var(--theme-text,#425e56);
}
.documents .theme-psychology{--theme-accent:#695483;--theme-border:#d8cee4;--theme-bg:#f2edf7;--theme-text:#5e4e72}
.documents .theme-education{--theme-accent:#416985;--theme-border:#c9dae6;--theme-bg:#edf4f8;--theme-text:#3e6076}
.documents .theme-family{--theme-accent:#2f7565;--theme-border:#c3ddd5;--theme-bg:#eaf4f0;--theme-text:#32685c}
.documents .theme-health{--theme-accent:#925652;--theme-border:#e2cdca;--theme-bg:#f8eeee;--theme-text:#7d504c}
.documents .theme-finance{--theme-accent:#8b681f;--theme-border:#e4d7b8;--theme-bg:#f8f3e6;--theme-text:#765d2a}
.documents .theme-protection{--theme-accent:#8c4f4b;--theme-border:#e2c8c5;--theme-bg:#f8eceb;--theme-text:#754946}
.documents .theme-social{--theme-accent:#4e7662;--theme-border:#cbded2;--theme-bg:#edf5f0;--theme-text:#466856}
.documents .theme-evidence{--theme-accent:#496b89;--theme-border:#cad8e4;--theme-bg:#edf3f8;--theme-text:#46637b}
.documents .theme-generic{--theme-accent:#627873;--theme-border:#d0ddda;--theme-bg:#f0f5f3;--theme-text:#536963}

.documents .badge.party,
.documents .badge.new{
  display:inline-flex;
  min-height:21px;
  align-items:center;
  gap:4px;
  padding:3px 7px;
  border:1px solid transparent;
  border-radius:999px;
  box-shadow:none;
  font-size:7px;
  font-weight:800;
  letter-spacing:.035em;
}
.documents .party-badge-icon{
  width:11px;
  height:11px;
  flex:0 0 11px;
  fill:none;
  stroke:currentColor;
  stroke-width:1.65;
  stroke-linecap:round;
  stroke-linejoin:round;
}
.documents .badge.party.court{border-color:#c9d9d2;background:#edf4f1;color:#45675d}
.documents .badge.party.actora{border-color:#c8dae8;background:#edf5fa;color:#3d6684}
.documents .badge.party.demandado{border-color:#dccfe8;background:#f4eef8;color:#6a527e}
.documents .badge.party.third-party{border-color:#d5d9c6;background:#f4f5eb;color:#63684c}
.documents .badge.party.otra{border-color:#d4dcda;background:#f1f4f3;color:#5e6c68}
.documents .badge.new{border-color:#ead7a9;background:#fbf1d8;color:#88631e}
.documents .badge.new::before{content:'✦';font-size:8px;line-height:1;color:#b98324}

/* Número PDF v0.33.34: sin prefijo automático ni apariencia de hipervínculo. */
.documents .doc-number-pdf::before{content:none}
.documents .doc-number-pdf,
.documents .doc-number-pdf:hover,
.documents .doc-number-pdf:focus-visible{
  transform:none;
  text-decoration:none;
}
.documents .doc-number-pdf:hover,
.documents .doc-number-pdf:focus-visible{color:var(--doc-type-color,var(--green))}

/* Iconografía consistente v0.33.35: escala segura en listas, seguimiento y detalle. */
.badge.party{
  display:inline-flex;
  min-height:20px;
  max-width:100%;
  align-items:center;
  gap:4px;
  padding:3px 7px;
  border:1px solid transparent;
  border-radius:999px;
  font-size:7px;
  font-weight:800;
  line-height:1.15;
  letter-spacing:.035em;
  white-space:nowrap;
}
.party-badge-icon{
  display:block!important;
  width:11px!important;
  height:11px!important;
  min-width:11px!important;
  max-width:11px!important;
  min-height:11px!important;
  max-height:11px!important;
  flex:0 0 11px!important;
  fill:none!important;
  stroke:currentColor!important;
  stroke-width:1.65!important;
  stroke-linecap:round;
  stroke-linejoin:round;
}
.badge.party.court{border-color:#c9d9d2;background:#edf4f1;color:#45675d}
.badge.party.actora{border-color:#c8dae8;background:#edf5fa;color:#3d6684}
.badge.party.demandado{border-color:#dccfe8;background:#f4eef8;color:#6a527e}
.badge.party.third-party{border-color:#d5d9c6;background:#f4f5eb;color:#63684c}
.badge.party.otra{border-color:#d4dcda;background:#f1f4f3;color:#5e6c68}

/* Navegación documental más sobria e iconos del tamaño del texto. */
.workspace>aside{background:#fbfcfa}
.workspace>aside h3.aside-heading{
  gap:7px;
  padding:7px 8px;
  border:1px solid #e3eae7;
  background:#f4f7f5;
  color:#4b635c;
  font-size:10px;
  letter-spacing:.09em;
}
.workspace>aside .aside-heading svg{width:14px;height:14px;flex-basis:14px;stroke:#53766c;stroke-width:1.7}
.workspace>aside .nav{color:#405650;font-size:10px}
.workspace>aside .nav.active{background:#eaf2ef;color:#0b6958;box-shadow:inset 2px 0 #0b6958}
.type-filter{gap:6px;padding:8px}
.type-filter .doc-type-icon{
  display:block;
  width:13px!important;
  height:13px!important;
  min-width:13px;
  flex:0 0 13px;
  fill:none;
  stroke:var(--doc-type-color,#63736e);
  stroke-width:1.7;
  stroke-linecap:round;
  stroke-linejoin:round;
}
.type-filter-label{min-width:0;line-height:1.25}
.type-filter.doc-type-agreement{--doc-type-color:#315c7a}
.type-filter.doc-type-promotion{--doc-type-color:#0b6958}
.type-filter.doc-type-official{--doc-type-color:#aa7625}
.type-filter.doc-type-hearing{--doc-type-color:#67598d}
.type-filter.doc-type-notification{--doc-type-color:#a85f28}
.type-filter.doc-type-proceeding{--doc-type-color:#4f7182}
.type-filter.doc-type-certificate{--doc-type-color:#237d78}
.type-filter.doc-type-expert{--doc-type-color:#7b5b88}

/* Temas: identidad automática reutilizada en el catálogo administrativo. */
.theme-record{--theme-accent:#627873;--theme-border:#d0ddda;--theme-bg:#f0f5f3;--theme-text:#536963}
.theme-record.theme-psychology,.theme-form-preview.theme-psychology,.theme-record-preview.theme-psychology{--theme-accent:#695483;--theme-border:#d8cee4;--theme-bg:#f2edf7;--theme-text:#5e4e72}
.theme-record.theme-education,.theme-form-preview.theme-education,.theme-record-preview.theme-education{--theme-accent:#416985;--theme-border:#c9dae6;--theme-bg:#edf4f8;--theme-text:#3e6076}
.theme-record.theme-family,.theme-form-preview.theme-family,.theme-record-preview.theme-family{--theme-accent:#2f7565;--theme-border:#c3ddd5;--theme-bg:#eaf4f0;--theme-text:#32685c}
.theme-record.theme-health,.theme-form-preview.theme-health,.theme-record-preview.theme-health{--theme-accent:#925652;--theme-border:#e2cdca;--theme-bg:#f8eeee;--theme-text:#7d504c}
.theme-record.theme-finance,.theme-form-preview.theme-finance,.theme-record-preview.theme-finance{--theme-accent:#8b681f;--theme-border:#e4d7b8;--theme-bg:#f8f3e6;--theme-text:#765d2a}
.theme-record.theme-protection,.theme-form-preview.theme-protection,.theme-record-preview.theme-protection{--theme-accent:#8c4f4b;--theme-border:#e2c8c5;--theme-bg:#f8eceb;--theme-text:#754946}
.theme-record.theme-social,.theme-form-preview.theme-social,.theme-record-preview.theme-social{--theme-accent:#4e7662;--theme-border:#cbded2;--theme-bg:#edf5f0;--theme-text:#466856}
.theme-record.theme-evidence,.theme-form-preview.theme-evidence,.theme-record-preview.theme-evidence{--theme-accent:#496b89;--theme-border:#cad8e4;--theme-bg:#edf3f8;--theme-text:#46637b}
.theme-record.theme-generic,.theme-form-preview.theme-generic,.theme-record-preview.theme-generic{--theme-accent:#627873;--theme-border:#d0ddda;--theme-bg:#f0f5f3;--theme-text:#536963}
.primary-module-host .theme-record{border-top-color:var(--theme-border);background:linear-gradient(145deg,#fff 55%,var(--theme-bg))}
.primary-module-host .theme-record-icon{
  border-color:var(--theme-border);
  background:var(--theme-bg);
  color:var(--theme-accent);
  box-shadow:none;
}
.theme-record-icon .theme-label-icon{display:block;width:19px;height:19px;fill:none;stroke:currentColor;stroke-width:1.65;stroke-linecap:round;stroke-linejoin:round}
.theme-record-preview,.theme-form-preview{
  display:inline-flex;
  width:max-content;
  max-width:100%;
  align-items:center;
  gap:5px;
  margin-top:8px;
  padding:4px 8px;
  border:1px solid var(--theme-border);
  border-radius:999px;
  background:var(--theme-bg);
  color:var(--theme-text);
  font-size:8px;
  font-weight:800;
  line-height:1.2;
}
.theme-record-preview .theme-label-icon,.theme-form-preview .theme-label-icon{width:12px;height:12px;flex:0 0 12px;fill:none;stroke:var(--theme-accent);stroke-width:1.65;stroke-linecap:round;stroke-linejoin:round}
.theme-record-preview>span,.theme-form-preview>span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.theme-form-preview{margin:0;padding:7px 10px;border-radius:9px}
.theme-form-preview small{margin-left:auto;color:#75827e;font-size:7px;font-weight:700}

@media(max-width:700px){
  .party-badge-icon{width:10px!important;height:10px!important;min-width:10px!important;max-width:10px!important;min-height:10px!important;max-height:10px!important;flex-basis:10px!important}
  .badge.party{gap:3px;padding:3px 6px;font-size:7px}
  .theme-record-icon .theme-label-icon{width:17px;height:17px}
  .theme-form-preview{align-items:flex-start;flex-wrap:wrap}
  .theme-form-preview small{width:100%;margin-left:17px}
}

/* Homologación visual v0.33.36: Revisión, Seguimiento y accesos principales. */
.hero>.actions{align-self:stretch;align-items:center}
.module-access-button{
  display:inline-flex;
  min-height:38px;
  align-items:center;
  justify-content:center;
  gap:7px;
  padding:8px 12px;
  border:1px solid #cfdbd7;
  border-radius:8px;
  background:#f8faf9;
  color:#36574e;
  box-shadow:none;
  font:700 10px/1.2 Inter,Segoe UI,system-ui,sans-serif;
  white-space:nowrap;
}
.module-access-button svg{display:block;width:13px;height:13px;flex:0 0 13px;fill:none;stroke:currentColor;stroke-width:1.75;stroke-linecap:round;stroke-linejoin:round}
.module-access-button:hover,.module-access-button:focus-visible{border-color:#91b4aa;background:#edf5f2;color:#0b6958;outline:none}

.tree-node,.review-fact-record{--doc-type-color:#68747d}
.tree-node.doc-type-agreement,.review-fact-record.doc-type-agreement{--doc-type-color:#315c7a}
.tree-node.doc-type-promotion,.review-fact-record.doc-type-promotion{--doc-type-color:#0b6958}
.tree-node.doc-type-official,.review-fact-record.doc-type-official{--doc-type-color:#aa7625}
.tree-node.doc-type-hearing,.review-fact-record.doc-type-hearing{--doc-type-color:#67598d}
.tree-node.doc-type-notification,.review-fact-record.doc-type-notification{--doc-type-color:#a85f28}
.tree-node.doc-type-proceeding,.review-fact-record.doc-type-proceeding{--doc-type-color:#4f7182}
.tree-node.doc-type-certificate,.review-fact-record.doc-type-certificate{--doc-type-color:#237d78}
.tree-node.doc-type-expert,.review-fact-record.doc-type-expert{--doc-type-color:#7b5b88}
.tree-node:not(.tree-case-root){border-left-color:var(--doc-type-color)}
.tree-key .doc-type-label,.review-origin-type{
  display:inline-flex;
  width:max-content;
  max-width:100%;
  align-items:center;
  gap:5px;
  color:var(--doc-type-color);
}
.tree-key .doc-type-icon,.review-origin-type .doc-type-icon{
  display:block!important;
  width:12px!important;
  height:12px!important;
  min-width:12px;
  flex:0 0 12px;
  fill:none;
  stroke:currentColor;
  stroke-width:1.7;
  stroke-linecap:round;
  stroke-linejoin:round;
}
.review-origin-type{min-height:20px;padding:3px 7px;border:1px solid color-mix(in srgb,var(--doc-type-color) 28%,#fff);border-radius:999px;background:color-mix(in srgb,var(--doc-type-color) 8%,#fff);font-size:7px;font-weight:800;letter-spacing:.035em;text-transform:uppercase}

.tree-node .theme-label,.review-fact-record .theme-label{
  --theme-accent:#627873;--theme-border:#d0ddda;--theme-bg:#f0f5f3;--theme-text:#536963;
  display:inline-flex;
  min-height:20px;
  max-width:260px;
  align-items:center;
  gap:4px;
  padding:3px 7px;
  overflow:hidden;
  border:1px solid var(--theme-border);
  border-radius:999px;
  background:var(--theme-bg);
  color:var(--theme-text);
  font-size:7px;
  font-weight:800;
  letter-spacing:.035em;
  line-height:1.15;
  text-transform:uppercase;
}
.tree-node .theme-label::before,.review-fact-record .theme-label::before{content:none}
.tree-node .theme-label>span,.review-fact-record .theme-label>span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.tree-node .theme-label-icon,.review-fact-record .theme-label-icon{display:block!important;width:11px!important;height:11px!important;min-width:11px;flex:0 0 11px;fill:none;stroke:var(--theme-accent);stroke-width:1.65;stroke-linecap:round;stroke-linejoin:round}
.tree-node .theme-psychology,.review-fact-record .theme-psychology{--theme-accent:#695483;--theme-border:#d8cee4;--theme-bg:#f2edf7;--theme-text:#5e4e72}
.tree-node .theme-education,.review-fact-record .theme-education{--theme-accent:#416985;--theme-border:#c9dae6;--theme-bg:#edf4f8;--theme-text:#3e6076}
.tree-node .theme-family,.review-fact-record .theme-family{--theme-accent:#2f7565;--theme-border:#c3ddd5;--theme-bg:#eaf4f0;--theme-text:#32685c}
.tree-node .theme-health,.review-fact-record .theme-health{--theme-accent:#925652;--theme-border:#e2cdca;--theme-bg:#f8eeee;--theme-text:#7d504c}
.tree-node .theme-finance,.review-fact-record .theme-finance{--theme-accent:#8b681f;--theme-border:#e4d7b8;--theme-bg:#f8f3e6;--theme-text:#765d2a}
.tree-node .theme-protection,.review-fact-record .theme-protection{--theme-accent:#8c4f4b;--theme-border:#e2c8c5;--theme-bg:#f8eceb;--theme-text:#754946}
.tree-node .theme-social,.review-fact-record .theme-social{--theme-accent:#4e7662;--theme-border:#cbded2;--theme-bg:#edf5f0;--theme-text:#466856}
.tree-node .theme-evidence,.review-fact-record .theme-evidence{--theme-accent:#496b89;--theme-border:#cad8e4;--theme-bg:#edf3f8;--theme-text:#46637b}

/* Menús: misma tipografía, iconografía pequeña y una sola capa visual. */
.custom-select-options,.document-theme-filter-menu{font-family:Inter,Segoe UI,system-ui,sans-serif}
.custom-select-options{z-index:20000;background:#fff;isolation:isolate}
.custom-select-option-main{display:flex;min-width:0;flex:1 1 auto;align-items:center;gap:7px;overflow:hidden}
.custom-select-option-main>span:last-child{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.custom-select-option-icon,.custom-select-option-main .theme-label-icon{
  display:block;
  width:13px!important;
  height:13px!important;
  min-width:13px;
  flex:0 0 13px;
  fill:none;
  stroke:currentColor;
  stroke-width:1.7;
  stroke-linecap:round;
  stroke-linejoin:round;
}
.document-theme-filter-name{display:flex;min-width:0;align-items:center;gap:7px}
.document-theme-filter-name>span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.document-theme-filter-name .theme-label-icon{display:block;width:13px;height:13px;min-width:13px;flex:0 0 13px;fill:none;stroke:#55736a;stroke-width:1.65;stroke-linecap:round;stroke-linejoin:round}

@media(max-width:700px){
  .hero>.actions{display:grid!important;grid-template-columns:1fr 1fr!important;align-self:auto}
  .module-access-button{width:100%;min-height:40px;padding:8px 9px;white-space:normal}
  .module-access-button svg{width:12px;height:12px;flex-basis:12px}
  .tree-node .theme-label{max-width:100%}
}

/* Etiquetas de hechos v0.33.37: categoría, estado y tema homologados. */
.fact-tag{
  display:inline-flex!important;
  min-height:20px;
  max-width:100%;
  align-items:center;
  gap:4px;
  padding:3px 7px!important;
  overflow:hidden;
  border:1px solid var(--fact-tag-border,#d3ddda);
  border-radius:999px!important;
  background:var(--fact-tag-bg,#f1f5f3)!important;
  color:var(--fact-tag-text,#526963)!important;
  box-shadow:none;
  font-size:7px!important;
  font-weight:800!important;
  line-height:1.15;
  letter-spacing:.035em!important;
  text-transform:uppercase;
  white-space:nowrap;
}
.fact-tag>span{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.fact-tag-icon{
  display:block!important;
  width:11px!important;
  height:11px!important;
  min-width:11px!important;
  max-width:11px!important;
  min-height:11px!important;
  max-height:11px!important;
  flex:0 0 11px!important;
  fill:none!important;
  stroke:currentColor!important;
  stroke-width:1.65!important;
  stroke-linecap:round;
  stroke-linejoin:round;
}
.fact-type.category-evidence{--fact-tag-border:#c8d9e6;--fact-tag-bg:#edf4f9;--fact-tag-text:#41657f}
.fact-type.category-breach{--fact-tag-border:#e3c8c4;--fact-tag-bg:#f9eeec;--fact-tag-text:#844e48}
.fact-type.category-warning{--fact-tag-border:#e6d5ae;--fact-tag-bg:#faf3e2;--fact-tag-text:#7c6128}
.fact-type.category-ruling{--fact-tag-border:#c5ddd5;--fact-tag-bg:#eaf4f0;--fact-tag-text:#31695c}
.fact-type.category-contradiction{--fact-tag-border:#d9cde4;--fact-tag-bg:#f3eef7;--fact-tag-text:#68527a}
.fact-type.category-general{--fact-tag-border:#d1dcdf;--fact-tag-bg:#f0f4f5;--fact-tag-text:#566b72}
.fact-analysis-state.en-construccion{--fact-tag-border:#d4dde1;--fact-tag-bg:#f0f3f5;--fact-tag-text:#5d6d74}
.fact-analysis-state.pendiente-analisis{--fact-tag-border:#ead7a9;--fact-tag-bg:#fbf2dc;--fact-tag-text:#856220}
.fact-analysis-state.analizado{--fact-tag-border:#bfdccf;--fact-tag-bg:#e7f4ee;--fact-tag-text:#176652}
.fact-analysis-state.requiere-reanalisis{--fact-tag-border:#e5c2bd;--fact-tag-bg:#faece9;--fact-tag-text:#8b463e}

.relevant-fact-tags .fact-theme.theme-label,.fact-detail-title-row .fact-theme.theme-label{
  --theme-accent:#627873;--theme-border:#d0ddda;--theme-bg:#f0f5f3;--theme-text:#536963;
  display:inline-flex;
  min-height:20px;
  max-width:300px;
  align-items:center;
  gap:4px;
  padding:3px 7px;
  overflow:hidden;
  border:1px solid var(--theme-border);
  border-radius:999px;
  background:var(--theme-bg);
  color:var(--theme-text);
  font-size:7px;
  font-weight:800;
  line-height:1.15;
  letter-spacing:.035em;
  text-transform:uppercase;
}
.relevant-fact-tags .fact-theme.theme-label::before,.fact-detail-title-row .fact-theme.theme-label::before{content:none}
.relevant-fact-tags .fact-theme.theme-label>span,.fact-detail-title-row .fact-theme.theme-label>span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.relevant-fact-tags .fact-theme .theme-label-icon,.fact-detail-title-row .fact-theme .theme-label-icon{display:block!important;width:11px!important;height:11px!important;min-width:11px;flex:0 0 11px;fill:none;stroke:var(--theme-accent);stroke-width:1.65;stroke-linecap:round;stroke-linejoin:round}
.relevant-fact-tags .theme-psychology,.fact-detail-title-row .theme-psychology{--theme-accent:#695483;--theme-border:#d8cee4;--theme-bg:#f2edf7;--theme-text:#5e4e72}
.relevant-fact-tags .theme-education,.fact-detail-title-row .theme-education{--theme-accent:#416985;--theme-border:#c9dae6;--theme-bg:#edf4f8;--theme-text:#3e6076}
.relevant-fact-tags .theme-family,.fact-detail-title-row .theme-family{--theme-accent:#2f7565;--theme-border:#c3ddd5;--theme-bg:#eaf4f0;--theme-text:#32685c}
.relevant-fact-tags .theme-health,.fact-detail-title-row .theme-health{--theme-accent:#925652;--theme-border:#e2cdca;--theme-bg:#f8eeee;--theme-text:#7d504c}
.relevant-fact-tags .theme-finance,.fact-detail-title-row .theme-finance{--theme-accent:#8b681f;--theme-border:#e4d7b8;--theme-bg:#f8f3e6;--theme-text:#765d2a}
.relevant-fact-tags .theme-protection,.fact-detail-title-row .theme-protection{--theme-accent:#8c4f4b;--theme-border:#e2c8c5;--theme-bg:#f8eceb;--theme-text:#754946}
.relevant-fact-tags .theme-social,.fact-detail-title-row .theme-social{--theme-accent:#4e7662;--theme-border:#cbded2;--theme-bg:#edf5f0;--theme-text:#466856}
.relevant-fact-tags .theme-evidence,.fact-detail-title-row .theme-evidence{--theme-accent:#496b89;--theme-border:#cad8e4;--theme-bg:#edf3f8;--theme-text:#46637b}

@media(max-width:700px){
  .fact-tag{gap:3px;padding:3px 6px!important}
  .fact-tag-icon{width:10px!important;height:10px!important;min-width:10px!important;max-width:10px!important;min-height:10px!important;max-height:10px!important;flex-basis:10px!important}
  .fact-detail-title-row .fact-theme.theme-label{max-width:100%}
}

/* Navegación contextual y ambientación visual v0.33.39. */
.module-access-button[hidden]{display:none!important}
.portal-loading-screen[hidden]{display:none!important}
#portalView{
  min-height:100vh;
  background-color:#f5f3ed;
  background-image:
    linear-gradient(90deg,rgba(247,246,241,.93),rgba(247,246,241,.82) 52%,rgba(247,246,241,.72)),
    url('/assets/lextrack-ambient.png');
  background-position:center,center;
  background-size:cover,cover;
  background-attachment:fixed,fixed;
}
.portal-loading-screen{
  position:fixed;
  z-index:10000;
  inset:0;
  display:grid;
  place-items:center;
  padding:24px;
  background-color:#f5f3ed;
  background-image:
    linear-gradient(rgba(247,246,241,.70),rgba(247,246,241,.80)),
    url('/assets/lextrack-ambient.png');
  background-position:center;
  background-size:cover;
  opacity:1;
  transition:opacity .22s ease;
}
.portal-loading-screen.is-leaving{opacity:0;pointer-events:none}
.portal-loading-panel{
  display:grid;
  grid-template-columns:auto 1fr auto;
  align-items:center;
  gap:14px;
  width:min(430px,calc(100vw - 48px));
  padding:16px 18px;
  border:1px solid rgba(12,101,84,.18);
  border-radius:16px;
  background:rgba(255,255,255,.88);
  box-shadow:0 16px 42px rgba(18,43,45,.10);
  backdrop-filter:blur(8px);
}
.portal-loading-logo{
  display:grid;
  place-items:center;
  width:45px;
  height:45px;
  border:1px solid rgba(198,150,63,.55);
  border-radius:12px;
  color:#c4943e;
  background:#13252a;
  font:700 28px/1 Georgia,serif;
}
.portal-loading-copy{display:grid;gap:3px;min-width:0}
.portal-loading-copy strong{color:#183a3b;font-size:15px;letter-spacing:.025em}
.portal-loading-copy span{color:#68777a;font-size:12px;line-height:1.35}
.portal-loading-indicator{
  width:18px;
  height:18px;
  border:2px solid rgba(12,105,87,.18);
  border-top-color:#0b6958;
  border-radius:50%;
  animation:portal-loading-spin .85s linear infinite;
}
@keyframes portal-loading-spin{to{transform:rotate(360deg)}}
.hero{
  position:relative;
  isolation:isolate;
  min-height:112px;
  overflow:hidden;
}
.hero,.workspace,.primary-module-host{background-color:rgba(255,255,255,.94)}

@media(max-width:700px){
  .hero{min-height:164px}
  .hero>.actions{grid-template-columns:repeat(2,minmax(0,1fr))!important}
  #portalView{background-position:center,72% center}
  .portal-loading-screen{background-position:72% center}
  .portal-loading-panel{gap:11px;padding:14px}
  .portal-loading-logo{width:41px;height:41px;font-size:25px}
}
@media(prefers-reduced-motion:reduce){
  .portal-loading-indicator{animation-duration:1.8s}
  .portal-loading-screen{transition:none}
}

/* Encabezado del expediente v0.33.40. */
.hero{
  align-items:center;
  gap:32px;
  min-height:132px;
  margin:0 0 18px;
  padding:25px 28px;
  overflow:visible;
  border:1px solid rgba(207,218,215,.92);
  border-radius:14px;
  background:rgba(255,255,255,.94);
  box-shadow:0 9px 28px rgba(25,43,45,.065);
}
.hero>div:first-child{display:flex;min-width:230px;flex-direction:column;align-items:flex-start}
.hero .eyebrow{margin-bottom:10px}
.hero #caseMeta{margin:10px 0 0;font-size:13px;line-height:1.35}
#caseSelect+.custom-select-trigger{
  width:auto;
  min-width:220px;
  min-height:49px;
  padding:3px 42px 7px 1px;
  font-size:31px;
}
.hero>.actions{
  display:flex;
  flex:1 1 auto;
  align-self:center;
  justify-content:flex-end;
  gap:10px;
}
.hero .module-access-button{
  min-height:42px;
  padding:9px 14px;
  border-color:#c8d8d3;
  border-radius:9px;
  background:rgba(248,251,249,.92);
  font-size:10px;
}
.hero .module-access-button svg{width:13px;height:13px;flex-basis:13px}

@media(max-width:800px){
  .hero{align-items:stretch;gap:20px;padding:22px 20px}
  .hero>div:first-child{min-width:0;width:100%}
  #caseSelect+.custom-select-trigger{width:100%;min-width:0;font-size:29px}
  .hero>.actions{width:100%;align-self:auto}
}
@media(max-width:520px){
  .hero{min-height:0;margin-bottom:12px;padding:18px 16px;border-radius:12px}
  .hero #caseMeta{font-size:12px}
  .hero>.actions{gap:7px}
  .hero .module-access-button{min-height:40px;padding:8px 8px;font-size:9px}
  .hero .module-access-button svg{width:12px;height:12px;flex-basis:12px}
}

/* Tipografía e iconografía uniforme en listas desplegables v0.33.41. */
.custom-select-option-list,
.document-theme-filter-options{
  font-family:Inter,Segoe UI,system-ui,sans-serif;
}
.custom-select-options button,
.document-theme-filter-option{
  min-height:36px;
  color:#405650;
  font:700 10px/1.25 Inter,Segoe UI,system-ui,sans-serif;
  letter-spacing:.018em;
  text-transform:uppercase;
}
.custom-select-option-copy>strong,
.document-theme-filter-name>span{
  color:inherit;
  font:inherit;
  letter-spacing:inherit;
  text-transform:inherit;
}
.custom-select-option-copy>small{
  font-size:8px;
  font-weight:550;
  letter-spacing:.01em;
  text-transform:none;
}
.custom-select-option-icon,
.custom-select-option-main .theme-label-icon,
.document-theme-filter-name .theme-label-icon{
  width:12px!important;
  height:12px!important;
  min-width:12px!important;
  max-width:12px!important;
  min-height:12px!important;
  max-height:12px!important;
  flex:0 0 12px!important;
  stroke-width:1.65!important;
}
.custom-select-option-main,
.document-theme-filter-name{gap:6px}
.custom-select-options button.selected,
.document-theme-filter-option.active{font-weight:800}
.document-theme-filter-option small{
  font-size:8px;
  font-weight:750;
  letter-spacing:0;
  text-transform:none;
}
@media(max-width:1024px){
  .custom-select-options button,
  .document-theme-filter-option{min-height:39px;font-size:10px}
}

.documents .doc.procedural-primary{border-left-color:var(--procedural-accent);border-top-color:color-mix(in srgb,var(--procedural-accent) 30%,#dfe4e6)}
.tree-node.procedural-primary:not(.tree-case-root){border-left-color:var(--procedural-accent);border-top-color:color-mix(in srgb,var(--procedural-accent) 30%,#dfe4e6)}

/* v0.33.23 - separación entre detalle documental y seguimiento procesal */
.procedural-detail-entry {
  padding-top: 14px;
  padding-bottom: 14px;
}
.procedural-card-open {
  margin-left: auto;
  border: 0;
  background: transparent;
  padding: 0;
  color: var(--procedural-accent);
  font: inherit;
  font-size: .7rem;
  font-weight: 800;
  text-decoration: underline;
  text-underline-offset: 3px;
  cursor: pointer;
}
.procedural-view-switch {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
  padding: 13px 30px;
  border-top: 1px solid #dbe4e2;
  border-bottom: 1px solid #dbe4e2;
  background: #f7faf9;
}
.procedural-view-switch button {
  border: 0;
  background: transparent;
  padding: 0;
  color: #176b5b;
  font-weight: 800;
  cursor: pointer;
}
.procedural-view-switch span {
  color: #6b797e;
  font-size: .73rem;
  text-align: right;
}
.procedural-view-switch strong { color: #30474e; }
.procedural-tracking-sheet .procedural-tracking-panel { border-top: 0; }
@media (max-width: 760px) {
  .procedural-view-switch { align-items: flex-start; flex-direction: column; padding: 12px 18px; }
  .procedural-view-switch span { text-align: left; }
  .procedural-card-open { margin-left: 0; }
}


/* v0.33.24 - navegación ejecutiva de seguimiento procesal */
#detailDialog.procedural-tracking-mode > .close { display: none; }
.procedural-sheet-bar { position: relative; }
.procedural-sheet-bar-actions {
  display: flex;
  align-items: center;
  gap: 14px;
}
.procedural-sheet-close {
  width: 30px;
  height: 30px;
  display: inline-grid;
  place-items: center;
  flex: 0 0 auto;
  padding: 0;
  border: 1px solid rgba(255,255,255,.28);
  border-radius: 50%;
  background: rgba(255,255,255,.08);
  color: #fff;
  font-size: 18px;
  line-height: 1;
  font-weight: 500;
  cursor: pointer;
  transition: background .15s ease, border-color .15s ease, transform .15s ease;
}
.procedural-sheet-close:hover {
  background: rgba(255,255,255,.16);
  border-color: rgba(255,255,255,.52);
  transform: translateY(-1px);
}
.procedural-sheet-close:focus-visible {
  outline: 2px solid #fff;
  outline-offset: 2px;
}
.procedural-view-switch {
  justify-content: flex-start;
  padding: 14px 30px;
  background: #fbfcfb;
}
.procedural-view-switch .procedural-detail-entry {
  display: inline-flex;
  align-items: center;
  gap: 9px;
  min-height: 36px;
  padding: 8px 13px;
  border: 1px solid #cbdad5;
  border-radius: 8px;
  background: #fff;
  color: #215f54;
  font-size: .78rem;
  font-weight: 750;
  text-decoration: none;
  box-shadow: 0 2px 8px rgba(24,33,40,.045);
  transition: border-color .15s ease, box-shadow .15s ease, background .15s ease;
}
.procedural-view-switch .procedural-detail-entry:hover {
  border-color: #8eb7aa;
  background: #f7fbf9;
  box-shadow: 0 4px 12px rgba(24,33,40,.07);
}
.procedural-detail-entry-icon {
  display: inline-grid;
  place-items: center;
  width: 18px;
  height: 18px;
  color: #2f7669;
  font-size: 11px;
}
@media (max-width: 760px) {
  .procedural-sheet-bar-actions { width: 100%; justify-content: space-between; }
  .procedural-view-switch { padding: 12px 18px; }
}

/* v0.33.26 - Vincular promociones existentes a un seguimiento procesal */
.procedural-entry-action-row { display: flex; flex-wrap: wrap; gap: 18px; align-items: center; }
.procedural-attach-button { color: #2d6884; }
.procedural-attach-dialog { width: min(760px, calc(100vw - 32px)); max-height: min(820px, calc(100vh - 32px)); border: 0; border-radius: 18px; padding: 0; overflow: auto; box-shadow: 0 24px 70px rgba(12,31,36,.28); }
.procedural-attach-dialog::backdrop { background: rgba(18,35,40,.42); backdrop-filter: blur(2px); }
.procedural-attach-form { display: grid; gap: 16px; padding: 30px; }
.procedural-attach-form header h2 { margin: 4px 0 6px; font-family: Georgia,serif; color: #172f37; }
.procedural-attach-form header p:last-child { margin: 0; color: #68777d; line-height: 1.5; }
.procedural-attach-current { display: grid; gap: 3px; padding: 13px 15px; border: 1px solid #d7e2df; border-left: 4px solid #d69e2e; border-radius: 10px; background: #fbfcfc; }
.procedural-attach-current > span { color: #7a692d; font-size: .66rem; font-weight: 850; letter-spacing: .1em; }
.procedural-attach-current strong { color: #243b43; }
.procedural-attach-current p { margin: 0; color: #40565e; line-height: 1.4; }
.procedural-attach-current small { color: #7a878b; }
.procedural-attach-results { display: grid; gap: 8px; max-height: 280px; overflow: auto; padding: 2px; }
.procedural-attach-option { display: grid; gap: 4px; width: 100%; padding: 12px 14px; border: 1px solid #d4dfdc; border-radius: 10px; background: #fff; color: #263e45; text-align: left; cursor: pointer; transition: border-color .15s ease, background .15s ease, box-shadow .15s ease; }
.procedural-attach-option:hover { border-color: #97bdb3; background: #f7fbf9; }
.procedural-attach-option.selected { border-color: #176b5b; background: #eef7f3; box-shadow: 0 0 0 1px #176b5b inset; }
.procedural-attach-option-title { color: #176b5b; font-size: .72rem; font-weight: 850; letter-spacing: .035em; text-transform: uppercase; }
.procedural-attach-option strong { font-size: .86rem; line-height: 1.35; }
.procedural-attach-option small { color: #738085; }
.procedural-attach-empty { padding: 18px; border: 1px dashed #cbd8d4; border-radius: 10px; color: #718085; text-align: center; background: #fafcfc; }
.procedural-attach-form footer { position: sticky; bottom: 0; z-index: 6; display: flex; justify-content: flex-end; gap: 10px; margin: 0 -30px -30px; padding: 14px 30px 18px; border-top: 1px solid #dce6e3; background: rgba(255,255,255,.98); box-shadow: 0 -10px 24px rgba(23,47,55,.07); }
.procedural-attach-form footer button { border: 1px solid #cad9d6; border-radius: 9px; background: #fff; padding: 10px 15px; font-weight: 750; cursor: pointer; }
.procedural-attach-form footer .primary { border-color: #0e7461; background: #0e7461; color: #fff; }
.procedural-attach-form footer .primary:disabled { opacity: .45; cursor: not-allowed; }
@media (max-width: 720px) {
  .procedural-attach-form { padding: 24px 18px 20px; }
  .procedural-attach-form footer { margin: 0 -18px -20px; padding: 12px 18px 16px; }
  .procedural-entry-action-row { align-items: flex-start; flex-direction: column; gap: 12px; }
}


/* v0.33.30 - Conversión explícita de actuación relacionada a cambio de avance */
.procedural-advance-action {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 18px;
  padding: 14px 16px;
  border: 1px solid #cfe0dc;
  border-radius: 12px;
  background: #f7fbf9;
}
.procedural-advance-action[hidden] { display: none; }
.procedural-advance-action > div { display: grid; gap: 4px; min-width: 0; }
.procedural-advance-action strong { color: #21443d; font-size: .84rem; }
.procedural-advance-action small { color: #6f7e82; line-height: 1.45; }
.procedural-advance-action button {
  flex: 0 0 auto;
  border: 1px solid #176b5b;
  border-radius: 9px;
  background: #fff;
  color: #176b5b;
  padding: 9px 13px;
  font-weight: 800;
  cursor: pointer;
}
.procedural-advance-action button:hover { background: #eef7f3; }
@media (max-width: 720px) {
  .procedural-advance-action { align-items: stretch; flex-direction: column; }
  .procedural-advance-action button { width: 100%; }
}


/* v0.33.31 - Identificación de documentos vinculados a seguimientos en el catálogo principal */
.procedural-related-list-badge {
  display: inline-flex;
  align-items: center;
  gap: 5px;
  border: 1px solid #b7d4dc !important;
  border-radius: 999px;
  background: #f1f8fa !important;
  color: #2d6884 !important;
  box-shadow: none !important;
  padding: 4px 9px;
  font: inherit;
  font-size: .68rem;
  font-weight: 800;
  line-height: 1;
  cursor: pointer;
  white-space: nowrap;
}
.procedural-related-list-badge:hover {
  border-color: #7eafbd !important;
  background: #e8f4f7 !important;
  color: #2d6884 !important;
}
.procedural-related-list-badge svg {
  width: 13px;
  height: 13px;
  fill: none;
  stroke: currentColor;
  stroke-width: 1.8;
}
.documents .doc-meta > .procedural-related-list-badge::after { content: none; }

/* v0.33.33 - Tablero de seguimientos procesales */
.procedural-trackings-dialog{width:min(1320px,96vw);max-height:94vh;padding:28px 30px}
.primary-module-host>.procedural-trackings-dialog.primary-module-page[open]{display:block;width:100%;max-width:none}
.procedural-trackings-head{margin-bottom:18px}
.procedural-trackings-head>.module-page-head{width:100%}
.procedural-trackings-head .eyebrow{margin-bottom:6px}
.procedural-trackings-view-switch{display:inline-flex;gap:4px;padding:4px;border:1px solid #d7e1de;border-radius:10px;background:#f7faf9}
.procedural-trackings-view-switch button{border:0;background:transparent;padding:8px 12px;color:#63737a;font-size:.75rem}
.procedural-trackings-view-switch button.active{background:#fff;color:#176b5b;box-shadow:0 2px 8px rgba(22,61,52,.09)}
.procedural-trackings-summary{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:10px;margin:0 0 16px}
.procedural-trackings-summary>div{display:flex;align-items:baseline;gap:8px;padding:14px 16px;border:1px solid #dce6e3;border-radius:12px;background:#fff}
.procedural-trackings-summary strong{font:700 24px Georgia,serif;color:#173f39}
.procedural-trackings-summary span{color:#6f7e83;font-size:.72rem;font-weight:750}
.procedural-trackings-toolbar{display:grid;grid-template-columns:minmax(260px,1.8fr) repeat(3,minmax(165px,1fr)) auto;align-items:end;gap:12px;padding:16px;border:1px solid #dce6e3;border-radius:14px;background:#fbfcfb;margin-bottom:20px}
.procedural-trackings-toolbar label{display:grid;gap:6px;min-width:0}
.procedural-trackings-toolbar label>span{font-size:.68rem;font-weight:800;letter-spacing:.07em;text-transform:uppercase;color:#4f646b}
.procedural-trackings-toolbar input,.procedural-trackings-toolbar select{width:100%;min-height:42px;border:1px solid #cddbd7;border-radius:9px;background:#fff;padding:9px 11px;font:600 .82rem/1.2 Inter,Segoe UI,system-ui,sans-serif;color:#253d44}
.procedural-trackings-count{margin:0 2px 11px;color:#6e7e83;font-size:.75rem;font-weight:700;white-space:nowrap}
.procedural-trackings-content{display:grid;gap:22px;padding-bottom:28px}
.procedural-dashboard-group,.procedural-dashboard-resolved{display:grid;gap:12px}
.procedural-dashboard-group-head,.procedural-dashboard-resolved>summary{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:2px 2px 8px;border-bottom:1px solid #dbe5e2}
.procedural-dashboard-group-head>div,.procedural-dashboard-resolved>summary>div{display:flex;align-items:center;gap:8px}
.procedural-dashboard-group-head span,.procedural-dashboard-resolved>summary span{color:#176b5b;font-size:.72rem;font-weight:850;letter-spacing:.11em}
.procedural-dashboard-group-head strong,.procedural-dashboard-resolved>summary strong{display:grid;place-items:center;min-width:24px;height:24px;border-radius:999px;background:#eaf4f0;color:#176b5b;font-size:.72rem}
.procedural-dashboard-group-head small,.procedural-dashboard-resolved>summary small{color:#7b898e}
.procedural-dashboard-resolved>summary{cursor:pointer;list-style:none;margin-top:4px}
.procedural-dashboard-resolved>summary::-webkit-details-marker{display:none}
.procedural-dashboard-resolved[open]>summary{margin-bottom:12px}
.procedural-dashboard-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}
.procedural-dashboard-card{--dashboard-accent:#2d6884;display:grid;gap:16px;padding:20px;border:1px solid #d9e4e1;border-top:4px solid var(--dashboard-accent);border-radius:14px;background:#fff;box-shadow:0 7px 22px rgba(25,54,47,.05)}
.procedural-dashboard-card.attention{--dashboard-accent:#b37b2c}.procedural-dashboard-card.pending{--dashboard-accent:#8a6b2f}.procedural-dashboard-card.resolved{--dashboard-accent:#56836f}.procedural-dashboard-card.active{--dashboard-accent:#2d6884}
.procedural-dashboard-card-top{display:flex;align-items:flex-start;justify-content:space-between;gap:18px}
.procedural-dashboard-title{min-width:0}.procedural-dashboard-theme{display:block;margin-bottom:5px;color:#6d7e83;font-size:.64rem;font-weight:850;letter-spacing:.09em}.procedural-dashboard-title h3{margin:0;font:700 20px/1.2 Georgia,serif;color:#203940}
.procedural-dashboard-status{display:grid;justify-items:end;gap:5px;flex:0 0 auto;text-align:right}.procedural-dashboard-status small{color:#768489;font-size:.68rem}.procedural-dashboard-status small strong{color:#42575e}
.procedural-dashboard-state{display:inline-flex;align-items:center;border-radius:999px;padding:5px 9px;background:#edf4f7;color:#2d6884;font-size:.65rem;font-weight:850;text-transform:uppercase;letter-spacing:.045em}.procedural-dashboard-state.attention{background:#fff1da;color:#96651e}.procedural-dashboard-state.pending{background:#f8f0dc;color:#84682f}.procedural-dashboard-state.resolved{background:#e7f1eb;color:#4e735f}
.procedural-dashboard-card-body{display:grid;grid-template-columns:1fr 1fr;gap:14px}
.procedural-dashboard-card-body section{min-width:0;padding:13px 14px;border:1px solid #e0e8e6;border-radius:10px;background:#fafcfb}.procedural-dashboard-card-body section.procedural-dashboard-latest{background:#f5f9f8}.procedural-dashboard-section-label{display:block;margin-bottom:7px;color:#75858a;font-size:.62rem;font-weight:850;letter-spacing:.09em;text-transform:uppercase}.procedural-dashboard-document-line{display:flex;align-items:center;gap:7px;flex-wrap:wrap}.procedural-dashboard-document-line>strong{color:#25444b;font-size:.77rem}.procedural-dashboard-document-line .badge.party{font-size:.56rem}.procedural-dashboard-card-body p{margin:7px 0 5px;color:#435960;font-size:.82rem;line-height:1.35}.procedural-dashboard-card-body small{color:#7c8b90;font-size:.68rem}
.procedural-dashboard-card-footer{display:flex;align-items:center;justify-content:space-between;gap:14px;padding-top:2px}.procedural-dashboard-card-footer>div{display:flex;align-items:center;gap:5px;color:#7b898e;font-size:.7rem}.procedural-dashboard-card-footer>div strong{color:#31515a}.procedural-dashboard-card-footer button{border:0;background:transparent;color:#176b5b;padding:6px 0;font-weight:800}.procedural-dashboard-card-footer button:hover{text-decoration:underline}
.procedural-dashboard-table-wrap{overflow:auto;border:1px solid #dce5e2;border-radius:12px;background:#fff}.procedural-dashboard-table{width:100%;border-collapse:collapse;min-width:900px}.procedural-dashboard-table th{padding:10px 12px;background:#f4f8f6;color:#61747a;font-size:.64rem;text-align:left;text-transform:uppercase;letter-spacing:.07em}.procedural-dashboard-table td{padding:12px;border-top:1px solid #e2e9e7;color:#40565d;font-size:.76rem;vertical-align:middle}.procedural-dashboard-table td small{display:block;margin-top:3px;color:#829095}.procedural-dashboard-table-title{display:block;border:0;background:transparent;padding:0;color:#203b42;font-weight:800;text-align:left}.procedural-dashboard-table-title:hover{color:#176b5b;text-decoration:underline}.procedural-dashboard-open-compact{border:0;background:transparent;color:#176b5b;font-size:1rem;padding:4px 8px}
@media(max-width:1050px){.procedural-trackings-summary{grid-template-columns:repeat(3,1fr)}.procedural-trackings-toolbar{grid-template-columns:1fr 1fr}.procedural-trackings-count{align-self:center}.procedural-dashboard-grid{grid-template-columns:1fr}}
@media(max-width:700px){.procedural-trackings-dialog{padding:20px 14px}.procedural-trackings-head{align-items:stretch;flex-direction:column}.procedural-trackings-view-switch{align-self:flex-start}.procedural-trackings-summary{grid-template-columns:repeat(2,1fr)}.procedural-trackings-toolbar{grid-template-columns:1fr}.procedural-trackings-count{margin:0}.procedural-dashboard-card-top,.procedural-dashboard-card-footer{align-items:flex-start;flex-direction:column}.procedural-dashboard-status{justify-items:start;text-align:left}.procedural-dashboard-card-body{grid-template-columns:1fr}.procedural-dashboard-card-footer button{align-self:flex-end}.procedural-dashboard-group-head,.procedural-dashboard-resolved>summary{align-items:flex-start;flex-direction:column}}


/* v0.33.38 - Homologación visual de seguimiento en catálogo principal */
.documents .procedural-primary-label {
  display: inline-flex;
  align-items: center;
  gap: 5px;
  padding: 4px 9px;
  border: 1px solid #b7d4dc !important;
  border-radius: 999px;
  background: #f1f8fa !important;
  color: #2d6884 !important;
  box-shadow: none !important;
  font-size: .68rem;
  font-weight: 800;
  line-height: 1;
  text-transform: none;
  letter-spacing: 0;
}
.documents .procedural-primary-label svg {
  width: 13px;
  height: 13px;
  fill: none;
  stroke: currentColor;
  stroke-width: 1.8;
}
.documents .procedural-card-state { gap: 9px; }

/* v0.33.39 - Etiqueta de seguimiento fija en la esquina inferior derecha de cada card */
.documents .doc{position:relative}
.documents .doc-meta-secondary{
  position:absolute;
  right:11px;
  bottom:10px;
  z-index:2;
  margin-left:0;
  justify-content:flex-end;
  pointer-events:none;
}
.documents .doc-meta-secondary .procedural-related-list-badge{pointer-events:auto}
@media(max-width:700px){
  .documents .doc{padding-bottom:48px}
  .documents .doc-meta-secondary{
    width:auto;
    right:10px;
    bottom:10px;
    margin-left:0;
    justify-content:flex-end;
  }
}

/* v0.33.41 / v0.33.48 - Seguimientos procesales en listado simple y lectura ejecutiva */
.procedural-trackings-toolbar{
  grid-template-columns:minmax(300px,1.7fr) repeat(3,minmax(170px,1fr));
  margin-bottom:18px;
}
.procedural-tracking-list{
  display:grid;
  gap:14px;
}
.procedural-tracking-row{
  --tracking-row-accent:#2d6884;
  border:1px solid #dbe5e2;
  border-left:5px solid var(--tracking-row-accent);
  border-radius:12px;
  background:#fff;
  overflow:hidden;
  box-shadow:0 4px 14px rgba(25,54,47,.035);
}
.procedural-tracking-row.attention{--tracking-row-accent:#b37b2c}
.procedural-tracking-row.pending{--tracking-row-accent:#8a6b2f}
.procedural-tracking-row.resolved{--tracking-row-accent:#56836f}
.procedural-tracking-row.active{--tracking-row-accent:#2d6884}
.procedural-tracking-row-main{
  position:relative;
  display:grid;
  grid-template-columns:minmax(0,2.25fr) minmax(0,1.45fr) minmax(165px,.8fr) minmax(220px,1fr);
  gap:22px;
  align-items:center;
  width:100%;
  box-sizing:border-box;
  border:0;
  background:transparent;
  padding:20px 22px;
  color:#294149;
  text-align:left;
  cursor:pointer;
}
.procedural-tracking-row-main:hover{background:#f8fbfa}
.procedural-tracking-row-main:focus-visible{outline:2px solid #2d6884;outline-offset:-2px}
.procedural-tracking-row-title,.procedural-tracking-row-last,.procedural-tracking-row-dates,.procedural-tracking-row-determination{min-width:0}
.procedural-tracking-row-title>span{
  display:block;
  margin-bottom:7px;
  color:#64797f;
  font-size:.63rem;
  font-weight:850;
  letter-spacing:.09em;
}
.procedural-tracking-row-title>strong{
  display:block;
  color:#18363e;
  font:700 21px/1.2 Georgia,serif;
  overflow-wrap:anywhere;
}
.procedural-tracking-row-main small{
  display:block;
  margin-bottom:7px;
  color:#74858a;
  font-size:.61rem;
  font-weight:800;
  letter-spacing:.07em;
  text-transform:uppercase;
}
.procedural-tracking-row-last>div{
  display:flex;
  align-items:center;
  gap:7px;
  flex-wrap:wrap;
}
.procedural-tracking-row-last>div>strong{
  color:#24464e;
  font-size:.78rem;
}
.procedural-tracking-row-last .badge.party{font-size:.52rem}
.procedural-tracking-row-last p{
  margin:6px 0 0;
  color:#52676d;
  font-size:.72rem;
  line-height:1.4;
  display:-webkit-box;
  -webkit-line-clamp:2;
  -webkit-box-orient:vertical;
  overflow:hidden;
}
.procedural-tracking-row-dates{
  display:grid;
  gap:7px;
}
.procedural-tracking-row-dates>small{margin-bottom:1px}
.procedural-tracking-row-dates>div{
  display:grid;
  gap:2px;
}
.procedural-tracking-row-dates>div>span{
  color:#7a898e;
  font-size:.61rem;
  font-weight:700;
}
.procedural-tracking-row-dates>div>strong{
  color:#304e56;
  font-size:.77rem;
  white-space:nowrap;
}
.procedural-tracking-row-determination{
  align-self:stretch;
  min-width:0;
  display:flex;
  flex-direction:column;
  justify-content:center;
  padding-left:4px;
}
.procedural-tracking-row-determination>strong{
  display:block;
  color:#20464e;
  font-size:.84rem;
  line-height:1.3;
  overflow-wrap:anywhere;
}
.procedural-tracking-row-determination>span{
  display:block;
  margin-top:6px;
  color:#6b7d82;
  font-size:.68rem;
  line-height:1.35;
}
.procedural-tracking-row-determination>span b{color:#52676d;font-weight:800}
.procedural-tracking-row-open{
  position:absolute;
  right:14px;
  top:50%;
  transform:translateY(-50%);
  color:#2d6884;
  font-size:1.5rem;
  line-height:1;
  text-align:right;
}
.procedural-tracking-row-determination{padding-right:20px}
@media(max-width:1250px){
  .procedural-tracking-row-main{
    grid-template-columns:minmax(0,2fr) minmax(0,1.35fr) minmax(155px,.78fr) minmax(205px,.95fr);
    gap:16px;
    padding:18px;
  }
  .procedural-tracking-row-title>strong{font-size:19px}
}
@media(max-width:980px){
  .procedural-trackings-toolbar{grid-template-columns:1fr 1fr}
  .procedural-tracking-row-main{
    grid-template-columns:1.25fr 1fr;
    gap:16px 20px;
  }
  .procedural-tracking-row-title{grid-column:1/-1;padding-right:28px}
  .procedural-tracking-row-open{position:absolute;right:16px;top:18px}
}
@media(max-width:640px){
  .procedural-trackings-toolbar{grid-template-columns:1fr}
  .procedural-tracking-list{gap:12px}
  .procedural-tracking-row-main{grid-template-columns:1fr;padding:16px 17px;gap:14px}
  .procedural-tracking-row-title{grid-column:auto;padding-right:24px}
  .procedural-tracking-row-title>strong{font-size:19px}
  .procedural-tracking-row-last p{display:block;overflow:visible}
  .procedural-tracking-row-dates{grid-template-columns:1fr 1fr;column-gap:18px}
  .procedural-tracking-row-dates>small{grid-column:1/-1}
  .procedural-tracking-row-determination{padding:12px 0 0;border-top:1px solid #e3ebe8}
}

/* v0.33.43 - JSON de seguimiento y regreso al seguimiento al cerrar detalle */
.procedural-json-dialog {
  width: min(920px, calc(100vw - 32px));
  max-height: min(880px, calc(100vh - 32px));
  border: 0;
  border-radius: 18px;
  padding: 0;
  box-shadow: 0 24px 70px rgba(12,31,36,.28);
}
.procedural-json-dialog::backdrop { background: rgba(18,35,40,.42); backdrop-filter: blur(2px); }
.procedural-json-panel { display: grid; gap: 16px; padding: 28px; }
.procedural-json-panel header { display: flex; align-items: flex-start; justify-content: space-between; gap: 18px; }
.procedural-json-panel h2 { margin: 4px 0 0; font-family: Georgia,serif; color: #172f37; }
.procedural-json-hint { margin: 0; color: #68777d; line-height: 1.5; }
.procedural-json-content {
  width: 100%; min-height: 460px; max-height: 58vh; resize: vertical;
  border: 1px solid #cbdad6; border-radius: 12px; background: #f8fbfa;
  padding: 16px; font-family: Consolas, "Courier New", monospace; font-size: .78rem;
  line-height: 1.5; color: #20383f;
}
.procedural-json-panel footer { display: flex; justify-content: flex-end; gap: 10px; }
.procedural-json-panel footer button,
.procedural-json-close { border: 1px solid #cad9d6; border-radius: 9px; background: #fff; padding: 10px 15px; font-weight: 750; cursor: pointer; }
.procedural-json-panel footer .primary { border-color: #0e7461; background: #0e7461; color: #fff; }
.procedural-json-close { border: 0; padding: 2px 8px; font-size: 1.6rem; line-height: 1; color: #294249; }
@media (max-width: 720px) {
  .procedural-json-panel { padding: 22px 16px 18px; }
  .procedural-json-content { min-height: 360px; }
}

/* v0.33.46 - Pegado controlado */
.analysis-paste-only[readonly] {
  caret-color: transparent;
  cursor: default;
}

/* v0.33.47 - Selector de documentos homologado en móvil y escritorio */
@media (max-width: 760px), (pointer: coarse) {
  #proceduralDocument + .custom-select-trigger {
    min-height: 46px;
    font-size: 13px;
    touch-action: manipulation;
  }
  #proceduralTrackingDialog .custom-select-options {
    max-width: calc(100vw - 24px);
  }
  #proceduralTrackingDialog .custom-select-search {
    min-height: 44px;
    font-size: 16px;
  }
  #proceduralTrackingDialog .custom-select-options button {
    min-height: 48px;
  }
}

/* v0.33.50 - situación actual siempre visible sin desbordar la tarjeta */
.procedural-tracking-row-main{overflow:hidden}
.procedural-tracking-row-determination small,
.procedural-tracking-row-determination strong,
.procedural-tracking-row-determination span{max-width:100%;white-space:normal;overflow-wrap:anywhere}

/* v0.33.53 - El botón de incorporación permanece visible durante el scroll del modal. */

/* v0.35.0-beta: consola operacional del monitor. */
.monitor-page-head{align-items:center}
.monitor-run-state{display:inline-flex;align-items:center;gap:8px;flex:none;padding:8px 13px;border:1px solid var(--line);border-radius:999px;background:#fff;color:#53625d;font-size:12px;font-weight:750}
.monitor-run-state i{width:9px;height:9px;border-radius:50%;background:#9aa8a3}
.monitor-run-state.running{border-color:#b9dccd;background:#eef8f3;color:var(--green)}
.monitor-run-state.running i{background:#16a36f;animation:monitorPulse 1.4s ease-in-out infinite}
@keyframes monitorPulse{0%,100%{box-shadow:0 0 0 0 rgba(22,163,111,.45)}50%{box-shadow:0 0 0 6px rgba(22,163,111,0)}}

.monitor-launch{display:grid;grid-template-columns:minmax(170px,1.1fr) minmax(170px,1.1fr) minmax(110px,.6fr) auto auto;gap:12px 14px;align-items:end;margin-top:22px;padding:16px 18px;border:1px solid var(--line);border-radius:12px;background:#fff}
.monitor-launch label{display:grid;gap:6px;min-width:0;font-size:11px;font-weight:800;letter-spacing:.05em;text-transform:uppercase;color:#54636a}
.monitor-launch select,.monitor-launch input[type=number]{width:100%;min-width:0;height:40px;padding:0 10px;border:1px solid #cfd7d8;border-radius:8px;background:#fff;font:600 14px Inter,Segoe UI,sans-serif;color:var(--ink)}
.monitor-launch select:focus,.monitor-launch input:focus{outline:none;border-color:var(--green);box-shadow:0 0 0 3px rgba(11,105,88,.1)}
.monitor-launch label.disabled{opacity:.45}
.monitor-launch-checks{display:grid;gap:6px;padding-bottom:2px}
.monitor-launch .monitor-check,.monitor-check{display:flex;align-items:center;gap:7px;font-size:12px;font-weight:650;letter-spacing:0;text-transform:none;color:var(--ink);white-space:nowrap}
.monitor-check input{width:16px;height:16px;margin:0;accent-color:var(--green)}
.monitor-launch #runMonitorPageButton{height:40px;white-space:nowrap}
.monitor-launch #runMonitorPageButton:disabled{opacity:.6;cursor:not-allowed}
.monitor-mode-help{grid-column:1/-1;margin:0;color:var(--muted);font-size:12px}
.monitor-run-message{grid-column:1/-1;margin:0;padding:8px 11px;border-radius:7px;font-size:12px;font-weight:650;background:#f2f5f4;color:#46554f}
.monitor-run-message.running{background:#eef8f3;color:var(--green)}
.monitor-run-message.success{background:#ecf7f0;color:#18794e}
.monitor-run-message.error{background:#fff1ef;color:#b42318}

.monitor-cards{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin-top:18px}
.monitor-card{min-width:0;padding:14px 15px;border:1px solid var(--line);border-left:4px solid #c9d2cf;border-radius:10px;background:#fff}
.monitor-card span{display:block;font-size:10px;font-weight:800;letter-spacing:.1em;text-transform:uppercase;color:var(--muted)}
.monitor-card strong{display:block;margin:6px 0 4px;font:700 22px/1.15 Georgia,serif;color:var(--ink);overflow-wrap:anywhere}
.monitor-card small{display:block;color:var(--muted);font-size:11px;line-height:1.35;overflow-wrap:anywhere}
.monitor-card.running{border-left-color:#16a36f}.monitor-card.running strong{color:var(--green)}
.monitor-card.success{border-left-color:#18794e}
.monitor-card.error{border-left-color:#d1453b}.monitor-card.error strong{color:#b42318}
.monitor-card.warning{border-left-color:var(--gold)}
.monitor-card.highlight{border-left-color:var(--blue)}
.monitor-cases{display:flex;flex-wrap:wrap;gap:8px;margin-top:10px}
.monitor-case{display:grid;gap:2px;min-width:min(260px,100%);flex:1 1 260px;padding:9px 12px;border:1px solid var(--line);border-radius:9px;background:#fafbf9;font-size:12px}
.monitor-case strong{font-size:13px}
.monitor-case span{font-weight:700;color:var(--green)}
.monitor-case.error span{color:#b42318}.monitor-case.running span{color:var(--blue)}
.monitor-case small{color:var(--muted)}

.monitor-console{margin-top:20px;border:1px solid #1f3038;border-radius:12px;overflow:hidden;background:#101a1f;box-shadow:0 12px 30px rgba(16,26,31,.18)}
.monitor-console-head{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:10px;padding:10px 14px;border-bottom:1px solid #22343c;background:#15232a}
.monitor-console-title{display:flex;align-items:center;gap:10px;flex-wrap:wrap}
.monitor-console-title h3{margin:0;color:#e8eef0;font:700 15px Inter,Segoe UI,sans-serif}
.monitor-live-badge{display:inline-flex;align-items:center;gap:6px;padding:3px 9px;border-radius:999px;background:#25363d;color:#aebbc1;font-size:10px;font-weight:800;letter-spacing:.1em}
.monitor-live-badge i{width:8px;height:8px;border-radius:50%;background:#7d8d93}
.monitor-live-badge[data-state="live"]{background:rgba(22,163,111,.16);color:#7fe0b8}
.monitor-live-badge[data-state="live"] i{background:#2fd08e;animation:monitorPulse 1.4s ease-in-out infinite}
.monitor-live-badge[data-state="paused"]{background:rgba(197,145,59,.2);color:#f0c77f}
.monitor-live-badge[data-state="paused"] i{background:#e0b463}
.monitor-live-badge[data-state="reconnecting"],.monitor-live-badge[data-state="connecting"]{color:#d9e2e5}
.monitor-live-badge[data-state="reconnecting"] i,.monitor-live-badge[data-state="connecting"] i{background:#e0b463;animation:monitorPulse 1s ease-in-out infinite}
.monitor-live-badge[data-state="offline"]{background:rgba(209,69,59,.2);color:#ffb4ab}
.monitor-live-badge[data-state="offline"] i{background:#ff7b6e}
.monitor-console-tools{display:flex;flex-wrap:wrap;align-items:center;gap:6px}
.monitor-tool{padding:6px 11px;border:1px solid #cbd2d4;border-radius:7px;background:#fff;color:var(--ink);font-size:12px;font-weight:700}
.monitor-console .monitor-tool{border-color:#35505a;background:#1c2d35;color:#dbe5e8}
.monitor-console .monitor-tool:hover{border-color:#5e8a7f;background:#22363f}
.monitor-console .monitor-tool[aria-pressed="true"]{border-color:#e0b463;color:#f0c77f}
.monitor-tool-check{color:#dbe5e8!important;padding:0 4px}
.monitor-console-body{height:min(56vh,520px);min-height:260px;overflow:auto;padding:10px 0;font:12px/1.55 ui-monospace,SFMono-Regular,Consolas,"Liberation Mono",monospace;color:#c9d6da;overscroll-behavior:contain}
.monitor-console-body.compact{height:auto;max-height:260px;min-height:0;border-radius:8px;background:#101a1f}
.monitor-line{display:grid;grid-template-columns:66px 62px minmax(0,130px) minmax(0,1fr);gap:10px;padding:1px 14px;white-space:pre-wrap;overflow-wrap:anywhere}
.monitor-line:hover{background:rgba(255,255,255,.04)}
.monitor-line time{color:#71868e;font-variant-numeric:tabular-nums}
.monitor-line-level{color:#71868e;font-weight:700}
.monitor-line-scope{color:#8fb3c4;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.monitor-line.tagged .monitor-line-message{color:#e3eaec}
.monitor-line.ok .monitor-line-message{color:#8fe0bd}
.monitor-line.warning{background:rgba(224,180,99,.06)}
.monitor-line.warning .monitor-line-level,.monitor-line.warning .monitor-line-message{color:#f0c77f}
.monitor-line.error{background:rgba(255,123,110,.08)}
.monitor-line.error .monitor-line-level,.monitor-line.error .monitor-line-message{color:#ff9d92}
.monitor-line.text{grid-template-columns:minmax(0,1fr)}
.monitor-line.text time,.monitor-line.text .monitor-line-level,.monitor-line.text .monitor-line-scope{display:none}
.monitor-line.text .monitor-line-message{color:#ff9d92;padding-left:76px}
.monitor-console-empty{padding:30px 14px;color:#8a9da4;text-align:center;font-family:Inter,Segoe UI,sans-serif}
.monitor-console-empty.error{color:#ff9d92}
.monitor-console-info{padding:7px 14px;border-top:1px solid #22343c;background:#15232a;color:#8a9da4;font-size:11px}

.monitor-activity-head{display:flex;flex-wrap:wrap;align-items:center;gap:10px 16px;margin-top:26px}
.monitor-activity-head h3{margin:0;margin-right:auto;font:700 20px Georgia,serif}
.monitor-scope{display:inline-flex;flex-wrap:wrap;border:1px solid var(--line);border-radius:9px;overflow:hidden;background:#fff}
.monitor-scope button{border:0;border-radius:0;padding:8px 12px;font-size:12px;background:transparent}
.monitor-scope button+button{border-left:1px solid var(--line)}
.monitor-scope button.active{background:#e5eee9;color:var(--green)}
.monitor-scope button:disabled{opacity:.45;cursor:not-allowed}
.monitor-activity{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;margin-top:12px}
.monitor-panel{min-width:0;margin-top:16px;padding:16px;border:1px solid var(--line);border-radius:12px;background:#fff}
.monitor-activity .monitor-panel{margin-top:0}
.monitor-panel h3{display:flex;align-items:center;gap:8px;margin:0 0 12px;font-size:12px;font-weight:800;letter-spacing:.1em;text-transform:uppercase;color:#47555c}
.monitor-panel-errors h3{color:#b42318}
.monitor-count{padding:1px 8px;border-radius:999px;background:#fff1ef;color:#b42318;font-size:11px;letter-spacing:0}
.monitor-list{display:grid;gap:8px}
.monitor-empty{padding:18px 12px;border:1px dashed var(--line);border-radius:9px;color:var(--muted);font-size:13px;text-align:center}
.monitor-empty.error{color:#b42318}
.monitor-item{border:1px solid var(--line);border-left:4px solid #18794e;border-radius:9px;background:#fbfcfb}
.monitor-item.error{border-left-color:#d1453b;background:#fffaf9}
.monitor-item summary{display:grid;grid-template-columns:auto minmax(0,1fr);gap:3px 10px;padding:10px 12px;cursor:pointer;list-style:none}
.monitor-item summary::-webkit-details-marker{display:none}
.monitor-item summary time{grid-row:span 3;color:var(--muted);font-size:11px;font-variant-numeric:tabular-nums;white-space:nowrap}
.monitor-item summary strong{font-size:13px;overflow-wrap:anywhere}
.monitor-item.error summary strong{color:#b42318}
.monitor-doc-ref{font-size:12px;color:#3f4d53;overflow-wrap:anywhere}
.monitor-item-message{font-size:12px;color:#7b4a44;overflow:hidden;text-overflow:ellipsis;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow-wrap:anywhere}
.monitor-item[open] .monitor-item-message{-webkit-line-clamp:unset}
.monitor-item h4{margin:0;padding:8px 12px 0;font-size:11px;letter-spacing:.08em;text-transform:uppercase;color:var(--muted)}
.monitor-detail{display:grid;grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:6px 14px;margin:0;padding:8px 12px 12px;border-top:1px solid var(--line)}
.monitor-item h4+.monitor-detail{border-top:0}
.monitor-detail div{min-width:0}
.monitor-detail dt{font-size:10px;font-weight:800;letter-spacing:.06em;text-transform:uppercase;color:var(--muted)}
.monitor-detail dd{margin:2px 0 0;font-size:12px;overflow-wrap:anywhere;white-space:pre-wrap}
.monitor-more{margin-top:10px;width:100%;border-style:dashed;font-size:12px}
.monitor-log-errors{margin-top:12px;font-size:12px}
.monitor-log-errors summary{cursor:pointer;color:#7b4a44;font-weight:700;margin-bottom:8px}

.monitor-analyses{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:10px}
.monitor-analysis{display:grid;gap:6px;align-content:start;min-width:0;padding:12px 14px;border:1px solid var(--line);border-top:3px solid #18794e;border-radius:10px;background:#fbfcfb}
.monitor-analysis.error{border-top-color:#d1453b;background:#fffaf9}
.monitor-analysis header{display:flex;justify-content:space-between;gap:8px;font-size:11px;color:var(--muted)}
.monitor-analysis-state{font-weight:800;letter-spacing:.06em;text-transform:uppercase;color:#18794e}
.monitor-analysis.error .monitor-analysis-state{color:#b42318}
.monitor-analysis strong{font:700 16px Georgia,serif}
.monitor-analysis p{margin:0;font-size:12px;color:#3f4d53;overflow-wrap:anywhere}
.monitor-analysis-topic{justify-self:start;padding:3px 7px;border-radius:5px;background:#edf3f6;color:var(--blue);font-size:10px;font-weight:800;letter-spacing:.04em;text-transform:uppercase;overflow-wrap:anywhere}
.monitor-analysis-metrics{display:flex;flex-wrap:wrap;gap:4px 10px;font-size:11px;color:var(--muted)}
.monitor-analysis details summary{cursor:pointer;font-size:12px;font-weight:700;color:var(--green)}
.monitor-analysis .monitor-detail{padding:8px 0 0;border-top:0;grid-template-columns:repeat(auto-fill,minmax(140px,1fr))}

.monitor-table-wrap{overflow-x:auto}
.monitor-runs{width:100%;min-width:640px;border-collapse:collapse;font-size:13px}
.monitor-runs th{padding:8px 10px;border-bottom:1px solid var(--line);font-size:10px;letter-spacing:.08em;text-transform:uppercase;color:var(--muted);text-align:left}
.monitor-runs td{padding:9px 10px;border-bottom:1px solid #eef1f1;vertical-align:top}
.monitor-runs td small{display:block;color:var(--muted);font-size:11px}
.monitor-run-badge{display:inline-block;padding:2px 8px;border-radius:999px;font-size:11px;font-weight:800;background:#eef1f1;color:#53625d;white-space:nowrap}
.monitor-run-badge.success{background:#ecf7f0;color:#18794e}
.monitor-run-badge.running{background:#eef4f8;color:var(--blue)}
.monitor-run-badge.error{background:#fff1ef;color:#b42318}

@media(max-width:1100px){
  .monitor-launch{grid-template-columns:repeat(3,minmax(0,1fr))}
  .monitor-launch-checks{grid-column:1/3;display:flex;flex-wrap:wrap;gap:8px 18px}
  .monitor-cards{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media(max-width:800px){
  .monitor-page-head{align-items:flex-start}
  .monitor-launch{grid-template-columns:1fr;padding:14px}
  .monitor-launch-checks{grid-column:auto}
  .monitor-launch #runMonitorPageButton{width:100%}
  .monitor-activity{grid-template-columns:1fr}
  .monitor-console-head{align-items:flex-start;flex-direction:column}
  .monitor-console-body{height:60vh}
  .monitor-line{grid-template-columns:58px minmax(0,1fr);gap:2px 8px}
  .monitor-line-level{display:none}
  .monitor-line-scope{grid-column:2;font-size:11px}
  .monitor-line-message{grid-column:2}
  .monitor-line.text .monitor-line-message{padding-left:0}
}
@media(max-width:520px){
  .monitor-cards{grid-template-columns:1fr 1fr;gap:8px}
  .monitor-card{padding:11px}
  .monitor-card strong{font-size:18px}
  .monitor-scope{width:100%}
  .monitor-scope button{flex:1}
  .monitor-item summary{grid-template-columns:minmax(0,1fr)}
  .monitor-item summary time{grid-row:auto}
}

/* Resumen compacto de la ejecución al final de la consola. */
.monitor-summary-head{display:flex;flex-wrap:wrap;align-items:center;gap:6px 14px;font-size:13px;color:#3f4d53}
.monitor-summary-head>span:not(.monitor-run-badge)+span:not(.monitor-run-badge)::before{content:'·';margin-right:14px;color:#a3afab}
.monitor-summary-error{color:#b42318!important;font-weight:650}
.monitor-stats{display:flex;flex-wrap:wrap;gap:6px;margin:12px 0}
.monitor-stat{display:flex;align-items:baseline;gap:6px;padding:5px 10px;border:1px solid var(--line);border-radius:999px;background:#fafbf9}
.monitor-stat dt{font-size:11px;color:var(--muted)}
.monitor-stat dd{margin:0;font-weight:800;font-size:13px;font-variant-numeric:tabular-nums}
.monitor-stat.highlight{border-color:#bcd0de;background:#eef4f8}.monitor-stat.highlight dd{color:var(--blue)}
.monitor-stat.success{border-color:#c4e3d1;background:#ecf7f0}.monitor-stat.success dd{color:#18794e}
.monitor-stat.warning{border-color:#ead3a8;background:#fdf6e8}.monitor-stat.warning dd{color:#8b5f14}
.monitor-stat.error{border-color:#f0c2bc;background:#fff1ef}.monitor-stat.error dd{color:#b42318}
.monitor-cases-table{min-width:560px}
.monitor-cases-table td:nth-child(n+3),.monitor-cases-table th:nth-child(n+3){text-align:right;font-variant-numeric:tabular-nums}
