:root {
  --ao-blue: #00263A;
  --ao-surface: #021C2D;
  --ao-cyan: #00E7FF;
  --ao-cyan-soft: #8FF3FB;
  --ao-orange: #FC8200;
  --ao-orange-dark: #D85A08;
  --bg: #F4F7F9;
  --panel: #FFFFFF;
  --text: #1A2730;
  --muted: #667681;
  --line: #DDE5EA;
  --ok: #19764A;
  --warn: #A45B00;
  --danger: #B42318;
  --shadow: 0 10px 30px rgba(0, 38, 58, .08);
  --radius: 14px;
}
* { box-sizing: border-box; }
html, body { margin: 0; min-height: 100%; font-family: "Segoe UI", Inter, Arial, sans-serif; color: var(--text); background: var(--bg); }
button, input, textarea, select { font: inherit; }
button { cursor: pointer; }
a { color: inherit; }

.shell { min-height: 100vh; display: grid; grid-template-columns: 272px 1fr; }
.sidebar { background: linear-gradient(180deg, var(--ao-blue), var(--ao-surface)); color: white; padding: 24px 18px; position: sticky; top: 0; height: 100vh; overflow-y: auto; }
.brand { padding: 4px 8px 22px; border-bottom: 1px solid rgba(255,255,255,.12); margin-bottom: 18px; }
.brand-mark { font-weight: 800; letter-spacing: .08em; font-size: 20px; }
.brand-mark span { color: var(--ao-cyan); }
.brand-sub { font-size: 12px; opacity: .72; margin-top: 6px; line-height: 1.45; }
.nav-title { text-transform: uppercase; font-size: 11px; letter-spacing: .11em; opacity: .56; padding: 9px 10px; }
.nav-btn { width: 100%; border: 0; color: white; background: transparent; border-radius: 10px; display: flex; align-items: center; gap: 11px; padding: 11px 12px; margin: 3px 0; text-align: left; }
.nav-btn:hover { background: rgba(255,255,255,.08); }
.nav-btn.active { background: rgba(0,231,255,.12); box-shadow: inset 3px 0 0 var(--ao-cyan); }
.nav-icon { width: 24px; height: 24px; display: grid; place-items: center; font-size: 17px; }
.sidebar-footer { margin-top: 28px; padding: 14px 10px; border-top: 1px solid rgba(255,255,255,.12); color: rgba(255,255,255,.64); font-size: 11px; line-height: 1.55; }

.main { min-width: 0; }
.topbar { height: 72px; background: white; border-bottom: 1px solid var(--line); display: flex; align-items: center; justify-content: space-between; padding: 0 30px; position: sticky; top: 0; z-index: 20; }
.breadcrumb { font-weight: 650; color: var(--ao-blue); }
.mode-chip { padding: 7px 10px; border-radius: 999px; background: #EAF6F7; color: #12616B; font-size: 12px; font-weight: 650; }
.content { padding: 30px; max-width: 1500px; margin: 0 auto; }

.hero { background: linear-gradient(135deg, var(--ao-blue), #014E68); color: white; border-radius: 18px; padding: 30px; box-shadow: var(--shadow); position: relative; overflow: hidden; }
.hero:after { content: ""; position: absolute; right: -80px; top: -100px; width: 340px; height: 340px; border: 1px solid rgba(0,231,255,.28); border-radius: 50%; box-shadow: 0 0 0 34px rgba(0,231,255,.05), 0 0 0 68px rgba(0,231,255,.03); }
.hero h1 { margin: 0 0 10px; font-size: 31px; max-width: 850px; }
.hero p { margin: 0; max-width: 850px; color: rgba(255,255,255,.76); line-height: 1.55; }
.hero-actions { margin-top: 22px; display: flex; gap: 10px; flex-wrap: wrap; position: relative; z-index: 2; }

.btn { border: 1px solid transparent; border-radius: 9px; padding: 10px 14px; font-weight: 650; transition: .15s ease; display: inline-flex; align-items: center; gap: 8px; justify-content: center; }
.btn:hover { transform: translateY(-1px); }
.btn-primary { background: var(--ao-orange); color: white; }
.btn-primary:hover { background: #E97400; }
.btn-secondary { background: white; color: var(--ao-blue); border-color: var(--line); }
.btn-ghost { background: transparent; color: var(--ao-blue); border-color: var(--line); }
.btn-darkghost { background: rgba(255,255,255,.08); color: white; border-color: rgba(255,255,255,.18); }
.btn-ai { background: #E9FBFD; color: #006D78; border-color: #BCEFF4; }
.btn-ai:hover { background: #DDF8FB; }
.btn-danger { background: #FFF1F0; border-color: #F7CBC7; color: var(--danger); }
.btn-sm { padding: 7px 10px; font-size: 12px; }

.section-head { display: flex; align-items: end; justify-content: space-between; gap: 20px; margin: 28px 0 14px; }
.section-head h2 { margin: 0; font-size: 21px; color: var(--ao-blue); }
.section-head p { margin: 5px 0 0; color: var(--muted); font-size: 13px; }
.grid-modules { display: grid; grid-template-columns: repeat(5, minmax(190px, 1fr)); gap: 14px; }
.module-card { background: white; border: 1px solid var(--line); border-radius: 14px; padding: 18px; box-shadow: 0 4px 16px rgba(0,38,58,.04); transition: .18s ease; cursor: pointer; min-height: 165px; display: flex; flex-direction: column; }
.module-card:hover { transform: translateY(-3px); border-color: #A9CBD2; box-shadow: var(--shadow); }
.module-top { display: flex; justify-content: space-between; align-items: flex-start; }
.module-icon { width: 42px; height: 42px; border-radius: 11px; display: grid; place-items: center; background: #FFF3E8; color: var(--ao-orange-dark); font-size: 22px; }
.module-count { font-size: 11px; color: var(--muted); background: #F1F4F6; padding: 5px 8px; border-radius: 999px; }
.module-card h3 { margin: 18px 0 6px; font-size: 15px; color: var(--ao-blue); }
.module-card p { margin: 0; color: var(--muted); font-size: 12px; line-height: 1.45; }
.module-footer { margin-top: auto; padding-top: 14px; color: var(--ao-orange-dark); font-size: 12px; font-weight: 700; }

.kpis { display: grid; grid-template-columns: repeat(4, 1fr); gap: 14px; margin-top: 18px; }
.kpi { background: white; border: 1px solid var(--line); border-radius: 12px; padding: 16px; }
.kpi-label { color: var(--muted); font-size: 12px; }
.kpi-value { font-size: 26px; font-weight: 750; color: var(--ao-blue); margin-top: 4px; }
.kpi-note { font-size: 11px; color: var(--muted); margin-top: 4px; }

.module-header { background: white; border: 1px solid var(--line); border-radius: 16px; padding: 22px; display: flex; align-items: center; justify-content: space-between; gap: 16px; }
.module-header h1 { margin: 0 0 6px; font-size: 25px; color: var(--ao-blue); }
.module-header p { margin: 0; color: var(--muted); font-size: 13px; }
.module-actions { display: flex; gap: 9px; flex-wrap: wrap; }

.workspace { display: grid; grid-template-columns: minmax(0, 1fr) 340px; gap: 18px; margin-top: 18px; align-items: start; }
.wizard { min-width: 0; }
.audit-panel { background: white; border: 1px solid var(--line); border-radius: 14px; padding: 17px; position: sticky; top: 90px; }
.audit-panel h3 { margin: 0 0 4px; color: var(--ao-blue); font-size: 16px; }
.audit-panel .hint { color: var(--muted); font-size: 12px; line-height: 1.45; }
.audit-score { display: grid; grid-template-columns: 70px 1fr; align-items: center; gap: 12px; margin: 17px 0; }
.score-ring { width: 66px; height: 66px; border-radius: 50%; display: grid; place-items: center; background: conic-gradient(var(--ao-cyan) var(--pct, 0%), #E8EEF1 0); position: relative; }
.score-ring:after { content: ""; position: absolute; inset: 7px; background: white; border-radius: 50%; }
.score-ring strong { position: relative; z-index: 1; font-size: 15px; color: var(--ao-blue); }
.audit-list { display: grid; gap: 8px; margin-top: 12px; }
.audit-item { border-radius: 9px; padding: 9px 10px; font-size: 12px; line-height: 1.42; border: 1px solid var(--line); }
.audit-item.ok { background: #F0FAF5; border-color: #CDEBDC; color: #17603E; }
.audit-item.warn { background: #FFF8EA; border-color: #F5DCA9; color: #7B4A00; }
.audit-item.danger { background: #FFF1F0; border-color: #F4C8C4; color: #8C211B; }
.similar-list { margin-top: 13px; display: grid; gap: 8px; }
.similar-card { background: #F7FAFB; border: 1px solid #E2E9ED; padding: 9px; border-radius: 9px; font-size: 11px; line-height: 1.4; }
.similar-card strong { display: block; color: var(--ao-blue); margin-bottom: 2px; }

.progress-wrap { background: white; border: 1px solid var(--line); border-radius: 14px; padding: 16px 18px; margin-bottom: 12px; }
.progress-row { display: flex; align-items: center; justify-content: space-between; gap: 12px; }
.progress-title { font-weight: 700; color: var(--ao-blue); }
.progress-meta { font-size: 12px; color: var(--muted); }
.progress-bar { height: 7px; background: #E8EEF1; border-radius: 99px; margin-top: 11px; overflow: hidden; }
.progress-fill { height: 100%; background: linear-gradient(90deg, var(--ao-cyan), #02A8C5); border-radius: 99px; transition: width .25s ease; }
.step-tabs { display: flex; gap: 7px; flex-wrap: wrap; margin-top: 13px; }
.step-tab { border: 1px solid var(--line); background: white; color: var(--muted); border-radius: 99px; padding: 6px 9px; font-size: 11px; }
.step-tab.active { background: var(--ao-blue); color: white; border-color: var(--ao-blue); }
.step-tab.done { background: #EAF8F2; color: #17603E; border-color: #CEEADD; }

.step-card { background: white; border: 1px solid var(--line); border-radius: 14px; padding: 22px; }
.step-card h2 { margin: 0; color: var(--ao-blue); font-size: 20px; }
.step-card > p { margin: 7px 0 20px; color: var(--muted); font-size: 13px; line-height: 1.5; }
.field { margin-bottom: 20px; }
.field:last-child { margin-bottom: 0; }
.field-head { display: flex; align-items: flex-start; justify-content: space-between; gap: 10px; margin-bottom: 7px; }
.field-label { font-weight: 700; color: #21323D; font-size: 13px; }
.required { color: var(--ao-orange-dark); }
.field-help { color: var(--muted); font-size: 11px; margin-top: 3px; line-height: 1.45; }
.field-actions { display: flex; gap: 6px; flex-shrink: 0; }
.control { width: 100%; border: 1px solid #C9D5DB; background: #fff; border-radius: 9px; padding: 10px 11px; outline: none; color: var(--text); }
.control:focus { border-color: #4FB8C8; box-shadow: 0 0 0 3px rgba(0,231,255,.1); }
textarea.control { min-height: 118px; resize: vertical; line-height: 1.5; }
textarea.control.tall { min-height: 170px; }
.inline-2 { display: grid; grid-template-columns: 1fr 1fr; gap: 12px; }
.auto-score { background: #F6FAFB; border: 1px dashed #B9CBD2; border-radius: 9px; padding: 11px; display: flex; justify-content: space-between; gap: 10px; align-items: center; }
.score-value { font-weight: 800; color: var(--ao-blue); font-size: 18px; }

.wizard-actions { display: flex; justify-content: space-between; gap: 10px; margin-top: 13px; }
.wizard-actions > div { display: flex; gap: 8px; }

.ai-note { margin-top: 8px; background: #F0FCFD; border-left: 3px solid var(--ao-cyan); padding: 9px 10px; border-radius: 0 8px 8px 0; font-size: 11px; color: #3D6A70; line-height: 1.45; }

.history-toolbar { background: white; border: 1px solid var(--line); border-radius: 12px; padding: 12px; display: grid; grid-template-columns: 1fr 160px 160px; gap: 9px; margin-top: 16px; }
.history-list { display: grid; gap: 10px; margin-top: 12px; }
.history-row { background: white; border: 1px solid var(--line); border-radius: 12px; padding: 15px; display: grid; grid-template-columns: 1fr auto; gap: 15px; }
.history-row h3 { margin: 0 0 5px; color: var(--ao-blue); font-size: 14px; }
.history-row p { margin: 0; color: var(--muted); font-size: 12px; line-height: 1.45; max-width: 980px; white-space: pre-line; }
.history-meta { display: flex; gap: 6px; flex-wrap: wrap; margin-top: 9px; }
.tag { border-radius: 999px; padding: 4px 7px; font-size: 10px; background: #F0F3F5; color: #53656F; }
.tag.orange { background: #FFF1E3; color: #A54E00; }
.tag.green { background: #EAF8F2; color: #17603E; }
.tag.blue { background: #EAF4F8; color: #17586C; }
.history-action { align-self: center; }

.review { background: white; border: 1px solid var(--line); border-radius: 14px; padding: 22px; }
.review h2 { margin: 0 0 7px; color: var(--ao-blue); }
.review-intro { color: var(--muted); font-size: 13px; margin-bottom: 18px; }
.review-group { border-top: 1px solid var(--line); padding-top: 15px; margin-top: 15px; }
.review-group h3 { color: var(--ao-blue); font-size: 14px; margin: 0 0 10px; }
.review-item { display: grid; grid-template-columns: 220px 1fr auto; gap: 12px; align-items: start; padding: 9px 0; border-bottom: 1px dashed #E6ECEF; }
.review-item:last-child { border-bottom: 0; }
.review-key { color: var(--muted); font-size: 12px; }
.review-value { white-space: pre-line; font-size: 12px; line-height: 1.5; }
.review-empty { color: #9AA8AF; font-style: italic; }
.copy-all { background: #F7FAFB; border: 1px solid var(--line); border-radius: 10px; padding: 13px; margin-top: 18px; display: flex; justify-content: space-between; gap: 12px; align-items: center; }

.empty { background: white; border: 1px dashed #C9D5DB; border-radius: 14px; padding: 30px; text-align: center; color: var(--muted); }
.empty strong { display: block; color: var(--ao-blue); margin-bottom: 6px; }

.toast { position: fixed; right: 22px; bottom: 22px; background: var(--ao-blue); color: white; padding: 11px 15px; border-radius: 10px; box-shadow: var(--shadow); transform: translateY(20px); opacity: 0; pointer-events: none; transition: .2s ease; z-index: 100; max-width: 360px; font-size: 12px; }
.toast.show { transform: translateY(0); opacity: 1; }

@media (max-width: 1250px) {
  .grid-modules { grid-template-columns: repeat(3, 1fr); }
  .workspace { grid-template-columns: 1fr; }
  .audit-panel { position: static; }
}
@media (max-width: 900px) {
  .shell { grid-template-columns: 1fr; }
  .sidebar { position: static; height: auto; }
  .nav-title, .sidebar-footer { display: none; }
  .sidebar nav { display: flex; gap: 5px; overflow-x: auto; }
  .nav-btn { min-width: 170px; }
  .brand { border-bottom: 0; padding-bottom: 10px; }
  .topbar { position: static; padding: 0 18px; }
  .content { padding: 18px; }
  .grid-modules, .kpis { grid-template-columns: repeat(2, 1fr); }
  .module-header { align-items: flex-start; flex-direction: column; }
  .history-toolbar { grid-template-columns: 1fr; }
  .review-item { grid-template-columns: 1fr; }
}
@media (max-width: 560px) {
  .grid-modules, .kpis, .inline-2 { grid-template-columns: 1fr; }
  .hero { padding: 22px; }
  .hero h1 { font-size: 25px; }
  .field-head { flex-direction: column; }
  .history-row { grid-template-columns: 1fr; }
  .wizard-actions { flex-direction: column; }
}

/* V2 · Microsoft 365 / SharePoint */
.topbar-right { display: flex; align-items: center; gap: 8px; flex-wrap: wrap; justify-content: flex-end; }
.mode-chip.connected { background: #EAF8F2; color: #17603E; }
.eyebrow { font-size: 10px; text-transform: uppercase; letter-spacing: .12em; font-weight: 800; color: #268293; margin-bottom: 5px; }
.eyebrow.light { color: var(--ao-cyan-soft); position: relative; z-index: 2; }
.connection-card { background: white; border: 1px solid var(--line); border-radius: 15px; padding: 20px; margin-top: 18px; box-shadow: 0 4px 16px rgba(0,38,58,.04); }
.connection-head { display: flex; justify-content: space-between; align-items: flex-start; gap: 24px; padding-bottom: 15px; border-bottom: 1px solid var(--line); }
.connection-head h2 { margin: 0; color: var(--ao-blue); font-size: 20px; }
.connection-head p { margin: 6px 0 0; color: var(--muted); font-size: 12px; line-height: 1.5; max-width: 760px; }
.connection-user { text-align: right; font-weight: 750; color: var(--ao-blue); font-size: 12px; min-width: 210px; }
.connection-user span { display: inline-block; margin-top: 4px; font-weight: 500; color: var(--muted); }
.conn-site { display: flex; justify-content: space-between; gap: 15px; align-items: center; background: #F7FAFB; border: 1px solid var(--line); padding: 12px 13px; border-radius: 10px; margin-top: 14px; }
.conn-site strong, .conn-row strong { display: block; color: var(--ao-blue); font-size: 12px; }
.conn-site span:not(.conn-badge), .conn-row span:not(.conn-badge) { display: block; color: var(--muted); font-size: 10px; margin-top: 3px; }
.conn-grid { display: grid; grid-template-columns: repeat(5, 1fr); gap: 8px; margin-top: 10px; }
.conn-row { border: 1px solid var(--line); border-radius: 10px; padding: 11px; min-height: 88px; display: flex; flex-direction: column; justify-content: space-between; gap: 10px; }
.conn-badge { width: fit-content; display: inline-flex !important; margin: 0 !important; padding: 4px 7px; border-radius: 999px; font-size: 9px !important; font-weight: 800; text-transform: uppercase; letter-spacing: .04em; }
.conn-badge.ok { background: #EAF8F2; color: #17603E !important; }
.conn-badge.error { background: #FFF1F0; color: var(--danger) !important; }
.conn-badge.loading { background: #EAF6F7; color: #12616B !important; }
.conn-badge.pending { background: #F1F4F6; color: #667681 !important; }
.connection-actions { display: flex; align-items: center; gap: 8px; margin-top: 14px; flex-wrap: wrap; }
.connection-actions > span { font-size: 10px; color: var(--muted); margin-left: auto; }
.conn-error { margin-top: 12px; border-left: 3px solid var(--danger); background: #FFF5F4; color: #7D2720; border-radius: 0 8px 8px 0; padding: 10px; font-size: 11px; line-height: 1.45; }
.btn-sharepoint { background: var(--ao-blue); color: white; border-color: var(--ao-blue); }
.btn-sharepoint:hover { background: #04384F; }
.btn[disabled] { opacity: .55; cursor: not-allowed; transform: none !important; }
.sharepoint-save-box { margin-top: 13px; border: 1px solid #A9CBD2; background: #F2FAFB; border-radius: 10px; padding: 13px; display: flex; align-items: center; justify-content: space-between; gap: 14px; }
.sharepoint-save-box strong { color: var(--ao-blue); font-size: 13px; }

@media (max-width: 1250px) {
  .conn-grid { grid-template-columns: repeat(3, 1fr); }
}
@media (max-width: 900px) {
  .connection-head { flex-direction: column; }
  .connection-user { text-align: left; min-width: 0; }
  .conn-grid { grid-template-columns: repeat(2, 1fr); }
  .topbar { height: auto; min-height: 72px; padding-top: 12px; padding-bottom: 12px; gap: 10px; }
  .topbar-right { justify-content: flex-start; }
  .sharepoint-save-box { align-items: flex-start; flex-direction: column; }
}
@media (max-width: 560px) {
  .conn-grid { grid-template-columns: 1fr; }
  .conn-site { align-items: flex-start; flex-direction: column; }
}

/* V2.0.2 · diagnóstico de esquema */
.conn-badges { display:flex; align-items:center; gap:6px; flex-wrap:wrap; }
.conn-badge.warning { background:#FFF4E5; color:#8A4B08 !important; }
.conn-missing { margin-top:7px; color:#8A4B08; font-size:9px; line-height:1.35; display:-webkit-box; -webkit-line-clamp:3; -webkit-box-orient:vertical; overflow:hidden; }

/* V2.1 · esquema SharePoint actual + prueba CRUD */
.readonly-person .control { background:#F5F7F8; color:#647680; cursor:not-allowed; }
.crud-test { margin-top:10px; border:1px solid var(--line); border-radius:10px; padding:12px 13px; display:flex; align-items:center; justify-content:space-between; gap:14px; background:#FBFCFD; }
.crud-test strong { display:block; color:var(--ao-blue); font-size:12px; }
.crud-test span, .crud-test small { display:block; color:var(--muted); font-size:10px; margin-top:3px; line-height:1.4; }
.crud-test.ok { border-color:#B7DFC9; background:#F2FBF6; }
.crud-test.error { border-color:#F0C2BE; background:#FFF6F5; }
.crud-test.running { border-color:#A9CBD2; background:#F2FAFB; }
@media (max-width: 760px) { .crud-test { flex-direction:column; align-items:flex-start; } }

/* V2.2 · Seguimiento Dirección y Persona/Grupo */
.person-editor { display:grid; grid-template-columns:1fr auto; gap:8px; align-items:center; }
.person-editor .control { background:#F5F7F8; color:#647680; }
.action-module-card { border-color:#B8DDE2; background:linear-gradient(180deg,#FFFFFF 0%,#F4FBFC 100%); }
.action-row { border-left:3px solid var(--ao-cyan); }
.action-toolbar { grid-template-columns:1fr auto; }
.action-derivation-box { border-color:#FFC07A; background:#FFF8EF; }
.action-derivation-box strong { color:#8A4B08; }
@media (max-width:760px) {
  .person-editor, .action-toolbar { grid-template-columns:1fr; }
}

/* ==========================================================
   V2.6 OPERATIVA · LOOK & FEEL AUTEXOPEN
   Guía de Marca: Azul #00263A · Cian #00E7FF · Hueso #F8F4E8
   Gris #4A4949 · Naranja #EE7C17
   ========================================================== */
:root {
  --ao-blue: #00263A;
  --ao-surface: #021C2D;
  --ao-cyan: #00E7FF;
  --ao-cyan-soft: #8FF3FB;
  --ao-orange: #EE7C17;
  --ao-orange-dark: #C9620E;
  --ao-hueso: #F8F4E8;
  --ao-gray: #4A4949;
  --bg: #001F31;
  --panel: rgba(2,28,45,.92);
  --text: #F8F4E8;
  --muted: #A9BAC3;
  --line: rgba(143,243,251,.18);
  --ok: #A8D313;
  --warn: #EE7C17;
  --danger: #FF7D6E;
  --shadow: 0 18px 44px rgba(0,0,0,.20);
  --radius: 14px;
}
html, body { font-family: "Poppins", "Segoe UI", Arial, sans-serif; background: var(--ao-blue); color: var(--text); }
body { min-height:100vh; }
h1,h2,h3,.breadcrumb,.brand,.kpi-value,.ops-kpi-value { font-family:"Montserrat","Poppins","Segoe UI",sans-serif; }
.main { background: radial-gradient(circle at 86% 4%, rgba(0,231,255,.05), transparent 26%), linear-gradient(180deg,#001F31 0%,#00263A 45%,#001E2F 100%); min-height:100vh; }
.content { max-width:1600px; padding:28px 34px 54px; }
.sidebar { width:auto; background: linear-gradient(180deg, rgba(0,31,49,.99), rgba(1,28,44,.99)); border-right:1px solid rgba(248,244,232,.17); box-shadow:10px 0 34px rgba(0,0,0,.10); padding:24px 18px 18px; }
.brand { padding: 0 8px 22px; }
.brand-logo { display:block; width:222px; max-width:100%; height:58px; object-fit:contain; object-position:left center; margin-left:-8px; }
.brand-sub { color:#D9E5E8; opacity:.86; font-size:11px; line-height:1.6; }
.nav-title { color:#91A5AF; opacity:1; font-size:9px; margin-top:8px; }
.nav-btn { font-size:13px; color:#F8F4E8; border:1px solid transparent; border-radius:9px; padding:10px 10px; }
.nav-btn:hover { background:rgba(248,244,232,.055); border-color:rgba(248,244,232,.10); }
.nav-btn.active { background:rgba(238,124,23,.08); color:#FFFFFF; border-color:#EE7C17; box-shadow:none; }
.nav-btn.active .nav-icon { color:#EE7C17; }
.nav-icon { font-size:16px; color:#D9E5E8; }
.nav-logout { margin-top:6px; }
.sidebar-footer { color:#B6C7CE; font-size:10px; line-height:1.75; }
.sidebar-footer strong { color:#F8F4E8; }
.footer-note { color:#8198A2; }
.status-dot { width:7px; height:7px; border-radius:50%; display:inline-block; margin-right:7px; background:#627984; box-shadow:0 0 0 2px rgba(98,121,132,.15); }
.status-dot.on { background:#A8D313; box-shadow:0 0 0 2px rgba(168,211,19,.12); }
.topbar { height:68px; background:rgba(0,31,49,.88); border-color:rgba(248,244,232,.12); backdrop-filter:blur(12px); padding:0 34px; }
.breadcrumb { color:#F8F4E8; font-size:13px; letter-spacing:.01em; }
.mode-chip { background:transparent; border:1px solid rgba(248,244,232,.42); color:#F8F4E8; font-size:10px; padding:7px 11px; }
.mode-chip.connected { background:transparent; color:#F8F4E8; border-color:#EE7C17; }
.eyebrow { color:#EE7C17; font-family:"Poppins",sans-serif; letter-spacing:.13em; }
.eyebrow.light { color:#EE7C17; }
.hero { border:1px solid rgba(143,243,251,.18); box-shadow:var(--shadow); }
.hero-operativa { min-height:300px; display:flex; align-items:center; padding:38px 42px; background-image:linear-gradient(90deg,rgba(0,31,49,.97) 0%,rgba(0,31,49,.84) 48%,rgba(0,31,49,.38) 100%),url('assets/PPT_FONDO.png'); background-position:center; background-size:cover; border-radius:18px; }
.hero-operativa:after { display:none; }
.hero-copy { max-width:780px; position:relative; z-index:2; }
.hero h1 { font-size:36px; line-height:1.12; margin-bottom:12px; color:#fff; }
.hero p { color:#D9E5E8; font-size:14px; line-height:1.65; }
.btn { font-family:"Poppins",sans-serif; border-radius:9px; font-size:12px; }
.btn-primary { background:#EE7C17; color:#fff; border-color:#EE7C17; }
.btn-primary:hover { background:#D66B10; }
.btn-secondary { background:rgba(248,244,232,.03); color:#F8F4E8; border-color:rgba(238,124,23,.78); }
.btn-secondary:hover { background:rgba(238,124,23,.10); }
.btn-ghost { background:transparent; color:#DCE8EB; border-color:rgba(248,244,232,.28); }
.btn-darkghost { background:rgba(0,38,58,.42); color:white; border-color:rgba(248,244,232,.34); }
.btn-ai { background:rgba(0,231,255,.08); color:#8FF3FB; border-color:rgba(0,231,255,.35); }
.btn-ai:hover { background:rgba(0,231,255,.13); }
.btn-danger { background:rgba(255,125,110,.08); border-color:rgba(255,125,110,.45); color:#FFB8AE; }
.btn-sharepoint { background:#EE7C17; border-color:#EE7C17; color:#fff; }
.btn-sharepoint:hover { background:#D66B10; }
.section-head h2,.module-header h1,.step-card h2,.audit-panel h3,.review h2,.review-group h3,.history-row h3,.empty strong,.connection-head h2,.conn-site strong,.conn-row strong,.sharepoint-save-box strong { color:#F8F4E8; }
.section-head p,.module-header p,.step-card>p,.audit-panel .hint,.review-intro,.history-row p,.history-meta,.field-help,.progress-meta,.connection-head p,.connection-user span,.conn-site span:not(.conn-badge),.conn-row span:not(.conn-badge),.connection-actions>span { color:#A9BAC3; }
.section-actions { display:flex; gap:8px; flex-wrap:wrap; }
.grid-rxd { grid-template-columns:repeat(5,minmax(175px,1fr)); }
.module-card,.module-header,.audit-panel,.progress-wrap,.step-card,.review,.history-toolbar,.history-row,.connection-card,.kpi,.empty,.copy-all { background:linear-gradient(180deg,rgba(2,35,54,.96),rgba(1,29,45,.96)); border-color:rgba(143,243,251,.16); box-shadow:0 10px 28px rgba(0,0,0,.10); }
.module-card { min-height:172px; }
.module-card:hover { border-color:rgba(238,124,23,.68); box-shadow:0 15px 34px rgba(0,0,0,.18); }
.module-card h3 { color:#F8F4E8; font-size:14px; }
.module-card p { color:#A9BAC3; }
.module-icon { background:transparent; color:#EE7C17; border:1px solid rgba(238,124,23,.38); }
.module-count { color:#8FF3FB; background:rgba(0,231,255,.07); }
.module-footer { color:#EE7C17; }
.progress-fill { background:linear-gradient(90deg,#00E7FF,#8FF3FB); }
.progress-bar { background:rgba(248,244,232,.10); }
.step-tab { background:rgba(248,244,232,.03); color:#A9BAC3; border-color:rgba(248,244,232,.16); }
.step-tab.active { background:#EE7C17; color:#fff; border-color:#EE7C17; }
.step-tab.done { background:rgba(168,211,19,.09); color:#D7F174; border-color:rgba(168,211,19,.26); }
.field-label,.progress-title,.score-value { color:#F8F4E8; }
.control { background:#F8F4E8; color:#18313E; border-color:rgba(248,244,232,.65); }
.control:focus { border-color:#00E7FF; box-shadow:0 0 0 3px rgba(0,231,255,.14); }
.control[disabled],.person-editor .control,.readonly-person .control { background:#EDE9DE; color:#53656F; }
.auto-score,.ai-note,.similar-card { background:rgba(0,231,255,.055); border-color:rgba(0,231,255,.22); color:#CBE9EC; }
.ai-note { border-left-color:#00E7FF; }
.similar-card strong { color:#F8F4E8; }
.score-ring { background:conic-gradient(#00E7FF var(--pct,0%),rgba(248,244,232,.10) 0); }
.score-ring:after { background:#021C2D; }
.score-ring strong { color:#F8F4E8; }
.audit-item { border-color:rgba(248,244,232,.12); }
.audit-item.ok { background:rgba(168,211,19,.07); border-color:rgba(168,211,19,.20); color:#D7F174; }
.audit-item.warn { background:rgba(238,124,23,.08); border-color:rgba(238,124,23,.22); color:#FFD1AA; }
.audit-item.danger { background:rgba(255,125,110,.08); border-color:rgba(255,125,110,.22); color:#FFC7C0; }
.tag { background:rgba(248,244,232,.07); color:#C9D8DD; }
.tag.orange { background:rgba(238,124,23,.11); color:#FFC18C; }
.tag.green { background:rgba(168,211,19,.09); color:#D7F174; }
.tag.blue { background:rgba(0,231,255,.08); color:#8FF3FB; }
.review-item { border-color:rgba(248,244,232,.10); }
.review-key { color:#9BB0B9; }
.copy-all { background:rgba(248,244,232,.025); }
.sharepoint-save-box { background:rgba(0,231,255,.045); border-color:rgba(0,231,255,.25); }
.action-derivation-box { background:rgba(238,124,23,.06); border-color:rgba(238,124,23,.35); }
.action-derivation-box strong { color:#FFD0A4; }
.linked-actions-mini { display:grid; gap:4px; margin-top:10px; padding-top:9px; border-top:1px solid rgba(238,124,23,.16); }
.linked-actions-mini strong { color:#F8F4E8; font-size:11px; }
.linked-actions-mini span { color:#A9BAC3; font-size:10px; }
.connection-card { margin-top:0; }
.conn-site,.crud-test { background:rgba(248,244,232,.025); border-color:rgba(143,243,251,.15); }
.conn-row { border-color:rgba(143,243,251,.14); }
.conn-badge.ok { background:rgba(168,211,19,.10); color:#D7F174 !important; }
.conn-badge.pending,.conn-badge.loading { background:rgba(0,231,255,.07); color:#8FF3FB !important; }
.conn-badge.error { background:rgba(255,125,110,.08); color:#FFC7C0 !important; }
.crud-test.ok { border-color:rgba(168,211,19,.23); background:rgba(168,211,19,.05); }
.crud-test.error { border-color:rgba(255,125,110,.23); background:rgba(255,125,110,.05); }
.crud-test.running { border-color:rgba(0,231,255,.23); background:rgba(0,231,255,.05); }
.crud-test strong { color:#F8F4E8; }
.crud-test span,.crud-test small { color:#A9BAC3; }

/* Home operativo */
.ops-status-strip { margin-top:14px; border:1px solid rgba(143,243,251,.16); border-radius:11px; background:rgba(2,28,45,.70); padding:10px 13px; display:flex; align-items:center; justify-content:space-between; gap:12px; }
.ops-status-strip>div { display:flex; align-items:center; gap:10px; flex-wrap:wrap; font-size:10px; color:#A9BAC3; }
.ops-status-strip strong { color:#F8F4E8; }
.ops-kpis,.audit-kpis { display:grid; grid-template-columns:repeat(6,minmax(145px,1fr)); gap:10px; margin-top:16px; }
.audit-kpis { grid-template-columns:repeat(4,minmax(180px,1fr)); }
.ops-kpi { min-height:112px; border:1px solid rgba(143,243,251,.16); border-radius:12px; background:linear-gradient(180deg,rgba(2,35,54,.94),rgba(1,29,45,.94)); padding:13px; display:grid; grid-template-columns:34px 1fr; gap:9px; align-items:start; }
.ops-kpi.alert { border-color:rgba(255,125,110,.42); }
.ops-kpi.warn { border-color:rgba(238,124,23,.42); }
.ops-kpi-icon { width:32px; height:32px; border:1px solid rgba(238,124,23,.42); border-radius:50%; display:grid; place-items:center; color:#EE7C17; font-weight:700; }
.ops-kpi-label { color:#B8C8CE; font-size:10px; line-height:1.25; }
.ops-kpi-value { color:#EE7C17; font-size:24px; font-weight:800; margin-top:2px; }
.ops-kpi-note { color:#7F98A2; font-size:9px; margin-top:3px; line-height:1.35; }
.attention-banner { margin-top:12px; padding:12px 14px; border-radius:10px; border:1px solid rgba(238,124,23,.36); background:rgba(238,124,23,.055); display:flex; align-items:center; gap:10px; color:#C9D7DC; font-size:11px; }
.attention-banner strong { color:#FFD0A4; }
.attention-banner span { flex:1; }

/* Páginas operativas */
.page-intro { border:1px solid rgba(143,243,251,.15); border-radius:16px; padding:28px 30px; background-image:linear-gradient(90deg,rgba(0,31,49,.96),rgba(0,31,49,.75)),url('assets/PPT_FONDO.png'); background-size:cover; background-position:center; box-shadow:var(--shadow); }
.page-intro h1 { margin:2px 0 8px; font-size:29px; color:#fff; }
.page-intro p { margin:0; color:#C9D7DC; max-width:900px; font-size:12px; line-height:1.6; }
.hub-grid { display:grid; grid-template-columns:repeat(2,minmax(320px,1fr)); gap:12px; margin-top:16px; }
.hub-card { border:1px solid rgba(143,243,251,.15); background:linear-gradient(180deg,rgba(2,35,54,.95),rgba(1,29,45,.95)); border-radius:12px; padding:15px; display:grid; grid-template-columns:42px 1fr auto; gap:12px; align-items:center; }
.hub-icon { color:#EE7C17; font-size:24px; }
.hub-card h3 { margin:0 0 4px; color:#F8F4E8; font-size:13px; }
.hub-card p { margin:0; color:#A9BAC3; font-size:10px; }
.catalog-summary { margin-top:16px; border:1px solid rgba(143,243,251,.15); border-radius:12px; background:rgba(2,35,54,.90); display:flex; gap:12px; align-items:baseline; padding:14px; }
.catalog-summary strong { color:#EE7C17; font-size:24px; }
.catalog-summary span { color:#A9BAC3; font-size:10px; margin-right:18px; }
.findings-list { display:grid; gap:9px; }
.finding { border:1px solid rgba(143,243,251,.14); border-radius:10px; background:rgba(2,35,54,.90); padding:12px; display:grid; grid-template-columns:32px 1fr; gap:10px; }
.finding.danger { border-color:rgba(255,125,110,.32); }
.finding.warn { border-color:rgba(238,124,23,.30); }
.finding-symbol { width:30px; height:30px; border-radius:50%; border:1px solid currentColor; display:grid; place-items:center; color:#EE7C17; font-weight:800; }
.finding.danger .finding-symbol { color:#FF9B8F; }
.finding strong { color:#F8F4E8; display:block; font-size:11px; }
.finding span { color:#A9BAC3; display:block; font-size:10px; margin-top:3px; line-height:1.45; }

.toast { background:#F8F4E8; color:#00263A; border:1px solid #EE7C17; }

@media (max-width:1400px){ .ops-kpis{grid-template-columns:repeat(3,1fr);} .grid-rxd{grid-template-columns:repeat(3,1fr);} }
@media (max-width:1100px){ .audit-kpis{grid-template-columns:repeat(2,1fr);} .hub-grid{grid-template-columns:1fr;} }
@media (max-width:900px){
  .brand-logo{width:190px;} .sidebar{border-right:0;border-bottom:1px solid rgba(248,244,232,.14);} .ops-kpis{grid-template-columns:repeat(2,1fr);} .grid-rxd{grid-template-columns:repeat(2,1fr);} .hero-operativa{min-height:260px;padding:28px;} .content{padding:20px;} .ops-status-strip{align-items:flex-start;flex-direction:column;} .hub-card{grid-template-columns:36px 1fr;}.hub-card .btn{grid-column:1/-1;}
}
@media (max-width:560px){ .ops-kpis,.audit-kpis,.grid-rxd{grid-template-columns:1fr;} .hero h1{font-size:28px;} .page-intro{padding:22px;} .attention-banner{align-items:flex-start;flex-direction:column;} }
.catalog-toolbar { grid-template-columns:1fr auto; }
@media (max-width:760px){ .catalog-toolbar{grid-template-columns:1fr;} }

/* ==========================================================
   V2.7 OPERATIVA · TEMA CLARO/OSCURO + SESIÓN VISIBLE
   ========================================================== */
.theme-toggle {
  width: 38px; height: 38px; border-radius: 50%; display:grid; place-items:center;
  border:1px solid rgba(248,244,232,.34); background:transparent; color:#F8F4E8;
  font-size:18px; line-height:1; transition:.16s ease;
}
.theme-toggle:hover { transform:translateY(-1px); border-color:#EE7C17; color:#EE7C17; }
.m365-session {
  border-radius:999px; padding:8px 13px; font:600 10px "Poppins",sans-serif;
  border:1px solid transparent; transition:.16s ease; white-space:nowrap;
}
.m365-session.disconnected { background:#EE7C17; border-color:#EE7C17; color:white; }
.m365-session.disconnected:hover { background:#D66B10; }
.m365-session.connected { background:rgba(168,211,19,.12); border-color:rgba(168,211,19,.55); color:#D7F174; }
.m365-session.connected:hover { background:rgba(168,211,19,.18); }
.person-editor-select { grid-template-columns:minmax(0,1fr) auto; }
.person-editor-select .control { background:#F8F4E8; color:#18313E; }

html[data-theme="light"], html[data-theme="light"] body {
  background:#F8F4E8;
  color:#243744;
}
html[data-theme="light"] .main {
  background:linear-gradient(180deg,#F8F4E8 0%,#F4F0E5 100%);
}
html[data-theme="light"] .topbar {
  background:rgba(248,244,232,.94);
  border-color:#DED9CB;
  backdrop-filter:blur(12px);
}
html[data-theme="light"] .breadcrumb { color:#00263A; }
html[data-theme="light"] .theme-toggle {
  color:#00263A; border-color:#BFC7C7; background:#FFFDF7;
}
html[data-theme="light"] .mode-chip {
  color:#4A4949; border-color:#C9C4B8; background:#FFFDF7;
}
html[data-theme="light"] .module-card,
html[data-theme="light"] .module-header,
html[data-theme="light"] .audit-panel,
html[data-theme="light"] .progress-wrap,
html[data-theme="light"] .step-card,
html[data-theme="light"] .review,
html[data-theme="light"] .history-toolbar,
html[data-theme="light"] .history-row,
html[data-theme="light"] .connection-card,
html[data-theme="light"] .kpi,
html[data-theme="light"] .empty,
html[data-theme="light"] .copy-all,
html[data-theme="light"] .ops-kpi,
html[data-theme="light"] .hub-card,
html[data-theme="light"] .catalog-summary,
html[data-theme="light"] .finding {
  background:#FFFDF7;
  border-color:#DED9CB;
  box-shadow:0 8px 24px rgba(0,38,58,.06);
}
html[data-theme="light"] .module-card:hover,
html[data-theme="light"] .hub-card:hover { border-color:#EE7C17; }
html[data-theme="light"] .section-head h2,
html[data-theme="light"] .module-header h1,
html[data-theme="light"] .step-card h2,
html[data-theme="light"] .audit-panel h3,
html[data-theme="light"] .review h2,
html[data-theme="light"] .review-group h3,
html[data-theme="light"] .history-row h3,
html[data-theme="light"] .empty strong,
html[data-theme="light"] .connection-head h2,
html[data-theme="light"] .conn-site strong,
html[data-theme="light"] .conn-row strong,
html[data-theme="light"] .sharepoint-save-box strong,
html[data-theme="light"] .module-card h3,
html[data-theme="light"] .hub-card h3,
html[data-theme="light"] .field-label,
html[data-theme="light"] .progress-title,
html[data-theme="light"] .score-value,
html[data-theme="light"] .finding strong,
html[data-theme="light"] .ops-status-strip strong {
  color:#00263A;
}
html[data-theme="light"] .section-head p,
html[data-theme="light"] .module-header p,
html[data-theme="light"] .step-card>p,
html[data-theme="light"] .audit-panel .hint,
html[data-theme="light"] .review-intro,
html[data-theme="light"] .history-row p,
html[data-theme="light"] .history-meta,
html[data-theme="light"] .field-help,
html[data-theme="light"] .progress-meta,
html[data-theme="light"] .connection-head p,
html[data-theme="light"] .connection-user span,
html[data-theme="light"] .conn-site span:not(.conn-badge),
html[data-theme="light"] .conn-row span:not(.conn-badge),
html[data-theme="light"] .connection-actions>span,
html[data-theme="light"] .module-card p,
html[data-theme="light"] .hub-card p,
html[data-theme="light"] .finding span,
html[data-theme="light"] .ops-kpi-label,
html[data-theme="light"] .ops-kpi-note {
  color:#667078;
}
html[data-theme="light"] .btn-secondary {
  background:#FFFDF7; color:#00263A; border-color:#EE7C17;
}
html[data-theme="light"] .btn-secondary:hover { background:#FFF2E6; }
html[data-theme="light"] .btn-ghost { color:#00263A; border-color:#C7C2B7; }
html[data-theme="light"] .btn-ai { background:#E8FAFC; color:#006D78; border-color:#9ADCE4; }
html[data-theme="light"] .control {
  background:#FFFDF7; color:#243744; border-color:#CBC5B9;
}
html[data-theme="light"] .control:focus { border-color:#00BFD6; box-shadow:0 0 0 3px rgba(0,231,255,.14); }
html[data-theme="light"] .control[disabled],
html[data-theme="light"] .readonly-person .control { background:#F0ECE2; color:#5B6870; }
html[data-theme="light"] .person-editor-select .control { background:#FFFDF7; color:#243744; }
html[data-theme="light"] .progress-bar { background:#E4DFD3; }
html[data-theme="light"] .step-tab { background:#FFFDF7; color:#65717A; border-color:#D4CFC4; }
html[data-theme="light"] .step-tab.active { background:#EE7C17; color:white; border-color:#EE7C17; }
html[data-theme="light"] .step-tab.done { background:#F0F7E0; color:#547100; border-color:#CBDD97; }
html[data-theme="light"] .ai-note,
html[data-theme="light"] .similar-card,
html[data-theme="light"] .auto-score {
  background:#F0FAFB; color:#28545A; border-color:#B7E7EC;
}
html[data-theme="light"] .similar-card strong { color:#00263A; }
html[data-theme="light"] .score-ring { background:conic-gradient(#00BFD6 var(--pct,0%),#E2DDD0 0); }
html[data-theme="light"] .score-ring:after { background:#FFFDF7; }
html[data-theme="light"] .score-ring strong { color:#00263A; }
html[data-theme="light"] .tag { background:#F1EEE5; color:#4A4949; }
html[data-theme="light"] .tag.blue { background:#E4F9FC; color:#006D78; }
html[data-theme="light"] .tag.orange { background:#FFF0E2; color:#9E4C09; }
html[data-theme="light"] .tag.green { background:#EEF6DC; color:#567000; }
html[data-theme="light"] .ops-status-strip,
html[data-theme="light"] .conn-site,
html[data-theme="light"] .crud-test {
  background:#FFFDF7; border-color:#DED9CB;
}
html[data-theme="light"] .ops-status-strip>div { color:#667078; }
html[data-theme="light"] .sharepoint-save-box { background:#F1FAFB; border-color:#AEE0E5; }
html[data-theme="light"] .action-derivation-box { background:#FFF5EA; border-color:#F2C28F; }
html[data-theme="light"] .action-derivation-box strong { color:#8E4A0D; }
html[data-theme="light"] .linked-actions-mini { border-top-color:#F0D6BA; }
html[data-theme="light"] .linked-actions-mini strong { color:#00263A; }
html[data-theme="light"] .linked-actions-mini span { color:#667078; }
html[data-theme="light"] .attention-banner { background:#FFF5EA; color:#5C6570; border-color:#F2C28F; }
html[data-theme="light"] .attention-banner strong { color:#8E4A0D; }
html[data-theme="light"] .catalog-summary strong,
html[data-theme="light"] .ops-kpi-value { color:#EE7C17; }
html[data-theme="light"] .catalog-summary span { color:#667078; }
html[data-theme="light"] .finding-symbol { color:#EE7C17; }
html[data-theme="light"] .finding.danger .finding-symbol { color:#B42318; }
html[data-theme="light"] .toast { background:#FFFDF7; color:#00263A; }
/* Sidebar y banners institucionales permanecen oscuros en ambos temas para preservar identidad. */


/* ==========================================================
   V2.8 OPERATIVA · DESIGN TOKENS + DOBLE LISTA DE ACCIONES
   Fuente técnica: AO_UI_Theme_Tokens.md + theme.css
   ========================================================== */
html, body { background: var(--ao-bg-app); color: var(--ao-text-primary); font-family: var(--ao-font-body); }
h1,h2,h3,.breadcrumb,.brand,.kpi-value,.ops-kpi-value { font-family: var(--ao-font-display); }
.theme-toggle { border-color: var(--ao-border); }
.m365-session.connected { background: var(--ao-success-bg); color: var(--ao-success); border-color: var(--ao-success-border); }
.conn-badge.ok { background: var(--ao-success-bg) !important; color: var(--ao-success) !important; border:1px solid var(--ao-success-border); }
.conn-badge.loading,.conn-badge.pending { background: var(--ao-info-bg) !important; color: var(--ao-info) !important; border:1px solid var(--ao-info-border); }
.module-count,.tag.blue { background: var(--ao-info-bg) !important; color: var(--ao-info) !important; border-color:var(--ao-info-border) !important; }
html[data-theme="light"] .m365-session.connected { background: var(--ao-success-bg); color: var(--ao-success); border-color: var(--ao-success-border); }
html[data-theme="light"] .conn-badge.ok { background: var(--ao-success-bg) !important; color: var(--ao-success) !important; border-color: var(--ao-success-border); }
html[data-theme="light"] .module-count,
html[data-theme="light"] .tag.blue,
html[data-theme="light"] .conn-badge.loading,
html[data-theme="light"] .conn-badge.pending { background:var(--ao-info-bg) !important; color:var(--ao-info) !important; border-color:var(--ao-info-border) !important; }
html[data-theme="light"] .btn-ai { background:var(--ao-info-bg); color:var(--ao-info); border-color:var(--ao-info-border); }
html[data-theme="light"] .control:focus { border-color:var(--ao-focus-ring); box-shadow:0 0 0 3px rgba(0,124,145,.14); }
.action-kind-chip { display:inline-flex; align-items:center; gap:5px; border-radius:999px; padding:4px 8px; font-size:9px; font-weight:700; border:1px solid var(--ao-info-border); background:var(--ao-info-bg); color:var(--ao-info); }
.action-kind-chip.sgi { border-color:rgba(238,124,23,.38); background:rgba(238,124,23,.10); color:#EE7C17; }
.work-search-grid { display:grid; grid-template-columns:minmax(260px,1fr) auto; gap:10px; }
.work-form-note { margin:10px 0 16px; padding:10px 12px; border-left:3px solid var(--ao-info); background:var(--ao-info-bg); color:var(--ao-info); border-radius:0 8px 8px 0; font-size:11px; }
.readonly-id { padding:10px 12px; border:1px solid var(--ao-border); border-radius:9px; background:var(--ao-bg-card-alt); color:var(--ao-text-primary); font-weight:700; }
.person-option-note { font-size:10px; color:var(--ao-text-muted); margin-top:4px; }
.person-unresolved { color:var(--ao-warning); }
.dual-action-summary { display:grid; grid-template-columns:1fr 1fr; gap:10px; }
@media(max-width:760px){ .work-search-grid,.dual-action-summary{grid-template-columns:1fr;} }

/* ==========================================================
   V2.9 OPERATIVA · DASHBOARD ACCIONABLE + FILTROS + HEADERS
   ========================================================== */
.page-intro-flex{display:flex;align-items:flex-end;justify-content:space-between;gap:24px;}
.page-intro-flex>div:first-child{min-width:0;}
.page-intro-actions{display:flex;gap:9px;flex-wrap:wrap;justify-content:flex-end;position:relative;z-index:2;}
.page-intro-actions .btn-darkghost{white-space:nowrap;}

.work-filters{display:grid;grid-template-columns:repeat(4,minmax(160px,1fr));gap:10px;margin:10px 0 8px;padding:12px;border:1px solid var(--ao-border);border-radius:12px;background:var(--ao-bg-card);}
.work-filter{display:grid;gap:5px;min-width:0;}
.work-filter>span{font-size:9px;font-weight:700;text-transform:uppercase;letter-spacing:.05em;color:var(--ao-text-muted);}
.work-results-meta{font-size:10px;color:var(--ao-text-muted);margin:7px 2px 10px;}

.ops-kpi.is-clickable{font:inherit;text-align:left;width:100%;cursor:pointer;color:inherit;}
.ops-kpi.is-clickable:hover{transform:translateY(-1px);border-color:var(--ao-accent-orange);box-shadow:0 12px 28px rgba(0,0,0,.12);}
.ops-kpi.is-clickable:focus-visible{outline:3px solid var(--ao-focus-ring);outline-offset:2px;}

.home-detail,.my-dashboard{margin-top:16px;border:1px solid var(--ao-border);border-radius:14px;background:var(--ao-bg-card);padding:16px;box-shadow:0 8px 22px rgba(0,0,0,.06);}
.home-detail-list{display:grid;gap:8px;}
.home-detail-row{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:11px 12px;border:1px solid var(--ao-border);border-radius:10px;background:var(--ao-bg-card-alt);}
.home-detail-row strong{display:block;color:var(--ao-text-primary);font-size:11px;}
.home-detail-row span{display:block;color:var(--ao-text-secondary);font-size:9px;margin-top:3px;line-height:1.45;}
.my-kpis{display:grid;grid-template-columns:repeat(5,minmax(140px,1fr));gap:10px;}

.finding-clickable{width:100%;text-align:left;font:inherit;cursor:pointer;}
.finding-clickable:hover{border-color:var(--ao-accent-orange);transform:translateY(-1px);}
.finding-clickable small{display:block;margin-top:5px;color:var(--ao-info);font-size:9px;font-weight:700;}

html[data-theme="light"] .work-filters,
html[data-theme="light"] .home-detail,
html[data-theme="light"] .my-dashboard{background:#FFFDF7;border-color:#DED9CB;}
html[data-theme="light"] .home-detail-row{background:#F8F4E8;border-color:#DED9CB;}
html[data-theme="light"] .home-detail-row strong{color:#00263A;}
html[data-theme="light"] .home-detail-row span{color:#667078;}
/* Encabezados institucionales permanecen azul profundo en ambos temas. */
html[data-theme="light"] .page-intro h1{color:#FFFFFF;}
html[data-theme="light"] .page-intro p{color:#C9D7DC;}
html[data-theme="light"] .page-intro .eyebrow{color:#EE7C17;}

@media(max-width:1100px){.work-filters{grid-template-columns:repeat(2,1fr)}.my-kpis{grid-template-columns:repeat(2,1fr)}.page-intro-flex{align-items:flex-start;flex-direction:column}.page-intro-actions{justify-content:flex-start}}
@media(max-width:620px){.work-filters,.my-kpis{grid-template-columns:1fr}.home-detail-row{align-items:flex-start;flex-direction:column}}

/* ==========================================================
   V2.9.1 · KPI LAYOUT + AUDITOR FILTERS
   ========================================================== */
/* KPI clickable: título, valor y nota siempre en líneas separadas. */
.ops-kpi > span:last-child,
.ops-kpi > div:last-child{
  min-width:0;
  display:flex;
  flex-direction:column;
  align-items:flex-start;
}
.ops-kpi-label,
.ops-kpi-value,
.ops-kpi-note{
  display:block;
  width:100%;
}
.ops-kpi-value{
  line-height:1.05;
  margin:6px 0 3px;
}
.ops-kpi-note{
  margin-top:0;
}

/* Auditor SGI: tarjetas KPI accionables y filtros equivalentes a Seguimiento. */
.audit-kpis .ops-kpi.is-clickable{min-height:112px;}
.audit-kpis .ops-kpi.is-active{
  border-color:var(--ao-accent-orange);
  box-shadow:0 0 0 1px color-mix(in srgb,var(--ao-accent-orange) 45%,transparent),0 12px 28px rgba(0,0,0,.12);
}
.audit-filter-summary{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
  margin:8px 2px 12px;
  color:var(--ao-text-muted);
  font-size:10px;
}
.audit-filter-summary strong{color:var(--ao-text-primary);}
.audit-results-anchor{scroll-margin-top:84px;}
html[data-theme="light"] .audit-kpis .ops-kpi.is-active{
  border-color:#EE7C17;
  box-shadow:0 0 0 1px rgba(238,124,23,.18),0 10px 24px rgba(0,38,58,.08);
}

@media(max-width:620px){
  .audit-filter-summary{align-items:flex-start;flex-direction:column;}
}

/* ==========================================================
   V3.1.0 IA FUNCIONAL · revisión humana y métricas
   ========================================================== */
.ai-review-overlay{position:fixed;inset:0;background:rgba(0,20,31,.72);backdrop-filter:blur(5px);z-index:9999;display:flex;align-items:center;justify-content:center;padding:24px}
.ai-review-dialog{width:min(920px,96vw);max-height:90vh;overflow:auto;background:var(--bg-card,#063247);color:var(--text-primary,#fff);border:1px solid var(--border,#285063);border-radius:20px;box-shadow:0 28px 80px rgba(0,0,0,.38);padding:24px}
.ai-review-head{display:flex;justify-content:space-between;gap:20px;align-items:flex-start;margin-bottom:18px}.ai-review-head h2{margin:4px 0 4px;font-size:1.5rem}.ai-review-head p{margin:0;color:var(--text-secondary,#b7c8cf)}
.ai-review-text{min-height:190px;resize:vertical}.ai-review-blocked{display:flex;flex-direction:column;gap:4px;border:1px solid var(--warning,#ffb451);background:color-mix(in srgb,var(--warning,#ffb451) 12%,transparent);padding:14px 16px;border-radius:12px;margin-bottom:16px}.ai-review-blocked span{color:var(--text-secondary,#b7c8cf)}
.ai-review-note{padding:12px 14px;border-radius:12px;border:1px solid var(--border,#285063);margin-top:12px;background:var(--bg-card-alt,#092f41)}.ai-review-note strong{display:block;margin-bottom:6px}.ai-review-note ul{margin:0;padding-left:20px}.ai-review-note.warn{border-color:var(--warning,#ffb451)}.ai-review-note.info{border-color:var(--accent-cyan,#00e7ff)}
.ai-review-meta{display:flex;flex-wrap:wrap;gap:8px;margin-top:14px}.ai-review-meta span{font-size:.78rem;padding:5px 8px;border-radius:999px;border:1px solid var(--border,#285063);color:var(--text-secondary,#b7c8cf)}
.ai-review-actions{display:flex;justify-content:space-between;align-items:center;gap:16px;margin-top:20px;padding-top:16px;border-top:1px solid var(--border,#285063)}.ai-review-main-actions,.ai-feedback-inline{display:flex;gap:8px;flex-wrap:wrap}
.ai-metrics-grid{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:10px;margin-top:14px}.ai-metrics-grid>div{border:1px solid var(--border,#285063);border-radius:12px;padding:10px 12px;background:var(--bg-card-alt,#092f41)}.ai-metrics-grid strong{display:block;font-size:1.08rem;color:var(--accent-orange,#ee7c17)}.ai-metrics-grid span{font-size:.74rem;color:var(--text-secondary,#b7c8cf)}
[data-theme="light"] .ai-review-overlay{background:rgba(0,38,58,.42)}
[data-theme="light"] .ai-review-dialog{background:var(--bg-card,#fffdf7);color:var(--text-primary,#00263a)}
[data-theme="light"] .ai-review-note,[data-theme="light"] .ai-metrics-grid>div{background:var(--bg-card-alt,#f4f0e5)}
@media(max-width:900px){.ai-metrics-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.ai-review-actions{align-items:stretch;flex-direction:column}.ai-review-main-actions,.ai-feedback-inline{width:100%}.ai-review-main-actions .btn{flex:1}}
