:root{color-scheme:light;--ink:#172b49;--muted:#5b6a7b;--blue:#154889;--line:#dce5ee;--bg:#f3f7fb}*{box-sizing:border-box}html{font-family:system-ui,-apple-system,Segoe UI,Arial,sans-serif;background:var(--bg);color:var(--ink)}body{margin:0;min-height:100vh}a{color:var(--blue)}.login{display:grid;place-items:center;padding:28px 15px}.login-card{width:min(100%,440px);padding:34px;background:#fff;border:1px solid var(--line);border-radius:20px;box-shadow:0 15px 40px rgba(24,54,91,.07)}.logo{display:grid;place-items:center;width:52px;height:52px;border-radius:16px;background:var(--blue);color:white;font-size:28px;font-weight:800}.logo.small{width:40px;height:40px;border-radius:12px;font-size:22px;flex-shrink:0}.kicker{font-size:.72rem;letter-spacing:.13em;font-weight:800;color:#1a5899;margin:24px 0 8px}.login-card h1,.content h1{margin:4px 0 10px;font-size:clamp(1.5rem,4vw,2rem)}.muted{color:var(--muted);line-height:1.55}.login-card label{display:block;margin:16px 0 7px;font-weight:650}.login-card input:not([type=hidden]){width:100%;border:1px solid #b9c8d9;border-radius:10px;padding:12px;font-size:1rem}.login-card input:focus-visible,button:focus-visible{outline:3px solid #82bafa;outline-offset:2px}button{border:0;border-radius:10px;padding:12px 18px;background:var(--blue);color:white;font:inherit;font-weight:700;cursor:pointer}.login-card button{margin-top:22px;width:100%}button.ghost{color:var(--ink);border:1px solid var(--line);background:white}.help{font-size:.82rem;margin-top:23px}.alert{border:1px solid var(--line);border-radius:12px;padding:15px 18px;line-height:1.55;margin:18px 0}.alert.error{background:#fff1f0;border-color:#edb5b2;color:#832322}.alert.info{background:#eaf3ff;border-color:#cbdffa}.shell{min-height:100vh;display:flex;flex-direction:column}.topbar{display:flex;justify-content:space-between;align-items:center;gap:10px;padding:16px max(18px,calc((100vw - 1100px)/2));background:white;border-bottom:1px solid var(--line)}.brand{display:flex;align-items:center;gap:12px;font-weight:800}.brand small{display:block;color:var(--muted);font-size:.75rem;font-weight:500}.content{width:min(1100px,100%);padding:28px 18px;margin:0 auto;flex:1}.summary{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;margin:26px 0}.summary>div,.panel{background:white;border:1px solid var(--line);border-radius:15px;padding:19px}.summary span{font-size:.84rem;color:var(--muted);display:block}.summary strong{display:block;margin-top:6px;font-size:1.5rem}.summary .stage{font-size:1rem;margin-top:15px}.panel h2{margin:0 0 8px}.table-wrap{max-width:100%;overflow-x:auto}table{width:100%;border-collapse:collapse;text-align:left;font-size:.92rem}th,td{padding:13px 11px;border-bottom:1px solid #e6edf3;overflow-wrap:anywhere;vertical-align:top}th{background:#f7fafd;white-space:nowrap}.pill{padding:4px 10px;border-radius:15px;background:#e9f1fb;display:inline-block;font-size:.78rem;font-weight:700}.empty{padding:20px;background:#f6f9fc;border-radius:12px;color:var(--muted)}.footer{text-align:center;padding:18px;color:var(--muted);font-size:.75rem}@media(max-width:620px){.topbar{padding:12px}.content{padding:18px 12px}.summary{gap:8px}.summary>div,.panel{padding:12px}.table-wrap{margin:0 -12px;padding:0 12px}}

/* V10.45: navegación y pantallas de cuenta sin dependencias externas */
.portal-nav{display:flex;gap:14px;flex-wrap:wrap;align-items:center;font-size:.88rem}.portal-nav a{font-weight:650}.profile-data{display:grid;grid-template-columns:minmax(95px,160px) 1fr;gap:12px;border-top:1px solid var(--line);padding-top:20px}.profile-data dt{font-weight:700;color:var(--muted)}.profile-data dd{margin:0;overflow-wrap:anywhere}.action-link{display:inline-block;border-radius:10px;padding:12px 18px;background:var(--blue);color:#fff;font-weight:700;text-decoration:none}.login-card.wide{width:min(100%,790px)}.legal{margin:18px 0}.legal-body{white-space:pre-wrap;overflow-wrap:anywhere;max-height:330px;overflow-y:auto;background:#f8fafc;border:1px solid var(--line);padding:16px;border-radius:10px}.legal label{display:block;margin-top:18px;line-height:1.6}.login-card button.ghost{background:white;color:var(--ink);border:1px solid var(--line);margin-top:14px}@media(max-width:760px){.topbar{flex-wrap:wrap}.portal-nav{order:3;width:100%}.profile-data{grid-template-columns:1fr}.profile-data dt{margin-bottom:-10px}}

/* V10.47: identidad compartida; la A original permanece detrás como respaldo. */
.portal-brand-mark{position:relative;overflow:hidden;isolation:isolate;flex-shrink:0}
.portal-brand-mark img{position:absolute;inset:0;width:100%;height:100%;object-fit:contain;background:#fff;border-radius:inherit}

/* V10.48: documentos en panel compacto, accesible y responsive. */
.expediente-item{background:#fff;border:1px solid var(--line);border-radius:13px;margin:12px 0;overflow:hidden}
.expediente-item>summary{padding:14px 16px;cursor:pointer;font-weight:750;display:flex;flex-wrap:wrap;gap:10px;justify-content:space-between;align-items:center}
.expediente-item>summary:focus-visible,.expediente-sub>summary:focus-visible{outline:3px solid #2563eb;outline-offset:-3px}
.expediente-body{padding:0 16px 16px}.expediente-form{border:1px solid var(--line);background:#f9fbff;border-radius:12px;padding:14px;margin:14px 0}
.expediente-form label{display:grid;gap:8px;font-weight:650}.expediente-form textarea{min-height:84px;width:100%;border:1px solid #aebed0;border-radius:8px;font:inherit;padding:10px}
.expediente-actions{display:flex;gap:10px;flex-wrap:wrap;margin-top:12px}.expediente-sub{border-top:1px solid var(--line);padding:10px 0}
.expediente-sub>summary{cursor:pointer;font-weight:650}.expediente-scroll{overflow:auto;max-height:260px}.expediente-log{margin:12px 0;padding:10px;background:#f5f8fc;border-radius:9px;overflow-wrap:anywhere}.expediente-log p{margin:6px 0;white-space:pre-wrap}
@media(max-width:620px){.expediente-item>summary,.expediente-body{padding:12px}.expediente-actions button{width:100%}}
@media(prefers-reduced-motion:reduce){.expediente-item,.expediente-item *{scroll-behavior:auto}}


/* V10.50 — mejoras responsive y ayuda contextual: solo presentación, sin alterar autorizaciones. */
html{overflow-x:hidden}body{overflow-wrap:break-word}button,input,textarea,select{max-width:100%}
a,button,summary{-webkit-tap-highlight-color:rgba(21,72,137,.13)}
a:focus-visible,summary:focus-visible,input:focus-visible,textarea:focus-visible,.action-link:focus-visible{outline:3px solid #2563eb;outline-offset:3px}
.topbar .brand{min-width:0}.topbar .brand span{overflow-wrap:anywhere}.topbar form{margin:0;flex-shrink:0}
.portal-nav a{display:inline-flex;align-items:center;min-height:38px;padding:5px 2px;text-underline-offset:3px}
.panel,.login-card,.expediente-body{min-width:0}.content>*,.expediente-item,.expediente-body{max-width:100%}
.expediente-item>summary>span:first-child{min-width:0;overflow-wrap:anywhere;flex:1 1 190px}
.expediente-body a{overflow-wrap:anywhere;word-break:break-word}
.expediente-form textarea{font-size:16px;line-height:1.5;resize:vertical}
.expediente-sub[open]>summary{margin-bottom:10px}.expediente-sub{min-width:0}
.expediente-next{margin:14px 0;padding:14px 16px;border-radius:12px;background:#f0f6ff;border:1px solid #cbdffa}
.expediente-next h3{font-size:1rem;margin:0 0 7px;color:var(--ink)}
.expediente-next p{margin:0 0 7px;line-height:1.5}.expediente-next p:last-child{margin-bottom:0}
.expediente-next .next-meta{font-size:.84rem;color:#314c6d}
.field-head{display:flex;align-items:center;flex-wrap:wrap;gap:6px;margin-bottom:8px}
.field-head label{font-weight:650}.field-head+.expediente-form textarea{margin-top:0}
.help-line{display:flex;align-items:center;flex-wrap:wrap;gap:7px;margin:10px 0}
.help-line strong{font-size:.95rem}
.help-popover{display:inline-block;position:relative;vertical-align:middle;flex:none}
.help-popover>summary{display:grid;place-items:center;list-style:none;cursor:pointer;width:36px;height:36px;border:1px solid #9db4d0;background:#fff;color:#154889;border-radius:50%;font-size:1.05rem;font-weight:800;user-select:none}
.help-popover>summary::-webkit-details-marker{display:none}
.help-popover>summary::marker{content:''}
.help-popover>summary:hover,.help-popover[open]>summary{background:#eaf3ff;border-color:#477eb8}
.help-popover>summary:focus-visible{outline:3px solid #2563eb;outline-offset:3px}
.help-popover-panel{position:fixed;z-index:1000;width:min(280px,calc(100vw - 24px));max-height:min(65vh,360px);overflow:auto;padding:13px 15px;border:1px solid #bdcfe2;border-radius:12px;background:#fff;color:#172b49;box-shadow:0 14px 35px rgba(21,53,92,.2);font-size:.9rem;line-height:1.55;text-align:left;font-weight:400;white-space:normal}
.help-popover-panel strong{display:block;font-size:.9rem;font-weight:750;margin-bottom:4px}
.help-popover-panel p{margin:0!important;color:#334963;font-weight:400}
.help-popover:not([open])>.help-popover-panel{display:none}
@media(max-width:760px){.topbar{padding:12px 14px;gap:8px 12px}.content{padding:18px 12px}.summary{margin:16px 0}.panel{padding:16px}.legal-body{max-height:45vh}.footer{padding:15px 12px}}
@media(max-width:560px){.topbar{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:center}.topbar .brand{flex:1 0 100%}.topbar .portal-nav{order:0;width:auto;flex:1 1 150px;gap:8px 12px}.topbar form{order:1;margin-left:auto}.topbar form button{padding:10px 12px;min-height:40px}.content{padding:16px 12px}.content h1{overflow-wrap:anywhere}.summary{gap:8px;grid-template-columns:repeat(2,minmax(0,1fr))}.summary>div,.panel{padding:12px}.summary strong{font-size:1.25rem}.summary .stage{font-size:.95rem}.expediente-item>summary{align-items:flex-start}.expediente-item>summary .pill{align-self:flex-start}.expediente-next{padding:12px}.expediente-form{padding:12px}.expediente-actions button{width:100%;min-height:44px}.expediente-scroll table{min-width:440px}.login{padding:15px 10px}.login-card{padding:22px 16px}.login-card.wide{padding:22px 16px}.profile-data{grid-template-columns:1fr;gap:8px}.profile-data dt{margin-bottom:0}.portal-project-table,.portal-project-table tbody,.portal-project-table tr,.portal-project-table td{display:block;width:100%}.portal-project-table thead{display:none}.portal-project-table tr{border:1px solid var(--line);border-radius:12px;background:#fff;margin:0 0 10px;padding:7px 12px}.portal-project-table td{display:flex;align-items:flex-start;justify-content:space-between;gap:10px;padding:9px 0;border-bottom:1px solid #eef2f7;text-align:right}.portal-project-table td:last-child{border-bottom:0}.portal-project-table td::before{content:attr(data-label);font-weight:700;color:var(--muted);text-align:left;flex:0 0 38%}.portal-project-table td>*{max-width:62%}.portal-project-table td .pill{white-space:normal}.portal-project-table td a{display:inline-flex;align-items:center;min-height:40px}.portal-project-table td{overflow-wrap:anywhere}.table-wrap{margin:0;padding:0;overflow:visible}}
@media(max-width:370px){.summary{grid-template-columns:1fr}.topbar .portal-nav{flex:1 0 100%}.topbar form{margin-left:0}.portal-project-table td::before{flex-basis:36%}}
@media(prefers-reduced-motion:reduce){html:focus-within{scroll-behavior:auto}}

/* V10.51.3 — flujo de revisión progresivo, CSP compatible y respaldo sin JavaScript. */
.sr-only{position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;white-space:nowrap!important;border:0!important}

.review-live{margin:12px 0;padding:11px 14px;border:1px solid var(--line);border-radius:10px;background:#f7fafe;color:var(--ink);font-weight:700;line-height:1.45}
.review-live[hidden]{display:none!important}
.review-live[data-kind="error"]{border-color:#efb4b4;background:#fff1f1;color:#8f1d1d}
.review-live[data-kind="ok"]{border-color:#b8d7c2;background:#f1fbf4;color:#235b35}
.review-locked{display:flex;flex-direction:column;gap:4px;margin:12px 0;padding:13px 15px;border:1px dashed #9db4d0;border-radius:11px;background:#f8fbff;color:var(--ink)}
.review-locked span{color:var(--muted);line-height:1.5}
.review-start-form{margin:14px 0}.review-start-form button{min-height:44px}
.review-decision-grid{display:flex;align-items:flex-start;gap:10px;flex-wrap:wrap;margin:14px 0}
.review-decision-grid>.review-approve-form{margin:0}
.review-decision-grid>.review-approve-form button{min-height:44px}
.observation-compose{min-width:min(100%,220px)}
.observation-compose>summary{display:inline-flex;align-items:center;justify-content:center;min-height:44px;padding:11px 17px;border:1px solid var(--line);border-radius:10px;background:#fff;color:var(--ink);font-weight:700;cursor:pointer;list-style:none;user-select:none}
.observation-compose>summary::-webkit-details-marker{display:none}.observation-compose>summary::marker{content:''}
.observation-compose>summary:hover,.observation-compose[open]>summary{border-color:#9db4d0;background:#f7fafe}
.observation-compose>summary:focus-visible{outline:3px solid #2563eb;outline-offset:3px}
.observation-compose[open]{flex:1 1 100%;order:2}
.observation-compose[open]>summary{margin-bottom:8px}
.observation-form{margin:0}.observation-form .expediente-actions{margin-top:10px}
.expediente-current-file{margin:10px 0 2px}.expediente-current-file p{margin:7px 0}
.is-review-busy{opacity:.68}.is-review-busy button,.is-review-busy textarea,.is-review-busy summary{cursor:wait!important}
@media(max-width:620px){.review-start-form button,.review-decision-grid>.review-approve-form,.review-decision-grid>.review-approve-form button,.observation-compose,.observation-compose>summary{width:100%}.review-decision-grid{display:grid;grid-template-columns:1fr;gap:10px}.observation-compose[open]{order:0}.observation-form .expediente-actions{display:grid;grid-template-columns:1fr}}
@media(prefers-reduced-motion:reduce){.expediente-item{scroll-behavior:auto}}

/* V10.52 — flujo documental bidireccional, carga del asesor y adjuntos de revisión. */
.portal-upload-panel>summary{cursor:pointer;list-style:none;padding:2px 0}.portal-upload-panel>summary::-webkit-details-marker{display:none}.portal-upload-panel>summary::marker{content:''}
.portal-upload-body{padding-top:10px}.upload-version-form{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.upload-version-form label{align-content:start}.upload-version-form button{justify-self:start;min-height:44px}
.workflow-meta{display:flex;flex-wrap:wrap;gap:8px 18px;margin:10px 0;color:var(--muted);font-size:.88rem}.workflow-meta strong{color:var(--ink)}
.review-task-row{display:flex;flex-wrap:wrap;gap:8px;margin:8px 0 12px}.task-pill{display:inline-flex;align-items:center;padding:5px 9px;border-radius:999px;background:#f2f6fb;border:1px solid var(--line);font-size:.78rem;font-weight:750}
.observation-form select,.observation-form input[type=file],.upload-version-form select,.upload-version-form input[type=text],.upload-version-form input[type=file]{width:100%;border:1px solid #aebed0;border-radius:8px;background:#fff;color:var(--ink);font:inherit;padding:10px}
.observation-form label{margin-top:10px}.observation-form label:first-of-type{margin-top:0}.review-attachments{display:flex;flex-wrap:wrap;align-items:center;gap:7px;margin:8px 0}.review-attachments a{display:inline-flex;padding:6px 9px;border:1px solid var(--line);border-radius:8px;background:#fff;font-size:.85rem}
@media(max-width:700px){.upload-version-form{grid-template-columns:1fr}.upload-version-form button{width:100%}.workflow-meta{display:grid;gap:5px}.review-task-row{display:grid;grid-template-columns:1fr}.task-pill{width:100%;justify-content:flex-start}.expediente-scroll table{min-width:680px}}

/* V10.64 · EVA MVP Portal */
.portal-project-actions{display:flex;flex-direction:column;gap:.35rem;align-items:flex-start}.eva-chat-panel{padding:0;overflow:hidden}.eva-chat-head{display:flex;align-items:flex-start;justify-content:space-between;gap:1rem;padding:1rem 1rem .8rem;border-bottom:1px solid rgba(0,0,0,.08)}.eva-chat-head h2{margin:0 0 .2rem}.eva-chat-log{min-height:320px;max-height:58vh;overflow:auto;padding:1rem;display:flex;flex-direction:column;gap:.75rem;background:rgba(0,0,0,.018)}.eva-empty{max-width:720px;margin:auto;text-align:center;padding:1.2rem}.eva-empty p{margin:.35rem 0 0}.eva-msg{max-width:min(82%,760px);padding:.7rem .85rem;border-radius:14px;box-shadow:0 1px 2px rgba(0,0,0,.05)}.eva-msg strong{display:block;font-size:.78rem;margin-bottom:.2rem;opacity:.72}.eva-msg p{margin:0;white-space:pre-wrap;overflow-wrap:anywhere}.eva-msg-user{align-self:flex-end;background:rgba(34,103,109,.11)}.eva-msg-eva{align-self:flex-start;background:#fff;border:1px solid rgba(0,0,0,.08)}.eva-chat-form{padding:1rem;border-top:1px solid rgba(0,0,0,.08)}.eva-chat-form label{display:block;font-weight:700;margin-bottom:.35rem}.eva-compose{display:flex;gap:.65rem;align-items:flex-end}.eva-compose textarea{flex:1;min-height:76px;resize:vertical}.eva-compose button{min-width:96px}.eva-chat-status{min-height:1.25rem;margin:.45rem 0 0}@media(max-width:680px){.eva-chat-head{flex-direction:column}.eva-chat-log{max-height:54vh;min-height:280px}.eva-msg{max-width:92%}.eva-compose{flex-direction:column;align-items:stretch}.eva-compose button{width:100%}}

/* V10.65 · EVA Documental */
.eva-document-picker{margin:0 0 1rem;padding:.85rem;border:1px solid var(--line);border-radius:12px;background:#f8fbff}.eva-document-picker label{display:block;font-weight:750;margin-bottom:.4rem}.eva-document-picker select{width:100%;border:1px solid #aebed0;border-radius:9px;background:#fff;color:var(--ink);font:inherit;padding:10px 12px}.eva-document-picker select:disabled{background:#eef2f6;color:#66778a}.eva-doc-note{margin:.45rem 0 0;font-size:.82rem}.eva-source{display:block;margin-top:.55rem;padding-top:.45rem;border-top:1px solid rgba(0,0,0,.08);font-size:.75rem;color:#46617f}.eva-msg-user .eva-source{display:none}@media(max-width:620px){.eva-document-picker{padding:.75rem}.eva-document-picker select{min-height:44px}}

/* V10.66 · EVA multichat y cuotas por usuario */
.eva-workspace{display:grid;grid-template-columns:minmax(230px,280px) minmax(0,1fr);gap:1rem;align-items:stretch}.eva-chat-sidebar{border:1px solid var(--line);border-radius:var(--radius);background:var(--panel);overflow:hidden;display:flex;flex-direction:column;min-height:560px}.eva-sidebar-head{display:flex;justify-content:space-between;align-items:center;gap:.6rem;padding:.9rem;border-bottom:1px solid var(--line)}.eva-sidebar-head>div{min-width:0}.eva-sidebar-head strong,.eva-sidebar-head small{display:block}.eva-sidebar-head small{color:var(--muted);font-size:.76rem;margin-top:.15rem}.eva-new-chat{padding:.55rem .7rem;white-space:nowrap}.eva-new-chat:disabled{opacity:.5;cursor:not-allowed}.eva-chat-list{display:flex;flex-direction:column;gap:.25rem;padding:.55rem;overflow:auto;max-height:430px}.eva-chat-item{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:.35rem;align-items:center;border:1px solid transparent;border-radius:11px}.eva-chat-item.is-active{background:var(--surface);border-color:var(--line)}.eva-chat-item>a{display:block;padding:.65rem .7rem;text-decoration:none;color:var(--ink);min-width:0}.eva-chat-item>a strong{display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;font-size:.88rem}.eva-chat-item>a small{display:block;color:var(--muted);font-size:.72rem;margin-top:.18rem}.eva-chat-item form{padding-right:.35rem}.eva-archive-chat{border:0;background:transparent;color:var(--muted);font-size:1.2rem;line-height:1;cursor:pointer;padding:.4rem;border-radius:8px}.eva-archive-chat:hover{background:rgba(0,0,0,.06);color:var(--ink)}.eva-usage{margin-top:auto;border-top:1px solid var(--line);padding:.8rem .9rem;background:rgba(0,0,0,.018)}.eva-usage strong,.eva-usage small{display:block}.eva-usage small{font-size:.74rem;color:var(--muted);margin-top:.22rem}.eva-model-badge{font-size:.72rem;font-weight:700;border:1px solid var(--line);border-radius:999px;padding:.35rem .55rem;color:var(--muted);white-space:nowrap}@media(max-width:900px){.eva-workspace{grid-template-columns:1fr}.eva-chat-sidebar{min-height:auto}.eva-chat-list{max-height:220px}.eva-usage{margin-top:0}.eva-chat-panel{min-height:560px}}@media(max-width:620px){.eva-sidebar-head{align-items:flex-start}.eva-new-chat{min-height:42px}.eva-chat-item>a{padding:.72rem}.eva-workspace{gap:.75rem}}

/* V10.67 · modos por rol, router y multidocumento controlado */
.eva-controls-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.75rem;margin-bottom:.85rem}.eva-controls-grid label{margin:0}.eva-controls-grid select,.eva-document-picker select{width:100%;border:1px solid #aebed0;border-radius:9px;background:#fff;color:var(--ink);font:inherit;padding:10px 12px}.eva-doc-multi{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.45rem .8rem;margin-top:.7rem;max-height:220px;overflow:auto;padding:.65rem;border:1px solid var(--line);border-radius:10px;background:#fff}.eva-doc-multi[hidden],[data-eva-doc-single][hidden]{display:none!important}.eva-doc-multi label{display:flex!important;gap:.45rem;align-items:flex-start;font-weight:500!important;margin:0!important}.eva-doc-multi input{margin-top:.2rem;flex:none}[data-eva-doc-single]{margin-top:.7rem}[data-eva-doc-single] label{margin-bottom:.35rem}.eva-chat-status{overflow-wrap:anywhere}@media(max-width:680px){.eva-controls-grid{grid-template-columns:1fr}.eva-doc-multi{grid-template-columns:1fr;max-height:260px}}

/* V10.68 · UX conversacional: EVA simple por fuera, compleja por dentro. */
.eva-page{width:min(1280px,100%);padding-top:18px}.eva-project-context{display:flex;align-items:flex-end;justify-content:space-between;gap:14px;margin-bottom:12px}.eva-project-context .kicker{margin:0 0 5px}.eva-project-context h1{font-size:clamp(1.12rem,2.2vw,1.55rem);margin:0}.eva-context-smart{display:inline-flex;align-items:center;gap:6px;white-space:nowrap;border:1px solid var(--line);background:#f4faf7;border-radius:999px;padding:7px 10px;font-size:.76rem;font-weight:750;color:#2f6650}
.eva-workspace-v1068{grid-template-columns:minmax(220px,265px) minmax(0,1fr);gap:12px}.eva-chat-panel{display:flex;flex-direction:column;min-height:min(74vh,760px);height:min(78vh,820px)}.eva-chat-head-v1068{padding:.78rem .9rem}.eva-chat-head-actions,.eva-chat-tools{display:flex;align-items:center;gap:.65rem}.eva-chat-head-v1068 h2{font-size:1rem;margin:0}.eva-chat-head-v1068 p{font-size:.78rem;margin:.12rem 0 0}.eva-icon-button{display:grid;place-items:center;min-width:38px;width:38px;height:38px;padding:0;border-radius:10px;border:1px solid var(--line);background:#fff;color:var(--ink);font-size:1.05rem;cursor:pointer}.eva-icon-button:hover{background:#f5f8fb}.eva-chats-button{display:none}.eva-chat-log{flex:1;min-height:0;max-height:none;padding:1rem .9rem}.eva-chat-form-v1068{padding:.68rem .8rem .6rem;background:#fff}.eva-compose-v1068{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:end;gap:.5rem;border:1px solid #b9c8d9;border-radius:16px;padding:.42rem;background:#fff;box-shadow:0 3px 14px rgba(30,55,90,.05)}.eva-compose-v1068:focus-within{border-color:#5d91c7;box-shadow:0 0 0 3px rgba(67,129,191,.13)}.eva-compose-v1068 textarea{border:0!important;outline:0!important;box-shadow:none!important;resize:none;min-height:44px;max-height:160px;padding:.65rem .45rem;font:inherit;line-height:1.45;background:transparent}.eva-compose-plus{display:grid;place-items:center;width:40px;height:40px;padding:0;border:0;border-radius:12px;background:#f0f5fa;color:var(--ink);font-size:1.45rem;font-weight:400}.eva-send-compact{min-width:72px;height:40px;padding:.55rem .75rem;border-radius:12px}.eva-chat-status{min-height:1rem;margin:.32rem .35rem 0;font-size:.72rem}.eva-context-selection{display:inline-flex;align-items:center;width:max-content;max-width:100%;margin:0 0 .42rem .2rem;padding:.35rem .55rem;border:1px solid #cbdffa;border-radius:999px;background:#eef6ff;color:#315b84;font-size:.72rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.eva-msg{line-height:1.48}.eva-msg.is-pending{opacity:.65}.eva-typing p{display:flex;gap:4px;align-items:center;min-height:18px}.eva-typing p span{display:block;width:6px;height:6px;border-radius:50%;background:#7c8da1;animation:eva-dot 1s infinite ease-in-out}.eva-typing p span:nth-child(2){animation-delay:.15s}.eva-typing p span:nth-child(3){animation-delay:.3s}@keyframes eva-dot{0%,60%,100%{transform:translateY(0);opacity:.45}30%{transform:translateY(-3px);opacity:1}}
.eva-mobile-close{display:none}.eva-usage-compact{margin-top:auto;border-top:1px solid var(--line)}.eva-usage-compact summary{cursor:pointer;padding:.68rem .9rem;color:var(--muted);font-size:.76rem;font-weight:700}.eva-usage-compact .eva-usage{border-top:1px solid var(--line);margin:0}
.eva-settings-backdrop,.eva-mobile-backdrop{position:fixed;inset:0;background:rgba(12,28,46,.38);z-index:1200}.eva-settings-drawer{position:fixed;z-index:1210;right:0;top:0;height:100dvh;width:min(390px,92vw);background:#fff;border-left:1px solid var(--line);box-shadow:-14px 0 38px rgba(20,40,65,.16);transform:translateX(104%);transition:transform .2s ease;display:flex;flex-direction:column}.eva-settings-drawer.is-open{transform:translateX(0)}.eva-settings-head{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:16px;border-bottom:1px solid var(--line)}.eva-settings-head strong,.eva-settings-head small{display:block}.eva-settings-head small{margin-top:3px;color:var(--muted);font-size:.78rem}.eva-settings-body{padding:16px;overflow:auto;display:grid;gap:16px}.eva-settings-body>label,.eva-settings-section>label{display:grid;gap:7px;font-weight:700}.eva-settings-body select,.eva-settings-section select{width:100%;border:1px solid #b9c8d9;border-radius:10px;background:#fff;padding:10px;font:inherit}.eva-settings-section{padding-top:14px;border-top:1px solid var(--line)}.eva-settings-section>[data-eva-doc-single]{margin-top:12px}.eva-settings-section .eva-doc-multi{grid-template-columns:1fr;margin-top:12px}.eva-settings-note{font-size:.76rem;margin:.6rem 0 0}.eva-settings-footer{margin-top:auto;padding:14px 16px;border-top:1px solid var(--line)}.eva-settings-footer button{width:100%}.eva-overlay-open{overflow:hidden}.eva-model-badge{background:#f7f9fb}
@media(max-width:900px){.eva-page{padding-top:12px}.eva-project-context{align-items:flex-start}.eva-workspace-v1068{display:block}.eva-chat-panel{height:calc(100dvh - 205px);min-height:540px}.eva-chats-button{display:grid}.eva-chat-sidebar{position:fixed;z-index:1210;left:0;top:0;height:100dvh;width:min(330px,88vw);max-width:none;border-radius:0;transform:translateX(-105%);transition:transform .2s ease;box-shadow:14px 0 38px rgba(20,40,65,.18)}.eva-chat-sidebar.is-mobile-open{transform:translateX(0)}.eva-mobile-close{display:grid;place-items:center;width:34px;height:34px;padding:0;border:1px solid var(--line);background:#fff;color:var(--ink);border-radius:9px}.eva-sidebar-head{grid-template-columns:minmax(0,1fr) auto auto}.eva-chat-list{max-height:none;flex:1}.eva-usage-compact{margin-top:0}.eva-chat-head-v1068{flex-direction:row;align-items:center}.eva-chat-head-v1068 p{display:none}}
@media(max-width:620px){.eva-page{padding:10px 8px 0}.eva-project-context{margin:2px 4px 8px;align-items:center}.eva-project-context h1{font-size:1rem}.eva-project-context .kicker{font-size:.64rem}.eva-context-smart{display:none}.eva-chat-panel{height:calc(100dvh - 166px);min-height:470px;border-radius:14px}.eva-chat-head-v1068{padding:.55rem .6rem}.eva-chat-tools{gap:.35rem}.eva-model-badge{display:none}.eva-chat-log{padding:.75rem .6rem;gap:.55rem}.eva-msg{max-width:91%;padding:.62rem .72rem;font-size:.92rem}.eva-msg strong{font-size:.7rem}.eva-chat-form-v1068{padding:.5rem}.eva-compose-v1068{gap:.32rem;border-radius:14px;padding:.3rem}.eva-compose-v1068 textarea{font-size:16px;padding:.62rem .3rem}.eva-compose-plus{width:38px;height:38px}.eva-send-compact{min-width:64px;height:38px;padding:.45rem .6rem;font-size:.84rem}.eva-chat-status{font-size:.68rem;margin-left:.25rem}.eva-settings-drawer{width:100vw;top:auto;bottom:0;height:min(82dvh,720px);border-left:0;border-top:1px solid var(--line);border-radius:18px 18px 0 0;transform:translateY(104%)}.eva-settings-drawer.is-open{transform:translateY(0)}.eva-settings-body{padding:14px}.eva-settings-head{padding:14px}.eva-settings-footer{padding:12px 14px}.footer{display:none}}
@media(prefers-reduced-motion:reduce){.eva-settings-drawer,.eva-chat-sidebar{transition:none}.eva-typing p span{animation:none}}


/* V10.68.1 · Observaciones más claras y profesionales. */
.observation-highlight{margin:.25rem 0 .65rem;padding:.8rem .9rem;border:1px solid #e5c06d;border-left:4px solid #c68a18;border-radius:10px;background:#fff8e8;color:var(--ink)}
.observation-highlight .observation-label{display:inline-flex;align-items:center;font-size:.74rem;font-weight:800;letter-spacing:.02em;text-transform:uppercase;color:#7a5208;margin-bottom:.35rem}
.observation-highlight p{margin:.2rem 0!important}.expediente-log.is-observed{background:#fff8e8;border:1px solid #ead19a;border-left:4px solid #c68a18}.expediente-log.is-observed>strong:first-child{color:#7a5208}
@media(max-width:560px){.observation-highlight{padding:.72rem .78rem}}

/* V10.68.2 · Pulido conversacional EVA: archivados, Markdown seguro y respuesta progresiva. */
.eva-archived-compact{border-top:1px solid var(--line);background:rgba(255,255,255,.55)}
.eva-archived-compact>summary{cursor:pointer;padding:.68rem .9rem;font-size:.77rem;font-weight:750;color:var(--muted);display:flex;justify-content:space-between;gap:.5rem}
.eva-archived-compact>summary span{font-weight:700;color:#526779}.eva-archived-list{padding:0 .65rem .7rem;display:grid;gap:.45rem}
.eva-archived-item{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:.45rem;align-items:center;border:1px solid var(--line);background:#fff;border-radius:10px;padding:.55rem .6rem}
.eva-archived-item strong,.eva-archived-item small{display:block}.eva-archived-item strong{font-size:.78rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.eva-archived-item small{font-size:.68rem;color:var(--muted);margin-top:.12rem}.eva-restore-chat{padding:.35rem .5rem;font-size:.7rem;border-radius:8px;background:#eef5fb;color:#1c5684;border:1px solid #cbdde9}.eva-archived-note{display:block;color:var(--muted);font-size:.68rem;padding:.15rem .1rem}.eva-archive-chat{transition:background .15s ease,color .15s ease,transform .15s ease}.eva-archive-chat:hover{transform:scale(1.06)}
.eva-msg-content{min-width:0}.eva-msg-content>p{margin:.16rem 0 .62rem;white-space:normal}.eva-msg-content>p:last-child{margin-bottom:0}.eva-msg-content h4{margin:.55rem 0 .35rem;font-size:.98rem;line-height:1.35}.eva-msg-content ul,.eva-msg-content ol{margin:.35rem 0 .7rem;padding-left:1.35rem}.eva-msg-content li{margin:.18rem 0}.eva-msg-content blockquote{margin:.5rem 0;padding:.45rem .7rem;border-left:3px solid #9bb9d4;background:#f5f9fc;border-radius:0 8px 8px 0}.eva-msg-content code{padding:.08rem .28rem;border-radius:5px;background:#eef2f6;font-size:.88em}.eva-msg-eva .eva-msg-content strong{font-size:inherit;display:inline;color:inherit}.eva-revealing{animation:eva-message-in .18s ease-out}.eva-jump-latest{position:absolute;right:1rem;bottom:92px;z-index:15;padding:.48rem .7rem;border-radius:999px;border:1px solid #bfd2e3;background:#fff;color:#245b87;box-shadow:0 5px 18px rgba(27,60,90,.15);font-size:.76rem}.eva-chat-panel{position:relative}@keyframes eva-message-in{from{opacity:.25;transform:translateY(5px)}to{opacity:1;transform:none}}
@media(max-width:620px){.eva-jump-latest{right:.7rem;bottom:82px}.eva-archived-item{grid-template-columns:1fr}.eva-restore-chat{width:100%}}
@media(prefers-reduced-motion:reduce){.eva-revealing{animation:none}.eva-archive-chat{transition:none}}

/* V10.70 · Fuentes web de EVA: enlaces visibles y clicables */
.eva-msg-content a,.eva-web-sources a{color:var(--blue);text-decoration:underline;text-underline-offset:2px;word-break:break-word}
.eva-web-sources{margin-top:.55rem;padding-top:.45rem;border-top:1px solid rgba(0,0,0,.08);font-size:.78rem;color:#46617f}
.eva-web-sources strong{display:block;margin-bottom:.2rem;font-size:.78rem}
.eva-web-sources ol{margin:0;padding-left:1.2rem}
.eva-web-sources li{margin:.15rem 0}
.eva-web-sources small{color:var(--muted)}
.eva-msg-user .eva-web-sources{display:none}
.pill-grupo{display:inline-flex;flex-wrap:wrap;gap:6px}
.expediente-propuesta{margin:12px 0;padding:12px 14px;border:1px solid #cbdffa;border-left:4px solid var(--blue);border-radius:11px;background:#f8fbff}.expediente-propuesta p{margin:.25rem 0;line-height:1.5}
.expediente-propuesta .expediente-actions,.expediente-propuesta form{margin-top:.5rem}
/* V10.78.2 · Aviso flotante (abajo a la derecha; en celular, abajo de lado a lado) y nota de la versión que usa EVA */
.aviso-flotante-capa{position:fixed;right:16px;bottom:16px;bottom:max(16px,env(safe-area-inset-bottom));z-index:1000;display:flex;flex-direction:column;align-items:flex-end;gap:8px;width:min(380px,calc(100vw - 32px));pointer-events:none}
.aviso-flotante{position:relative;pointer-events:auto;width:100%;box-sizing:border-box;padding:12px 44px 15px 15px;border:1px solid rgba(21,72,137,.22);border-left:4px solid var(--blue);border-radius:12px;background:rgba(255,255,255,.88);color:var(--ink);box-shadow:0 10px 28px rgba(23,43,73,.16);font-size:.92rem;line-height:1.45;overflow:hidden;opacity:0;transform:translateY(14px);transition:opacity .28s ease,transform .28s ease}
@supports ((-webkit-backdrop-filter:blur(8px)) or (backdrop-filter:blur(8px))){.aviso-flotante{background:rgba(255,255,255,.66);-webkit-backdrop-filter:blur(10px) saturate(1.2);backdrop-filter:blur(10px) saturate(1.2)}}
.aviso-flotante.is-visible{opacity:1;transform:none}
.aviso-flotante.is-saliendo{opacity:0;transform:translateY(10px)}
.aviso-flotante.is-error{border-color:rgba(179,38,30,.25);border-left-color:#b3261e}
.aviso-flotante p{margin:0;overflow-wrap:anywhere}
.aviso-flotante .aviso-flotante-cerrar{position:absolute;top:6px;right:6px;width:32px;height:32px;padding:0;border:0;border-radius:8px;background:transparent;color:var(--ink);font-size:1.3rem;font-weight:600;line-height:1;cursor:pointer}
.aviso-flotante .aviso-flotante-cerrar:hover{background:rgba(23,43,73,.08)}
.aviso-flotante-tiempo{position:absolute;left:0;bottom:0;width:100%;height:3px;background:var(--blue);opacity:.5;transform-origin:left center;animation-name:aviso-flotante-tiempo;animation-timing-function:linear;animation-fill-mode:forwards}
.aviso-flotante.is-error .aviso-flotante-tiempo{background:#b3261e}
.aviso-flotante.is-pausa .aviso-flotante-tiempo{animation-play-state:paused}
@keyframes aviso-flotante-tiempo{from{transform:scaleX(1)}to{transform:scaleX(0)}}
@media(max-width:560px){.aviso-flotante-capa{left:12px;right:12px;width:auto;bottom:max(12px,env(safe-area-inset-bottom));align-items:stretch}.aviso-flotante{font-size:.9rem}}
@media(prefers-reduced-motion:reduce){.aviso-flotante,.aviso-flotante.is-saliendo{transform:none;transition:opacity .15s linear}}
.nota-eva{margin:6px 0 10px;padding:8px 11px;border-radius:10px;background:#f4f7fb;border:1px dashed #b9c8d9;color:#314c6d;font-size:.86rem;line-height:1.45}
/* V10.80 · Avisos de EVA (campana y lista) y «Mi perfil» editable */
.portal-avisos-num{display:inline-flex;align-items:center;justify-content:center;min-width:20px;height:20px;margin-left:6px;padding:0 6px;border-radius:999px;background:#b3261e;color:#fff;font-size:.72rem;font-weight:800;line-height:1}
.avisos-cabecera{display:flex;flex-wrap:wrap;gap:10px;align-items:center;justify-content:space-between;margin-bottom:6px}
.avisos-cabecera h2{margin:0}
.avisos-lista{list-style:none;margin:0;padding:0;display:grid;gap:10px}
.aviso-item{display:flex;gap:12px;align-items:flex-start;justify-content:space-between;padding:12px 14px;border:1px solid var(--line);border-radius:12px;background:#fff}
.aviso-item p{margin:.15rem 0;line-height:1.45;overflow-wrap:anywhere}
.aviso-item.is-nuevo{border-left:4px solid var(--blue);background:#f6f9ff}
.aviso-item form{flex:0 0 auto}
.aviso-titulo{display:flex;align-items:center;gap:6px}
.aviso-punto{width:8px;height:8px;border-radius:50%;background:var(--blue);flex:0 0 auto}
.perfil-form input,.perfil-codigo input{width:100%;box-sizing:border-box;border:1px solid #aebed0;border-radius:8px;padding:10px;font:inherit;font-size:16px;font-weight:400}
.perfil-acciones{margin:10px 0}
.visually-hidden{position:absolute!important;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
@media(max-width:560px){.aviso-item{flex-direction:column}.aviso-item form,.aviso-item form button{width:100%}}
/* V10.81 · documentos archivados (solo consulta) */
.expediente-archivados{margin-top:16px}.expediente-archivados>summary{cursor:pointer;list-style-position:inside}.expediente-archivado{display:flex;justify-content:space-between;align-items:center;gap:12px;flex-wrap:wrap;padding:12px 0;border-top:1px solid var(--line)}.expediente-archivado>div{min-width:0;overflow-wrap:anywhere}.expediente-archivado p{margin:4px 0 0}.expediente-archivado form{margin:0}@media(max-width:620px){.expediente-archivado form,.expediente-archivado form button{width:100%}}
