:root{font-family:Inter,ui-sans-serif,system-ui,-apple-system,sans-serif;color:var(--texto);background:var(--superficie-2);--ink:#17232b;--muted:#6f7d81;--line:#d9e1df;--brand:#0f6b60;--accent:#e7b35a;--danger:#b44b43;--ok:#2f8768;--panel:#fff}*{box-sizing:border-box}body{margin:0}button,input,select,textarea{font:inherit}button{cursor:pointer;border:0}.shell{display:grid;grid-template-columns:230px 1fr;min-height:100vh}.side{background:var(--marca);color:var(--texto-3);padding:24px 16px;display:flex;flex-direction:column;gap:22px}.brand{font-size:20px;font-weight:750;letter-spacing:-.4px}.brand small{display:block;color:var(--texto-3);font-size:11px;font-weight:500;margin-top:5px}.nav{display:grid;gap:5px}.nav button{background:transparent;color:var(--marca);text-align:left;padding:11px 12px;border-radius:8px}.nav button.active,.nav button:hover{background:var(--marca);color:var(--marca-texto)}.side-footer{margin-top:auto;font-size:12px;color:var(--texto-3)}.main{padding:28px 34px;max-width:1500px;width:100%;margin:auto}.top{display:flex;justify-content:space-between;align-items:start;gap:16px;margin-bottom:22px}.eyebrow{font-size:11px;text-transform:uppercase;letter-spacing:1.2px;color:var(--brand);font-weight:750}.title{font-size:32px;margin:5px 0 4px;letter-spacing:-1px}.sub{color:var(--muted);margin:0}.actions{display:flex;gap:8px;align-items:center;flex-wrap:wrap}.btn{padding:10px 14px;border-radius:7px;background:var(--superficie-3);color:var(--ink);font-weight:650}.btn.primary{background:var(--brand);color:var(--marca-texto)}.btn.gold{background:var(--accent);color:var(--aviso)}.btn.danger{background:var(--peligro-suave);color:var(--peligro)}.btn:disabled{opacity:.45;cursor:not-allowed}.grid{display:grid;gap:16px}.grid.two{grid-template-columns:minmax(0,1.5fr) minmax(300px,.8fr)}.grid.three{grid-template-columns:repeat(3,1fr)}.panel{background:var(--panel);border:1px solid var(--line);border-radius:12px;padding:18px;box-shadow:0 4px 18px #183b3310}.panel h2,.panel h3{margin:0 0 13px;font-size:16px}.toolbar{display:flex;gap:10px;flex-wrap:wrap;margin-bottom:14px}.field{border:1px solid var(--line);background:var(--superficie);border-radius:7px;padding:9px 10px;min-width:170px}.table{width:100%;border-collapse:collapse}.table th{text-align:left;color:var(--muted);font-size:11px;text-transform:uppercase;letter-spacing:.5px;padding:9px;border-bottom:1px solid var(--line)}.table td{padding:12px 9px;border-bottom:1px solid var(--superficie-3);font-size:13px}.table tr:hover{background:var(--superficie-2)}.tag{display:inline-flex;align-items:center;border-radius:99px;padding:4px 8px;font-size:11px;font-weight:700;background:var(--superficie-3);color:var(--texto)}.tag.ok{background:var(--ok-suave);color:var(--ok)}.tag.warn{background:var(--aviso-suave);color:var(--aviso)}.tag.bad{background:var(--peligro-suave);color:var(--peligro)}.status{display:flex;align-items:center;gap:7px;font-size:12px;color:var(--muted)}.dot{width:8px;height:8px;border-radius:50%;background:var(--texto-3)}.dot.ok{background:var(--ok)}.dot.warn{background:var(--accent)}.dot.bad{background:var(--danger)}.timeline{display:grid;gap:8px}.phase{display:grid;grid-template-columns:28px 1fr auto;gap:10px;align-items:start;border:1px solid var(--line);border-radius:9px;padding:11px 12px;background:var(--superficie)}.phase.current{border-color:var(--marca);background:var(--superficie-2)}.phase.done .num{background:var(--ok);color:var(--marca-texto)}.phase.review .num{background:var(--accent);color:var(--aviso)}.phase.failed .num{background:var(--danger);color:var(--marca-texto)}.num{width:25px;height:25px;border-radius:50%;display:grid;place-items:center;background:var(--superficie-3);color:var(--texto-2);font-size:11px;font-weight:750}.phase strong{font-size:13px}.phase small{display:block;color:var(--muted);margin-top:3px}.phase-detail{grid-column:2/-1;background:var(--superficie-2);border-top:1px solid var(--line);padding:10px;margin-top:3px;white-space:pre-wrap;font-size:12px}.split{display:flex;justify-content:space-between;gap:12px;align-items:center}.hero{background:linear-gradient(120deg,var(--marca),var(--marca));color:var(--marca-texto);border-radius:14px;padding:24px;margin-bottom:16px}.hero .sub{color:var(--marca)}.metric{font-size:25px;font-weight:760;margin-top:5px}.muted{color:var(--muted)}.kv{display:grid;grid-template-columns:130px 1fr;gap:7px;font-size:13px}.kv b{color:var(--muted);font-weight:600}.email-body{white-space:pre-wrap;line-height:1.6;font-size:14px;background:var(--superficie);border:1px solid var(--line);border-radius:8px;padding:16px}.thread{display:grid;gap:10px;max-height:520px;overflow:auto}.message{padding:13px;border-radius:10px;border:1px solid var(--line);background:var(--superficie)}.message.inbound{margin-left:26px;background:var(--superficie-2)}.message.outbound{margin-right:26px}.message header{display:flex;justify-content:space-between;color:var(--muted);font-size:11px;margin-bottom:7px}.empty{padding:40px;text-align:center;color:var(--muted)}.notice{padding:10px 12px;border-radius:8px;background:var(--aviso-suave);color:var(--aviso);font-size:12px;margin-bottom:12px}.error{padding:10px 12px;border-radius:8px;background:var(--peligro-suave);color:var(--peligro);font-size:12px;margin-bottom:12px}.mode{font-size:11px;text-transform:uppercase;letter-spacing:.6px;padding:6px 8px;border-radius:6px;background:var(--superficie-3);color:var(--marca);font-weight:750}.mode.cached_demo{background:var(--aviso-suave);color:var(--aviso)}.mode.deterministic_test{background:var(--superficie-3);color:var(--texto-2)}.control-subhead{margin:18px 0 10px;font-size:13px;text-transform:uppercase;letter-spacing:.5px;color:var(--muted);font-weight:750}.control-section hr.control-divider{border:none;border-top:1px solid var(--line);margin:18px 0}.actions.preference-actions{justify-content:flex-end}.country-chips{display:flex;flex-wrap:wrap;gap:6px;margin-bottom:14px}.country-chips .tag{cursor:pointer;user-select:none}.country-chips .tag.active{background:var(--brand);color:var(--marca-texto)}.link{color:var(--brand);text-decoration:underline;cursor:pointer}.check{display:flex;gap:8px;align-items:center;margin:8px 0;font-size:13px}@media(max-width:1000px){.shell{grid-template-columns:1fr}.side{position:static}.nav{grid-template-columns:repeat(3,1fr)}.grid.two,.grid.three{grid-template-columns:1fr}.main{padding:20px}.title{font-size:26px}}
/* Ficha comercial */
.profile-open{overflow:hidden}.profile-backdrop{position:fixed;inset:0;z-index:20;background:var(--capa);display:grid;place-items:center;padding:24px}.profile-modal{width:min(1120px,100%);max-height:calc(100vh - 48px);overflow:auto;background:var(--superficie-2);border:1px solid var(--borde);border-radius:14px;box-shadow:0 18px 70px var(--capa)}.profile-head{position:sticky;top:0;z-index:1;display:flex;justify-content:space-between;align-items:start;gap:18px;padding:22px 24px;background:var(--superficie);border-bottom:1px solid var(--line)}.profile-head h2{margin:3px 0;font-size:24px}.profile-grid{display:grid;grid-template-columns:minmax(0,1.55fr) minmax(260px,.75fr);gap:16px;padding:16px}.profile-main,.profile-side{display:grid;gap:16px;align-content:start}.profile-card{background:var(--superficie);border:1px solid var(--line);border-radius:11px;padding:16px}.profile-card h3{margin:0 0 12px;font-size:15px}.profile-metrics{display:grid;grid-template-columns:repeat(4,1fr);gap:8px;margin:8px 0 14px}.profile-metrics span{background:var(--superficie-2);border-radius:8px;padding:10px;font-size:12px;color:var(--muted)}.profile-metrics b{display:block;color:var(--ink);font-size:21px}.profile-item{padding:10px 0;border-top:1px solid var(--superficie-3);font-size:13px}.profile-item:first-of-type{border-top:0}.profile-item small{display:block;color:var(--muted);margin-top:4px}.profile-body{white-space:pre-wrap;line-height:1.5;background:var(--superficie);border:1px solid var(--line);border-radius:7px;padding:10px;margin-top:8px;max-height:240px;overflow:auto}.profile-json{white-space:pre-wrap;font-size:11px;max-height:180px;overflow:auto;background:var(--superficie-2);border-radius:7px;padding:9px;margin:8px 0 0}.profile-card details summary{cursor:pointer;color:var(--brand);font-size:12px;margin-top:8px}@media(max-width:760px){.profile-backdrop{padding:0}.profile-modal{max-height:100vh;height:100vh;border-radius:0}.profile-grid{grid-template-columns:1fr;padding:10px}.profile-head{padding:16px}.profile-metrics{grid-template-columns:repeat(2,1fr)}}
:root{--profile-unknown:#788783}.profile-unknown{color:var(--profile-unknown);font-style:italic}.profile-open-thread{padding:7px 10px;font-size:12px;white-space:nowrap}
.side-footer{display:flex;flex-direction:column;align-items:stretch;gap:8px;line-height:1.2}.side-footer>.mode{align-self:flex-start}.model-label{display:flex;flex-direction:column;gap:5px;color:var(--marca);font-size:12px}.model-label .field{width:100%;min-width:0;padding:8px 10px;background:var(--superficie);color:var(--ink)}
.side-status{display:grid;grid-template-columns:10px minmax(0,1fr);align-items:center;gap:9px;width:100%;padding:10px;border:1px solid #ffffff22;border-radius:9px;background:#ffffff0b;color:var(--marca-texto);text-align:left}.side-status:hover{background:#ffffff16}.side-status-dot{width:9px;height:9px;border-radius:50%;background:var(--texto-3)}.side-status strong,.side-status small{display:block;overflow-wrap:anywhere}.side-status strong{font-size:12px}.side-status small{margin-top:3px;color:var(--texto-3);font-size:10px;font-weight:500}.side-status-ok .side-status-dot{background:var(--ok)}.side-status-warn .side-status-dot,.side-status-loading .side-status-dot{background:var(--accent)}.side-status-bad .side-status-dot{background:var(--peligro)}.side-status-unknown .side-status-dot{background:var(--texto-3)}
.config-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.config-section{margin:0}.config-section h2{margin-top:0}.config-row{display:flex;justify-content:space-between;gap:18px;align-items:flex-start;padding:11px 0;border-bottom:1px solid var(--borde)}.config-row:last-of-type{border-bottom:0}.config-row strong{display:block}.config-row small{display:block;color:var(--muted);margin-top:3px}.config-row>span{color:var(--ink);text-align:right;max-width:55%}.config-section .btn{margin-top:12px}@media(max-width:900px){.config-grid{grid-template-columns:1fr}.config-row{flex-direction:column;gap:5px}.config-row>span{text-align:left;max-width:none}}
.scout-filters{display:grid;grid-template-columns:repeat(3,minmax(160px,1fr));gap:12px;align-items:end}.scout-control{display:flex;flex-direction:column;gap:5px;color:var(--muted);font-size:12px;font-weight:650}.scout-control .field{width:100%;min-width:0}.scouting-form{margin-top:16px}.tabs{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:14px}.config-choice{margin-top:12px}@media(max-width:900px){.scout-filters{grid-template-columns:repeat(2,minmax(140px,1fr))}}@media(max-width:600px){.scout-filters{grid-template-columns:1fr}.tabs{gap:6px}.tabs .btn{width:100%}}
[data-mode]{display:none!important}.side-footer .mode,.side-footer .model-label{display:none!important}
.main{margin:0 auto;align-self:start}
@media(max-width:620px){.side{padding:18px 14px;gap:16px}.nav{grid-template-columns:repeat(2,minmax(0,1fr));gap:6px}.nav button{min-width:0;padding:10px;font-size:13px}}
.nav-badge{display:inline-flex;align-items:center;justify-content:center;min-width:20px;height:20px;padding:0 6px;margin-left:8px;border-radius:99px;background:var(--accent);color:var(--aviso);font-size:11px;font-weight:800;line-height:1;vertical-align:1px}.nav-badge[hidden]{display:none}
.control-main{margin:0;max-width:none;align-self:start}.control-page{display:grid;gap:18px;width:100%;max-width:1400px;margin:0 auto}.control-header{display:flex;justify-content:space-between;align-items:flex-start;gap:20px;margin:0}.control-tabs{display:flex;gap:10px;flex-wrap:wrap;margin:0}.control-tabs .btn{min-width:112px}.control-section{padding:22px;margin:0}.control-section h2{font-size:17px;margin-bottom:16px}.control-row-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px}.control-row-grid>div{display:grid;align-content:start;gap:8px;min-height:92px;padding:16px;background:var(--superficie-2);border-radius:10px;overflow-wrap:anywhere}.control-row-grid>div>strong:not(.tag){font-size:16px;font-weight:650}.control-label{display:block;color:var(--muted);font-size:12px;font-weight:650}.control-services{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:12px}.control-service{display:flex;align-items:center;gap:10px;min-height:76px;padding:14px;background:var(--superficie-2);border-radius:10px}.control-service .dot{flex:0 0 auto}.control-service strong,.control-service small{display:block}.control-service small{margin-top:3px;color:var(--muted)}.control-metrics{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}.control-metric{display:grid;align-content:start;gap:7px;min-height:102px;padding:17px;background:var(--superficie-2);border-radius:10px}.control-metric strong{display:block;font-size:22px;overflow-wrap:anywhere}.control-metric small{color:var(--muted);line-height:1.35}.control-loading{display:flex;align-items:center;justify-content:center;gap:14px;min-height:180px}.control-loading p{margin:5px 0 0}.control-spinner{width:24px;height:24px;border:3px solid var(--borde);border-top-color:var(--brand);border-radius:50%;animation:control-spin .8s linear infinite}@keyframes control-spin{to{transform:rotate(360deg)}}.control-message{display:flex;justify-content:space-between;align-items:center;gap:16px;margin:0}.preferences-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px 28px}.preference-field{display:grid;gap:7px;min-width:0;color:var(--ink);font-size:13px;font-weight:650}.preference-field .field{width:100%;min-width:0}.preference-toggles{display:flex;gap:24px;flex-wrap:wrap;padding:18px 0 4px}.preference-toggles .check-row{margin:0}.preference-actions{padding-top:14px;border-top:1px solid var(--line);margin-top:14px}.system-actions{margin-top:18px;padding-top:18px;border-top:1px solid var(--line)}.control-inline-notice{margin:16px 0 0}.control-danger-section{display:grid;gap:18px}.control-danger-section h2{margin-bottom:5px}.control-danger-section p{margin:0}.emergency-grid{display:grid;grid-template-columns:minmax(0,1.5fr) minmax(240px,.7fr);gap:16px}.emergency-actions{display:flex;justify-content:space-between;align-items:center;gap:16px}.emergency-actions .check-row{margin:0}.table-scroll{max-width:100%;overflow:auto}.control-history{min-width:1100px}.control-history td{vertical-align:top;max-width:220px;overflow-wrap:anywhere}.internal-gate{max-width:560px;display:grid;gap:14px}.check-row{display:flex;align-items:center;gap:8px;margin:12px 0;color:var(--muted)}@media(max-width:1100px){.control-services{grid-template-columns:repeat(3,minmax(0,1fr))}}@media(max-width:900px){.control-row-grid,.control-metrics{grid-template-columns:repeat(2,minmax(0,1fr))}.preferences-grid{grid-template-columns:1fr}.emergency-grid{grid-template-columns:1fr}}@media(max-width:620px){.control-main{padding:18px 14px}.control-header{display:grid}.control-header .btn{width:max-content}.control-tabs{display:grid;grid-template-columns:repeat(2,minmax(0,1fr))}.control-tabs .btn{min-width:0}.control-row-grid,.control-metrics,.control-services{grid-template-columns:1fr}.emergency-actions{align-items:flex-start;flex-direction:column}.preference-actions .btn,.system-actions .btn{width:100%}}
/* AK Scout independiente */
.scout-launch,.scout-pilot-card{display:grid;gap:18px}.scout-launch label,.scout-pilot-card label{display:grid;gap:6px;color:var(--muted);font-size:13px;font-weight:650}.scout-pilot-summary{display:flex;flex-wrap:wrap;gap:10px 22px;padding:12px;background:var(--superficie-2);border-radius:9px;color:var(--muted);font-size:13px}.scout-fieldset{display:grid;gap:9px}.scout-check-grid{display:grid;grid-template-columns:repeat(4,minmax(150px,1fr));gap:8px}.scout-check{display:flex!important;grid-template-columns:auto 1fr!important;align-items:center;gap:8px!important;padding:9px 10px;background:var(--superficie-2);border:1px solid var(--borde);border-radius:8px;color:var(--ink)!important;font-weight:500!important}.scout-check input{margin:0}.scout-limit{max-width:220px}.scout-advanced{border:1px solid var(--line);border-radius:10px;padding:14px}.scout-advanced summary{cursor:pointer;font-weight:700}.scout-advanced[open] summary{margin-bottom:16px}.scout-limits{display:flex;flex-wrap:wrap;gap:10px 22px;padding:12px;background:var(--superficie-2);border-radius:9px;color:var(--muted);font-size:12px}.scout-progress{margin-top:18px}.scout-stage-list{display:grid;gap:8px}.scout-stage{display:grid;grid-template-columns:auto minmax(160px,1fr) auto;gap:10px;align-items:center;padding:10px;border-bottom:1px solid var(--superficie-3);font-size:12px}.scout-stage>span:last-child{grid-column:2/-1;color:var(--danger)}.scout-run-list{display:grid;gap:8px}.scout-run-card{display:grid;grid-template-columns:minmax(260px,1.6fr) auto minmax(140px,.6fr) minmax(130px,.5fr);gap:14px;align-items:center;width:100%;padding:12px;background:var(--superficie-2);border:1px solid var(--line);border-radius:9px;text-align:left}.scout-run-card:hover{border-color:var(--marca)}.scout-run-card span:first-child{display:grid;gap:4px}.scout-run-card small{color:var(--muted)}.table-wrap{overflow:auto}.alert{padding:12px 14px;margin-bottom:14px;border-radius:8px}.alert.bad{background:var(--peligro-suave);color:var(--peligro)}@media(max-width:900px){.scout-check-grid{grid-template-columns:repeat(2,minmax(140px,1fr))}.scout-run-card{grid-template-columns:1fr auto}.scout-run-card span:nth-child(n+3){grid-column:1/-1}.scout-stage{grid-template-columns:auto 1fr}}@media(max-width:560px){.scout-check-grid{grid-template-columns:1fr}.scout-run-card{grid-template-columns:1fr}.scout-stage{grid-template-columns:1fr}.scout-stage>span:last-child{grid-column:auto}}
/* Informe de candidata legible */
.identity-config-page{display:grid;gap:16px;max-width:1180px}.identity-grid .identity-wide{grid-column:1/-1}.identity-grid textarea.field{min-height:78px;resize:vertical}@media(max-width:900px){.identity-grid .identity-wide{grid-column:auto}}
.report-fields{display:grid;gap:9px;margin-top:10px}.report-fields>div{display:grid;grid-template-columns:minmax(150px,.7fr) minmax(0,1.5fr);gap:12px;padding:8px 0;border-top:1px solid var(--superficie-3)}.report-fields>div:first-child{border-top:0}.report-fields b{color:var(--muted);font-size:12px}.report-fields span,.report-fields ul{margin:0;font-size:13px;line-height:1.45}.report-fields ul{padding-left:20px}.profile-unknown{color:var(--muted);font-style:italic}@media(max-width:560px){.report-fields>div{grid-template-columns:1fr;gap:3px}}

/* Scouting V1 en dos niveles */
/* AK Scout: formulario compacto y legible */
.scout-pilot-card .btn.is-saving{background:var(--texto-3);color:var(--marca-texto);cursor:wait;position:relative;box-shadow:inset 0 2px 5px rgba(20,55,49,.22);animation:scout-save-pulse 1.15s ease-in-out infinite}
@keyframes scout-save-pulse{0%,100%{filter:saturate(.75);opacity:.78}50%{filter:saturate(.35);opacity:.58}}
.scout-launch,.scout-pilot-card{width:100%;max-width:none;margin-left:0;margin-right:0;gap:14px}
.scout-main-fields{display:grid;grid-template-columns:minmax(240px,.75fr) minmax(0,1.25fr);gap:14px;align-items:start}
.scout-main-fields label{display:grid;gap:6px;color:var(--muted);font-size:13px;font-weight:650}
.scout-main-fields .scout-query{grid-column:2}
.scout-main-fields .scout-query textarea{min-height:74px;resize:vertical}
.scout-fieldset>label{max-width:360px}
.scout-country-actions{gap:8px;margin-top:10px}
.scout-country-count{font-size:12px;margin-left:auto}
.scout-launch>label>.field{max-width:620px}
@media(max-width:900px){.scout-main-fields{grid-template-columns:1fr}.scout-main-fields .scout-query{grid-column:auto}.scout-country-count{margin-left:0}}
@media(max-width:560px){.scout-launch,.scout-pilot-card{padding:14px}.scout-country-actions{align-items:flex-start;flex-direction:column}.scout-country-count{margin-top:2px}}
.scout-result-summary{display:grid;gap:14px;margin-top:18px;padding-top:18px;border-top:1px solid var(--line)}
.scout-filters{display:grid;grid-template-columns:repeat(4,minmax(150px,1fr));gap:14px;align-items:end}.scout-control{display:flex;flex-direction:column;gap:6px}.scout-control span{font-size:.82rem;color:var(--texto-2)}.scout-actions{display:flex;flex-wrap:wrap;gap:8px}.two-backdrop{position:fixed;inset:0;background:var(--capa);z-index:1000;display:flex;align-items:flex-start;justify-content:center;padding:32px;overflow:auto}.two-modal{width:min(1120px,100%);background:var(--superficie);border-radius:14px;padding:24px;box-shadow:0 16px 60px rgba(0,0,0,.22)}.two-grid{display:grid;grid-template-columns:minmax(0,1.5fr) minmax(260px,.8fr);gap:18px}.two-report{border:1px solid var(--borde);border-radius:10px;padding:16px;margin-top:12px}.two-report pre{max-height:340px;overflow:auto;white-space:pre-wrap;background:var(--superficie-2);padding:12px;border-radius:8px}.two-report-editor{width:100%;min-height:280px;font-family:ui-monospace,monospace}.profile-open{overflow:hidden}@media(max-width:900px){.scout-filters{grid-template-columns:repeat(2,minmax(140px,1fr))}.two-grid{grid-template-columns:1fr}.two-backdrop{padding:12px}}@media(max-width:560px){.scout-filters{grid-template-columns:1fr}}
/* Ficha única y revisión Master */
.unified-profile .profile-card{box-shadow:none}.profile-edit-form{padding:16px;display:grid;gap:16px}.profile-edit-form h3{margin:0}.profile-edit-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px 16px}.profile-edit-field{display:grid;gap:6px;font-size:13px;font-weight:650}.profile-edit-field .field{width:100%;min-width:0}.profile-edit-field textarea{min-height:88px;resize:vertical}.profile-master-action{margin-top:10px}.profile-master-list{display:grid;gap:10px}.profile-master-list .profile-item{padding:11px;border:1px solid var(--borde);border-radius:8px;background:var(--superficie)}.profile-master-list .actions{margin-top:8px}.profile-readonly-note{font-size:12px;color:var(--muted);margin-top:8px}.control-master-row{display:grid;grid-template-columns:minmax(160px,.7fr) minmax(0,1.5fr) auto;gap:14px;align-items:start;padding:14px 0;border-top:1px solid var(--superficie-3)}.control-master-row:first-of-type{border-top:0}.control-master-row p{margin:5px 0;color:var(--muted);font-size:13px;line-height:1.45}.control-master-meta{font-size:12px;color:var(--muted)}
.sending-mode-toggle{display:flex;gap:6px;align-items:center;flex-shrink:0}
.mode-pill{padding:6px 14px;border-radius:999px;border:1px solid var(--border,var(--borde));background:transparent;cursor:pointer;font-size:13px}
.mode-pill.active.ok{background:var(--ok-suave);border-color:var(--ok);color:var(--ok);font-weight:600}
.mode-pill.active.warn{background:var(--aviso-suave);border-color:var(--aviso);color:var(--aviso);font-weight:600}
.sending-mode-box{display:flex;flex-direction:column;align-items:flex-end;gap:6px;flex-shrink:0}
.sending-mode-seg{display:inline-flex;border:1px solid var(--border,var(--borde));border-radius:999px;padding:3px;background:var(--panel,var(--superficie))}
.mode-seg{padding:6px 14px;border:0;border-radius:999px;background:transparent;cursor:pointer;font-size:13px;color:inherit;white-space:nowrap}
.mode-seg:hover:not(.active){background:#0000000a}
.mode-seg.active.ok{background:var(--ok-suave);color:var(--ok);font-weight:600}
.mode-seg.active.warn{background:var(--aviso-suave);color:var(--aviso);font-weight:600}
.sending-mode-estado{font-size:12px;color:var(--muted,var(--texto-2))}
@media (max-width:760px){.sending-mode-box{align-items:stretch}.sending-mode-seg{flex-wrap:wrap;border-radius:12px}}
.mail-shell{display:flex;border:1px solid var(--line);border-radius:12px;background:var(--panel);overflow:hidden;min-height:600px}
.mail-list-col{width:300px;flex:none;border-right:1px solid var(--line);display:flex;flex-direction:column}
.mail-list-tools{padding:10px;border-bottom:1px solid var(--line);display:grid;gap:8px}
.mail-list-tools .field{width:100%;min-width:0}
.mail-rows{overflow:auto;flex:1}
.mail-row{display:flex;gap:10px;padding:10px 12px;border-bottom:1px solid var(--superficie-3);cursor:pointer}
.mail-row:hover{background:var(--superficie-2)}
.mail-row.active{background:var(--info-suave)}
.mail-row.muted-row{opacity:.6}
.mail-avatar{width:32px;height:32px;border-radius:50%;flex:none;display:flex;align-items:center;justify-content:center;font-size:12px;font-weight:700;background:var(--superficie-3);color:var(--texto)}
.mail-avatar.bad{background:var(--peligro-suave);color:var(--peligro)}
/* minmax(0,1fr): con la columna implícita (auto), un nombre largo sin cortar ensanchaba
   la fila y empujaba «hace 3 d» fuera por la derecha. Así el nombre se recorta con «…». */
.mail-row-body{min-width:0;flex:1;display:grid;grid-template-columns:minmax(0,1fr);gap:2px}
.mail-row-top{display:flex;justify-content:space-between;gap:8px;font-size:13px;font-weight:650}
.mail-row-top span:first-child{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.mail-row-time{font-weight:400;color:var(--muted);font-size:11px;flex:none}
.mail-row-snippet{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:12px;color:var(--muted)}
.mail-reading{flex:1;display:flex;flex-direction:column;min-width:0}
.mail-reading-header{display:flex;justify-content:space-between;align-items:flex-start;gap:12px;padding:14px 18px;border-bottom:1px solid var(--line)}
.mail-icon-actions{display:flex;gap:8px;align-items:center}
.mail-banner{padding:8px 18px;font-size:12px;display:flex;gap:8px;align-items:center;flex-wrap:wrap;border-bottom:1px solid var(--line)}
.mail-banner.bad{background:var(--peligro-suave);color:var(--peligro)}
.mail-banner.info{background:var(--info-suave);color:var(--info)}
.mail-thread-wrap{flex:1;overflow:auto;padding:16px 18px;display:grid;grid-template-columns:minmax(0,1fr);gap:10px;align-content:start}
.mail-compose{border-top:1px solid var(--line);padding:12px 18px}
.message.draft{border-style:dashed;background:var(--aviso-suave)}
.draft-actions{display:flex;justify-content:space-between;align-items:center;margin-top:10px;padding-top:8px;border-top:1px dashed var(--line);font-size:12px}
/* Candidatas: cinco filtros en una fila (Empresa, País, Búsqueda origen, Competidores, Estado). */
.scout-filters.cinco{grid-template-columns:minmax(150px,1.3fr) repeat(4,minmax(110px,1fr));gap:10px}
@media(max-width:1000px){.scout-filters.cinco{grid-template-columns:repeat(3,minmax(120px,1fr))}}
@media(max-width:640px){.scout-filters.cinco{grid-template-columns:1fr}}
/* Estado del sistema bajo el nombre (antes al pie del menu lateral). */
.side-status-top{margin:0 0 18px}
/* Biblioteca de la competencia (pestaña Competidores). */
.lib-resumen{display:flex;gap:14px;flex-wrap:wrap;font-size:13px}
.lib-hechos{margin:12px 0 6px;padding-left:18px;font-size:13px;line-height:1.6}
.lib-quien{margin-top:10px}.lib-quien summary{cursor:pointer;display:inline}
.lib-datos{font-size:12px}.lib-dato{display:inline-block;margin:0 10px 2px 0;white-space:nowrap}.lib-dato small{color:var(--muted)}
.message-adjuntos{display:flex;flex-wrap:wrap;align-items:center;gap:6px;margin-top:12px}
.adjunto{display:inline-flex;align-items:center;gap:6px;padding:3px 8px;border:1px solid var(--line);border-radius:6px;background:var(--superficie);font-size:12px;max-width:100%;overflow-wrap:anywhere}
.adjunto small{color:var(--muted)}
.adjunto .link{padding:0 2px;font-size:14px;line-height:1;text-decoration:none}
.adjunto-aviso{color:var(--aviso);font-size:11px}
.adjuntar-panel{display:flex;flex-wrap:wrap;align-items:center;gap:8px;margin-top:8px;font-size:12px}
.adjuntar-panel .field{min-width:0;flex:1 1 180px;max-width:320px;padding:5px 8px;font-size:12px}
.adjuntar-panel select#cv-attach-lang{flex:0 1 160px}
.message-cuerpo{white-space:pre-wrap;overflow-wrap:anywhere}
.message-cuerpo a,.message-pie a{color:var(--marca)}
.message-pie{margin-top:16px;padding-top:10px;border-top:1px solid var(--line);font-size:11px;line-height:1.55;color:var(--muted);white-space:pre-wrap}
.message-pie a{color:inherit}
.message-citado{margin-top:12px;font-size:12px;color:var(--muted)}
.message-citado summary{cursor:pointer;font-size:12px}
.message-citado .message-cuerpo{margin-top:8px;padding-left:10px;border-left:2px solid var(--line)}
.message.editing{background:var(--superficie)}
.message-edit{display:block;width:100%;min-height:160px;resize:vertical;font:inherit;line-height:1.5;overflow:hidden}
.message-badges{display:flex;gap:5px;flex-shrink:0}
.edit-draft{border-top:1px solid var(--line);padding:12px 18px}
@media(max-width:900px){.mail-shell{flex-direction:column}.mail-list-col{width:100%;border-right:0;border-bottom:1px solid var(--line);max-height:280px}}@media(max-width:760px){.profile-edit-grid{grid-template-columns:1fr}.control-master-row{grid-template-columns:1fr}.control-master-row .btn{width:max-content}}
.two-modal form{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;margin-top:14px}.two-modal form label{display:grid;gap:6px;color:var(--muted);font-size:13px;font-weight:650}.two-modal form label:nth-last-of-type(-n+2),.two-modal form .actions,.two-modal form [data-ak-competitor-form-error]{grid-column:1/-1}.two-modal form input,.two-modal form textarea{width:100%;min-width:0}.two-modal form textarea{resize:vertical}@media(max-width:700px){.two-modal form{grid-template-columns:1fr}.two-modal form label:nth-last-of-type(-n+2),.two-modal form .actions,.two-modal form [data-ak-competitor-form-error]{grid-column:auto}}
.two-modal form.product-edit-form{display:block;margin-top:0}.product-edit-form h3{margin:20px 0 12px;font-size:15px}.product-edit-form h3:first-child{margin-top:0}.product-edit-form .dim-group{margin-bottom:6px}.product-edit-form .dim-row{display:grid;grid-template-columns:1fr 1fr auto;gap:8px;align-items:center;margin-bottom:8px}.product-edit-form .dim-row .link{white-space:nowrap}.product-edit-form .actions{margin-top:16px}
/* El modelo se administra exclusivamente en Panel de control > IA y APIs. */
section.config-section:has(#config-ai-model) { display: none !important; }
.ai-routing-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;align-items:start;margin-top:14px}
.ai-phase{margin-top:14px;border:1px solid var(--line);border-radius:10px;padding:14px;background:var(--superficie)}
.ai-phase>summary{cursor:pointer;font-size:16px;font-weight:750;color:var(--ink);list-style-position:inside}
.ai-phase .ai-routing-grid{margin-top:12px}
.ai-route-card{background:var(--superficie);border:1px solid var(--borde);border-radius:8px;padding:12px;align-content:start}
.ai-route-card>span{font-weight:750;min-height:32px;display:flex;align-items:center}
.ai-route-card .field{min-width:0}
.ai-phase-heading{display:none}
.ai-experimental-toggle{margin:12px 0 0}
@media(max-width:1050px){.ai-routing-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:680px){.ai-routing-grid{grid-template-columns:1fr}.ai-route-card>span{min-height:0}}

/* Plantilla de correo (Panel de control): formulario a la izquierda, correo montado a
   la derecha. La vista previa se queda pegada al hacer scroll porque su razon de ser es
   mirarla MIENTRAS se edita; si se fuera hacia arriba con el scroll, habria que
   recordar de memoria lo que se estaba comparando. */
.plantilla-layout{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(340px,.85fr);gap:18px;align-items:start}
.plantilla-form{display:grid;gap:18px;min-width:0}
.plantilla-preview{position:sticky;top:18px;min-width:0}
.preference-field textarea.field{min-height:110px;resize:vertical;line-height:1.5}
.preference-field small{font-weight:500;color:var(--muted);font-size:12px}
.plantilla-previa{border:1px solid var(--line);border-radius:10px;overflow:hidden;background:var(--superficie)}
.plantilla-previa-asunto{padding:12px 14px;background:var(--superficie-2);border-bottom:1px solid var(--line);font-weight:700;font-size:13px;overflow-wrap:anywhere}
.plantilla-previa-cuerpo{margin:0;padding:16px;white-space:pre-wrap;overflow-wrap:anywhere;font:inherit;font-size:13px;line-height:1.6;max-height:60vh;overflow:auto}
.plantilla-preview .notice ul{margin:6px 0 0;padding-left:18px}
.plantilla-preview .notice li{margin-top:4px}
@media(max-width:1100px){.plantilla-layout{grid-template-columns:1fr}.plantilla-preview{position:static}}
.plantilla-previa-html{display:block;width:100%;height:min(52vh,460px);border:0;background:var(--superficie)}
.plantilla-previa-texto{margin-top:10px;border:1px solid var(--line);border-radius:8px;background:var(--superficie)}
.plantilla-previa-texto summary{cursor:pointer;padding:9px 12px;color:var(--brand);font-size:12px;font-weight:650}
.plantilla-previa-texto .plantilla-previa-cuerpo{border-top:1px solid var(--line);max-height:34vh}

/* Dictamen del Auditor dentro del aviso de "necesita atención": los cambios que
   pide van como lista, no como una frase con comas. Es lo que el comercial tiene
   que leer y corregir, y suelen ser dos o tres frases largas. */
.mail-banner-puntos { margin: 6px 0 0; padding-left: 18px; display: flex; flex-direction: column; gap: 4px; }
.mail-banner-puntos li { font-weight: 400; line-height: 1.45; }

/* El dictamen del Auditor es una nota AL MARGEN del correo, no parte de él.
   Dentro de la caja del mensaje parecía cuerpo del correo -- es decir, algo que
   el distribuidor iba a recibir. Fuera, alineado a la derecha y en letra
   pequeña, se lee como lo que es: una anotación interna sobre ese borrador. */
.message-bloque { display: flex; flex-direction: column; align-items: stretch; }
.message-dictamen {
  align-self: flex-end;
  max-width: 82%;
  margin: 4px 0 14px;
  font-size: 12px;
  text-align: right;
}
/* El sobre lleva 26px de margen (.message.outbound/.inbound). La nota se alinea
   con SU borde, no con el del contenedor, o queda sobresaliendo por la derecha. */
.message-bloque.outbound .message-dictamen { margin-right: 26px; }
.message-bloque.inbound .message-dictamen { margin-left: 26px; }
.message-dictamen summary {
  cursor: pointer;
  color: var(--texto-2);
  display: inline-block;
  padding: 2px 0;
}
.message-dictamen summary:hover { color: var(--texto); text-decoration: underline; }
.message-dictamen details[open] summary { margin-bottom: 4px; }
.message-dictamen ul {
  text-align: left;
  background: var(--superficie-2);
  border: 1px solid var(--borde);
  border-left: 3px solid var(--borde);
  border-radius: 3px;
  padding: 8px 10px 8px 26px;
  margin: 0;
  color: var(--texto);
}
.message-dictamen .dictamen-pie {
  text-align: left;
  margin: 5px 0 0;
  font-size: 11px;
  font-style: italic;
  color: var(--texto-3);
}

/* Cabecera de la ficha: eran ocho botones seguidos, todos del mismo peso, y con
   los dos destructivos en rojo relleno gritando mas que la accion principal.
   Ahora van en dos grupos separados por una linea: primero lo que se hace a
   diario, despues lo que no tiene vuelta atras. */
.profile-actions { display: flex; flex-wrap: wrap; align-items: center; gap: 8px; justify-content: flex-end; }
.profile-actions-grupo { display: flex; flex-wrap: wrap; gap: 8px; }
.profile-actions-sep { width: 1px; align-self: stretch; min-height: 26px; background: var(--line); margin: 0 2px; }

/* Destructivos: rojos, pero de contorno. Deben verse, no llamar. */
.btn.sutil-danger { background: transparent; color: var(--peligro); border: 1px solid var(--borde); font-weight: 600; }
.btn.sutil-danger:hover { background: var(--peligro-suave); border-color: var(--peligro); }

/* El cierre se ancla a la esquina de la cabecera, no al final de la fila de
   acciones: ahi se quedaba solo en una tercera linea al envolver. */
.profile-head { position: relative; }
.profile-head > div:last-of-type { padding-right: 34px; }
.profile-cerrar {
  position: absolute; top: 14px; right: 14px;
  background: transparent; color: var(--muted); font-size: 16px; line-height: 1;
  padding: 6px 9px; border-radius: 7px;
}
.profile-cerrar:hover { background: var(--superficie-3); color: var(--ink); }

@media (max-width: 760px) {
  .profile-actions { justify-content: flex-start; }
  .profile-actions-sep { display: none; }
}

/* El aviso del Auditor pasa a dos alturas: el dictamen arriba, las acciones
   debajo. En una sola fila los botones colgaban al final de dos o tres frases
   largas -- no se leia el texto ni se encontraban las acciones. */
.mail-banner.bad { display: block; padding: 12px 18px 14px; }
.mail-banner-texto { display: block; }
.mail-banner-acciones { display: flex; flex-wrap: wrap; gap: 8px; margin-top: 12px; }
.mail-banner-acciones .btn { font-size: 13px; padding: 8px 13px; }

/* Reglas de redacción: lo que el redactor puede y no puede decir. Tres listas
   -- propuestas, activas, descartadas -- porque "descartada" es una decisión
   guardada, no la ausencia de una regla. */
.regla-explica { background: var(--superficie-2); border-color: var(--borde); }
.regla-explica p { margin: 0 0 8px; font-size: 13px; line-height: 1.55; }
.regla-explica p:last-child { margin-bottom: 0; }
.regla-bloque { margin-top: 14px; }
.regla-ayuda { font-size: 12px; margin: -6px 0 12px; }
.regla {
  display: grid; grid-template-columns: 1fr auto;
  grid-template-areas: "texto acciones" "apoyo acciones" "meta acciones";
  gap: 2px 14px; align-items: center;
  padding: 11px 0; border-top: 1px solid var(--superficie-3);
}
.regla-apoyo { grid-area: apoyo; font-size: 12px; color: var(--texto); font-style: italic; }
.regla-apoyo-campo { width: 100%; margin-top: 8px; }
.regla-nota { margin-top: 8px; margin-bottom: 0; }
.regla:first-of-type { border-top: 0; }
.regla-texto { grid-area: texto; font-size: 13.5px; line-height: 1.45; }
.regla-meta { grid-area: meta; font-size: 11.5px; color: var(--muted); }
.regla-acciones { grid-area: acciones; display: flex; gap: 6px; }
.regla-acciones .btn { padding: 6px 11px; font-size: 12px; }
.regla-nueva { display: flex; gap: 8px; flex-wrap: wrap; }
.regla-nueva #regla-tipo { min-width: 168px; flex: 0 0 auto; }
.regla-nueva .field { flex: 1; }
@media (max-width: 700px) {
  .regla { grid-template-columns: 1fr; grid-template-areas: "texto" "apoyo" "meta" "acciones"; gap: 4px; }
  .regla-acciones { margin-top: 6px; }
}

/* Enviar sin el visto bueno del Auditor. Ni verde (no esta aprobado) ni rojo (no
   es un error ni una destruccion): ambar, que es lo que es -- se puede hacer, con
   la vista puesta. El boton nunca se deja muerto: la decision es de la persona. */
.btn.warn { background: var(--aviso-suave); color: var(--aviso); border: 1px solid var(--accent); font-weight: 650; }
.btn.warn:hover { background: var(--accent); border-color: var(--accent); }

/* Editor visual de la firma (firma-editor.js) */
.firma-editor { display: grid; gap: 6px; }
.firma-imagen-barra[hidden] { display: none; }
.firma-barra, .firma-imagen-barra { display: flex; flex-wrap: wrap; gap: 6px; align-items: center; font-size: 12px; }
.firma-barra .btn, .firma-imagen-barra .btn { padding: 4px 10px; font-size: 12px; min-height: 0; }
.firma-tam { width: auto; padding: 4px 8px; font-size: 12px; }
.firma-color { display: inline-flex; gap: 4px; align-items: center; }
.firma-color input { width: 28px; height: 24px; padding: 0; border: 1px solid var(--line); border-radius: 4px; background: none; }
.firma-area { min-height: 110px; padding: 12px; background: var(--superficie); color: var(--texto); font-family: Arial, Helvetica, sans-serif;
  font-size: 14px; line-height: 1.5; overflow-wrap: anywhere; cursor: text; }
.firma-area:empty::before { content: attr(data-placeholder); color: var(--texto-3); }
.firma-area img { max-width: 100%; height: auto; }
.firma-area .firma-img-activa { outline: 2px solid var(--marca); outline-offset: 2px; }
.firma-aviso { font-size: 12px; min-height: 0; }
.firma-aviso-error { color: var(--peligro); }
.firma-general { border: 1px dashed var(--line); border-radius: 8px; padding: 10px 12px; background: var(--superficie); color: var(--texto);
  font-family: Arial, Helvetica, sans-serif; font-size: 13px; }
.firma-general img { max-width: 100%; height: auto; }

/* Importador de clientes: mapeo agrupado */
.di-grupo { border: 1px solid var(--line); border-radius: 10px; padding: 10px 14px 14px; margin: 10px 0 0; }
.di-grupo legend { font-weight: 700; font-size: 13px; padding: 0 6px; }
.di-campos { display: grid; grid-template-columns: repeat(auto-fill, minmax(220px, 1fr)); gap: 10px 16px; }

/* Ficha: subgrupos de datos comerciales */
.profile-subhead { margin: 14px 0 6px; font-size: 12px; text-transform: uppercase; letter-spacing: .5px; color: var(--muted); }
.profile-edit-ancho { grid-column: 1 / -1; }
/* Aprobar/Rechazar candidata dentro de la ficha: fila propia bajo las acciones, con color. */
.profile-decision { display: flex; flex-wrap: wrap; align-items: center; gap: 10px 16px; padding: 12px 24px; background: var(--superficie-2); border-bottom: 1px solid var(--line); }
.profile-decision-titulo { font-size: 13px; font-weight: 700; color: var(--aviso); background: var(--aviso-suave); border-radius: 999px; padding: 4px 10px; }
.profile-decision-botones { display: flex; flex-wrap: wrap; align-items: center; gap: 8px; }
.profile-decision .btn { white-space: nowrap; }
.profile-peligro { margin: 8px 24px 28px; padding: 16px 18px; border: 1px solid var(--borde); border-radius: 12px; background: var(--peligro-suave); }
.profile-peligro h3 { margin: 0 0 6px; font-size: 14px; color: var(--peligro); }
.profile-peligro-fila { display: flex; align-items: center; justify-content: space-between; gap: 16px; padding: 10px 0; border-top: 1px solid var(--borde); }
.profile-peligro-fila:first-of-type { border-top: 0; }
.profile-peligro-fila p { margin: 2px 0 0; font-size: 12.5px; }
.profile-peligro-fila .btn { flex-shrink: 0; }
.btn.decision-directo { background: var(--info); color: var(--marca-texto); border: 1px solid var(--info); font-weight: 700; }
.btn.decision-directo:hover { background: var(--info); }
.btn.decision-ok { background: var(--ok); color: var(--marca-texto); border: 1px solid var(--ok); font-weight: 700; }
.btn.decision-ok:hover { background: var(--ok); }
.btn.decision-conocido { background: var(--superficie); color: var(--ok); border: 1px solid var(--ok); font-weight: 700; }
.btn.decision-conocido:hover { background: var(--ok-suave); }
.btn.decision-no { background: var(--superficie); color: var(--texto); border: 1px solid var(--borde); font-weight: 600; }
.btn.decision-no:hover { background: var(--superficie-2); }
@media (max-width: 760px) { .profile-decision { padding: 10px 16px; } .profile-peligro { margin: 8px 16px 24px; } .profile-peligro-fila { flex-direction: column; align-items: flex-start; } }
/* Para retomar (Correos) */
.mail-banner.warn{background:var(--aviso-suave);color:var(--aviso)}
.retomar-form{display:flex;flex-wrap:wrap;gap:10px;align-items:flex-end;margin-top:10px}
.retomar-form label{display:grid;gap:4px;font-size:12px;color:var(--muted)}
.retomar-form .field{min-width:0}
.retomar-form .retomar-motivo{flex:1 1 240px}
.retomar-form .retomar-motivo .field{width:100%}
.retomar-form-acciones{display:flex;gap:8px}

/* Novedades (2026-09-28): el numero de version del menu se pulsa y abre esta ventana. */
.brand-version { display: block; margin-top: 5px; padding: 0; border: 0; background: none; color: var(--texto-3); font: inherit; font-size: 11px; font-weight: 500; letter-spacing: 0; cursor: pointer; text-decoration: underline dotted rgba(145,184,173,.6); text-underline-offset: 3px; }
.brand-version:hover, .brand-version:focus-visible { color: var(--marca-texto); text-decoration-color: currentColor; }
.novedades-capa { position: fixed; inset: 0; z-index: 1000; background: var(--capa); display: flex; align-items: flex-start; justify-content: center; padding: 48px 16px; overflow-y: auto; }
.novedades { background: var(--panel); color: var(--ink); width: 100%; max-width: 640px; border-radius: 12px; box-shadow: 0 18px 50px rgba(0,0,0,.25); }
.novedades header { display: flex; justify-content: space-between; align-items: flex-start; gap: 12px; padding: 20px 24px 12px; border-bottom: 1px solid var(--line); }
.novedades h2 { margin: 0; font-size: 20px; }
.novedades-eyebrow { margin: 0 0 2px; font-size: 11px; font-weight: 600; letter-spacing: .07em; text-transform: uppercase; color: var(--brand); }
.novedades-cerrar { border: 0; background: none; font-size: 18px; color: var(--muted); cursor: pointer; padding: 4px 6px; border-radius: 6px; }
.novedades-cerrar:hover { background: var(--superficie-3); color: var(--ink); }
.novedades-cuerpo { padding: 14px 24px 22px; }
.novedades-actual { margin: 0 0 10px; color: var(--muted); font-size: 13px; }
.novedades-vacio { color: var(--muted); margin: 8px 0; }
.novedades-lista { list-style: none; margin: 0; padding: 0; }
.novedades-lista li { padding: 11px 0 11px 12px; border-top: 1px solid var(--line); border-left: 3px solid transparent; }
.novedades-lista li:first-child { border-top: 0; }
.novedades-lista li.en-uso { border-left-color: var(--brand); background: var(--superficie-3); }
.novedades-lista li.no-desplegada { opacity: .65; }
.novedades-lista p { margin: 4px 0 0; font-size: 13.5px; line-height: 1.5; }
.novedades-meta { display: flex; flex-wrap: wrap; align-items: baseline; gap: 4px 10px; }
.novedades-version { font-family: ui-monospace, "Cascadia Mono", Consolas, monospace; font-weight: 700; font-size: 13px; }
.novedades-fecha { font-size: 12px; color: var(--muted); font-variant-numeric: tabular-nums; }
.novedades-tag { font-size: 10.5px; font-weight: 700; text-transform: uppercase; letter-spacing: .04em; color: var(--marca-texto); background: var(--brand); border-radius: 4px; padding: 1px 6px; }
.novedades-tag.aviso { background: var(--danger); }
.novedades-commits { font-family: ui-monospace, "Cascadia Mono", Consolas, monospace; font-size: 11.5px !important; color: var(--muted); }
@media (max-width: 560px) { .novedades-capa { padding: 16px; } .novedades header, .novedades-cuerpo { padding-left: 16px; padding-right: 16px; } }
.brand-logo{display:block;width:170px;max-width:100%;height:auto;margin:0 0 12px}
.side .side-footer{margin-top:0}.side-credit{display:flex;flex-direction:column;gap:9px;margin-top:18px;padding:16px 4px 0;border-top:1px solid rgba(255,255,255,.1);text-decoration:none;color:inherit}.side-credit span{font-size:9.5px;font-weight:600;letter-spacing:.32em;text-transform:uppercase;color:var(--texto-3);opacity:.8;transition:opacity .25s,color .25s}.side-credit img{display:block;width:124px;max-width:100%;height:auto;opacity:.82;transition:opacity .25s,filter .25s,transform .25s}.side-credit:hover span{opacity:1;color:var(--marca-texto)}.side-credit:hover img{opacity:1;filter:drop-shadow(0 0 8px rgba(59,130,246,.55));transform:translateX(2px)}.side-credit:focus-visible{outline:2px solid var(--info);outline-offset:4px;border-radius:4px}
/* Sales Brief (plan de cuenta, 2026-10-12): lo primero que se lee es qué hacer ahora. */
.profile-brief h4,.brief-correos h4{margin:14px 0 6px;font-size:13px;display:flex;align-items:center;gap:8px}
.profile-brief-list{margin:0;padding-left:18px;font-size:13px;line-height:1.5}.profile-brief-list li{margin:3px 0}
.brief-accion{border:1px solid var(--marca);background:var(--superficie-2);border-radius:9px;padding:11px 13px;margin:8px 0 10px;display:grid;gap:4px;font-size:13px}
.brief-accion strong{font-size:14px}.brief-eyebrow{font-size:11px;text-transform:uppercase;letter-spacing:.8px;color:var(--brand);font-weight:750}
.brief-correos{border:1px solid var(--line);background:var(--superficie);border-radius:10px;padding:10px 14px;margin:0 0 12px}
.brief-correos>summary{cursor:pointer;font-weight:650;font-size:13px;display:flex;justify-content:space-between;align-items:center;gap:10px}
.brief-correos .brief-pie{display:flex;gap:12px;margin-top:8px;font-size:12px}
/* Llamadas con IA (bloque 4a, 2026-10-20): la nota para el comercial, lo que haría el panel y la transcripción. */
.llamada-nota{border:1px solid var(--marca);background:var(--superficie-2);border-radius:9px;padding:11px 13px;margin:6px 0 10px;display:grid;gap:6px;font-size:13px}
.llamada-nota p{margin:0}.llamada-acciones{border:1px dashed var(--line);border-radius:9px;padding:9px 13px;margin:6px 0 10px;font-size:13px}
.llamada-acciones ul{margin:6px 0 0;padding-left:18px;line-height:1.5}.llamada-acciones .tag{font-size:11px}
.llamada-transcripcion{display:grid;gap:6px;font-size:13px;line-height:1.45;max-height:420px;overflow:auto;padding:6px 0}
.llamada-detalle{display:grid;gap:8px}.llamada-detalle details>summary{cursor:pointer;font-weight:650;font-size:13px}
.llamadas-filtros{margin:10px 0 14px}.table tr.activa td{background:var(--superficie-2)}
.llamada-item .llamada-detalle{margin-top:8px}.llamada-telefono{display:flex;flex-wrap:wrap;gap:6px 10px;align-items:center;font-size:13px}
/* Llamadas con IA (bloque 5): «Por llamar» y los lotes. */
.llamadas-ritmo{border:1px solid var(--line);background:var(--superficie-2);border-radius:9px;padding:10px 13px;margin:0 0 12px;font-size:13px;line-height:1.55}
.llamadas-pie{position:sticky;bottom:0;display:flex;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:10px;padding:10px 0;background:var(--superficie);border-top:1px solid var(--line);margin-top:8px;font-size:13px}
.llamadas-pie ul{margin:4px 0 0;padding-left:18px;font-size:12px;color:var(--aviso)}
.llamadas-resumen{margin-top:14px;font-size:13px}.llamadas-resumen summary{cursor:pointer;font-weight:650}.llamadas-resumen ul{margin:6px 0;padding-left:18px;line-height:1.6}
.llamadas-lote{border:1px solid var(--line);border-radius:10px;padding:10px 14px;margin:0 0 10px;display:grid;gap:6px}.llamadas-lote summary{cursor:pointer;font-size:13px;color:var(--brand)}
.table .ll-check{width:28px}
/* Llamadas con IA (bloque 4b): corregir el resultado de una llamada. */
.llamada-corregir{border:1px solid var(--line);border-radius:9px;padding:10px 13px;margin:6px 0;display:grid;gap:8px;background:var(--superficie-2)}
/* Notas del equipo (2026-10-24, notas-equipo.js): la caja de la ficha y la pantalla. */
.notas-equipo-caja .nota-texto{width:100%;min-height:72px;resize:vertical;margin:4px 0 8px}
.nota-equipo p.nota-texto{white-space:pre-wrap;line-height:1.5;margin:8px 0 4px;min-height:0}
.nota-equipo.nota-nueva{border-left:3px solid var(--accent);padding-left:10px}
.nota-acciones{margin-top:8px}.nota-acciones .btn{padding:6px 10px;font-size:12px}
.nota-version{border-left:2px solid var(--line);padding:2px 0 2px 10px;margin:6px 0}.nota-version p{white-space:pre-wrap;margin:4px 0;color:var(--muted)}
.notas-equipo-lista .profile-item{padding:14px 0}.nota-empresa{font-weight:700;background:none;padding:0;font-size:14px}
.solo-lectura-aviso{position:fixed;left:50%;bottom:24px;transform:translateX(-50%);z-index:100002;max-width:min(560px,92vw);padding:12px 16px;border-radius:9px;background:var(--texto);color:var(--marca-texto);font-size:13px;box-shadow:0 8px 30px #0004}
/* Solo lectura (cuenta de comercial, 2026-10-24): se esconde lo que escribe. Es
   comodidad: lo que protege es la API (auth.nivel_requerido) y el corte de ak-auth.js,
   que avisa si algo se queda a la vista. Las notas del equipo no se tocan. */
.ak-solo-lectura :is(
  [data-profile-contact],[data-profile-sales-brief],[data-profile-edit],[data-master-observe],[data-master-resolve],
  [data-profile-pause-automation],[data-profile-resume-automation],[data-profile-unapprove],[data-profile-delete],
  [data-contact-elegir],.profile-decision,.profile-peligro,
  [data-ak-decision],[data-manual-open],[data-ak-add-competitor],[data-ak-start],[data-ak-retry],[data-ak-edit],[data-ak-archive-product],
  [data-ak-import-catalog],[data-ak-confirm-publish],[data-di-open],[data-ih-restore],[data-ih-revert],
  [data-sa-assign],[data-sa-discard],[data-cv-mode],.mail-compose,
  [data-cv-action]:not([data-cv-action="profile"]):not([data-cv-action="clear-error"]):not([data-cv-action="cancel-edit"]):not([data-cv-action="attach-close"]),
  [data-mk-tab="compose"],[data-mk-reply-action],[data-mk-cancel],[data-mk="launch"],[data-mk="reuse-campaign"],
  [data-two-action="run"],[data-two-decision],[data-two-research],[data-two-report-edit],[data-two-report-apply],
  [data-scout-approve],[data-scout-reject],[data-v1-approve],[data-v1-reject],[data-v1-action="create"],[data-v1-action="stop"],[data-v1-mode],
  [data-action="mailer-stop"],[data-action="scouting-create"],[data-company],[data-profile][title^="No tiene email"]
){display:none!important}

/* Mailing · editor visual de las circulares (mailing-editor.js, 2026-10-30).
   Lienzo a la izquierda con el correo tal cual saldra; panel a la derecha con los
   bloques, el estilo y los ajustes del bloque seleccionado. */
.mke{display:grid;grid-template-columns:minmax(0,1fr) 300px;gap:14px;align-items:start;margin-top:12px}
.mke-lienzo-col{min-width:0}
.mke-barra{position:sticky;top:0;z-index:4;display:flex;align-items:center;gap:8px;flex-wrap:wrap;padding:8px 0;background:var(--panel)}
.mke-historia{margin-left:auto}
.mke-historia .btn{padding:7px 10px;font-size:13px}
.mke-vistas{display:inline-flex;border:1px solid var(--line);border-radius:8px;overflow:hidden;background:var(--superficie)}
.mke-vistas button{background:transparent;padding:7px 12px;font-size:13px;font-weight:650;color:var(--muted)}
.mke-vistas button.activa{background:var(--brand);color:var(--marca-texto)}
.mke-formato{display:inline-flex;flex-wrap:wrap;gap:2px;border:1px solid var(--line);border-radius:8px;padding:2px;background:var(--superficie)}
.mke-formato button{background:transparent;padding:5px 8px;font-size:13px;border-radius:6px;color:var(--ink)}
.mke-formato button:hover:not(:disabled){background:var(--superficie-3)}
.mke-formato button:disabled{color:var(--texto-3);cursor:default}
.mke-aviso{padding:9px 12px;border-radius:8px;background:var(--ok-suave);color:var(--marca);font-size:12px;margin:0 0 8px}
.mke-aviso.error{background:var(--peligro-suave);color:var(--peligro)}
.mke-aviso.oculto{display:none}
.mke-lienzo{border:1px solid var(--line);border-radius:10px;padding:26px 10px;min-height:420px}
.mke-tarjeta{margin:0 auto;border-radius:8px;padding:22px 28px 26px;box-shadow:0 2px 12px #17232b14;transition:max-width .2s}
.mke-bloque{position:relative;margin:0 -12px;padding:2px 12px;outline:1px dashed transparent;outline-offset:-1px;border-radius:6px}
.mke-bloque:hover{outline-color:var(--borde)}
.mke-bloque.sel{outline:1px solid var(--brand);box-shadow:0 0 0 3px #0f6b6018}
.mke-bloque-barra{position:absolute;top:-13px;left:8px;right:8px;z-index:3;display:none;justify-content:space-between;align-items:center;gap:6px;pointer-events:none;font-family:Inter,ui-sans-serif,system-ui,sans-serif}
.mke-bloque:hover>.mke-bloque-barra,.mke-bloque.sel>.mke-bloque-barra{display:flex}
.mke-bloque-barra>*{pointer-events:auto}
.mke-asa{background:var(--brand);color:var(--marca-texto);font-size:11px;font-weight:700;padding:3px 8px;border-radius:5px;cursor:grab;user-select:none}
.mke-asa:active{cursor:grabbing}
.mke-bloque-botones{display:inline-flex;gap:1px;background:var(--superficie);border:1px solid var(--line);border-radius:6px;padding:1px;box-shadow:0 2px 6px #17232b1a}
.mke-bloque-botones button{background:transparent;padding:2px 7px;font-size:12px;border-radius:4px;color:var(--ink)}
.mke-bloque-botones button:hover{background:var(--superficie-3)}
.mke-bloque-botones button.peligro{color:var(--peligro)}
.mke-editable{outline:none;cursor:text;min-height:1.4em}
.mke-editable:focus{background:var(--superficie-2)}
.mke-editable a{cursor:text}
.mke-texto p{margin:0 0 12px}
.mke-texto ul,.mke-texto ol{margin:0 0 12px;padding-left:22px}
.mke-texto p:last-child,.mke-texto ul:last-child,.mke-texto ol:last-child{margin-bottom:0}
.mke-hueco-imagen{display:grid;justify-items:center;gap:8px;padding:26px 14px;border:2px dashed var(--borde);border-radius:8px;background:var(--superficie-2);color:var(--muted);text-align:center;font-family:Inter,ui-sans-serif,system-ui,sans-serif;font-size:13px}
.mke-hueco-imagen strong{color:var(--ink);font-size:14px}
.mke-hueco-imagen.encima{border-color:var(--brand);background:var(--ok-suave)}
.mke-hueco-acciones{display:flex;gap:6px;flex-wrap:wrap;justify-content:center}
.mke-hueco-imagen small{font-size:11px}
.mke-subiendo{position:absolute;inset:0;display:grid;place-items:center;background:#ffffffd9;border-radius:6px;color:var(--brand);font-weight:700;font-size:13px;font-family:Inter,ui-sans-serif,system-ui,sans-serif}
.mke-vacio{padding:14px;border:1px dashed var(--line);border-radius:8px;color:var(--muted);font-size:13px;text-align:center;font-family:Inter,ui-sans-serif,system-ui,sans-serif}
.mke-html{max-height:420px;overflow:auto}
.mke-lienzo-vacio{padding:40px 16px;border:2px dashed var(--line);border-radius:8px;color:var(--muted);text-align:center;font-family:Inter,ui-sans-serif,system-ui,sans-serif}
.mke-pie-muestra{margin-top:16px;padding:10px;border-top:1px dashed var(--line);color:var(--texto-3);font-size:11px;text-align:center;font-family:Inter,ui-sans-serif,system-ui,sans-serif}
.mke-soltar-aqui{height:4px;margin:3px 0;border-radius:2px;background:var(--brand)}
.mke-panel{position:sticky;top:12px;max-height:calc(100vh - 24px);overflow:auto;display:grid;gap:12px;align-content:start;padding:14px;border:1px solid var(--line);border-radius:10px;background:var(--superficie)}
.mke-pestanas{display:grid;grid-template-columns:1fr 1fr;border:1px solid var(--line);border-radius:8px;overflow:hidden;background:var(--superficie)}
.mke-pestanas button{background:transparent;padding:8px;font-weight:650;color:var(--muted)}
.mke-pestanas button.activa{background:var(--brand);color:var(--marca-texto)}
.mke-tiles{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}
.mke-tile{display:grid;justify-items:center;gap:4px;padding:12px 4px;border:1px solid var(--line);border-radius:8px;background:var(--superficie);color:var(--ink);font-size:12px;font-weight:650;cursor:grab}
.mke-tile:hover{border-color:var(--brand);background:var(--superficie-2)}
.mke-tile-icono{font-size:18px;line-height:1;color:var(--brand)}
.mke-iniciales summary{font-size:13px}
.mke-iniciales>div{display:grid;gap:8px;margin-top:10px}
.mke-inicial{display:grid;gap:2px;text-align:left;padding:10px 12px;border:1px solid var(--line);border-radius:8px;background:var(--superficie);color:var(--ink)}
.mke-inicial:hover{border-color:var(--brand)}
.mke-inicial small{color:var(--muted)}
.mke-panel-cabecera{display:flex;align-items:center;justify-content:space-between;gap:8px}
.mke-panel-cabecera .link{background:transparent;padding:0;font-size:13px}
.mke-campo{display:grid;gap:6px;font-size:13px;font-weight:650;color:var(--ink)}
.mke-campo .field{width:100%;min-width:0}
.mke-campo small{font-weight:400;color:var(--muted);font-size:12px}
.mke-campo input[type=range]{width:100%;accent-color:var(--brand)}
.mke-color{display:flex;align-items:center;gap:8px}
.mke-color input[type=color]{width:42px;height:32px;padding:2px;border:1px solid var(--line);border-radius:6px;background:var(--superficie);cursor:pointer}
.mke-color code{font-size:12px;color:var(--muted)}
.mke-codigo{font-family:ui-monospace,SFMono-Regular,Consolas,monospace;font-size:12px;line-height:1.5;resize:vertical}
.mke-nota{margin:0;color:var(--muted);font-size:12px;line-height:1.45}
.mke-imagen-actual{display:grid;place-items:center;min-height:90px;padding:8px;border:1px solid var(--line);border-radius:8px;background:var(--superficie)}
.mke-imagen-actual img{max-width:100%;max-height:160px;display:block}
.mke-panel .actions .btn{padding:8px 11px;font-size:13px}
.mke-panel-pie{padding-top:10px;border-top:1px solid var(--line)}
.mke-modal{position:fixed;inset:0;z-index:50;display:grid;place-items:center;padding:24px;background:var(--capa)}
.mke-modal-caja{width:min(860px,100%);max-height:calc(100vh - 48px);overflow:auto;padding:20px;border-radius:12px;background:var(--superficie);box-shadow:0 18px 70px var(--capa)}
.mke-biblioteca-rejilla{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:10px}
.mke-biblioteca-img{display:grid;gap:6px;padding:8px;border:1px solid var(--line);border-radius:8px;background:var(--superficie);text-align:left;color:var(--ink)}
.mke-biblioteca-img:hover{border-color:var(--brand)}
.mke-biblioteca-img img{width:100%;height:110px;object-fit:contain;background:var(--superficie);border-radius:4px}
.mke-biblioteca-img small{font-size:11px;color:var(--muted);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.mk-bandeja{margin:10px 0 12px;padding:10px 12px;border:1px solid var(--line);border-radius:8px;background:var(--superficie);font-size:14px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
@media(max-width:1100px){.mke{grid-template-columns:1fr}.mke-panel{position:static;max-height:none}.mke-historia{margin-left:0}}
@media(max-width:560px){.mke-tiles{grid-template-columns:repeat(2,minmax(0,1fr))}.mke-tarjeta{padding:16px 14px}.mke-lienzo{padding:16px 6px}}

/* Mailing · resultados de una campaña */
.mk-resultados{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:10px}
.mk-cifra{border:1px solid var(--line);border-radius:8px;padding:10px 12px;background:var(--superficie);display:flex;flex-direction:column;gap:2px}
.mk-cifra b{font-size:22px;line-height:1.1}
.mk-cifra span{font-size:13px}
.mk-cifra small{font-size:12px;color:var(--muted,var(--texto-2))}
.mk-cifra.ok b{color:var(--marca)}
.mk-cifra.warn b{color:var(--aviso)}
@media (max-width:760px){.mk-resultados{grid-template-columns:repeat(2,minmax(0,1fr))}}

/* Correos · hilo plegado como en Gmail: los correos anteriores en una línea */
.message.message-plegado{display:flex;align-items:flex-start;gap:12px;text-align:left;cursor:pointer;padding:9px 13px;font-size:13px;color:var(--ink)}
.message.message-plegado:hover{border-color:var(--marca)}
.message.message-plegado.inbound{background:var(--superficie-2)}
.message-plegado .mp-quien{font-weight:700;flex-shrink:0;min-width:84px}
/* Hasta dos líneas y puntos suspensivos. Con una sola línea sin cortar (nowrap) el texto
   entero empujaba el ancho del hilo y todo se salía por la derecha. */
.message-plegado .mp-resumen{flex:1;min-width:0;overflow:hidden;display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2;line-clamp:2;overflow-wrap:anywhere;color:var(--muted)}
.message-plegado .mp-fecha{flex-shrink:0;font-size:11px;color:var(--muted);white-space:nowrap;padding-top:2px}
.message-cabecera-plegable{cursor:pointer}
.message-cabecera-plegable:hover span:first-child{color:var(--brand)}
.hilo-controles{display:flex;justify-content:space-between;align-items:center;font-size:12px}
.hilo-mas{text-align:center;font-size:12px;border-top:1px dashed var(--line);padding-top:6px}

/* Llamadas del equipo (2026-11-12): la ventana de apuntar/registrar y las listas. */
.llf-caja{width:min(560px,100%)}
.llf-form{display:grid;gap:12px;margin-top:14px}
.llf-form label{display:grid;gap:5px;font-size:13px;font-weight:600;color:var(--ink)}
.llf-form label .muted{font-weight:400}
.llf-form textarea{resize:vertical;min-height:70px}
.llf-fila{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.llf-form fieldset{border:1px solid var(--line);border-radius:9px;padding:8px 12px;display:grid;gap:6px;margin:0}
.llf-form fieldset legend{font-size:13px;font-weight:600;padding:0 4px}
.llf-form fieldset label,.llf-form .llf-check{display:flex;align-items:center;gap:8px;font-weight:400}
.llf-tel{margin:0;font-size:13px}
.llf-form .actions{display:flex;justify-content:flex-end;gap:8px}
.lle-grupo{margin:14px 0 6px;font-size:13px;text-transform:uppercase;letter-spacing:.04em;color:var(--muted)}
.lle-grupo.vencida{color:var(--peligro)}
.lle-fila{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:8px 14px;align-items:center;padding:11px 0;border-top:1px solid var(--line)}
.lle-fila:first-of-type{border-top:0}
.lle-fila small{display:block;color:var(--muted);margin-top:3px}
.lle-fila .lle-nota{margin:4px 0 0;font-size:13px}
.lle-acciones{display:flex;flex-wrap:wrap;gap:6px;justify-content:flex-end}
.lle-hecha p{margin:6px 0 0;white-space:pre-wrap;font-size:13px}
@media(max-width:700px){.lle-fila{grid-template-columns:1fr}.lle-acciones{justify-content:flex-start}.llf-fila{grid-template-columns:1fr}}
