:root{
  --nav-950:#041b3d;
  --nav-900:#062b57;
  --nav-800:#073a79;
  --brand:#0a469c;
  --brand-2:#176fff;
  --cyan:#4ea6cf;
  --cyan-2:#74d7ff;
  --ink:#0f172a;
  --text:#23324d;
  --muted:#64748b;
  --bg:#f4f7fb;
  --card:#ffffff;
  --line:#e1e9f4;
  --soft:#eef6ff;
  --success:#0f9f6e;
  --danger:#ef4444;
  --warning:#f59e0b;
  --violet:#8b5cf6;
  --shadow:0 18px 46px rgba(8,58,121,.10);
  --shadow-sm:0 10px 26px rgba(8,58,121,.08);
  --radius:20px;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;background:var(--bg);font-family:Inter,Segoe UI,Roboto,Arial,sans-serif;color:var(--text);font-size:15px;line-height:1.45}
a{text-decoration:none;color:inherit}.nav-toggle,.mobile-menu{display:none}
.app-shell{min-height:100vh;display:flex;background:radial-gradient(circle at 70% -10%,rgba(116,215,255,.18),transparent 28%),linear-gradient(180deg,#fbfdff 0%,#f3f7fc 100%)}

/* SIDEBAR */
.sidebar{position:fixed;z-index:30;left:0;top:0;bottom:0;width:300px;padding:22px 16px 18px;color:#fff;background:linear-gradient(165deg,#041b3d 0%,#062b57 38%,#073a79 72%,#0a469c 100%);background-attachment:fixed;background-size:300px 100vh;background-repeat:no-repeat;box-shadow:20px 0 48px rgba(4,27,61,.30);overflow:auto;scrollbar-width:thin;scrollbar-color:rgba(255,255,255,.20) transparent}
.sidebar:before{content:"";position:fixed;left:0;top:0;width:inherit;height:100vh;background:radial-gradient(circle at 50% 0%,rgba(116,215,255,.16),transparent 28%),radial-gradient(circle at 0% 92%,rgba(23,111,255,.22),transparent 34%);pointer-events:none}.sidebar>*{position:relative;z-index:1}
.brand-card{display:flex;align-items:center;gap:13px;padding:14px;background:#fff;border:1px solid rgba(255,255,255,.80);border-radius:24px;box-shadow:0 18px 36px rgba(0,0,0,.20);margin-bottom:18px;color:var(--ink)}
.brand-mark{width:54px;height:54px;flex:0 0 54px;border-radius:18px;background:linear-gradient(135deg,var(--brand),var(--cyan));display:grid;place-items:center;color:#fff;font-size:20px;font-weight:950;letter-spacing:-.06em;box-shadow:0 12px 24px rgba(10,70,156,.28)}
.brand-name{font-weight:950;font-size:18px;letter-spacing:-.03em;color:#0b2d5f;line-height:1.05}.brand-line{font-size:11px;color:#607a9a;margin-top:5px;line-height:1.25;font-weight:750}.brand-copy{min-width:0}
.side-nav{display:grid;gap:7px;margin-top:12px}.side-nav a{display:grid;grid-template-columns:38px minmax(0,1fr);align-items:center;gap:12px;padding:11px 12px;border-radius:16px;color:#eaf4ff;font-weight:780;border:1px solid transparent;transition:background .16s ease,transform .16s ease,border-color .16s ease,box-shadow .16s ease}.side-nav a:hover{background:rgba(255,255,255,.08);border-color:rgba(255,255,255,.10);transform:translateX(2px)}.side-nav a.active{background:linear-gradient(100deg,rgba(23,111,255,.90),rgba(116,215,255,.28));box-shadow:0 14px 30px rgba(23,111,255,.20);border-color:rgba(255,255,255,.16)}
.nav-icon{width:38px;height:38px;display:grid;place-items:center;border-radius:13px;background:rgba(255,255,255,.11);font-size:18px;color:#fff}.side-nav a.active .nav-icon{background:rgba(255,255,255,.22)}.nav-text strong{display:block;font-size:14px;line-height:1.05}.nav-text small{display:block;margin-top:3px;font-size:11px;color:#bcd5f3;line-height:1.1;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.side-nav a.active .nav-text small{color:#eaf7ff}
.sidebar-panel{margin:20px 2px 14px;padding:16px;border:1px solid rgba(255,255,255,.14);border-radius:18px;background:linear-gradient(180deg,rgba(255,255,255,.10),rgba(255,255,255,.05));box-shadow:inset 0 1px 0 rgba(255,255,255,.10)}.panel-title{font-size:14px;font-weight:900;margin-bottom:6px}.sidebar-panel p{margin:0;color:#cce0f8;font-size:12px;line-height:1.45}.sidebar-user{display:flex;align-items:center;gap:12px;padding:14px 8px 0;border-top:1px solid rgba(255,255,255,.12)}.avatar{width:42px;height:42px;border-radius:50%;display:grid;place-items:center;background:linear-gradient(135deg,var(--brand-2),var(--cyan-2));color:#fff;font-weight:900;border:2px solid rgba(255,255,255,.35);box-shadow:0 8px 20px rgba(0,0,0,.18)}.avatar.small{width:36px;height:36px;font-size:13px}.sidebar-user strong{display:block;font-size:14px}.sidebar-user span{display:block;color:#d4e7ff;font-size:12px;margin-top:2px}

/* LAYOUT */
.content{margin-left:300px;width:calc(100% - 300px);min-height:100vh;padding:0 34px 38px}.topbar{position:sticky;top:0;z-index:18;height:70px;margin:0 -34px 26px;padding:0 34px;display:flex;align-items:center;justify-content:space-between;background:rgba(255,255,255,.88);border-bottom:1px solid var(--line);backdrop-filter:blur(16px)}.topbar-left{display:flex;align-items:baseline;gap:12px;min-width:0}.topbar-brand{font-size:16px;color:#102646;font-weight:950}.topbar-left span{font-size:13px;color:var(--muted);font-weight:700}.topbar-actions{display:flex;align-items:center;gap:12px;margin-left:auto}.top-icon{width:38px;height:38px;border-radius:14px;display:grid;place-items:center;color:#496686;background:#fff;border:1px solid var(--line);font-size:18px;box-shadow:0 6px 14px rgba(8,58,121,.05)}.top-company{display:inline-flex;align-items:center;gap:9px;color:#244160;font-weight:800;padding:10px 13px;border:1px solid var(--line);border-radius:999px;background:#fff}.top-company:before{content:"▣";width:28px;height:28px;border-radius:50%;display:grid;place-items:center;background:var(--soft);color:var(--brand)}.logout-link{display:inline-flex;align-items:center;justify-content:center;border-radius:999px;background:linear-gradient(135deg,var(--brand-2),var(--brand));color:#fff;font-weight:900;padding:10px 15px;box-shadow:0 10px 22px rgba(10,70,156,.20)}
.page-header{display:flex;align-items:flex-start;justify-content:space-between;gap:18px;margin-bottom:20px}.module-kicker{display:inline-flex;align-items:center;gap:8px;color:var(--brand);font-size:12px;font-weight:950;text-transform:uppercase;letter-spacing:.12em;margin-bottom:6px}.page-header h1{margin:0;color:var(--ink);font-size:36px;letter-spacing:-.035em;line-height:1.08}.page-subtitle{margin:7px 0 0;color:#53647d;font-size:15px;max-width:780px}.page-chip{display:inline-flex;align-items:center;gap:8px;padding:11px 15px;border:1px solid var(--line);border-radius:999px;background:#fff;color:#32506e;font-weight:900;box-shadow:var(--shadow-sm);white-space:nowrap}

/* CARDS / DASHBOARD */
.card{background:rgba(255,255,255,.96);border:1px solid var(--line);border-radius:var(--radius);padding:21px;box-shadow:var(--shadow);margin-bottom:18px;min-width:0}.card h2{margin:0 0 16px;color:#132238;font-size:19px;letter-spacing:-.015em}.card h3{margin:12px 0 10px;color:#132238}.grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:16px}.dashboard-shell{display:grid;grid-template-columns:minmax(0,1fr) 280px;gap:20px;align-items:start}.main-area{min-width:0}.stats-row{display:grid;grid-template-columns:repeat(auto-fit,minmax(190px,1fr));gap:16px;margin-bottom:20px}.kpi{position:relative;background:#fff;border:1px solid var(--line);border-radius:20px;padding:18px;min-height:124px;box-shadow:var(--shadow-sm);display:grid;grid-template-columns:54px minmax(0,1fr);gap:14px;align-items:center;overflow:hidden}.kpi:before{content:"";position:absolute;right:-28px;top:-28px;width:92px;height:92px;border-radius:50%;background:rgba(23,111,255,.06)}.kpi-icon{width:54px;height:54px;border-radius:18px;display:grid;place-items:center;background:linear-gradient(135deg,#e6f7ff,#f7fcff);color:#12a8e8;font-size:24px;border:1px solid #d7effb}.kpi:nth-child(2) .kpi-icon{background:#fff7e8;color:#f59e0b;border-color:#ffe5b3}.kpi:nth-child(3) .kpi-icon{background:#fff0f2;color:#ef4444;border-color:#ffd1d7}.kpi:nth-child(4) .kpi-icon{background:#f4efff;color:#8b5cf6;border-color:#dfd2ff}.kpi:nth-child(5) .kpi-icon{background:#edf5ff;color:#176fff;border-color:#d3e5ff}.kpi-label{color:#344b6c;font-size:13px;font-weight:900;display:flex;align-items:center;gap:6px;white-space:nowrap}.info-dot{display:inline-grid;place-items:center;width:16px;height:16px;border-radius:50%;background:#eef4fb;color:#71849e;font-size:10px;font-weight:950;cursor:help}.kpi .n{font-size:31px;font-weight:950;line-height:1.05;color:#111c35;margin-top:4px;letter-spacing:-.03em}.kpi .sub{font-size:12px;color:#6b7c94;margin-top:6px;white-space:normal}
.analytics{display:grid;grid-template-columns:minmax(0,1.14fr) minmax(320px,.86fr);gap:16px}.chart-card{min-height:304px;overflow:hidden}.chart-head{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-bottom:12px}.mini-select{border:1px solid #d5e1f0;border-radius:12px;padding:8px 12px;color:#445c78;background:#fff;font-weight:800;font-size:13px;white-space:nowrap}.line-chart{width:100%;height:212px;display:block;max-width:100%}.donut-wrap{display:flex;align-items:center;gap:22px;min-height:215px;flex-wrap:wrap}.donut{width:166px;height:166px;border-radius:50%;background:conic-gradient(#ef4444 0 10%,#fb923c 10% 34%,#facc15 34% 76%,#3b82f6 76% 94%,#10b981 94% 100%);position:relative;display:grid;place-items:center;flex:0 0 auto;box-shadow:inset 0 0 0 1px rgba(15,23,42,.03)}.donut:after{content:"";position:absolute;inset:45px;border-radius:50%;background:#fff;box-shadow:inset 0 0 0 1px var(--line)}.donut-center{position:relative;z-index:1;text-align:center;font-size:12px;color:#64748b}.donut-center strong{display:block;color:#14213d;font-size:30px;letter-spacing:-.03em}.legend{display:grid;gap:12px;font-size:13px;min-width:170px;flex:1}.legend-row{display:flex;align-items:center;justify-content:space-between;gap:12px;color:#334155}.legend-row span:first-child{display:flex;align-items:center;gap:8px}.legend-dot{width:10px;height:10px;border-radius:50%;display:inline-block;flex:0 0 auto}.right-filter{align-self:start;position:sticky;top:92px;padding:20px}.filter-row{margin-bottom:16px}.filter-title{display:flex;align-items:center;justify-content:space-between;margin-bottom:16px}.filter-title strong{display:flex;gap:8px;align-items:center;color:#132238}.filter-title a{color:var(--brand-2);font-weight:800;font-size:13px}.apply-btn{width:100%;margin-top:4px}.recent-card{margin-top:20px}.table-wrap{overflow:auto;border-radius:16px}table{width:100%;border-collapse:separate;border-spacing:0;background:#fff;border:1px solid var(--line);border-radius:16px;overflow:hidden}th,td{padding:13px 14px;border-bottom:1px solid var(--line);text-align:left;font-size:13px;vertical-align:middle}th{background:#fbfdff;color:#52657f;font-size:12px;font-weight:950;text-transform:uppercase;letter-spacing:.04em}tr:last-child td{border-bottom:0}tr:hover td{background:#f8fbff}.row-icon{font-size:18px;margin-right:8px}.owner{display:inline-flex;align-items:center;gap:8px}.owner-badge{width:27px;height:27px;border-radius:50%;display:grid;place-items:center;background:#e8f1ff;color:#176fff;font-size:11px;font-weight:950;border:1px solid #c8ddff}

/* FORMS / BUTTONS */
.actions{display:flex;gap:10px;flex-wrap:wrap;margin:14px 0}.btn,button{display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:11px 16px;border:0;border-radius:13px;background:linear-gradient(135deg,var(--brand-2),var(--brand));color:#fff;font-weight:900;cursor:pointer;box-shadow:0 12px 25px rgba(23,111,255,.20);transition:transform .16s ease,box-shadow .16s ease,filter .16s ease}.btn:hover,button:hover{transform:translateY(-2px);box-shadow:0 16px 30px rgba(23,111,255,.24);filter:saturate(1.04)}.btn.secondary{background:linear-gradient(135deg,#64748b,#334155)}.btn.danger{background:linear-gradient(135deg,#ef4444,#b91c1c)}.btn.light{background:#fff;color:#1e293b;border:1px solid var(--line);box-shadow:0 8px 18px rgba(8,58,121,.06)}
input,select,textarea{width:100%;padding:12px 13px;border:1px solid #d5e1f0;border-radius:13px;background:#fff;outline:none;font:inherit;color:var(--ink);transition:border-color .15s ease,box-shadow .15s ease}select{appearance:none;background-image:linear-gradient(45deg,transparent 50%,#507090 50%),linear-gradient(135deg,#507090 50%,transparent 50%),linear-gradient(to right,#f5f9ff,#f5f9ff);background-position:calc(100% - 20px) calc(50% - 3px),calc(100% - 14px) calc(50% - 3px),100% 0;background-size:6px 6px,6px 6px,42px 100%;background-repeat:no-repeat;padding-right:52px}input:focus,select:focus,textarea:focus{border-color:#7cb6ff;box-shadow:0 0 0 4px rgba(78,166,207,.16)}textarea{min-height:100px;resize:vertical}label{display:block;font-size:13px;font-weight:900;color:#334155;margin-bottom:7px}.formgrid{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:15px}.full{grid-column:1/-1}.flash{background:#ecfeff;border:1px solid #a5f3fc;color:#155e75;padding:13px 15px;border-radius:15px;margin-bottom:16px;font-weight:800}.badge{display:inline-flex;align-items:center;justify-content:center;border-radius:9px;padding:5px 10px;font-size:12px;font-weight:900;white-space:nowrap}.badge.critical{background:#fee2e2;color:#b91c1c;border:1px solid #fecaca}.badge.high{background:#ffedd5;color:#c2410c;border:1px solid #fed7aa}.badge.medium{background:#fef3c7;color:#a16207;border:1px solid #fde68a}.badge.low{background:#e0f2fe;color:#0369a1;border:1px solid #bae6fd}.badge.neutral{background:#f1f5f9;color:#334155;border:1px solid #e2e8f0}.pill{display:inline-flex;align-items:center;border-radius:9px;padding:5px 10px;background:#e8f1ff;color:#176fff;border:1px solid #c8ddff;font-size:12px;font-weight:900;white-space:nowrap}.help{color:var(--muted);font-size:12px;line-height:1.5}.section-note{background:#eff6ff;border:1px solid #bfdbfe;color:#1d4ed8;padding:12px;border-radius:14px;font-size:13px;margin:10px 0 14px}

/* EMPTY STATES */
.empty-state{border:1px dashed #c8d7ea;background:linear-gradient(180deg,#fbfdff,#f6faff);border-radius:20px;text-align:center;color:#52657f}.empty-state.big-empty{padding:48px 28px;min-height:320px;display:grid;place-items:center;gap:9px}.empty-state.compact{padding:42px 18px;min-height:200px;display:grid;place-items:center;align-content:center;gap:7px}.empty-state h2{margin:8px 0 4px;color:#132238;font-size:24px}.empty-state p{margin:0;max-width:760px;line-height:1.55;color:#64748b}.empty-icon{width:80px;height:80px;border-radius:26px;display:grid;place-items:center;background:linear-gradient(135deg,var(--brand-2),var(--cyan));color:#fff;font-weight:950;letter-spacing:.08em;box-shadow:0 18px 38px rgba(23,111,255,.22)}.quick-links{display:flex;justify-content:center;gap:10px;flex-wrap:wrap;margin-top:18px}

/* LOGIN */
.login{display:grid;place-items:center;min-height:100vh;background:radial-gradient(circle at 15% 10%,rgba(78,166,207,.25),transparent 28%),radial-gradient(circle at 80% 12%,rgba(23,111,255,.18),transparent 30%),linear-gradient(135deg,#062b57,#073a79 60%,#4ea6cf);padding:20px}.login .box{width:min(530px,94vw);background:rgba(255,255,255,.97);border:1px solid rgba(255,255,255,.85);border-radius:30px;padding:32px;box-shadow:0 30px 90px rgba(0,0,0,.24)}.login-brand{display:flex;align-items:center;gap:14px;margin-bottom:10px}.login-brand .brand-mark{width:62px;height:62px;flex-basis:62px}.login h1{font-size:32px;margin:0;color:#0f1b33}.login-subtitle{margin:6px 0 0;color:var(--muted);font-size:14px}.login-features{display:grid;grid-template-columns:repeat(2,1fr);gap:9px;margin:18px 0}.login-features span{padding:10px;border-radius:13px;background:#f6faff;border:1px solid var(--line);font-size:12px;font-weight:900;color:#214f8d}.login button{width:100%;margin-top:4px}

/* RESPONSIVE */
@media(max-width:1360px){.dashboard-shell{grid-template-columns:1fr}.right-filter{position:static}.analytics{grid-template-columns:1fr 1fr}.content{padding-left:28px;padding-right:28px}.topbar{margin-left:-28px;margin-right:-28px;padding-left:28px;padding-right:28px}}
@media(max-width:1120px){.analytics{grid-template-columns:1fr}.sidebar{width:274px}.content{margin-left:274px;width:calc(100% - 274px)}.nav-text small{display:none}.side-nav a{grid-template-columns:38px minmax(0,1fr)}.topbar-left span{display:none}.stats-row{grid-template-columns:repeat(auto-fit,minmax(180px,1fr))}}
@media(max-width:820px){.mobile-menu{display:grid;place-items:center;gap:4px;position:fixed;right:18px;bottom:18px;width:56px;height:56px;border-radius:18px;background:linear-gradient(135deg,var(--brand-2),var(--cyan));z-index:50;box-shadow:0 20px 40px rgba(10,70,156,.30)}.mobile-menu span{display:block;width:22px;height:2px;background:#fff;border-radius:999px}.sidebar{transform:translateX(-105%);transition:.22s ease;width:86vw;max-width:330px}.nav-toggle:checked~.app-shell .sidebar{transform:translateX(0)}.content{margin-left:0;width:100%;padding:0 14px 28px}.topbar{height:auto;min-height:64px;margin:0 -14px 18px;padding:12px 14px;gap:10px}.topbar-left{display:none}.topbar-actions{gap:8px;width:100%;justify-content:flex-end}.top-company{display:none}.logout-link{padding:9px 11px}.top-icon{width:36px;height:36px}.page-header{display:block}.page-header h1{font-size:31px}.page-chip{margin-top:12px}.stats-row,.grid,.formgrid{grid-template-columns:1fr}.kpi{min-height:108px}.donut-wrap{justify-content:center}.line-chart{height:190px}table{white-space:nowrap}.login-features{grid-template-columns:1fr}.card{padding:17px}.empty-state.big-empty{padding:34px 18px}.quick-links .btn{width:100%}}
@media(max-width:460px){.kpi{grid-template-columns:48px 1fr;padding:15px}.kpi-icon{width:48px;height:48px;border-radius:16px}.kpi .n{font-size:27px}.page-header h1{font-size:28px}.login .box{padding:24px}.top-icon:nth-child(2),.top-icon:nth-child(3){display:none}}
.hint{display:inline-grid;place-items:center;position:relative;width:16px;height:16px;margin-left:6px;border-radius:50%;background:#eef4fb;color:#496686;font-size:10px;font-weight:950;cursor:help;vertical-align:middle}.hint-box{position:absolute;left:50%;bottom:130%;transform:translateX(-50%);width:min(520px,82vw);padding:10px 12px;border-radius:12px;background:#0f172a;color:#fff;font-size:12px;font-weight:600;line-height:1.35;box-shadow:0 16px 34px rgba(15,23,42,.22);opacity:0;visibility:hidden;pointer-events:none;z-index:80;text-transform:none;letter-spacing:0}.hint:hover .hint-box,.hint:focus .hint-box{opacity:1;visibility:visible}.hint-box:after{content:"";position:absolute;left:50%;top:100%;transform:translateX(-50%);border:7px solid transparent;border-top-color:#0f172a}

/* Tooltips metodológicos en tablas */
.hint-wide .hint-box{
  width:min(760px,88vw);
  max-height:430px;
  overflow:auto;
  padding:14px;
  background:#ffffff;
  color:#24324a;
  border:1px solid #d9e6f5;
  box-shadow:0 24px 60px rgba(8,58,121,.24);
  border-radius:16px;
  text-align:left;
}
.hint-wide .hint-box:after{border-top-color:#ffffff}
.hint-title{font-size:14px;font-weight:950;color:#0a469c;margin:0 0 10px;letter-spacing:0;text-transform:none}
.hint-table{width:100%;border-collapse:separate;border-spacing:0;border:1px solid #dbe7f5;border-radius:12px;overflow:hidden;background:#fff;box-shadow:none;margin:0}
.hint-table th,.hint-table td{font-size:12px;line-height:1.35;padding:9px 10px;border-bottom:1px solid #edf2f8;vertical-align:top;text-transform:none;letter-spacing:0;color:#26384f;background:#fff}
.hint-table th{background:#eff6ff;color:#0a469c;font-weight:950}
.hint-table tr:last-child td{border-bottom:0}
.hint-table td:first-child{font-weight:950;color:#132238;white-space:nowrap}
.hint-table td:last-child,.hint-table th:last-child{text-align:center;font-weight:950;width:86px;color:#0a469c}
select option{text-transform:none}
@media(max-width:820px){.hint-wide .hint-box{left:auto;right:-20px;transform:none;width:calc(100vw - 36px);max-height:70vh}}

/* Ajuste v12: tablas metodológicas de ayuda sin columna de valoración */
.hint-table th:last-child,.hint-table td:last-child{
  text-align:left;
  font-weight:400;
  width:auto;
  color:#26384f;
}
.hint-table td:first-child{
  width:150px;
  font-weight:950;
  color:#132238;
}
.hint-wide .hint-box{
  text-transform:none !important;
}

/* Login profesional v14 */
.login-premium{min-height:100vh;padding:0;background:radial-gradient(circle at 12% 12%,rgba(78,166,207,.34),transparent 25%),radial-gradient(circle at 88% 10%,rgba(23,111,255,.22),transparent 28%),linear-gradient(135deg,#061b3a 0%,#073a79 52%,#0a469c 100%);display:grid;place-items:center;color:#0f1b33;overflow:auto}
.login-shell{width:min(1180px,94vw);min-height:min(760px,92vh);display:grid;grid-template-columns:1.08fr .92fr;background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.18);border-radius:34px;box-shadow:0 32px 100px rgba(0,0,0,.32);overflow:hidden;backdrop-filter:blur(14px)}
.login-hero{position:relative;color:#fff;padding:42px;display:flex;flex-direction:column;justify-content:space-between;gap:26px;background:linear-gradient(160deg,rgba(6,27,58,.82),rgba(10,70,156,.70));overflow:hidden}
.login-hero:before{content:"";position:absolute;right:-140px;top:-120px;width:360px;height:360px;border-radius:50%;background:radial-gradient(circle,rgba(125,211,252,.34),rgba(78,166,207,.12),transparent 68%)}
.login-hero:after{content:"";position:absolute;left:-110px;bottom:-130px;width:340px;height:340px;border-radius:50%;background:radial-gradient(circle,rgba(255,255,255,.13),transparent 70%)}
.login-product-pill{position:relative;z-index:1;align-self:flex-start;border:1px solid rgba(255,255,255,.26);background:rgba(255,255,255,.10);padding:9px 13px;border-radius:999px;font-size:12px;font-weight:900;letter-spacing:.08em;text-transform:uppercase;color:#dff6ff}
.login-hero-brand{position:relative;z-index:1;display:flex;align-items:center;gap:16px}
.login-symbol{width:74px;height:74px;border-radius:24px;display:grid;place-items:center;background:linear-gradient(135deg,#fff,#dff6ff);color:#0a469c;font-size:26px;font-weight:1000;box-shadow:0 22px 46px rgba(0,0,0,.20)}
.login-hero-brand h1{font-size:38px;margin:0;color:#fff;letter-spacing:-.03em}.login-hero-brand p{margin:7px 0 0;color:#cfe9ff;font-size:15px;max-width:450px;line-height:1.5}
.login-hero-copy{position:relative;z-index:1;max-width:600px}.login-hero-copy h2{font-size:42px;line-height:1.05;margin:0 0 16px;color:#fff;letter-spacing:-.035em}.login-hero-copy p{font-size:16px;color:#d9ecff;line-height:1.65;margin:0}
.login-value-grid{position:relative;z-index:1;display:grid;grid-template-columns:repeat(3,1fr);gap:12px}.login-value-grid div{background:rgba(255,255,255,.10);border:1px solid rgba(255,255,255,.14);border-radius:20px;padding:15px;min-height:132px}.login-value-grid span{display:inline-flex;width:32px;height:32px;border-radius:12px;background:rgba(125,211,252,.20);align-items:center;justify-content:center;color:#dff6ff;font-weight:1000;font-size:12px}.login-value-grid strong{display:block;margin:12px 0 5px;color:#fff;font-size:14px}.login-value-grid small{display:block;color:#cfe0f6;line-height:1.45;font-size:12px}
.login-hero-footer{position:relative;z-index:1;display:flex;align-items:center;gap:10px;color:#d8edff;font-size:13px}.secure-dot{width:10px;height:10px;border-radius:50%;background:#22c55e;box-shadow:0 0 0 6px rgba(34,197,94,.12)}
.login-card{background:rgba(255,255,255,.98);padding:42px;display:flex;flex-direction:column;justify-content:center}.login-card-header{display:flex;align-items:center;gap:14px;margin-bottom:22px}.login-card-icon{width:54px;height:54px;border-radius:18px;background:#eef7ff;color:#0a469c;display:grid;place-items:center;font-size:24px}.login-card h2{margin:0;color:#0f172a;font-size:28px;letter-spacing:-.02em}.login-card p{margin:6px 0 0;color:#64748b;line-height:1.5}.login-alert{background:#fff1f2;border:1px solid #fecdd3;color:#9f1239;border-radius:15px;padding:12px 14px;margin:0 0 16px;font-weight:800;font-size:13px}
.login-form{display:grid;gap:10px}.login-form label,.login-label-row label{font-size:13px;font-weight:900;color:#334155;margin:0}.login-label-row{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-top:6px}.forgot-link{font-size:13px;color:#0a469c;font-weight:900}.forgot-link:hover{text-decoration:underline}.input-shell{display:flex;align-items:center;gap:10px;background:#f8fbff;border:1px solid #dbe8f7;border-radius:16px;padding:0 13px;transition:.16s ease}.input-shell:focus-within{border-color:#69aee7;box-shadow:0 0 0 4px rgba(78,166,207,.16);background:#fff}.input-shell span{width:22px;text-align:center;color:#5a8fc6}.input-shell input{border:0;background:transparent;padding:14px 0;border-radius:0;box-shadow:none}.input-shell input:focus{box-shadow:none;border:0}.login-options{display:flex;align-items:center;justify-content:space-between;gap:12px;margin:4px 0 8px;color:#64748b;font-size:13px}.remember{display:flex!important;align-items:center;gap:8px;font-weight:700!important;color:#475569!important}.remember input{width:auto;accent-color:#0a469c}.login-submit{width:100%;min-height:48px;border-radius:16px;font-size:15px;background:linear-gradient(135deg,#0a469c,#073a79);box-shadow:0 18px 35px rgba(10,70,156,.25)}.forgot-panel{display:none;margin-top:16px;padding:14px 15px;border-radius:16px;background:#f0f7ff;border:1px solid #cfe5ff;color:#24415f;font-size:13px}.forgot-panel.show{display:block}.forgot-panel strong{display:block;color:#0a469c;margin-bottom:4px}.forgot-panel p{margin:0;color:#475569}.login-demo-box{margin-top:18px;border-radius:18px;border:1px solid #e2eaf5;background:#fbfdff;padding:14px;display:grid;gap:4px}.login-demo-box strong{color:#0f172a;font-size:13px}.login-demo-box span{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;background:#eef6ff;border-radius:10px;padding:8px 10px;color:#0a469c;font-weight:800}.login-demo-box small{color:#64748b;line-height:1.4}
@media(max-width:980px){.login-shell{grid-template-columns:1fr;min-height:auto;margin:24px 0}.login-hero{padding:30px}.login-hero-copy h2{font-size:34px}.login-value-grid{grid-template-columns:1fr}.login-card{padding:30px}}
@media(max-width:560px){.login-premium{place-items:start;padding:12px}.login-shell{width:100%;border-radius:24px}.login-hero{padding:24px}.login-hero-brand{align-items:flex-start}.login-symbol{width:58px;height:58px;border-radius:19px;font-size:20px}.login-hero-brand h1{font-size:30px}.login-hero-copy h2{font-size:28px}.login-card{padding:24px}.login-card-header{align-items:flex-start}.login-card h2{font-size:24px}.login-options{display:grid;gap:8px}.login-label-row{align-items:flex-start;display:grid}}

/* Login limpio v15 */
.login-minimal{
  min-height:100vh;
  padding:24px;
  display:grid;
  place-items:center;
  background:
    radial-gradient(circle at 18% 12%,rgba(78,166,207,.26),transparent 26%),
    radial-gradient(circle at 84% 18%,rgba(23,111,255,.18),transparent 28%),
    linear-gradient(135deg,#f7fbff 0%,#edf5ff 50%,#eaf7ff 100%);
  color:#0f172a;
}
.login-minimal-shell{
  width:min(980px,100%);
  min-height:610px;
  display:grid;
  grid-template-columns:.95fr 1.05fr;
  border-radius:32px;
  overflow:hidden;
  background:#fff;
  border:1px solid #dfeafb;
  box-shadow:0 30px 90px rgba(10,70,156,.16);
}
.login-brand-panel{
  position:relative;
  display:grid;
  place-items:center;
  padding:34px;
  background:linear-gradient(145deg,#062b57 0%,#0a469c 72%,#4ea6cf 100%);
  overflow:hidden;
}
.login-brand-panel:before{
  content:"";
  position:absolute;
  width:310px;
  height:310px;
  right:-120px;
  top:-110px;
  border-radius:50%;
  background:rgba(255,255,255,.13);
}
.login-brand-panel:after{
  content:"";
  position:absolute;
  width:210px;
  height:210px;
  left:-90px;
  bottom:-80px;
  border-radius:50%;
  background:rgba(125,211,252,.22);
}
.login-brand-card{
  position:relative;
  z-index:1;
  width:min(330px,100%);
  padding:34px;
  border-radius:28px;
  background:rgba(255,255,255,.11);
  border:1px solid rgba(255,255,255,.18);
  box-shadow:0 24px 60px rgba(0,0,0,.18);
  backdrop-filter:blur(14px);
  color:#fff;
}
.brand-badge{
  width:72px;
  height:72px;
  display:grid;
  place-items:center;
  border-radius:24px;
  background:#fff;
  color:#0a469c;
  font-weight:1000;
  font-size:25px;
  box-shadow:0 18px 35px rgba(0,0,0,.18);
  margin-bottom:22px;
}
.login-brand-card h1{
  margin:0;
  color:#fff;
  font-size:36px;
  line-height:1;
  letter-spacing:-.04em;
}
.login-brand-card p{
  margin:14px 0 0;
  color:#dbeafe;
  font-size:15px;
  line-height:1.5;
}
.login-clean-card{
  display:flex;
  flex-direction:column;
  justify-content:center;
  padding:56px 58px;
  background:#fff;
}
.login-clean-header{margin-bottom:26px}
.login-clean-header h2{
  margin:0;
  color:#0f172a;
  font-size:34px;
  letter-spacing:-.035em;
}
.login-clean-header p{
  margin:8px 0 0;
  color:#64748b;
  font-size:15px;
}
.login-clean-card .login-form{gap:11px}
.login-clean-card .input-shell{
  border-radius:14px;
  background:#f8fbff;
}
.login-clean-card .login-submit{
  margin-top:8px;
  min-height:50px;
  border-radius:14px;
  font-size:15px;
  letter-spacing:.01em;
}
.clean-remember{
  margin-top:2px!important;
  margin-bottom:0!important;
}
.clean-forgot{
  margin-top:18px;
  padding:12px 14px;
  text-align:center;
  font-weight:700;
}
@media(max-width:860px){
  .login-minimal{padding:14px;align-items:start}
  .login-minimal-shell{grid-template-columns:1fr;min-height:auto;border-radius:26px}
  .login-brand-panel{padding:24px;min-height:240px}
  .login-brand-card{width:100%;padding:24px;text-align:left}
  .brand-badge{width:58px;height:58px;border-radius:19px;font-size:20px;margin-bottom:16px}
  .login-brand-card h1{font-size:30px}
  .login-clean-card{padding:30px 24px}
  .login-clean-header h2{font-size:29px}
}
@media(max-width:480px){
  .login-brand-panel{min-height:210px}
  .login-label-row{display:grid;gap:6px}
}
.btn.mini{padding:7px 10px;border-radius:10px;font-size:12px;box-shadow:none;margin:2px 0;max-width:260px;justify-content:flex-start;white-space:normal;text-align:left}
input[type="file"]{padding:10px;background:#f8fbff}
input[type="file"]::file-selector-button{border:0;border-radius:10px;background:linear-gradient(135deg,var(--brand-2),var(--brand));color:#fff;font-weight:800;padding:9px 12px;margin-right:10px;cursor:pointer}
.inline-form{display:inline-block;margin:0 4px 0 0;vertical-align:middle}
.inline-form button{font-family:inherit}

/* Login v22 - interfaz opcion 1 */
.login-v22{
  margin:0;
  min-height:100vh;
  padding:0;
  display:block;
  background:#f7fbff;
  font-family:Inter,Segoe UI,Roboto,Arial,sans-serif;
  overflow:auto;
}
.login-v22-shell{
  min-height:100vh;
  display:grid;
  grid-template-columns:1.08fr .92fr;
  background:#f7fbff;
}
.login-v22-brand{
  position:relative;
  min-height:100vh;
  overflow:hidden;
  display:grid;
  place-items:center;
  color:#fff;
  background:
    radial-gradient(circle at 53% 54%,rgba(19,121,255,.40),transparent 31%),
    radial-gradient(circle at 16% 15%,rgba(76,191,255,.20),transparent 28%),
    linear-gradient(145deg,#031f55 0%,#04388b 47%,#06266d 100%);
}
.login-v22-brand:before{
  content:"";
  position:absolute;
  inset:auto -20% -20% -20%;
  height:44%;
  background:
    radial-gradient(ellipse at 30% 0%,rgba(32,170,255,.34),transparent 42%),
    repeating-radial-gradient(ellipse at 35% 12%,rgba(94,205,255,.35) 0 2px,transparent 2px 14px);
  opacity:.35;
  transform:rotate(-3deg);
}
.login-v22-brand:after{
  content:"";
  position:absolute;
  inset:0;
  background:
    radial-gradient(circle at 50% 48%,transparent 0 21%,rgba(95,190,255,.12) 21.2% 21.6%,transparent 21.8% 34%,rgba(95,190,255,.10) 34.2% 34.6%,transparent 34.8%),
    linear-gradient(90deg,rgba(255,255,255,.05) 1px,transparent 1px),
    linear-gradient(0deg,rgba(255,255,255,.05) 1px,transparent 1px);
  background-size:auto,56px 56px,56px 56px;
  opacity:.25;
  pointer-events:none;
}
.brand-orb{position:absolute;border-radius:50%;filter:blur(1px);opacity:.75}.orb-a{width:340px;height:340px;left:-120px;top:90px;border:1px solid rgba(125,211,252,.18)}.orb-b{width:430px;height:430px;right:-180px;top:340px;border:1px solid rgba(125,211,252,.16)}
.dots{position:absolute;width:172px;height:108px;background-image:radial-gradient(circle,rgba(67,197,255,.55) 2px,transparent 2px);background-size:18px 18px;opacity:.45}.dots-a{right:40px;top:34px}.dots-b{left:0;bottom:94px}
.brand-center{position:relative;z-index:2;margin-top:-160px;text-align:center;padding:20px}.brand-center h1{margin:18px 0 14px;color:#fff;font-size:clamp(42px,4.8vw,72px);line-height:1;letter-spacing:-.06em;font-weight:950}.brand-center h1 span{color:#34c9ff;margin-left:8px}.brand-center p{margin:0;color:#fff;font-size:clamp(19px,1.7vw,30px);line-height:1.32;font-weight:700;text-shadow:0 8px 28px rgba(0,0,0,.20)}
.shield-logo{width:132px;height:150px;margin:0 auto;position:relative;filter:drop-shadow(0 20px 42px rgba(36,191,255,.25))}.shield-logo:before{content:"";position:absolute;inset:0;background:linear-gradient(145deg,#20d6ff,#0c7dff);clip-path:polygon(50% 0,92% 16%,86% 68%,50% 100%,14% 68%,8% 16%)}.shield-logo:after{content:"";position:absolute;inset:15px;background:#063489;clip-path:polygon(50% 0,92% 16%,86% 68%,50% 100%,14% 68%,8% 16%)}.shield-logo span:before{content:"";position:absolute;z-index:2;left:39px;top:55px;width:52px;height:25px;border-left:16px solid #35ccff;border-bottom:16px solid #35ccff;transform:rotate(-45deg);border-radius:3px}
.security-graphic{position:absolute;z-index:1;left:50%;bottom:7%;width:min(680px,76%);height:360px;transform:translateX(-50%);opacity:.94}.ring{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);border:1px solid rgba(53,204,255,.22);border-radius:50%}.r1{width:86%;height:78%}.r2{width:66%;height:58%}.r3{width:48%;height:42%}.big-shield{position:absolute;left:50%;top:50%;width:250px;height:300px;transform:translate(-50%,-50%);opacity:.58;filter:drop-shadow(0 0 28px rgba(25,133,255,.34))}.big-shield:before{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(40,172,255,.48),rgba(16,88,220,.18));clip-path:polygon(50% 0,92% 16%,84% 68%,50% 100%,16% 68%,8% 16%);border:1px solid #4fc9ff}.big-shield span:before{content:"";position:absolute;z-index:2;left:96px;top:112px;width:64px;height:56px;border-radius:12px;background:#0b58c6}.big-shield span:after{content:"";position:absolute;z-index:3;left:112px;top:72px;width:33px;height:58px;border:12px solid #0b58c6;border-bottom:0;border-radius:24px 24px 0 0}.circle-icon{position:absolute;width:72px;height:72px;border-radius:50%;display:grid;place-items:center;color:#34c9ff;border:1px solid rgba(52,201,255,.50);background:rgba(2,34,95,.38);font-size:34px;box-shadow:0 0 30px rgba(26,143,255,.14)}.icon-warning{left:6%;top:23%}.icon-chart{left:12%;bottom:7%}.icon-list{right:10%;top:23%;font-size:28px}.icon-users{right:2%;bottom:14%;font-size:42px}
.login-v22-access{position:relative;min-height:100vh;display:grid;place-items:center;background:linear-gradient(135deg,#ffffff 0%,#f5f9ff 55%,#edf5ff 100%);padding:48px 28px}.login-v22-access:before{content:"";position:absolute;right:8%;top:12%;width:320px;height:320px;border-radius:50%;background:radial-gradient(circle,rgba(10,70,156,.08),transparent 65%)}.login-v22-access:after{content:"";position:absolute;left:12%;bottom:8%;width:200px;height:200px;border-radius:50%;border:1px solid rgba(10,70,156,.08)}
.login-v22-card{position:relative;z-index:2;width:min(560px,92vw);background:rgba(255,255,255,.96);border:1px solid rgba(218,229,244,.92);border-radius:24px;box-shadow:0 28px 90px rgba(15,35,70,.14);padding:52px 58px 44px;text-align:left}.user-login-icon{width:74px;height:74px;border:4px solid #0859d7;border-radius:50%;margin:0 auto 18px;position:relative}.user-login-icon:before{content:"";position:absolute;width:23px;height:23px;border:3px solid #0859d7;border-radius:50%;left:50%;top:14px;transform:translateX(-50%)}.user-login-icon:after{content:"";position:absolute;width:42px;height:22px;border:3px solid #0859d7;border-radius:22px 22px 0 0;border-bottom:0;left:50%;bottom:12px;transform:translateX(-50%)}.login-v22-card h2{text-align:center;margin:0 0 30px;color:#0e2447;font-size:40px;letter-spacing:-.035em}.login-v22-form{display:grid;gap:15px}.login-v22-form label{font-size:15px;font-weight:900;color:#092047;margin:0 0 -3px}.login-v22-input{height:58px;display:flex;align-items:center;gap:12px;border:1px solid #cfdbeb;border-radius:9px;background:#fff;padding:0 17px;transition:.16s ease}.login-v22-input:focus-within{border-color:#0b6cff;box-shadow:0 0 0 4px rgba(11,108,255,.12)}.login-v22-input input{border:0!important;background:transparent!important;box-shadow:none!important;padding:0!important;height:100%;font-size:16px;color:#14213d}.login-v22-input input::placeholder{color:#8b9ab2}.mail-icon,.lock-icon{width:22px;height:22px;display:inline-block;position:relative;flex:0 0 22px}.mail-icon:before{content:"";position:absolute;inset:3px 1px;border:2px solid #7f8ea6;border-radius:3px}.mail-icon:after{content:"";position:absolute;left:4px;right:4px;top:8px;height:10px;border-left:2px solid #7f8ea6;border-bottom:2px solid #7f8ea6;transform:rotate(-45deg)}.lock-icon:before{content:"";position:absolute;left:3px;right:3px;bottom:2px;height:13px;border:2px solid #7f8ea6;border-radius:4px}.lock-icon:after{content:"";position:absolute;left:6px;top:1px;width:10px;height:12px;border:2px solid #7f8ea6;border-bottom:0;border-radius:10px 10px 0 0}.password-toggle{width:auto!important;margin:0!important;box-shadow:none!important;background:transparent!important;color:#7788a2!important;border:0!important;padding:0 0 0 6px!important;font-size:18px;cursor:pointer}.login-v22-row{display:flex;align-items:center;justify-content:space-between;gap:12px;margin:5px 0 8px}.v22-remember{display:flex!important;align-items:center;gap:10px;font-weight:800!important;color:#173154!important;font-size:15px!important}.v22-remember input{width:22px;height:22px;accent-color:#0b6cff}.login-v22-row a{color:#005be9;font-weight:800;font-size:15px}.login-v22-row a:hover{text-decoration:underline}.login-v22-submit{width:100%;height:58px;border:0;border-radius:8px;background:linear-gradient(135deg,#0877ff,#0048e8);box-shadow:0 16px 30px rgba(0,88,232,.22);color:#fff;font-size:20px;font-weight:900;margin-top:8px}.login-v22-divider{height:48px;display:flex;align-items:center;justify-content:center;gap:18px;color:#7f8ea6;font-weight:800}.login-v22-divider:before,.login-v22-divider:after{content:"";height:1px;background:#d9e2ef;flex:1}.login-v22-secondary{display:block;text-align:center;color:#005be9;font-size:20px;font-weight:900}.safe-access{position:absolute;z-index:2;bottom:54px;color:#687a98;display:flex;align-items:center;gap:10px;font-size:18px;font-weight:700}.safe-access span{width:18px;height:18px;display:inline-block;position:relative}.safe-access span:before{content:"";position:absolute;inset:7px 2px 1px;border:2px solid #657895;border-radius:3px}.safe-access span:after{content:"";position:absolute;left:5px;top:0;width:7px;height:9px;border:2px solid #657895;border-bottom:0;border-radius:8px 8px 0 0}.v22-alert{margin:-12px 0 18px;text-align:center}.v22-forgot{margin-top:18px;text-align:left;border-radius:14px;background:#f3f8ff;border-color:#cfe2ff}.v22-forgot p{margin:4px 0 0;color:#475569}
@media(max-width:1020px){.login-v22-shell{grid-template-columns:1fr}.login-v22-brand{min-height:420px}.brand-center{margin-top:0}.security-graphic{display:none}.login-v22-access{min-height:auto;padding:38px 20px 82px}.safe-access{bottom:26px}.login-v22-card{padding:38px 34px}}
@media(max-width:560px){.brand-center h1{font-size:42px}.brand-center p{font-size:18px}.shield-logo{width:92px;height:106px}.login-v22-card{width:100%;padding:30px 22px;border-radius:20px}.login-v22-card h2{font-size:30px}.login-v22-row{align-items:flex-start;display:grid;gap:8px}.login-v22-submit{font-size:17px}.login-v22-secondary{font-size:17px}.safe-access{font-size:14px}.login-v22-input{height:54px}}

/* v24 - Ajuste global compacto y elegante */
:root{
  --radius:16px;
  --shadow:0 12px 30px rgba(8,58,121,.09);
  --shadow-sm:0 7px 18px rgba(8,58,121,.07);
}
body{font-size:13px;line-height:1.38}
.sidebar{width:270px;padding:16px 12px 14px}.content{margin-left:270px;width:calc(100% - 270px);padding:0 24px 30px}.brand-card{padding:10px;border-radius:18px;margin-bottom:13px}.brand-mark{width:42px;height:42px;flex-basis:42px;border-radius:14px;font-size:16px}.brand-name{font-size:16px}.brand-line{font-size:10px}.side-nav{gap:5px}.side-nav a{grid-template-columns:32px minmax(0,1fr);gap:9px;padding:8px 10px;border-radius:12px}.nav-icon{width:32px;height:32px;border-radius:10px;font-size:15px}.nav-text strong{font-size:13px}.nav-text small{font-size:10px}.sidebar-panel{margin:14px 2px 10px;padding:12px;border-radius:15px}.panel-title{font-size:13px}.sidebar-panel p{font-size:11px}.sidebar-user{padding:10px 6px 0}.avatar{width:34px;height:34px;font-size:13px}.sidebar-user strong{font-size:13px}.sidebar-user span{font-size:11px}
.topbar{height:58px;margin:0 -24px 20px;padding:0 24px}.topbar-brand{font-size:14px}.topbar-left span{font-size:12px}.top-icon{width:32px;height:32px;border-radius:11px;font-size:15px}.top-company{padding:7px 10px;font-size:12px}.top-company:before{width:23px;height:23px}.logout-link{padding:8px 12px;font-size:12px}.page-header{margin-bottom:16px}.module-kicker{font-size:10px;margin-bottom:4px}.page-header h1{font-size:29px}.page-subtitle{font-size:13px;margin-top:5px}.page-chip{padding:8px 12px;font-size:12px}
.card{padding:16px;border-radius:16px;margin-bottom:14px}.card h2{font-size:17px;margin-bottom:12px}.card h3{font-size:15px}.grid{gap:12px;grid-template-columns:repeat(auto-fit,minmax(210px,1fr))}.dashboard-shell{gap:14px;grid-template-columns:minmax(0,1fr) 255px}.stats-row{gap:12px;margin-bottom:14px;grid-template-columns:repeat(auto-fit,minmax(165px,1fr))}.kpi{min-height:98px;padding:13px;border-radius:16px;grid-template-columns:42px minmax(0,1fr);gap:10px}.kpi-icon{width:42px;height:42px;border-radius:14px;font-size:19px}.kpi-label{font-size:12px}.kpi .n{font-size:25px}.kpi .sub{font-size:11px;margin-top:4px}.info-dot{width:14px;height:14px;font-size:9px}.analytics{gap:12px}.chart-card{min-height:250px}.chart-head{margin-bottom:8px}.mini-select{padding:6px 9px;border-radius:10px;font-size:11px}.line-chart{height:170px}.donut{width:132px;height:132px}.donut:after{inset:36px}.donut-center strong{font-size:24px}.donut-center{font-size:10px}.legend{gap:8px;font-size:12px}.right-filter{top:74px;padding:15px}.filter-row{margin-bottom:12px}.filter-title{margin-bottom:12px}.filter-title a{font-size:12px}.recent-card{margin-top:14px}
.actions{gap:7px;margin:9px 0}.btn,button{padding:8px 12px;border-radius:10px;font-size:12px;min-height:34px}.btn.small,.btn-mini{padding:6px 9px;font-size:11px;border-radius:9px}input,select,textarea{padding:9px 10px;border-radius:10px;font-size:12px}select{background-position:calc(100% - 17px) calc(50% - 3px),calc(100% - 11px) calc(50% - 3px),100% 0;background-size:6px 6px,6px 6px,36px 100%;padding-right:44px}textarea{min-height:76px}label{font-size:12px;margin-bottom:5px}.formgrid{gap:11px;grid-template-columns:repeat(auto-fit,minmax(220px,1fr))}.help{font-size:11px}.flash,.section-note{padding:10px 12px;border-radius:12px;font-size:12px}.pill,.badge{font-size:11px;padding:4px 8px}.table-wrap{overflow:auto}table{border-radius:13px}th,td{padding:9px 10px;font-size:12px}.hint-box{font-size:11px}.hint-table th,.hint-table td{font-size:11px;padding:7px 8px}
@media(max-width:1180px){.dashboard-shell{grid-template-columns:1fr}.right-filter{position:static}.content{padding:0 18px 26px}.topbar{margin-left:-18px;margin-right:-18px;padding-left:18px;padding-right:18px}}
@media(max-width:820px){.mobile-menu{display:grid;place-items:center;position:fixed;right:14px;bottom:14px;width:48px;height:48px;border-radius:15px;background:linear-gradient(135deg,var(--brand),var(--brand-2));color:#fff;font-size:21px;z-index:60;box-shadow:0 14px 32px rgba(10,70,156,.30)}.sidebar{width:82vw;max-width:300px;transform:translateX(-105%);transition:.22s ease}.nav-toggle:checked~.app-shell .sidebar{transform:translateX(0)}.content{margin-left:0;width:100%;padding:0 14px 24px}.topbar{height:auto;min-height:56px;padding:10px 14px;margin:0 -14px 16px;display:grid;gap:10px}.topbar-actions{flex-wrap:wrap}.page-header{display:block}.page-chip{margin-top:10px}.page-header h1{font-size:25px}.stats-row,.analytics,.grid,.formgrid{grid-template-columns:1fr}.card{padding:14px}table{display:block;white-space:nowrap}.kpi{min-height:88px}}
@media(max-width:560px){body{font-size:12px}.topbar-left{display:block}.topbar-left span{display:block;margin-top:2px}.topbar-actions{gap:7px}.top-icon{width:30px;height:30px}.top-company{max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.page-header h1{font-size:23px}.kpi{grid-template-columns:38px minmax(0,1fr);padding:12px}.kpi-icon{width:38px;height:38px;font-size:17px}.kpi .n{font-size:23px}.card{border-radius:14px}.btn,button{width:auto}input,select,textarea{font-size:12px}.login-page{min-height:100vh}.login-card{width:100%}}

/* v25 - mejora profesional módulo Procesos */
.process-toolbar{display:flex;align-items:flex-start;justify-content:space-between;gap:14px;margin-bottom:14px}
.process-toolbar h2{margin-bottom:4px}.process-total{min-width:92px;border:1px solid var(--line);background:#f8fbff;border-radius:14px;padding:10px 12px;text-align:center}.process-total strong{display:block;color:#0a469c;font-size:22px;line-height:1}.process-total span{display:block;color:#64748b;font-size:11px;font-weight:800;margin-top:2px}
.process-search{display:grid;grid-template-columns:minmax(240px,1.4fr) minmax(210px,.9fr) auto;gap:12px;align-items:end}.process-search-actions{display:flex;align-items:center;gap:8px;white-space:nowrap}.process-search-actions .btn{min-width:86px}
.table-headline{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;margin-bottom:10px}.table-headline h2{margin-bottom:4px}
.process-table-wrap{border:1px solid var(--line);border-radius:16px;box-shadow:0 12px 28px rgba(8,58,121,.05);background:#fff}.process-table{border:0;border-radius:16px}.process-table thead th{background:linear-gradient(180deg,#fbfdff,#f4f8fd);color:#455a78;border-bottom:1px solid #dfe8f4}.process-table td{vertical-align:middle}.process-table tr:hover td{background:#f8fbff}.code-pill{display:inline-flex;align-items:center;justify-content:center;padding:5px 8px;border-radius:9px;background:#eef6ff;color:#0a469c;border:1px solid #d4e7ff;font-size:11px;font-weight:950;white-space:nowrap}.process-name{display:grid;gap:3px;min-width:230px}.process-name strong{color:#132238;font-size:12px}.process-name span{color:#64748b;font-size:11px;line-height:1.35;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.type-pill{display:inline-flex;padding:5px 8px;border-radius:999px;background:#f1f5f9;color:#334155;font-size:11px;font-weight:850;white-space:nowrap}.asset-count{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.asset-count strong{display:inline-grid;place-items:center;min-width:28px;height:28px;border-radius:10px;background:#ecfdf5;color:#0f9f6e;font-size:13px}.muted-empty{color:#94a3b8;font-size:11px;font-weight:750}.doc-list{display:grid;gap:5px;min-width:160px}.doc-link{display:inline-flex;align-items:center;gap:4px;color:#0a469c;font-size:11px;font-weight:850;max-width:210px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.action-group{display:flex;align-items:center;gap:6px;flex-wrap:nowrap;min-width:max-content}.process-table .inline-form{display:inline-flex;margin:0}.process-table .btn.mini,.process-table button.btn.mini{padding:6px 8px;border-radius:9px;font-size:11px;min-height:28px;margin:0;white-space:nowrap;max-width:none;text-align:center;justify-content:center;line-height:1;box-shadow:none}.process-table .btn.light.mini{background:#fff}.process-table .btn.secondary.mini{background:#f1f5f9;color:#334155;border:1px solid #d8e3ef}.process-table .btn.danger.mini{background:#fff1f2;color:#be123c;border:1px solid #fecdd3}
@media(max-width:980px){.process-search{grid-template-columns:1fr 1fr}.process-search-actions{grid-column:1/-1}.process-toolbar{display:grid}.process-total{justify-self:start}}
@media(max-width:640px){.process-search{grid-template-columns:1fr}.process-search-actions{display:grid;grid-template-columns:1fr 1fr}.process-table-wrap{border-radius:13px}.action-group{flex-wrap:wrap}.process-table .btn.mini,.process-table button.btn.mini{font-size:10px;padding:6px 7px}.process-name{min-width:190px}}

/* v26 - tabla de procesos compacta y acciones sin scroll innecesario */
.process-table-wrap{overflow-x:visible}
.process-table{table-layout:fixed;width:100%;font-size:11px}
.process-table th{font-size:10px;letter-spacing:.015em;padding:8px 7px;line-height:1.15;white-space:normal;text-transform:none}
.process-table td{font-size:11px;padding:8px 7px;line-height:1.22}
.process-table .col-code{width:7%}.process-table .col-process{width:21%}.process-table .col-type{width:11%}.process-table .col-owner{width:13%}.process-table .col-assets{width:9%}.process-table .col-files{width:14%}.process-table .col-status{width:8%}.process-table .col-actions{width:17%}
.process-name{min-width:0;max-width:100%}.process-name strong{font-size:11px}.process-name span{font-size:10px;-webkit-line-clamp:1}
.code-pill{font-size:10px;padding:4px 6px;border-radius:8px}.type-pill{font-size:10px;padding:4px 7px;max-width:100%;overflow:hidden;text-overflow:ellipsis}.badge{font-size:10px;padding:4px 7px}.asset-count{gap:5px}.asset-count strong{min-width:24px;height:24px;border-radius:8px;font-size:11px}.doc-list{min-width:0;gap:3px}.doc-link{font-size:10px;max-width:100%}.muted-empty{font-size:10px}
.action-group{display:grid;grid-template-columns:repeat(2,minmax(58px,1fr));gap:5px;align-items:center;justify-items:stretch;min-width:0;width:100%;max-width:156px;margin:0 auto}.action-group>a,.action-group>form{width:100%}.action-group>form:last-child:nth-child(odd),.action-group>a:last-child:nth-child(odd){grid-column:1/-1;justify-self:center;width:74px}.process-table .inline-form{display:flex;width:100%}.process-table .btn.mini,.process-table button.btn.mini{width:100%;min-height:24px;padding:5px 6px;border-radius:8px;font-size:10px;line-height:1.05}
@media(max-width:1180px){.process-table-wrap{overflow-x:auto}.process-table{min-width:920px}.action-group{max-width:148px}}
@media(max-width:640px){.process-table{min-width:860px}.process-table th{font-size:9.5px}.process-table td{font-size:10px}.action-group{grid-template-columns:repeat(2,minmax(54px,1fr));max-width:140px}.action-group>form:last-child:nth-child(odd),.action-group>a:last-child:nth-child(odd){width:70px}}

/* v27 - acciones de procesos en columna: más legible y sin botones apretados */
.process-table .col-actions{width:12%}
.process-table .col-process{width:23%}
.process-table .col-files{width:13%}
.action-group{
  display:flex !important;
  flex-direction:column !important;
  align-items:stretch !important;
  justify-content:center !important;
  gap:5px !important;
  width:86px !important;
  max-width:86px !important;
  min-width:86px !important;
  margin:0 auto !important;
}
.action-group>a,
.action-group>form,
.action-group>form:last-child:nth-child(odd),
.action-group>a:last-child:nth-child(odd){
  width:100% !important;
  grid-column:auto !important;
  justify-self:auto !important;
}
.process-table .inline-form{display:flex !important;width:100% !important;margin:0 !important}
.process-table .btn.mini,
.process-table button.btn.mini{
  width:100% !important;
  min-height:24px !important;
  padding:5px 6px !important;
  border-radius:8px !important;
  font-size:10px !important;
  line-height:1.05 !important;
  white-space:nowrap !important;
}
@media(max-width:1180px){
  .process-table-wrap{overflow-x:auto}
  .process-table{min-width:880px}
  .action-group{width:82px !important;max-width:82px !important;min-width:82px !important}
}
@media(max-width:640px){
  .process-table{min-width:820px}
  .action-group{width:80px !important;max-width:80px !important;min-width:80px !important}
}

/* v28 - filtro multiselección con checks en Procesos */
.process-search{grid-template-columns:minmax(220px,1.15fr) minmax(230px,1fr) auto}
.multi-check{position:relative;width:100%}
.multi-check summary{list-style:none;display:flex;align-items:center;justify-content:space-between;gap:10px;width:100%;min-height:34px;padding:8px 10px;border:1px solid #d5e1f0;border-radius:10px;background:#fff;color:#132238;font-size:12px;font-weight:760;cursor:pointer;box-shadow:0 6px 14px rgba(8,58,121,.04)}
.multi-check summary::-webkit-details-marker{display:none}
.multi-check summary b{font-size:13px;color:#0a469c;line-height:1;transition:.15s ease}
.multi-check[open] summary{border-color:#7cb6ff;box-shadow:0 0 0 4px rgba(78,166,207,.13)}
.multi-check[open] summary b{transform:rotate(180deg)}
.multi-check-menu{position:absolute;z-index:80;left:0;right:0;top:calc(100% + 7px);background:#fff;border:1px solid #d8e3ef;border-radius:14px;box-shadow:0 18px 42px rgba(8,58,121,.16);padding:7px;display:grid;gap:3px;max-height:230px;overflow:auto}
.multi-check-menu label{display:flex;align-items:center;gap:9px;margin:0;padding:8px 9px;border-radius:10px;color:#334155;font-size:12px;font-weight:760;cursor:pointer;transition:.12s ease}
.multi-check-menu label:hover{background:#f2f7ff;color:#0a469c}
.multi-check-menu input{width:15px;height:15px;min-width:15px;padding:0;margin:0;accent-color:#0a469c;box-shadow:none}
.filter-help{margin:5px 0 0;font-size:10.5px}
.process-search-actions .btn.light{min-width:112px}
@media(max-width:980px){.process-search{grid-template-columns:1fr 1fr}.process-search-actions{grid-column:1/-1}.multi-check-menu{position:relative;top:6px;box-shadow:none}}
@media(max-width:640px){.process-search{grid-template-columns:1fr}.process-search-actions{grid-template-columns:1fr 1fr;display:grid}.process-search-actions .btn{width:100%;min-width:0}.multi-check summary{min-height:36px}.multi-check-menu{max-height:260px}}

/* v29 - filtros de procesos alineados y sin recarga visual */
.process-search.process-search-live{
  display:grid !important;
  grid-template-columns:minmax(260px,1.15fr) minmax(260px,1fr) auto !important;
  gap:12px !important;
  align-items:start !important;
}
.process-filter-field{display:flex;flex-direction:column;min-width:0}
.process-filter-field label{min-height:18px;display:flex;align-items:center;margin-bottom:5px}
.process-filter-field input,
.process-filter-field .multi-check summary{height:34px;min-height:34px}
.process-filter-field .filter-help{min-height:14px;margin:5px 0 0;color:#718096}
.process-search-actions{align-self:start !important;padding-top:23px !important;display:flex !important;gap:8px !important;align-items:center !important;white-space:nowrap !important}
.process-search-actions .btn{height:34px;min-height:34px;padding:7px 11px;font-size:11px}
.process-search-actions .btn.light{min-width:104px}
.process-filter-card{transition:background-color .18s ease, box-shadow .18s ease, border-color .18s ease}
.process-filter-card.filter-applied{background:#fbfdff;box-shadow:0 10px 28px rgba(10,70,156,.08);border-color:#cfe2ff}
.process-row{transition:background-color .12s ease, opacity .12s ease}
.multi-check-menu{animation:multiCheckFade .12s ease-out}
@keyframes multiCheckFade{from{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:translateY(0)}}
@media(max-width:980px){
  .process-search.process-search-live{grid-template-columns:1fr 1fr !important;align-items:start !important}
  .process-search-actions{grid-column:1/-1 !important;padding-top:0 !important;justify-content:flex-start !important}
  .multi-check-menu{position:relative;top:6px;box-shadow:none}
}
@media(max-width:640px){
  .process-search.process-search-live{grid-template-columns:1fr !important}
  .process-search-actions{display:grid !important;grid-template-columns:1fr 1fr !important;width:100% !important}
  .process-search-actions .btn{width:100% !important;min-width:0 !important}
}

/* v33 - gestión de archivos en edición de procesos */
.current-files-box{border:1px solid #dbe7f5;background:#f8fbff;border-radius:14px;padding:12px;margin-top:2px}
.current-file-list{display:grid;gap:8px;margin-top:6px}
.current-file-item{display:flex;align-items:center;justify-content:space-between;gap:12px;margin:0;padding:9px 10px;border:1px solid #e1eaf5;background:#fff;border-radius:12px;font-size:12px;font-weight:760;color:#334155}
.current-file-item a{display:inline-flex;align-items:center;color:#0a469c;font-weight:850;max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.current-file-item small{display:block;color:#94a3b8;font-size:10px;margin-top:2px;font-weight:700}
.delete-file-check{display:inline-flex;align-items:center;gap:6px;white-space:nowrap;font-size:11px;color:#be123c;font-weight:850;background:#fff1f2;border:1px solid #fecdd3;border-radius:999px;padding:6px 9px}
.delete-file-check input{width:14px;height:14px;margin:0;accent-color:#be123c;box-shadow:none;padding:0}
@media(max-width:640px){.current-file-item{display:grid;gap:8px}.delete-file-check{justify-self:start}.current-file-item a{white-space:normal}}

/* v34 - detalle de activos y multiselección de datos personales */
.asset-detail-card{overflow:visible}
.detail-header{display:flex;align-items:flex-start;justify-content:space-between;gap:14px;margin-bottom:14px}
.detail-title{display:flex;align-items:center;gap:12px;padding:12px;border:1px solid #e2eaf5;border-radius:16px;background:#f8fbff;margin-bottom:14px}
.detail-title h3{margin:0;font-size:18px;color:#0f172a}
.detail-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(190px,1fr));gap:10px;margin:12px 0}
.detail-item{background:#fff;border:1px solid #e2eaf5;border-radius:14px;padding:10px 12px;min-height:58px}
.detail-item span{display:block;font-size:11px;color:#64748b;font-weight:800;margin-bottom:5px}
.detail-item strong{display:block;font-size:12px;color:#132238;line-height:1.35;font-weight:850}
.detail-section{border:1px solid #e2eaf5;background:#fff;border-radius:14px;padding:12px;margin-top:10px}
.detail-section h3{font-size:14px;margin:0 0 8px;color:#0f172a}
.detail-section p{margin:0;color:#475569;font-size:12px;line-height:1.55}
.cia-detail-grid .detail-item{background:#f8fbff}
.assets-table .btn.mini{padding:6px 8px !important;font-size:10.5px !important;white-space:nowrap}
.asset-multi-check summary span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
@media(max-width:720px){.detail-header{display:block}.detail-header .btn{margin-top:10px}.detail-title{align-items:flex-start}.detail-grid{grid-template-columns:1fr}}

/* v35 - flujo Controles > Riesgos, códigos automáticos y mapas de calor */
.section-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:14px;margin-bottom:14px}.section-heading h2,.section-heading h3{margin-bottom:4px}.workflow-step,.map-type-pill{display:inline-flex;align-items:center;justify-content:center;border:1px solid #cfe1fb;background:#eef6ff;color:#0a469c;border-radius:999px;padding:6px 10px;font-size:10px;font-weight:900;white-space:nowrap}.form-actions{display:flex;justify-content:flex-end;margin-top:14px}.compact-card{padding-top:17px;padding-bottom:17px}.control-link-heading{margin-top:18px}.effectiveness-cell{display:grid;gap:4px;justify-items:start}.effectiveness-cell strong{font-size:15px;color:#0a469c}.control-score{margin-left:auto;display:flex;align-items:center;gap:8px}.control-score strong{font-size:25px;color:#0a469c}.control-rating-table td:first-child{min-width:220px}.score-pair{display:inline-block;margin-top:5px;color:#64748b;font-size:10px;font-weight:700}

.heatmap-layout{display:grid;grid-template-columns:repeat(2,minmax(520px,1fr));gap:18px;align-items:start}.heatmap-card{padding:17px}.heatmap-title{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;margin-bottom:10px}.heatmap-title h2{margin-bottom:3px}.heatmap-scroll{overflow:auto;border:1px solid var(--line);border-radius:15px;background:#fff}.risk-heatmap{width:100%;min-width:510px;border:0;border-radius:0;table-layout:fixed}.risk-heatmap th,.risk-heatmap td{border:1px solid rgba(255,255,255,.75);padding:5px;text-align:center}.risk-heatmap thead th{height:52px;background:#f4f8fd;color:#344b6c}.axis-corner{width:92px;font-size:9px;line-height:1.25}.prob-head strong,.impact-head strong{display:block;font-size:13px}.prob-head span,.impact-head span{display:block;font-size:8.5px;font-weight:750;line-height:1.1}.impact-head{width:92px;background:#f4f8fd!important;color:#344b6c!important}.heat-cell{position:relative;height:86px;vertical-align:middle;transition:box-shadow .16s ease,transform .16s ease,filter .16s ease}.heat-cell .cell-score{position:absolute;right:5px;top:3px;font-size:8px;font-weight:900;color:rgba(15,23,42,.48)}.heat-low{background:#dff6e9!important}.heat-medium{background:#fff1b8!important}.heat-high{background:#ffd4a8!important}.heat-critical{background:#ffc3c8!important}.risk-token-list{display:grid;grid-template-columns:repeat(auto-fit,minmax(31px,42px));justify-content:center;align-content:center;gap:3px;max-height:68px;max-width:100%;overflow:auto;padding:7px 2px 2px;box-sizing:border-box}.risk-token{width:100%;min-width:0;max-width:42px;border:1px solid rgba(10,70,156,.25);border-radius:6px;background:rgba(255,255,255,.94);color:#073a79;box-shadow:0 2px 6px rgba(8,58,121,.09);padding:3px 3px;font-size:8px;font-weight:950;line-height:1;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;box-sizing:border-box;cursor:pointer;transition:transform .14s ease,box-shadow .14s ease,background .14s ease}.risk-token:hover,.risk-token:focus{transform:translateY(-1px);box-shadow:0 7px 15px rgba(8,58,121,.19);outline:0;background:#fff}.risk-token.related-active{background:#073a79;color:#fff;border-color:#073a79;box-shadow:0 0 0 2px rgba(23,111,255,.23),0 5px 12px rgba(8,58,121,.18);transform:scale(1.03)}.heat-cell.linked-cell{box-shadow:inset 0 0 0 4px #176fff;z-index:2;filter:saturate(1.08)}.map-guide{display:flex;align-items:center;justify-content:space-between;gap:20px}.map-guide h2{margin-bottom:5px}.map-guide p{margin:0;color:#64748b;font-size:12px;max-width:780px}.heat-legend{display:flex;flex-wrap:wrap;gap:10px}.heat-legend span{display:flex;align-items:center;gap:6px;font-size:10px;font-weight:800;color:#455a78}.legend-square{width:14px;height:14px;border-radius:4px;border:1px solid rgba(15,23,42,.08)}.risk-map-selection{padding:13px 16px;min-height:68px}.selection-empty{display:flex;align-items:center;gap:12px}.selection-empty span{color:#64748b;font-size:11px}.selection-content{display:grid;grid-template-columns:minmax(160px,.8fr) minmax(220px,1.4fr) repeat(2,minmax(150px,.65fr));gap:12px;align-items:center}.selection-content .selection-code{display:flex;align-items:center;gap:8px}.selection-content h3{margin:0;font-size:14px}.selection-content p{margin:2px 0 0;color:#64748b;font-size:10.5px;line-height:1.35}.selection-metric{border-left:1px solid var(--line);padding-left:12px}.selection-metric span{display:block;color:#64748b;font-size:9px;text-transform:uppercase;letter-spacing:.08em;font-weight:900}.selection-metric strong{display:block;margin-top:3px;color:#132238;font-size:11px}.risk-floating-tooltip{position:fixed;z-index:9999;width:min(360px,calc(100vw - 24px));pointer-events:none;background:#061f46;color:#fff;border:1px solid rgba(116,215,255,.32);border-radius:12px;padding:11px 12px;box-shadow:0 18px 46px rgba(2,19,48,.34);font-size:10.5px;line-height:1.4}.risk-floating-tooltip strong{display:block;color:#74d7ff;font-size:11px;margin-bottom:4px}.risk-floating-tooltip span{display:block;color:#d6e8ff;margin-top:4px}.sr-only{position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;white-space:nowrap!important;border:0!important}
@media(max-width:1550px){.heatmap-layout{grid-template-columns:1fr}.risk-heatmap{min-width:620px}.selection-content{grid-template-columns:1fr 1.3fr 1fr 1fr}}
@media(max-width:820px){.section-heading,.map-guide{display:grid}.form-actions{justify-content:stretch}.form-actions button{width:100%}.selection-content{grid-template-columns:1fr}.selection-metric{border-left:0;border-top:1px solid var(--line);padding:8px 0 0}.heatmap-card{padding:12px}.risk-heatmap{min-width:560px}.heat-cell{height:78px}.control-score{margin-left:0}}
.stats-row .kpi:nth-child(1) .kpi-icon{background:#edf5ff;color:#176fff;border-color:#d3e5ff}
.stats-row .kpi:nth-child(2) .kpi-icon{background:#e9fbff;color:#0ea5c6;border-color:#c8f0f8}
.stats-row .kpi:nth-child(3) .kpi-icon{background:#ecfdf5;color:#0f9f6e;border-color:#c8f2df}
.stats-row .kpi:nth-child(4) .kpi-icon{background:#fff7e8;color:#f59e0b;border-color:#ffe5b3}
.stats-row .kpi:nth-child(5) .kpi-icon{background:#f4efff;color:#8b5cf6;border-color:#dfd2ff}
.stats-row .kpi:nth-child(6) .kpi-icon{background:#fff0f2;color:#ef4444;border-color:#ffd1d7}

/* v37 - modal de controles asociados a riesgos */
body.modal-open{overflow:hidden}
.risk-controls-trigger{display:inline-flex!important;align-items:center!important;gap:7px!important;width:auto!important;min-height:28px!important;padding:5px 9px!important;border:1px solid #cfe1fb!important;border-radius:999px!important;background:#eef6ff!important;color:#0a469c!important;box-shadow:none!important;font-size:10.5px!important;font-weight:850!important;line-height:1!important;transform:none!important}
.risk-controls-trigger:hover,.risk-controls-trigger:focus{background:#dfeeff!important;border-color:#a9caef!important;box-shadow:0 5px 12px rgba(10,70,156,.10)!important;transform:none!important;outline:none}
.risk-controls-trigger b{font-size:9px;text-transform:uppercase;letter-spacing:.05em}
.pill.neutral{background:#f5f7fb;color:#718096;border-color:#e1e7ef}
.risk-control-modal[hidden]{display:none!important}
.risk-control-modal{position:fixed;inset:0;z-index:10020;display:grid;place-items:center;padding:22px}
.risk-control-backdrop{position:absolute;inset:0;background:rgba(3,18,42,.62);backdrop-filter:blur(4px)}
.risk-control-dialog{position:relative;z-index:1;width:min(1120px,96vw);max-height:92vh;display:flex;flex-direction:column;overflow:hidden;border:1px solid rgba(255,255,255,.72);border-radius:20px;background:#fff;box-shadow:0 32px 90px rgba(2,18,45,.34)}
.risk-control-modal-header{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;padding:18px 20px 16px;border-bottom:1px solid #e4edf8;background:linear-gradient(135deg,#f8fbff,#edf6ff)}
.risk-control-modal-header h2{margin:3px 0 2px;font-size:18px;line-height:1.25;color:#11233e}
.risk-control-modal-header p{margin:0;color:#6b7c93;font-size:11px}
.modal-close{width:34px!important;height:34px!important;min-height:34px!important;flex:0 0 34px!important;padding:0!important;border-radius:10px!important;border:1px solid #d8e5f4!important;background:#fff!important;color:#17365e!important;box-shadow:0 5px 12px rgba(8,58,121,.08)!important;font-size:22px!important;line-height:1!important;transform:none!important}
.modal-close:hover,.modal-close:focus{background:#eef6ff!important;border-color:#b9d5f5!important;transform:none!important;outline:none}
.risk-control-modal-body{display:grid;grid-template-columns:minmax(230px,300px) minmax(0,1fr);min-height:0;overflow:hidden}
.risk-control-list{padding:14px;border-right:1px solid #e5edf7;background:#f7faff;overflow:auto}
.risk-control-option{display:grid!important;grid-template-columns:auto minmax(0,1fr) auto!important;align-items:center!important;gap:9px!important;width:100%!important;min-height:0!important;margin:0 0 8px!important;padding:10px!important;border:1px solid #dce8f5!important;border-radius:12px!important;background:#fff!important;color:#263c5c!important;box-shadow:none!important;text-align:left!important;transform:none!important}
.risk-control-option:hover,.risk-control-option:focus{border-color:#a9c9ee!important;background:#f2f8ff!important;box-shadow:0 7px 16px rgba(8,58,121,.08)!important;transform:none!important;outline:none}
.risk-control-option.active{border-color:#176fff!important;background:linear-gradient(135deg,#eaf3ff,#f7fbff)!important;box-shadow:inset 3px 0 0 #176fff!important}
.risk-control-option .code-pill{font-size:9px;padding:4px 6px;white-space:nowrap}
.risk-control-option span:nth-child(2){min-width:0}
.risk-control-option strong{display:block;overflow:hidden;text-overflow:ellipsis;font-size:11px;line-height:1.25;color:#132b4d}
.risk-control-option small{display:block;margin-top:4px;color:#6d809a;font-size:9.5px;line-height:1.25}
.risk-control-option i{font-style:normal;font-size:20px;color:#7c96b8}
.risk-control-details{min-width:0;padding:18px 20px;overflow:auto;background:#fff}
.risk-control-detail-panel[hidden]{display:none!important}
.control-modal-title{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;padding-bottom:12px;border-bottom:1px solid #e8eff7}
.control-modal-title>div:first-child{display:flex;align-items:center;gap:10px;min-width:0}
.control-modal-title h3{margin:0;font-size:16px;line-height:1.3;color:#122741}
.control-modal-effectiveness{display:flex;align-items:center;gap:8px;white-space:nowrap}
.control-modal-effectiveness>strong{font-size:22px;color:#0a469c}
.control-modal-description{margin:14px 0;color:#526780;font-size:11.5px;line-height:1.55}
.control-modal-meta{display:grid;grid-template-columns:repeat(4,minmax(130px,1fr));gap:9px;margin:0 0 16px}
.control-modal-meta>div{padding:10px;border:1px solid #e1eaf5;border-radius:11px;background:#f8fbff}
.control-modal-meta span{display:block;color:#718198;font-size:8.5px;text-transform:uppercase;letter-spacing:.06em;font-weight:900}
.control-modal-meta strong{display:block;margin-top:4px;color:#203653;font-size:10.5px;line-height:1.35;overflow-wrap:anywhere}
.control-attribute-summary{padding-top:2px}
.control-attribute-heading{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:9px}
.control-attribute-heading h4{margin:0;color:#172e4d;font-size:13px}
.control-attribute-summary table{min-width:680px}
.control-attribute-summary th,.control-attribute-summary td{font-size:10.5px;padding:7px 8px}
@media(max-width:920px){.control-modal-meta{grid-template-columns:repeat(2,minmax(130px,1fr))}}
@media(max-width:760px){.risk-control-modal{padding:8px}.risk-control-dialog{width:100%;max-height:96vh;border-radius:15px}.risk-control-modal-header{padding:14px}.risk-control-modal-header h2{font-size:15px}.risk-control-modal-body{grid-template-columns:1fr;overflow:auto}.risk-control-list{display:flex;gap:8px;overflow:auto;border-right:0;border-bottom:1px solid #e5edf7;padding:10px}.risk-control-option{min-width:230px!important;margin:0!important}.risk-control-details{padding:14px;overflow:visible}.control-modal-title{display:grid}.control-modal-effectiveness{justify-content:flex-start}.control-modal-meta{grid-template-columns:1fr 1fr}.control-attribute-heading{align-items:flex-start;flex-direction:column}}
@media(max-width:460px){.control-modal-meta{grid-template-columns:1fr}.risk-control-option{min-width:210px!important}}

/* v38 - metodología de controles y riesgos */
.method-summary-grid{display:grid;grid-template-columns:repeat(4,minmax(150px,1fr));gap:10px;margin:14px 0}
.method-summary-grid>div{padding:12px;border:1px solid #dce8f5;border-radius:12px;background:linear-gradient(145deg,#f8fbff,#fff)}
.method-summary-grid span{display:block;color:#6b7e97;font-size:9px;font-weight:900;text-transform:uppercase;letter-spacing:.06em}
.method-summary-grid strong{display:block;margin-top:4px;color:#0a469c;font-size:17px}
.method-summary-grid small{display:block;margin-top:3px;color:#74859a;font-size:9.5px;line-height:1.3}
.control-mini-metrics{display:grid;gap:3px;min-width:180px}
.control-mini-metrics>strong{display:flex;align-items:center;gap:6px;flex-wrap:wrap;color:#15375e;font-size:11px}
.control-mini-metrics>span{color:#687d96;font-size:9.5px;line-height:1.25}
.risk-impact-heading{margin-top:18px}
.risk-impact-grid{display:grid;grid-template-columns:repeat(4,minmax(180px,1fr));gap:10px;margin:10px 0 18px}
.risk-impact-item{padding:11px;border:1px solid #dce8f5;border-radius:12px;background:#f9fbfe}
.risk-impact-item label{min-height:28px;display:flex;align-items:flex-start;justify-content:space-between;gap:6px}
.impact-preview{min-width:180px;padding:10px 13px;border:1px solid #bfd9fa;border-radius:12px;background:linear-gradient(135deg,#eaf4ff,#f9fcff);text-align:right}
.impact-preview span{display:block;color:#71849c;font-size:8.5px;font-weight:900;text-transform:uppercase;letter-spacing:.07em}
.impact-preview strong{display:block;color:#0751ae;font-size:16px;margin-top:2px}
.impact-preview small{display:block;color:#627791;font-size:9.5px;margin-top:2px}
.sequence-badge{display:inline-grid;place-items:center;width:24px;height:24px;border-radius:8px;background:#e9f3ff;color:#0a469c;font-size:10px;font-weight:950}
.risk-control-link-table td:first-child,.risk-control-link-table th:first-child{width:48px;text-align:center}
.risk-control-link-table .risk-primary-variable:disabled{opacity:.55;background-color:#f2f4f8;cursor:not-allowed}
.risk-control-link-table tr.dual-control-row{background:#f6fbff}
.score-pair{display:inline-block;margin-top:5px;color:#5d718c;font-size:9.5px;white-space:nowrap}
@media(max-width:1180px){.risk-impact-grid{grid-template-columns:repeat(2,minmax(190px,1fr))}.method-summary-grid{grid-template-columns:repeat(2,minmax(150px,1fr))}}
@media(max-width:700px){.risk-impact-grid{grid-template-columns:1fr}.impact-preview{width:100%;text-align:left}.method-summary-grid{grid-template-columns:1fr}.risk-control-link-table{min-width:820px}}

/* v38 final - metodología Excel y detalle secuencial */
.methodology-metrics{display:grid;grid-template-columns:repeat(5,minmax(135px,1fr));gap:9px;margin:14px 0 16px}
.methodology-metrics>div{padding:11px;border:1px solid #dce8f5;border-radius:12px;background:linear-gradient(145deg,#f8fbff,#fff)}
.methodology-metrics span{display:block;color:#6b7e97;font-size:8.5px;font-weight:900;text-transform:uppercase;letter-spacing:.06em}
.methodology-metrics strong{display:block;margin-top:4px;color:#0a469c;font-size:16px;line-height:1.15}
.methodology-metrics small{display:block;margin-top:3px;color:#74859a;font-size:9px;line-height:1.3}
.methodology-banner{display:grid;grid-template-columns:repeat(3,minmax(180px,1fr));gap:8px;padding:11px;margin:14px 0;border:1px solid #cfe1f8;border-radius:13px;background:linear-gradient(135deg,#edf6ff,#f9fcff)}
.methodology-banner>div{min-width:0;padding:2px 8px;border-left:3px solid #4aa3ff}
.methodology-banner strong{display:block;color:#15375e;font-size:10.5px}
.methodology-banner span{display:block;margin-top:2px;color:#667b94;font-size:9.5px;line-height:1.35}
.impact-grid{display:grid;grid-template-columns:repeat(4,minmax(185px,1fr));gap:10px;margin:10px 0 18px}
.impact-grid>div{padding:10px;border:1px solid #dce8f5;border-radius:12px;background:#f9fbfe}
.impact-grid label{display:flex;align-items:flex-start;justify-content:space-between;gap:7px;min-height:27px}
.methodology-section{margin-top:18px}
.risk-control-entry-table{min-width:980px}
.risk-control-entry-table th:first-child,.risk-control-entry-table td:first-child{width:50px;text-align:center}
.risk-control-entry-table th:nth-child(2){min-width:250px}
.risk-control-entry-table th:nth-child(3){min-width:230px}
.risk-control-entry-table th:nth-child(4){min-width:150px}
.risk-control-entry-table th:nth-child(5){min-width:180px}
.risk-control-entry-table select{font-size:10.5px;padding-top:8px;padding-bottom:8px}
.risk-primary-select:disabled{opacity:.55;background-color:#f2f4f8;cursor:not-allowed}
.control-live-summary{display:grid;gap:2px;min-height:34px;padding:6px 8px;border:1px dashed #cbdbee;border-radius:9px;background:#fbfdff;color:#6e8098;font-size:9.5px;line-height:1.3}
.control-live-summary strong{color:#134b8f;font-size:10px}
.risk-control-entry.dual-control-row td{background:#f5faff}
.modal-metrics{grid-template-columns:repeat(5,minmax(110px,1fr));margin-top:12px}
.risk-calculation-flow{margin:14px 0;padding:12px;border:1px solid #dce8f5;border-radius:13px;background:#f8fbff}
.risk-calculation-flow h4{margin:0 0 9px;color:#173354;font-size:12.5px}
.calculation-grid{display:grid;grid-template-columns:repeat(4,minmax(135px,1fr));gap:8px}
.calculation-grid>div{padding:9px;border:1px solid #e1eaf5;border-radius:10px;background:#fff}
.calculation-grid span{display:block;color:#718198;font-size:8.5px;text-transform:uppercase;letter-spacing:.05em;font-weight:900}
.calculation-grid strong{display:block;margin-top:4px;color:#17365e;font-size:10.5px;line-height:1.35}
.calculation-grid small{display:block;margin-top:3px;color:#74859a;font-size:8.5px}
.risk-control-option>.sequence-badge{flex:0 0 auto}
.risk-control-option>span:nth-child(2){display:block;min-width:0}
.risk-control-option>span:nth-child(2) .code-pill{display:inline-block;margin-bottom:4px}
@media(max-width:1180px){.methodology-metrics{grid-template-columns:repeat(3,minmax(135px,1fr))}.impact-grid{grid-template-columns:repeat(2,minmax(190px,1fr))}.calculation-grid{grid-template-columns:repeat(2,minmax(140px,1fr))}}
@media(max-width:760px){.methodology-metrics,.methodology-banner,.impact-grid,.calculation-grid{grid-template-columns:1fr}.modal-metrics{grid-template-columns:1fr 1fr}.risk-control-entry-table{min-width:900px}}
@media(max-width:460px){.modal-metrics{grid-template-columns:1fr}}

/* v38 - metodología de activos, controles y riesgos */
.control-method-grid{display:grid;grid-template-columns:repeat(4,minmax(150px,1fr));gap:10px;margin:14px 0 12px}
.control-method-grid>div{padding:12px 13px;border:1px solid #dfe9f5;border-radius:13px;background:linear-gradient(145deg,#fbfdff,#f2f7fd)}
.control-method-grid span{display:block;color:#6d7e95;font-size:9px;font-weight:900;text-transform:uppercase;letter-spacing:.06em}
.control-method-grid strong{display:block;margin:5px 0 2px;color:#0a469c;font-size:19px;line-height:1}
.control-method-grid small{display:block;color:#73839a;font-size:9px;line-height:1.35}
.formula-note{margin:0 0 14px;padding:10px 12px;border-left:3px solid #2b7de9;border-radius:0 10px 10px 0;background:#f1f7ff;color:#3d5573;font-size:10.5px;line-height:1.45}
.method-banner{display:grid;grid-template-columns:repeat(3,minmax(180px,1fr));gap:10px;margin:16px 0}
.method-banner>div{padding:11px 12px;border:1px solid #dbe7f5;border-radius:12px;background:#f8fbff}
.method-banner strong{display:block;color:#163a69;font-size:11px;margin-bottom:3px}
.method-banner span{display:block;color:#6e7f96;font-size:9.5px;line-height:1.4}
.risk-impact-section{margin-top:16px;padding:14px;border:1px solid #e0eaf6;border-radius:15px;background:#fbfdff}
.risk-impact-section .section-heading{margin:0 0 10px}
.impact-grid{grid-template-columns:repeat(auto-fit,minmax(190px,1fr))}
.risk-control-link-table th,.risk-control-link-table td{font-size:10.5px;padding:8px}
.risk-control-link-table td:first-child,.risk-control-link-table th:first-child{width:54px;text-align:center}
.sequence-badge{display:inline-grid;place-items:center;width:25px;height:25px;border-radius:8px;background:#eaf3ff;color:#0a469c;font-size:10px;font-weight:900}
.risk-primary-select.is-disabled{pointer-events:none;opacity:.55;background-color:#f3f6fa;color:#8b98aa}
.control-calculation-trace{margin:14px 0;padding:13px;border:1px solid #dce8f5;border-radius:13px;background:#f8fbff}
.control-calculation-trace h4{margin:0 0 10px;color:#17365e;font-size:12px}
.calculation-flow{display:grid;grid-template-columns:repeat(4,minmax(120px,1fr));gap:8px}
.calculation-flow>div{position:relative;padding:10px;border:1px solid #e1eaf4;border-radius:10px;background:#fff}
.calculation-flow>div:not(:last-child):after{content:'›';position:absolute;right:-8px;top:50%;z-index:2;display:grid;place-items:center;width:16px;height:16px;margin-top:-8px;border-radius:50%;background:#176fff;color:#fff;font-size:12px;font-weight:900}
.calculation-flow span{display:block;color:#73839a;font-size:8px;font-weight:900;text-transform:uppercase;letter-spacing:.05em}
.calculation-flow strong{display:block;margin-top:4px;color:#1e3657;font-size:10.5px;line-height:1.35}
.risk-control-dialog{width:min(1180px,96vw)}
.risk-control-details .control-modal-meta{grid-template-columns:repeat(4,minmax(125px,1fr))}
@media(max-width:1000px){.control-method-grid{grid-template-columns:repeat(2,minmax(150px,1fr))}.method-banner{grid-template-columns:1fr}.calculation-flow{grid-template-columns:repeat(2,minmax(130px,1fr))}.calculation-flow>div:nth-child(2):after{display:none}}
@media(max-width:760px){.control-method-grid{grid-template-columns:1fr 1fr}.calculation-flow{grid-template-columns:1fr}.calculation-flow>div:after{display:none!important}.risk-control-details .control-modal-meta{grid-template-columns:1fr 1fr}}
@media(max-width:480px){.control-method-grid{grid-template-columns:1fr}.risk-control-details .control-modal-meta{grid-template-columns:1fr}}

/* v41 - activos: criticidad más clara y tabla sin duplicar CIA */
.criticality-stack{display:grid;justify-items:start;gap:5px;min-width:86px}
.criticality-stack small,.criticality-detail small{display:block;margin-top:5px;color:#64748b;font-size:10px;font-weight:800;white-space:nowrap}
.criticality-detail strong{display:block}
.assets-table th,.assets-table td{padding:10px 11px;font-size:11px}
.assets-table th{font-size:9.5px}

/* v41 - filtros y agrupación de riesgos */
.risk-filter-card{padding:16px 18px}
.risk-filter-grid{display:grid;grid-template-columns:minmax(240px,1.4fr) minmax(210px,1fr) minmax(210px,1fr) auto;gap:12px;align-items:end}
.risk-filter-grid label{font-size:11px;margin-bottom:5px}
.risk-filter-check{position:relative}
.risk-filter-check summary{min-height:39px}
.filter-action-box{display:flex;align-items:center;gap:10px;padding-bottom:1px}
.risk-result-count{display:inline-flex;align-items:center;gap:4px;white-space:nowrap;color:#63758c;font-size:11px;font-weight:800}
.risk-result-count strong{color:#0a469c;font-size:17px}
.risk-group-list{display:grid;gap:16px}
.risk-process-group{margin-bottom:0;padding:16px 17px}
.risk-group-header{display:flex;align-items:center;justify-content:space-between;gap:15px;padding:0 2px 12px;border-bottom:1px solid #e5edf6;margin-bottom:12px}
.risk-group-header h2{margin:0;font-size:16px}
.risk-summary-table th,.risk-summary-table td{padding:10px 9px;font-size:10.5px}
.risk-summary-table th{font-size:9px;letter-spacing:.035em}
.risk-summary-table td:nth-child(2){min-width:175px;max-width:240px;white-space:normal}
.risk-summary-table td:nth-child(3){min-width:210px;max-width:300px;white-space:normal}
.risk-summary-table .btn.mini{white-space:nowrap;justify-content:center}
.pill.high-plan{background:#fff0f0;border-color:#fecaca;color:#b91c1c}
.risk-global-empty{margin-top:0}

/* v41 - ficha detallada del riesgo */
.risk-detail-card{padding:22px}
.detail-actions{display:flex;gap:8px;flex-wrap:wrap;justify-content:flex-end}
.risk-detail-summary{display:grid;grid-template-columns:repeat(4,minmax(160px,1fr));gap:10px;margin:15px 0}
.risk-detail-summary>div,.plan-overview-grid>div{padding:11px 12px;border:1px solid #dde8f4;border-radius:12px;background:#f8fbff}
.risk-detail-summary span,.plan-overview-grid span{display:block;color:#6b7d94;font-size:8.5px;font-weight:950;text-transform:uppercase;letter-spacing:.06em}
.risk-detail-summary strong,.plan-overview-grid strong{display:block;margin-top:4px;color:#17375e;font-size:11px;line-height:1.35}
.risk-text-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin-top:12px}
.risk-text-grid>div{padding:12px;border:1px solid #e0e9f4;border-radius:12px;background:#fbfdff;min-height:94px}
.risk-text-grid span{display:block;color:#627790;font-size:9px;font-weight:900;text-transform:uppercase;letter-spacing:.05em;margin-bottom:6px}
.risk-text-grid p{margin:0;color:#2c405e;font-size:11px;line-height:1.55}
.impact-result-card{min-width:210px;padding:10px 12px;border-radius:12px;border:1px solid #bfd9fa;background:linear-gradient(135deg,#eaf4ff,#fbfdff);text-align:right}
.impact-result-card span{display:block;color:#70829a;font-size:8px;font-weight:950;text-transform:uppercase;letter-spacing:.06em}
.impact-result-card strong{display:block;color:#0751ae;font-size:17px;margin-top:2px}
.impact-result-card small{display:block;color:#60748e;font-size:9px;margin-top:2px}
.impact-detail-grid{display:grid;grid-template-columns:repeat(4,minmax(150px,1fr));gap:9px}
.impact-detail-item{padding:11px;border:1px solid #e0e9f4;border-radius:11px;background:#fff}
.impact-detail-item.predominant{border-color:#7cb6ff;background:#eef6ff;box-shadow:inset 0 0 0 1px rgba(23,111,255,.09)}
.impact-detail-item span{display:block;color:#667b94;font-size:8.5px;font-weight:900;text-transform:uppercase}
.impact-detail-item strong{display:block;margin-top:5px;color:#17375e;font-size:11px}
.risk-result-grid{display:grid;grid-template-columns:repeat(3,minmax(190px,1fr));gap:12px;margin:16px 0}
.risk-result-card{position:relative;display:grid;gap:6px;padding:15px;border-radius:15px;border:1px solid #dce8f5;background:#fff;overflow:hidden}
.risk-result-card:before{content:"";position:absolute;left:0;top:0;bottom:0;width:4px;background:#176fff}
.risk-result-card.residual:before{background:#4ea6cf}.risk-result-card.decision:before{background:#8b5cf6}
.risk-result-card>span{color:#6b7e97;font-size:8.5px;font-weight:950;text-transform:uppercase;letter-spacing:.06em}
.risk-result-card>strong{color:#132d52;font-size:22px;line-height:1.1}
.risk-result-card>small{color:#687d95;font-size:10px}
.linked-control-cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(230px,1fr));gap:9px}
.linked-control-card{display:grid;justify-items:start;gap:5px;padding:12px;border:1px solid #dce8f5;border-radius:12px;background:#fbfdff;color:#183b66;box-shadow:none;text-align:left}
.linked-control-card:hover{background:#f1f7ff;transform:translateY(-1px)}
.linked-control-card strong{font-size:11px}.linked-control-card small{color:#6e8198;font-size:9px}.linked-control-card em{font-style:normal;color:#0a469c;font-size:9px;font-weight:900}
.plan-mini-list{display:grid;gap:8px}.plan-mini-list a{display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:10px;padding:10px 11px;border:1px solid #dce8f5;border-radius:11px;background:#fbfdff}.plan-mini-list a strong{font-size:10.5px}.plan-mini-list a small{font-size:9px;color:#6c7e95}

/* v41 - planes de tratamiento */
.treatment-alert{border-color:#fed7aa;background:linear-gradient(135deg,#fff7ed,#fff)}
.required-risk-list{display:grid;gap:7px;margin-top:12px}.required-risk-list a{display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:9px;padding:9px 10px;border-radius:10px;background:#fff;border:1px solid #fed7aa}.required-risk-list strong{font-size:10.5px}
.treatment-plan-hero{background:linear-gradient(135deg,#fafdff,#edf6ff)}
.plan-overview-grid{display:grid;grid-template-columns:repeat(7,minmax(120px,1fr));gap:8px;margin-top:14px}
.progress-track{height:9px;border-radius:999px;background:#e6edf6;overflow:hidden;margin-top:12px}.progress-track span{display:block;height:100%;border-radius:inherit;background:linear-gradient(90deg,#176fff,#4ea6cf)}.progress-track.small{height:6px;margin-top:8px}
.treatment-activity-card{padding:14px;margin-top:12px;border:1px solid #dce8f5;border-radius:15px;background:#fbfdff}
.activity-head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}.activity-head h3{margin:7px 0 4px;font-size:14px}.activity-head p{margin:0;color:#60748e;font-size:10.5px;line-height:1.45}.activity-head>div:last-child{display:grid;justify-items:end;gap:6px}.activity-progress-number{color:#0a469c;font-size:18px}
.activity-meta{display:grid;grid-template-columns:repeat(4,minmax(160px,1fr));gap:8px;margin-top:11px}.activity-meta span{display:block;padding:8px 9px;border:1px solid #e1eaf4;border-radius:9px;background:#fff;color:#526981;font-size:9.5px;line-height:1.4}.activity-meta b{color:#17375e}
.activity-edit{margin-top:12px;border-top:1px solid #e1eaf4;padding-top:10px}.activity-edit summary,.cancel-plan summary{cursor:pointer;color:#0a469c;font-size:10.5px;font-weight:900}.activity-edit form,.cancel-plan form{margin-top:12px}
.activity-files{display:grid;gap:6px;margin-top:11px;padding:10px;border:1px solid #dce8f5;border-radius:10px;background:#fff}.activity-files>strong{font-size:10px;color:#17375e}.activity-files>div{display:flex;align-items:center;justify-content:space-between;gap:8px}.activity-files a{color:#176fff;font-size:10px;font-weight:800;overflow-wrap:anywhere}.activity-files form{margin:0}
.timeline{display:grid;gap:10px;margin-bottom:15px;border-left:2px solid #cfe0f5;padding-left:15px}.timeline>div{position:relative;padding:10px 12px;border:1px solid #dce8f5;border-radius:11px;background:#fbfdff}.timeline>div:before{content:"";position:absolute;left:-21px;top:16px;width:10px;height:10px;border-radius:50%;background:#176fff;border:2px solid #fff;box-shadow:0 0 0 2px #cfe0f5}.timeline span{font-size:9px;color:#708199}.timeline strong{display:block;margin-top:2px;color:#17375e;font-size:10.5px}.timeline p{margin:5px 0;color:#425a75;font-size:10.5px}.timeline small{color:#7b8ca0;font-size:8.5px}
.progress-cell{display:flex;align-items:center;gap:8px;min-width:110px}.progress-cell .progress-track{flex:1;margin:0}.progress-cell strong{font-size:9.5px;color:#0a469c}
.treatment-plan-table th,.treatment-plan-table td{font-size:10px;padding:9px}.treatment-plan-table th{font-size:8.5px}
.legacy-actions{padding:14px 18px}.legacy-actions>summary{cursor:pointer;color:#17375e;font-size:12px;font-weight:900}
.cancel-plan{margin-top:14px;padding-top:12px;border-top:1px solid #e1eaf4}

[hidden]{display:none!important}

@media(max-width:1280px){
  .risk-filter-grid{grid-template-columns:1fr 1fr 1fr}.filter-action-box{grid-column:1/-1;justify-content:flex-end}
  .plan-overview-grid{grid-template-columns:repeat(4,minmax(130px,1fr))}
  .impact-detail-grid{grid-template-columns:repeat(3,minmax(150px,1fr))}
}
@media(max-width:980px){
  .risk-detail-summary,.risk-result-grid{grid-template-columns:repeat(2,minmax(160px,1fr))}
  .activity-meta{grid-template-columns:repeat(2,minmax(150px,1fr))}
  .plan-overview-grid{grid-template-columns:repeat(3,minmax(130px,1fr))}
}
@media(max-width:760px){
  .risk-filter-grid{grid-template-columns:1fr}.filter-action-box{grid-column:auto;justify-content:space-between}
  .risk-group-header,.activity-head{align-items:flex-start}.risk-summary-table{min-width:860px}
  .risk-detail-summary,.risk-text-grid,.risk-result-grid,.impact-detail-grid,.activity-meta,.plan-overview-grid{grid-template-columns:1fr}
  .detail-actions{justify-content:flex-start}.impact-result-card{width:100%;text-align:left}
  .plan-mini-list a,.required-risk-list a{grid-template-columns:1fr;justify-items:start}
}

/* v43 - producción: dashboard ejecutivo, configuración, usuarios, reportes y bitácora */
.exec-intro{display:flex;align-items:center;justify-content:space-between;gap:18px;padding:19px 21px;margin-bottom:15px;border:1px solid #dce8f5;border-radius:18px;background:linear-gradient(135deg,#f7fbff,#eef6ff)}
.exec-intro h2{margin:3px 0 4px;font-size:20px;color:#17375e}.exec-intro p{margin:0;color:#62758d;font-size:10.5px}.exec-intro-actions{display:flex;gap:8px;flex-wrap:wrap}
.exec-grid{display:grid;grid-template-columns:repeat(4,minmax(170px,1fr));gap:11px;margin-bottom:15px}.exec-kpi{position:relative;display:block;padding:15px 16px;border:1px solid #dce8f5;border-radius:15px;background:#fff;color:inherit;box-shadow:0 5px 17px rgba(18,54,91,.045);transition:.18s}.exec-kpi:hover{transform:translateY(-2px);box-shadow:0 9px 22px rgba(18,54,91,.08)}.exec-kpi.warning{border-left:4px solid #f59e0b}.exec-kpi.danger{border-left:4px solid #ef4444}.exec-kpi-label{font-size:9px;font-weight:900;color:#6b7f97;text-transform:uppercase;letter-spacing:.05em}.exec-kpi-value{margin-top:4px;font-size:25px;font-weight:900;color:#17375e}.exec-kpi-sub{margin-top:2px;color:#718399;font-size:9.5px}.exec-kpi-go{display:block;margin-top:8px;color:#176fff;font-size:8.5px;font-weight:900}
.exec-two-col{display:grid;grid-template-columns:1.45fr 1fr;gap:13px;margin-bottom:15px}.risk-level-cards{display:grid;grid-template-columns:repeat(4,1fr);gap:8px}.risk-level-card{display:grid;gap:5px;padding:12px;border-radius:12px;border:1px solid #e1eaf4;background:#fbfdff}.risk-level-card span{font-size:9px;font-weight:900}.risk-level-card strong{font-size:20px}.risk-level-card.critical{border-color:#fecaca;color:#991b1b;background:#fff5f5}.risk-level-card.high{border-color:#fed7aa;color:#9a3412;background:#fff8f1}.risk-level-card.medium{border-color:#fde68a;color:#854d0e;background:#fffcf0}.risk-level-card.low{border-color:#bbf7d0;color:#166534;background:#f4fff8}
.attention-list{display:grid;gap:7px}.attention-list a{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:10px 11px;border:1px solid #e1eaf4;border-radius:10px;background:#fbfdff;color:#294563;font-size:10px;font-weight:800}.attention-list strong{font-size:15px;color:#0a469c}.text-danger{color:#b91c1c!important}
.settings-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.settings-section{padding:15px;border:1px solid #dde8f4;border-radius:14px;background:#fbfdff}.settings-section h3{margin:0 0 10px;font-size:13px;color:#17375e}.security-policy-list{display:grid;grid-template-columns:repeat(3,minmax(120px,1fr));gap:8px}.security-policy-list>div{padding:10px;border:1px solid #e1eaf4;border-radius:10px;background:#fff}.security-policy-list span{display:block;font-size:8px;font-weight:900;color:#718399;text-transform:uppercase}.security-policy-list strong{display:block;margin-top:4px;font-size:11px;color:#17375e}
.permission-matrix{min-width:960px}.permission-matrix th,.permission-matrix td{text-align:center}.permission-matrix td:nth-child(2),.permission-matrix th:nth-child(2){text-align:left}.permission-matrix input[type=checkbox]{width:15px;height:15px}
.audit-diff{max-width:340px;white-space:normal;overflow-wrap:anywhere}.audit-diff code{display:block;max-height:60px;overflow:auto;padding:5px;border-radius:6px;background:#f6f8fb;font-size:8px;color:#475569}
.report-tabs{display:flex;gap:6px;flex-wrap:wrap;margin-bottom:12px}.report-tabs a{padding:7px 10px;border:1px solid #dce8f5;border-radius:9px;background:#fff;color:#456079;font-size:9.5px;font-weight:900}.report-tabs a.active{background:#176fff;color:#fff;border-color:#176fff}.report-sheet{background:#fff}.report-header{display:flex;justify-content:space-between;gap:20px;align-items:center;padding-bottom:12px;margin-bottom:13px;border-bottom:1px solid #dce8f5}.report-header img{max-width:120px;max-height:48px}.report-footer{margin-top:14px;padding-top:10px;border-top:1px solid #e5edf6;color:#7a8ba0;font-size:8.5px}
.notification-list{display:grid;gap:8px}.notification-item{display:grid;grid-template-columns:auto 1fr auto;gap:10px;align-items:start;padding:12px;border:1px solid #dce8f5;border-radius:12px;background:#fff}.notification-item.unread{background:#f4f9ff;border-color:#bfdbfe}.notification-dot{width:9px;height:9px;margin-top:5px;border-radius:50%;background:#176fff}.notification-item h3{margin:0;font-size:11px;color:#17375e}.notification-item p{margin:4px 0 0;color:#62758d;font-size:9.5px}.notification-item small{font-size:8px;color:#8391a3}
.asset-relations{display:grid;grid-template-columns:repeat(4,minmax(130px,1fr));gap:8px}.asset-relation-card{padding:11px;border:1px solid #dce8f5;border-radius:11px;background:#fbfdff}.asset-relation-card span{display:block;color:#6d8098;font-size:8px;font-weight:900;text-transform:uppercase}.asset-relation-card strong{display:block;margin-top:4px;color:#17375e;font-size:19px}.asset-relation-card a{display:inline-block;margin-top:6px;color:#176fff;font-size:8.5px;font-weight:900}
.filters-compact{padding:12px 14px}.filter-row{display:grid;grid-template-columns:repeat(3,minmax(160px,1fr)) auto;gap:9px;align-items:end}.filter-actions{padding-bottom:1px}
.auth-security-note{padding:10px 12px;border-radius:10px;border:1px solid #dbeafe;background:#f8fbff;color:#536a84;font-size:9.5px;line-height:1.5}.totp-secret{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;letter-spacing:.08em;font-weight:900;padding:10px;border-radius:9px;background:#eef6ff;color:#0a469c;word-break:break-all}
@media(max-width:1100px){.exec-grid{grid-template-columns:repeat(2,minmax(170px,1fr))}.exec-two-col{grid-template-columns:1fr}.settings-grid{grid-template-columns:1fr}.security-policy-list{grid-template-columns:repeat(2,minmax(120px,1fr))}.asset-relations{grid-template-columns:repeat(2,minmax(120px,1fr))}}
@media(max-width:680px){.exec-intro{align-items:flex-start;flex-direction:column}.exec-grid,.risk-level-cards,.security-policy-list,.asset-relations{grid-template-columns:1fr 1fr}.filter-row{grid-template-columns:1fr}.notification-item{grid-template-columns:auto 1fr}.notification-item>:last-child{grid-column:2}.report-header{align-items:flex-start;flex-direction:column}}
@media(max-width:420px){.exec-grid,.risk-level-cards,.security-policy-list,.asset-relations{grid-template-columns:1fr}}
@media print{.sidebar,.topbar,.btn,.report-tabs,.filters-compact{display:none!important}.content{margin:0!important;padding:0!important}.report-sheet,.card{box-shadow:none!important;border:0!important}.app-shell{display:block!important}}
.asset-relations>a{display:block;padding:11px;border:1px solid #dce8f5;border-radius:11px;background:#fbfdff;color:#17375e;transition:.15s}.asset-relations>a:hover{border-color:#9ec7fb;background:#f2f8ff;transform:translateY(-1px)}.asset-relations>a span{display:block;color:#6d8098;font-size:8px;font-weight:900;text-transform:uppercase}.asset-relations>a strong{display:block;margin-top:4px;color:#17375e;font-size:19px}
/* v43 - pantallas de seguridad */
body.auth-simple{margin:0;min-height:100vh;display:grid;place-items:center;padding:24px;background:linear-gradient(145deg,#eef5ff,#f9fbff);font-family:Inter,Segoe UI,Arial,sans-serif;color:#193453}.auth-card{width:min(440px,100%);padding:30px;border:1px solid #dbe7f5;border-radius:21px;background:#fff;box-shadow:0 24px 65px rgba(15,46,86,.14)}.auth-card h1{margin:10px 0 7px;font-size:24px;letter-spacing:-.025em}.auth-card>p{color:#687c95;font-size:11px;line-height:1.55}.stack-form{display:grid;gap:9px;margin-top:17px}.stack-form label{font-size:10px;font-weight:900;color:#324d6d}.stack-form input{min-height:40px;padding:0 11px;border:1px solid #cad9e9;border-radius:9px;font-size:13px}.stack-form button,.auth-card>.btn{min-height:40px;border:0;border-radius:9px;background:linear-gradient(135deg,#176fff,#0754c9);color:#fff;font-weight:900;display:grid;place-items:center;cursor:pointer}.auth-link{display:inline-block;margin-top:15px;color:#176fff;font-size:10px;font-weight:900}.secret-key{margin:12px 0;padding:12px;border:1px dashed #8cbdf8;border-radius:10px;background:#eff7ff;color:#064c9e;font:800 13px/1.5 ui-monospace,SFMono-Regular,Menlo,monospace;letter-spacing:.07em;word-break:break-all}.alert-error,.alert-success{margin:12px 0;padding:10px 12px;border-radius:9px;font-size:10.5px;line-height:1.45}.alert-error{border:1px solid #fecaca;background:#fff5f5;color:#991b1b}.alert-success{border:1px solid #bbf7d0;background:#f4fff8;color:#166534}
/* v43 - revaloración histórica de riesgos */
.reassessment-card{margin-top:13px;padding:0;overflow:hidden}.reassessment-card>summary{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:14px 16px;cursor:pointer;list-style:none;background:linear-gradient(135deg,#f8fbff,#eef6ff);border-bottom:1px solid transparent}.reassessment-card[open]>summary{border-bottom-color:#dce8f5}.reassessment-card>summary::-webkit-details-marker{display:none}.reassessment-card>summary strong{font-size:12px;color:#17375e}.reassessment-card>summary span{font-size:9.5px;color:#667b94}.reassessment-form{padding:16px}.reassessment-form .section-heading{margin-top:0}
@media(max-width:680px){.reassessment-card>summary{align-items:flex-start;flex-direction:column}}

/* v44 - enrolamiento 2FA mediante QR local */
.mfa-page{padding:26px 16px;background:linear-gradient(145deg,#f4f8ff,#eaf2ff)}
.mfa-card{width:min(920px,100%);padding:30px 32px;border-radius:22px}
.mfa-heading{display:flex;align-items:flex-start;gap:14px;margin-bottom:22px}
.mfa-heading h1{margin:0 0 5px;font-size:25px;line-height:1.15}
.mfa-subtitle{margin:0;color:#64748b;font-size:13px}
.mfa-setup-grid{display:grid;grid-template-columns:310px minmax(0,1fr);gap:26px;align-items:start;margin:8px 0 22px}
.mfa-qr-panel{border:1px solid #dce7f5;border-radius:18px;padding:18px;background:#f8fbff;text-align:center}
.mfa-qr{width:268px;max-width:100%;min-height:268px;margin:0 auto;display:grid;place-items:center;background:#fff;border:1px solid #e2e8f0;border-radius:14px;padding:10px;box-shadow:0 10px 30px rgba(15,42,82,.07)}
.mfa-qr svg{display:block;width:100%;height:auto;max-width:248px}
.mfa-qr-loading,.mfa-qr-error{font-size:12px;color:#64748b;padding:20px;line-height:1.5}
.mfa-account{display:grid;gap:3px;margin-top:12px;word-break:break-word}
.mfa-account strong{font-size:13px;color:#16345d}.mfa-account span{font-size:11px;color:#64748b}
.mfa-steps ol{margin:0;padding-left:22px;display:grid;gap:12px;color:#334155;font-size:13px;line-height:1.5}
.mfa-steps li::marker{font-weight:800;color:#0b63ce}
.mfa-warning{margin-top:17px;padding:12px 14px;border:1px solid #fed7aa;background:#fff7ed;border-radius:11px;color:#9a3412;font-size:12px;line-height:1.5}
.mfa-manual{margin-top:14px;border-top:1px solid #e2e8f0;padding-top:12px}
.mfa-manual summary{cursor:pointer;color:#0b63ce;font-weight:800;font-size:12px}
.mfa-manual p{font-size:12px;color:#64748b}
.mfa-manual .secret-key{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;font-size:14px;letter-spacing:.08em;word-break:break-all;background:#eef5ff;border:1px dashed #9fc5f7;border-radius:10px;padding:11px;color:#14325c}
.mfa-error{margin:14px 0}
.mfa-form{max-width:420px;margin:0 auto;text-align:left}
.mfa-form input{text-align:center;font-size:24px;font-weight:800;letter-spacing:.28em;font-variant-numeric:tabular-nums}
@media(max-width:760px){.mfa-card{padding:24px 18px}.mfa-setup-grid{grid-template-columns:1fr}.mfa-qr-panel{max-width:330px;margin:0 auto;width:100%}.mfa-heading h1{font-size:22px}}

/* v45 - politicas de acceso, perfil y restablecimiento seguro por correo */
.password-policy-strip{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin:0 0 18px;padding:11px 12px;border:1px solid #dce8f5;border-radius:14px;background:linear-gradient(135deg,#f8fbff,#f2f7fd)}
.password-policy-strip.compact{margin:16px 0 0;padding:9px;gap:6px}
.policy-chip{display:inline-flex;align-items:center;gap:5px;min-height:29px;padding:6px 9px;border:1px solid #d6e4f3;border-radius:999px;background:#fff;color:#536a86;font-size:10px;font-weight:800;white-space:nowrap;box-shadow:0 3px 9px rgba(15,49,92,.04)}
.policy-chip b{color:#123b72;font-size:10.5px;font-weight:950}
.policy-chip.accent{border-color:#bcd8ff;background:#edf5ff;color:#0a469c}.policy-chip.accent b{color:#0754c9}
.profile-link{display:inline-flex;align-items:center;gap:7px;padding:5px 10px 5px 5px;border:1px solid var(--line);border-radius:999px;background:#fff;color:#244160;font-size:10px;font-weight:900;transition:.16s ease;white-space:nowrap}.profile-link:hover{background:#f2f7fd;border-color:#bfd5ee;box-shadow:0 6px 16px rgba(8,58,121,.08)}
.profile-link .avatar.small{width:30px;height:30px;flex:0 0 30px}
body.profile-page{display:block;padding:34px}.profile-shell{width:min(1120px,100%);margin:0 auto}.profile-top{display:flex;align-items:flex-start;justify-content:space-between;gap:18px;margin-bottom:18px}.profile-top h1{margin:4px 0 4px;font-size:29px;color:#122b49}.profile-top p{margin:0;color:#6b7c93}.profile-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px}.profile-policy{margin-top:16px}.profile-shell .card{margin-bottom:16px}.profile-shell .stack-form{margin-top:12px}
.split-actions>form{min-width:0}.split-actions>form:first-child .help{line-height:1.55;margin:0 0 12px}.split-actions>form:first-child button{width:100%}
@media(max-width:820px){.profile-link span:last-child{display:none}.profile-link{padding:4px}.profile-grid{grid-template-columns:1fr}.profile-top{display:grid}.password-policy-strip{overflow-x:auto;flex-wrap:nowrap;padding-bottom:10px}.policy-chip{flex:0 0 auto}}


/* v46 - degradado lateral continuo y filtros sin recarga */
.sidebar::-webkit-scrollbar{width:6px}.sidebar::-webkit-scrollbar-track{background:transparent}.sidebar::-webkit-scrollbar-thumb{background:rgba(255,255,255,.18);border-radius:999px}.sidebar::-webkit-scrollbar-thumb:hover{background:rgba(255,255,255,.30)}
.soft-filter-region{position:relative;transition:opacity .18s ease,transform .18s ease,filter .18s ease}
.soft-filter-region.soft-filter-busy{opacity:.68;transform:translateY(1px);filter:saturate(.96);pointer-events:none}
.soft-filter-region.soft-filter-busy::after{content:"";position:absolute;z-index:20;top:10px;right:12px;width:17px;height:17px;border-radius:50%;border:2px solid rgba(23,111,255,.18);border-top-color:#176fff;animation:securia-filter-spin .65s linear infinite;background:#fff;box-shadow:0 2px 8px rgba(8,58,121,.08)}
.soft-filter-region.soft-filter-enter{opacity:0;transform:translateY(3px)}
@keyframes securia-filter-spin{to{transform:rotate(360deg)}}
.filter-inline-error{margin:0 0 10px;padding:9px 11px;border:1px solid #fecaca;border-radius:10px;background:#fff7f7;color:#991b1b;font-size:11px;font-weight:800}
.live-filter-transition .process-table-wrap,.live-filter-transition .risk-group-list{opacity:.78;transition:opacity .14s ease}
.process-table-wrap,.risk-group-list{transition:opacity .14s ease}
.audit-filter.js-soft-filter,.report-filter.js-soft-filter,.filter-row.js-soft-filter{transition:box-shadow .16s ease,background-color .16s ease}
@media(prefers-reduced-motion:reduce){.soft-filter-region,.process-table-wrap,.risk-group-list{transition:none!important}.soft-filter-region.soft-filter-busy::after{animation:none}}


/* v47 - paginacion compacta y mejor distribucion del contexto del riesgo */
.table-pagination{display:flex;align-items:center;justify-content:space-between;gap:14px;margin:12px 0 0;padding:9px 11px;border-top:1px solid #e5edf6;color:#64748b;font-size:10px;min-height:42px}
.table-pagination[hidden]{display:none!important}
.pagination-summary{font-weight:750;color:#64748b}
.pagination-actions{display:flex;align-items:center;justify-content:flex-end;gap:8px}
.pagination-page{min-width:84px;text-align:center;color:#425b78;font-size:10px;font-weight:850;white-space:nowrap}
.table-pagination button:disabled{opacity:.42;cursor:not-allowed;box-shadow:none;transform:none}
.table-wrap,.notification-list,.risk-group-list{transition:opacity .16s ease,transform .16s ease}
.pagination-transition{animation:securia-page-soft .17s ease}
@keyframes securia-page-soft{0%{opacity:.70;transform:translateY(2px)}100%{opacity:1;transform:none}}
.risk-global-pagination{margin-top:-2px;margin-bottom:16px;padding-left:14px;padding-right:14px;border:1px solid #e0eaf5;border-radius:12px;background:#fff}
.risk-context-section{margin:14px 0 2px;padding:14px;border:1px solid #e0eaf6;border-radius:15px;background:linear-gradient(145deg,#fbfdff,#f7faff)}
.risk-context-section .section-heading{margin:0 0 10px}
.risk-context-section .section-heading.compact h3{margin:0 0 3px;font-size:13px;color:#18385f}
.risk-context-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;align-items:stretch}
.risk-context-item{display:flex;flex-direction:column;min-width:0}
.risk-context-item label{margin-bottom:6px}
.risk-context-item textarea{min-height:132px;height:100%;resize:vertical;line-height:1.45}
.notification-card[hidden],.treatment-activity-card[hidden]{display:none!important}
@media(max-width:1050px){.risk-context-grid{grid-template-columns:1fr 1fr}.risk-context-item:first-child{grid-column:1/-1}.risk-context-item textarea{min-height:116px}}
@media(max-width:680px){.table-pagination{align-items:flex-start;flex-direction:column}.pagination-actions{width:100%;justify-content:space-between}.pagination-page{flex:1}.risk-context-grid{grid-template-columns:1fr}.risk-context-item:first-child{grid-column:auto}.risk-context-item textarea{min-height:112px}}
@media(prefers-reduced-motion:reduce){.pagination-transition{animation:none!important}}
@media print{.table-pagination{display:none!important}.report-sheet tr[hidden]{display:table-row!important}.report-sheet tbody tr[hidden]{display:table-row!important}}

/* v48 - Logo corporativo: visualización segura y proporcional */
.brand-logo-wrap{width:104px;height:46px;flex:0 0 104px;display:flex;align-items:center;justify-content:flex-start;overflow:hidden;padding:2px;background:#fff;border-radius:10px}
.brand-logo-wrap img{display:block;width:100%;height:100%;object-fit:contain;object-position:left center}
.top-company.has-logo{padding-left:8px}.top-company.has-logo:before{display:none}.top-company-logo{display:block;width:38px;height:24px;object-fit:contain;object-position:center}
.report-logo{min-width:124px;height:54px;display:flex;align-items:center;justify-content:flex-end;font-weight:950;color:var(--brand)}
.report-logo img{display:block;max-width:180px;max-height:52px;width:auto;height:auto;object-fit:contain;object-position:right center}
.logo-config-field{grid-column:span 2}.org-logo-preview{margin-top:10px;min-height:84px;border:1px solid #d9e5f3;border-radius:14px;background:#fbfdff;padding:12px;display:flex;align-items:center;gap:14px;overflow:hidden}.org-logo-preview img{display:block;max-width:260px;max-height:62px;width:auto;height:auto;object-fit:contain;object-position:left center}.org-logo-preview span{font-size:12px;font-weight:800;color:#60718a}.org-logo-preview.empty{justify-content:center;border-style:dashed}.remove-logo-option{margin-top:9px;font-weight:750;color:#52657f}.remove-logo-option input{width:auto;margin-right:6px}
@media(max-width:1120px){.brand-logo-wrap{width:92px;flex-basis:92px;height:42px}}
@media(max-width:820px){.logo-config-field{grid-column:1/-1}.org-logo-preview{display:grid}.org-logo-preview img{max-width:100%}}


/* v53 - matriz de riesgos: cuatro columnas realmente fijas durante el scroll horizontal */
.report-matrix-guide{display:flex;align-items:center;gap:10px;margin:0 0 9px;padding:8px 10px;border:1px solid #dce8f5;border-radius:11px;background:#f8fbff;color:#5a6f89;font-size:9.5px;line-height:1.35}
.report-matrix-guide strong{color:#0a469c;font-size:10px;white-space:nowrap}
.report-risk-wrap{position:relative!important;display:block;max-width:100%;overflow-x:auto!important;overflow-y:visible!important;border:1px solid #dfe8f4;border-radius:13px;background:#fff;scrollbar-gutter:stable;-webkit-overflow-scrolling:touch;isolation:isolate}
.report-risk-matrix{width:max-content;min-width:1900px;border:0!important;border-radius:0!important;table-layout:auto;border-collapse:separate!important;border-spacing:0!important;overflow:visible!important}
.report-risk-matrix th,.report-risk-matrix td{box-sizing:border-box;font-size:9.5px;padding:8px 9px;white-space:nowrap;background:#fff;background-clip:padding-box}
.report-risk-matrix th{font-size:8.5px;background:#f7faff}
.report-risk-matrix td:nth-child(2){white-space:normal;line-height:1.35}
/* Las clases se asignan explícitamente en reports.php para no depender de nth-child. */
.report-risk-matrix .risk-sticky{position:-webkit-sticky!important;position:sticky!important;background:#fff!important;background-clip:padding-box;z-index:20}
.report-risk-matrix .risk-sticky-1{left:0!important;width:68px!important;min-width:68px!important;max-width:68px!important}
.report-risk-matrix .risk-sticky-2{left:68px!important;width:220px!important;min-width:220px!important;max-width:220px!important}
.report-risk-matrix .risk-sticky-3{left:288px!important;width:140px!important;min-width:140px!important;max-width:140px!important}
.report-risk-matrix .risk-sticky-4{left:428px!important;width:135px!important;min-width:135px!important;max-width:135px!important;border-right:1px solid #cfdceb!important;box-shadow:9px 0 12px -11px rgba(15,23,42,.70)}
.report-risk-matrix thead .risk-sticky{z-index:35!important;background:#edf5ff!important;color:#385373!important}
.report-risk-matrix tbody tr:nth-child(even) .risk-sticky{background:#fcfdff!important}
.report-risk-matrix tbody tr:hover .risk-sticky{background:#f8fbff!important}
/* También mantenemos visible el encabezado al hacer scroll vertical dentro de reportes extensos. */
.report-risk-matrix thead th{position:sticky;top:0;z-index:12;background:#f7faff}
.report-risk-matrix thead th.risk-sticky{z-index:40!important}
@media(max-width:700px){
  .report-risk-matrix .risk-sticky{position:static!important;left:auto!important;width:auto!important;min-width:0!important;max-width:none!important;border-right:0!important;box-shadow:none!important}
  .report-risk-matrix{min-width:1700px}
  .report-matrix-guide{align-items:flex-start;flex-direction:column;gap:3px}
}
@media print{
  .report-matrix-guide{display:none!important}
  .report-risk-wrap{overflow:visible!important;border:0!important}
  .report-risk-matrix{width:100%!important;min-width:0!important;font-size:7px!important}
  .report-risk-matrix th,.report-risk-matrix td,.report-risk-matrix .risk-sticky{position:static!important;left:auto!important;min-width:0!important;max-width:none!important;width:auto!important;white-space:normal!important;font-size:6.6px!important;padding:4px!important;box-shadow:none!important;border-right:0!important}
}

/* v53 - evita que el nombre del activo invada las columnas siguientes en la matriz de riesgos */
.report-risk-matrix .risk-sticky-4{
  white-space:normal!important;
  overflow-wrap:anywhere!important;
  word-break:break-word!important;
  line-height:1.28!important;
  vertical-align:top!important;
  padding-right:12px!important;
}
.report-risk-matrix thead .risk-sticky-4{
  white-space:normal!important;
  overflow-wrap:normal!important;
  word-break:normal!important;
  vertical-align:middle!important;
}


/* v54 - gestion posterior de controles en riesgos */
.risk-add-control-card{margin-top:14px;border:1px solid #d7e6f6;border-radius:14px;background:linear-gradient(180deg,#fbfdff 0%,#f7fbff 100%);overflow:hidden}
.risk-add-control-card>summary{list-style:none;cursor:pointer;display:flex;align-items:center;justify-content:space-between;gap:14px;padding:14px 16px;color:#173a65}
.risk-add-control-card>summary::-webkit-details-marker{display:none}
.risk-add-control-card>summary span{display:grid;gap:3px}.risk-add-control-card>summary strong{font-size:12px}.risk-add-control-card>summary small{font-size:9.5px;color:#6d8198;font-weight:700}
.risk-add-control-card>summary b{display:grid;place-items:center;width:26px;height:26px;border-radius:50%;background:#e7f1ff;color:#0a469c;font-size:18px;line-height:1;transition:transform .18s ease}
.risk-add-control-card[open]>summary b{transform:rotate(45deg)}
.risk-add-control-body{border-top:1px solid #e0ebf7;padding:15px 16px 16px}
.risk-control-add-grid{display:grid;grid-template-columns:minmax(260px,2fr) 110px minmax(210px,1.25fr) minmax(170px,1fr) minmax(190px,1.1fr);gap:12px;align-items:start}
.risk-control-add-grid>div{min-width:0}.risk-control-add-grid label{display:block;margin-bottom:5px}.risk-control-add-grid select{width:100%;min-width:0}
.control-add-summary .control-live-summary{min-height:39px;display:flex;justify-content:center;flex-direction:column}
.risk-control-add-note{display:flex;align-items:flex-start;gap:8px;margin-top:12px;padding:9px 11px;border-radius:10px;background:#eef6ff;color:#4d6581}
.risk-control-add-note p{margin:0;font-size:9.5px;line-height:1.45}.info-dot{flex:0 0 auto;display:grid;place-items:center;width:18px;height:18px;border-radius:50%;background:#0a469c;color:#fff;font-size:10px;font-weight:900}
@media(max-width:1180px){.risk-control-add-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.control-add-main,.control-add-summary{grid-column:span 2}}
@media(max-width:700px){.risk-control-add-grid{grid-template-columns:1fr}.control-add-main,.control-add-summary{grid-column:auto}.risk-add-control-card>summary{align-items:flex-start}}


/* v55 - controles implementados vs propuestos y mapas de calor compactos */
.risk-result-card.projected{border-color:#c9d9ee;background:linear-gradient(180deg,#f7fbff 0%,#f1f7ff 100%)}
.risk-result-card.projected>span{color:#315b8c}.risk-result-card.projected>em{display:block;margin-top:6px;font-size:8px;font-style:normal;font-weight:900;text-transform:uppercase;letter-spacing:.06em;color:#6f85a1}
.linked-control-item{min-width:0;border:1px solid #dce8f5;border-radius:13px;background:#fff;overflow:hidden}
.linked-control-item .linked-control-card{width:100%;border:0;border-radius:0;background:#fbfdff}
.linked-control-item.is-proposed{border-style:dashed;border-color:#b9cbe1;background:#f8fbff}
.control-state-badge{display:inline-flex;align-items:center;width:max-content;padding:3px 6px;border-radius:999px;font-size:7.5px;font-weight:950;text-transform:uppercase;letter-spacing:.06em}
.control-state-badge.implemented{background:#e5f7ec;color:#17663a}.control-state-badge.proposed{background:#edf3fb;color:#3f638c;border:1px dashed #adc2db}
.confirm-control-implementation{border-top:1px solid #e4edf7;background:#fff}
.confirm-control-implementation>summary{list-style:none;cursor:pointer;padding:8px 10px;font-size:9px;font-weight:900;color:#0a469c}
.confirm-control-implementation>summary::-webkit-details-marker{display:none}
.confirm-control-implementation form{display:grid;gap:7px;padding:0 10px 10px}.confirm-control-implementation textarea{min-height:62px;font-size:10px}
.control-proposed-note{display:grid;gap:3px;margin:10px 0;padding:9px 10px;border:1px dashed #adc2db;border-radius:10px;background:#f4f8fd;color:#496887}
.control-proposed-note strong{font-size:10px}.control-proposed-note span{font-size:9px;line-height:1.4}
.risk-control-add-grid{grid-template-columns:minmax(240px,2fr) 130px 95px minmax(190px,1.2fr) minmax(155px,1fr) minmax(175px,1fr)}
.heat-cell{overflow:hidden}.risk-token-list::-webkit-scrollbar{width:3px;height:3px}.risk-token-list::-webkit-scrollbar-thumb{background:rgba(54,89,128,.25);border-radius:999px}
@media(max-width:1180px){.risk-control-add-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.control-add-main,.control-add-summary{grid-column:span 2}}
@media(max-width:700px){.risk-control-add-grid{grid-template-columns:1fr}.control-add-main,.control-add-summary{grid-column:auto}}

/* v56 - mapas de calor: etiquetas de riesgo ultracompactas sin scroll interno */
.heat-cell{
  overflow:hidden!important;
  padding:3px!important;
}
.risk-token-list{
  display:flex!important;
  flex-wrap:wrap!important;
  justify-content:center!important;
  align-content:center!important;
  align-items:center!important;
  gap:2px!important;
  width:100%!important;
  max-width:100%!important;
  max-height:none!important;
  min-height:0!important;
  overflow:visible!important;
  padding:8px 1px 2px!important;
  box-sizing:border-box!important;
  scrollbar-width:none!important;
}
.risk-token-list::-webkit-scrollbar{display:none!important;width:0!important;height:0!important}
.risk-token{
  flex:0 0 23px!important;
  width:23px!important;
  min-width:23px!important;
  max-width:23px!important;
  height:13px!important;
  min-height:13px!important;
  padding:0 1px!important;
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  border-radius:4px!important;
  font-size:6.2px!important;
  font-weight:950!important;
  line-height:1!important;
  letter-spacing:-.02em!important;
  white-space:nowrap!important;
  overflow:hidden!important;
  text-overflow:clip!important;
  box-shadow:0 1px 3px rgba(8,58,121,.08)!important;
}
.risk-token:hover,.risk-token:focus{
  transform:scale(1.08)!important;
  box-shadow:0 3px 8px rgba(8,58,121,.18)!important;
  z-index:4;
}
.risk-token.related-active{
  transform:scale(1.08)!important;
  box-shadow:0 0 0 1px rgba(23,111,255,.25),0 3px 8px rgba(8,58,121,.18)!important;
}
@media(max-width:820px){
  .risk-token{flex-basis:22px!important;width:22px!important;min-width:22px!important;max-width:22px!important;height:12px!important;min-height:12px!important;font-size:5.8px!important}
  .risk-token-list{gap:1.5px!important;padding-top:7px!important}
}


/* v57 - mapas de calor: etiquetas legibles y celdas que crecen segun la densidad */
.heatmap-layout{
  --heat-cell-height:98px;
  --heat-cell-width:136px;
  --heat-table-min:772px;
}
.heatmap-scroll{
  overflow-x:auto;
  overflow-y:visible;
}
.risk-heatmap{
  min-width:var(--heat-table-min)!important;
}
.risk-heatmap .prob-head:not(.axis-corner),
.risk-heatmap .heat-cell{
  width:var(--heat-cell-width)!important;
  min-width:var(--heat-cell-width)!important;
}
.heat-cell{
  height:var(--heat-cell-height)!important;
  min-height:var(--heat-cell-height)!important;
  overflow:hidden!important;
  padding:3px!important;
}
.heat-cell .cell-score{
  right:6px!important;
  top:4px!important;
  font-size:8.5px!important;
}
.risk-token-list{
  display:flex!important;
  flex-wrap:wrap!important;
  justify-content:center!important;
  align-content:center!important;
  align-items:center!important;
  gap:3px!important;
  width:100%!important;
  max-width:100%!important;
  height:auto!important;
  min-height:calc(var(--heat-cell-height) - 8px)!important;
  max-height:none!important;
  overflow:visible!important;
  padding:14px 3px 4px!important;
  box-sizing:border-box!important;
  scrollbar-width:none!important;
}
.risk-token-list::-webkit-scrollbar{display:none!important;width:0!important;height:0!important}
.risk-token{
  flex:0 0 40px!important;
  width:40px!important;
  min-width:40px!important;
  max-width:40px!important;
  height:21px!important;
  min-height:21px!important;
  padding:0 3px!important;
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  border-radius:5px!important;
  font-size:8.4px!important;
  font-weight:950!important;
  line-height:1!important;
  letter-spacing:0!important;
  white-space:nowrap!important;
  overflow:hidden!important;
  text-overflow:clip!important;
  box-shadow:0 2px 5px rgba(8,58,121,.10)!important;
}
.risk-token:hover,.risk-token:focus{
  transform:translateY(-1px) scale(1.05)!important;
  box-shadow:0 5px 11px rgba(8,58,121,.19)!important;
  z-index:4;
}
.risk-token.related-active{
  transform:scale(1.05)!important;
  box-shadow:0 0 0 2px rgba(23,111,255,.24),0 5px 11px rgba(8,58,121,.18)!important;
}
@media(max-width:1750px){
  .heatmap-layout{grid-template-columns:1fr!important}
}
@media(max-width:820px){
  .risk-token{flex-basis:36px!important;width:36px!important;min-width:36px!important;max-width:36px!important;height:19px!important;min-height:19px!important;font-size:7.7px!important}
  .risk-token-list{gap:2px!important}
}

/* v58 - bitacora legible y zona horaria parametrizable por empresa */
.audit-table-wrap{overflow-x:auto!important;overflow-y:visible!important;max-width:100%}
.audit-table{table-layout:fixed!important;min-width:1180px;width:100%!important}
.audit-table th:nth-child(1),.audit-table td:nth-child(1){width:125px}
.audit-table th:nth-child(2),.audit-table td:nth-child(2){width:190px}
.audit-table th:nth-child(3),.audit-table td:nth-child(3){width:120px}
.audit-table th:nth-child(4),.audit-table td:nth-child(4){width:185px}
.audit-table th:nth-child(6),.audit-table td:nth-child(6){width:135px}
.audit-table th,.audit-table td{vertical-align:top;white-space:normal!important;min-width:0;overflow:hidden}
.audit-table .audit-date,.audit-table .audit-ip{white-space:nowrap!important}
.audit-user-email,.audit-entity,.audit-detail-text{overflow-wrap:anywhere;word-break:break-word}
.audit-detail-cell{min-width:0!important;max-width:100%;overflow:hidden!important}
.audit-detail-text{line-height:1.45;color:#263a55}
.audit-diff{display:block;width:100%;max-width:100%;min-width:0;margin-top:7px;white-space:normal!important;overflow:visible!important}
.audit-diff>summary{display:inline-flex;align-items:center;gap:6px;cursor:pointer;color:#075cc7;font-size:10px;font-weight:900;list-style:none;padding:4px 0}
.audit-diff>summary::-webkit-details-marker{display:none}
.audit-diff>summary:before{content:'▸';font-size:9px;transition:transform .15s ease}
.audit-diff[open]>summary:before{transform:rotate(90deg)}
.audit-diff-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:8px;width:100%;max-width:100%;margin-top:6px}
.audit-change-panel{min-width:0;max-width:100%;padding:8px;border:1px solid #e0e8f2;border-radius:9px;background:#fbfdff;overflow:hidden}
.audit-change-panel>strong{display:block;margin-bottom:5px;color:#17375e;font-size:9px;text-transform:uppercase;letter-spacing:.05em}
.audit-json{display:block;box-sizing:border-box;width:100%;max-width:100%;max-height:180px;margin:0;padding:8px;border:1px solid #e7edf5;border-radius:7px;background:#f7f9fc;color:#42546b;font:9px/1.45 ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;white-space:pre-wrap!important;overflow-wrap:anywhere!important;word-break:break-word!important;overflow:auto!important;tab-size:2}
.audit-timezone-note{display:flex;align-items:center;gap:7px;flex-wrap:wrap;margin-top:8px;color:#60748e;font-size:9px}
.audit-timezone-note span,.audit-timezone-note strong{display:inline-flex;align-items:center;min-height:24px;padding:4px 8px;border:1px solid #dce7f3;border-radius:999px;background:#f8fbff}
.audit-timezone-note strong{color:#0756b8;background:#eef6ff;border-color:#c9ddf6}
.timezone-config-field .timezone-preview{margin-top:6px;line-height:1.5}.timezone-config-field .timezone-preview strong{color:#0756b8}
@media(max-width:1280px){.audit-diff-grid{grid-template-columns:1fr}.audit-table{min-width:1080px}}
@media(max-width:680px){.audit-timezone-note{align-items:flex-start}.audit-table{min-width:980px}.audit-table th:nth-child(2),.audit-table td:nth-child(2){width:165px}.audit-table th:nth-child(4),.audit-table td:nth-child(4){width:165px}}

/* v59 - bitacora con resumen funcional y reportes con tipografia uniforme/columnas fijas */
.audit-human-summary{margin:7px 0 8px;padding:10px 11px;border:1px solid #cfe0f4;border-radius:10px;background:linear-gradient(180deg,#f8fbff,#f3f8ff);color:#294562}
.audit-human-title{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:6px}.audit-human-title span{font-size:10.5px;font-weight:950;color:#0a469c}.audit-human-title small{font-size:8.5px;font-weight:850;color:#6b7f98;text-transform:uppercase;letter-spacing:.05em}
.audit-human-summary ul{margin:0;padding-left:17px;display:grid;gap:4px}.audit-human-summary li{font-size:10.5px;line-height:1.45;color:#314b68;overflow-wrap:anywhere}.audit-human-summary li::marker{color:#176fff}
.audit-technical-title{margin:8px 0 3px;color:#6a7e96;font-size:8.5px;font-weight:950;text-transform:uppercase;letter-spacing:.07em}

.report-data-wrap{position:relative!important;display:block;max-width:100%;overflow-x:auto!important;overflow-y:visible!important;border:1px solid #dfe8f4;border-radius:13px;background:#fff;scrollbar-gutter:stable;-webkit-overflow-scrolling:touch;isolation:isolate}
.report-data-table{--report-col-1:84px;--report-col-2:240px;--report-col-3:170px;--report-col-4:170px;width:max-content!important;min-width:100%!important;border:0!important;border-radius:0!important;border-collapse:separate!important;border-spacing:0!important;table-layout:auto!important;overflow:visible!important}
.report-data-table.report-type-risks{--report-col-1:80px;--report-col-2:260px;--report-col-3:175px;--report-col-4:165px}
.report-data-table.report-type-assets{--report-col-1:82px;--report-col-2:230px;--report-col-3:150px;--report-col-4:180px}
.report-data-table.report-type-controls{--report-col-1:82px;--report-col-2:260px;--report-col-3:190px;--report-col-4:135px}
.report-data-table.report-type-plans{--report-col-1:92px;--report-col-2:105px;--report-col-3:185px;--report-col-4:175px}
.report-data-table.report-type-events{--report-col-1:88px;--report-col-2:145px;--report-col-3:170px;--report-col-4:185px}
.report-data-table.report-type-vulnerabilities{--report-col-1:88px;--report-col-2:135px;--report-col-3:170px;--report-col-4:185px}
.report-data-table.report-type-incidents{--report-col-1:88px;--report-col-2:145px;--report-col-3:175px;--report-col-4:185px}
.report-data-table th,.report-data-table td{box-sizing:border-box!important;padding:9px 10px!important;font-size:12px!important;line-height:1.4!important;white-space:nowrap;background:#fff;background-clip:padding-box}
.report-data-table th{font-size:12px!important;font-weight:950!important;background:#f7faff!important;color:#52657f}
.report-data-table .report-sticky{position:-webkit-sticky!important;position:sticky!important;background:#fff!important;background-clip:padding-box;z-index:24;white-space:normal!important;overflow-wrap:anywhere!important;word-break:normal!important}
.report-data-table .report-sticky-1{left:0!important;width:var(--report-col-1)!important;min-width:var(--report-col-1)!important;max-width:var(--report-col-1)!important;white-space:nowrap!important}
.report-data-table .report-sticky-2{left:var(--report-col-1)!important;width:var(--report-col-2)!important;min-width:var(--report-col-2)!important;max-width:var(--report-col-2)!important}
.report-data-table .report-sticky-3{left:calc(var(--report-col-1) + var(--report-col-2))!important;width:var(--report-col-3)!important;min-width:var(--report-col-3)!important;max-width:var(--report-col-3)!important}
.report-data-table .report-sticky-4{left:calc(var(--report-col-1) + var(--report-col-2) + var(--report-col-3))!important;width:var(--report-col-4)!important;min-width:var(--report-col-4)!important;max-width:var(--report-col-4)!important;border-right:1px solid #cbd9e9!important;box-shadow:10px 0 13px -12px rgba(15,23,42,.78)}
.report-data-table thead th{position:sticky!important;top:0!important;z-index:16!important;background:#f7faff!important}
.report-data-table thead th.report-sticky{z-index:42!important;background:#edf5ff!important;color:#385373!important}
.report-data-table tbody tr:nth-child(even) .report-sticky{background:#fcfdff!important}.report-data-table tbody tr:hover .report-sticky{background:#f8fbff!important}
.report-matrix-guide{font-size:11px!important}.report-matrix-guide strong{font-size:11px!important}
@media(max-width:760px){.report-data-table .report-sticky{position:static!important;left:auto!important;width:auto!important;min-width:0!important;max-width:none!important;box-shadow:none!important;border-right:0!important}.report-data-table{min-width:max-content!important}}
@media print{.report-data-wrap{overflow:visible!important;border:0!important}.report-data-table{width:100%!important;min-width:0!important}.report-data-table .report-sticky,.report-data-table thead th{position:static!important;left:auto!important;width:auto!important;min-width:0!important;max-width:none!important;box-shadow:none!important}.report-matrix-guide{display:none!important}}


/* v60 - catálogo ISO/IEC 27001:2022 separado de controles reales */
.control-tabs{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin:0 0 14px}
.control-tabs a{display:grid;gap:3px;padding:12px 14px;border:1px solid #d9e5f3;border-radius:13px;background:#fff;color:#334d6c;box-shadow:0 5px 16px rgba(21,55,94,.04)}
.control-tabs a strong{font-size:12px;color:#183657}.control-tabs a span{font-size:9.5px;color:#71839a}
.control-tabs a.active{border-color:#7fb7f4;background:linear-gradient(135deg,#eef6ff,#f8fcff);box-shadow:0 8px 20px rgba(23,111,255,.09)}
.control-tabs a.active strong{color:#0a58bd}
.iso-copyright-note{padding:10px 13px;margin-bottom:14px;border:1px solid #dbe7f3;border-left:4px solid #4ea6cf;border-radius:11px;background:#f8fbff;color:#506982;font-size:9.5px;line-height:1.5}
.iso-summary-grid{display:grid;grid-template-columns:repeat(5,minmax(130px,1fr));gap:10px;margin-bottom:13px}
.iso-summary-grid>div{padding:12px;border:1px solid #dce8f5;border-radius:12px;background:#fff;min-width:0}
.iso-summary-grid span{display:block;color:#6d7f95;font-size:8px;font-weight:950;text-transform:uppercase;letter-spacing:.06em}.iso-summary-grid strong{display:block;margin-top:3px;color:#0a469c;font-size:21px}.iso-summary-grid small{display:block;color:#7a8ba0;font-size:8.5px;margin-top:2px;line-height:1.35}
.iso-group-grid{display:grid;grid-template-columns:repeat(4,minmax(160px,1fr));gap:10px;margin-bottom:14px}.iso-group-card{display:grid;gap:5px;padding:12px;border-radius:13px;border:1px solid #dbe7f4;background:linear-gradient(145deg,#fff,#f7fbff);color:#344e6d}.iso-group-card>span{font-size:9px;font-weight:950;color:#176fff}.iso-group-card>strong{font-size:12px;color:#183657}.iso-group-card>div:not(.iso-mini-progress){font-size:9px;color:#657a94}.iso-group-card small{font-size:8px;color:#7a8ba0}.iso-mini-progress{height:5px;border-radius:999px;background:#e7eef7;overflow:hidden}.iso-mini-progress i{display:block;height:100%;background:linear-gradient(90deg,#176fff,#4ea6cf);border-radius:inherit}
.iso-filter-row{display:grid;grid-template-columns:minmax(240px,1.5fr) minmax(130px,.6fr) minmax(160px,.7fr) auto;gap:9px;align-items:end;margin-bottom:12px;padding:10px;border:1px solid #e1eaf4;border-radius:12px;background:#f9fbfe}.iso-filter-row label{font-size:8px}.iso-filter-row input,.iso-filter-row select{padding:8px 10px;font-size:10px}
.iso-catalog-table td:nth-child(1){width:72px}.iso-catalog-table td:nth-child(2){width:105px}.iso-catalog-table td:nth-child(3){min-width:310px;white-space:normal}.iso-catalog-table .help{display:block;line-height:1.4;margin-top:3px}.iso-catalog-row[hidden]{display:none!important}
.iso-reference-detail{overflow:hidden}.iso-detail-grid{display:grid;grid-template-columns:1.35fr .9fr;gap:12px;margin:12px 0}.iso-detail-grid section,.iso-guidance-grid section{padding:13px;border:1px solid #dce8f5;border-radius:12px;background:#fbfdff}.iso-detail-grid h3,.iso-guidance-grid h3{margin:0 0 8px;font-size:12px}.iso-detail-grid h4{font-size:9px;text-transform:uppercase;letter-spacing:.05em;color:#60748e;margin:12px 0 4px}.iso-detail-grid p{font-size:10px;line-height:1.55;color:#425b77}.iso-guidance-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin-bottom:12px}.iso-bullet-list{margin:0;padding-left:17px;color:#4d647e;font-size:9.5px;line-height:1.5}.iso-bullet-list li+li{margin-top:5px}.iso-current-status{margin:5px 0 8px}.inset-card{box-shadow:none;background:#fbfdff;margin:10px 0 0}.iso-linked-controls{display:grid;gap:7px}.iso-linked-controls a{display:flex;gap:9px;align-items:center;padding:8px 10px;border:1px solid #dce8f5;border-radius:10px;background:#fff;color:#304b6b}.iso-linked-controls a div{display:grid;gap:2px}.iso-linked-controls a strong{font-size:10px}.iso-linked-controls a small{font-size:8.5px;color:#71839a}.control-iso-links{display:flex;gap:6px;flex-wrap:wrap;margin-top:8px}.control-iso-links a{padding:4px 7px;border-radius:8px;background:#eef6ff;border:1px solid #d5e7fb;font-size:8.5px;font-weight:850;color:#176fff}
@media(max-width:1180px){.iso-summary-grid{grid-template-columns:repeat(3,minmax(130px,1fr))}.iso-group-grid{grid-template-columns:repeat(2,minmax(160px,1fr))}.iso-guidance-grid{grid-template-columns:1fr 1fr}.iso-filter-row{grid-template-columns:1fr 1fr}}
@media(max-width:700px){.control-tabs,.iso-summary-grid,.iso-group-grid,.iso-detail-grid,.iso-guidance-grid,.iso-filter-row{grid-template-columns:1fr}.iso-catalog-table{min-width:900px}}

/* v61 - experiencia 2FA reforzada, visual y accesible */
body.mfa-experience{margin:0;min-height:100vh;background:#061a36;color:#102640;font-family:Inter,Segoe UI,Arial,sans-serif;position:relative;overflow-x:hidden}
body.mfa-experience:before{content:"";position:fixed;inset:0;background:radial-gradient(circle at 12% 10%,rgba(48,150,255,.20),transparent 34%),radial-gradient(circle at 90% 16%,rgba(75,220,255,.16),transparent 28%),linear-gradient(135deg,#04152f 0%,#0752b8 48%,#eaf3ff 48.2%,#f7fbff 100%);z-index:0}
.mfa-bg-orb{position:fixed;border-radius:50%;pointer-events:none;filter:blur(1px);z-index:0}.mfa-bg-orb-a{width:520px;height:520px;left:-280px;bottom:-270px;border:1px solid rgba(255,255,255,.13);box-shadow:0 0 0 80px rgba(255,255,255,.025),0 0 0 170px rgba(255,255,255,.015)}.mfa-bg-orb-b{width:280px;height:280px;right:4%;top:-150px;background:rgba(95,219,255,.08);border:1px solid rgba(255,255,255,.12)}
.mfa-shell{position:relative;z-index:1;width:min(1120px,calc(100% - 34px));margin:0 auto;padding:28px 0 36px}
.mfa-brandbar{min-height:58px;display:flex;align-items:center;justify-content:space-between;gap:18px;margin-bottom:16px;color:#fff}.mfa-brand-identity{display:flex;align-items:center;gap:13px;min-width:0}.mfa-org-logo{height:52px;min-width:70px;max-width:220px;display:grid;place-items:center start;padding:7px 10px;border:1px solid rgba(255,255,255,.22);border-radius:13px;background:rgba(255,255,255,.96);box-shadow:0 8px 25px rgba(0,0,0,.08)}.mfa-org-logo img{max-width:200px;max-height:38px;width:auto;height:auto;object-fit:contain}.mfa-brand-mark{width:48px;height:48px;border-radius:14px;display:grid;place-items:center;background:rgba(255,255,255,.14);border:1px solid rgba(255,255,255,.24);font-size:17px;font-weight:950}.mfa-brand-copy{display:grid;gap:2px;min-width:0}.mfa-brand-copy strong{font-size:13px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.mfa-brand-copy small{font-size:9px;color:#cde2fb;letter-spacing:.02em}.mfa-security-badge{display:inline-flex;align-items:center;gap:7px;padding:7px 10px;border:1px solid rgba(255,255,255,.18);border-radius:999px;background:rgba(4,29,63,.20);font-size:9px;font-weight:900;color:#e7f3ff;white-space:nowrap}.mfa-security-badge i{width:7px;height:7px;border-radius:50%;background:#62e6ae;box-shadow:0 0 0 4px rgba(98,230,174,.12)}
.mfa-stage{position:relative;overflow:hidden;padding:30px;border:1px solid rgba(211,226,244,.95);border-radius:27px;background:rgba(255,255,255,.98);box-shadow:0 32px 90px rgba(4,24,55,.25)}.mfa-stage:after{content:"";position:absolute;right:-120px;top:-140px;width:330px;height:330px;border-radius:50%;background:radial-gradient(circle,rgba(23,111,255,.08),transparent 68%);pointer-events:none}.mfa-stage.has-error{animation:mfaStagePulse .38s ease-out}@keyframes mfaStagePulse{0%{box-shadow:0 32px 90px rgba(4,24,55,.25)}50%{box-shadow:0 32px 90px rgba(4,24,55,.25),0 0 0 4px rgba(220,38,38,.09)}100%{box-shadow:0 32px 90px rgba(4,24,55,.25)}}
.mfa-stage-heading{position:relative;z-index:1;display:flex;align-items:center;gap:17px;margin-bottom:25px}.mfa-shield{flex:0 0 58px;width:58px;height:58px;border-radius:18px;display:grid;place-items:center;color:#1167db;background:linear-gradient(145deg,#eaf4ff,#f8fbff);border:1px solid #d3e7fb;box-shadow:0 9px 24px rgba(23,111,255,.10)}.mfa-shield svg{width:39px;height:39px}.mfa-eyebrow{display:block;margin-bottom:5px;color:#0c63cc;font-size:8.5px;font-weight:950;text-transform:uppercase;letter-spacing:.12em}.mfa-stage-heading h1{margin:0;color:#122f53;font-size:clamp(23px,2.4vw,33px);line-height:1.08;letter-spacing:-.035em}.mfa-stage-heading p{margin:7px 0 0;max-width:730px;color:#6b7f98;font-size:12px;line-height:1.55}
.mfa-setup-layout{position:relative;z-index:1;display:grid;grid-template-columns:365px minmax(0,1fr);gap:18px;align-items:stretch}.mfa-qr-card,.mfa-instructions{border:1px solid #dce8f5;border-radius:18px;background:#fbfdff}.mfa-qr-card{padding:17px}.mfa-instructions{padding:18px 20px}.mfa-section-label{display:flex;align-items:center;gap:8px;margin-bottom:13px;color:#193a61}.mfa-section-label>span{flex:0 0 25px;width:25px;height:25px;border-radius:8px;display:grid;place-items:center;background:#0f6bdc;color:#fff;font-size:10px;font-weight:950;box-shadow:0 5px 12px rgba(15,107,220,.18)}.mfa-section-label>strong{font-size:11px;font-weight:950}
.mfa-qr-frame{position:relative;width:306px;max-width:100%;margin:0 auto;padding:9px;border-radius:18px;background:#fff;box-shadow:0 13px 34px rgba(16,52,91,.09);border:1px solid #e2eaf3}.mfa-qr{width:286px;max-width:100%;min-height:286px;margin:auto;display:grid;place-items:center;background:#fff;border-radius:11px;overflow:hidden}.mfa-qr svg{display:block;width:100%!important;height:auto!important;max-width:286px}.mfa-qr-loading,.mfa-qr-error{padding:22px;color:#617790;font-size:10.5px;line-height:1.5;text-align:center}.mfa-qr-corner{position:absolute;width:23px;height:23px;border-color:#1673e8;border-style:solid;z-index:2;pointer-events:none}.mfa-qr-corner.tl{left:4px;top:4px;border-width:3px 0 0 3px;border-radius:8px 0 0 0}.mfa-qr-corner.tr{right:4px;top:4px;border-width:3px 3px 0 0;border-radius:0 8px 0 0}.mfa-qr-corner.bl{left:4px;bottom:4px;border-width:0 0 3px 3px;border-radius:0 0 0 8px}.mfa-qr-corner.br{right:4px;bottom:4px;border-width:0 3px 3px 0;border-radius:0 0 8px 0}.mfa-account-card{display:grid;gap:3px;margin-top:11px;padding:9px 11px;border:1px solid #e1eaf4;border-radius:10px;background:#fff}.mfa-account-card span{font-size:7.5px;text-transform:uppercase;letter-spacing:.07em;font-weight:900;color:#8191a6}.mfa-account-card strong{font-size:10px;color:#274463;overflow-wrap:anywhere}.mfa-local-note{display:flex;align-items:center;justify-content:center;gap:6px;margin-top:9px;color:#47725f;font-size:8.5px;font-weight:800}.mfa-local-note span{width:16px;height:16px;display:grid;place-items:center;border-radius:50%;background:#e6f8ef;color:#168454;font-size:9px}
.mfa-step-list{display:grid;gap:9px}.mfa-step{display:grid;grid-template-columns:38px minmax(0,1fr);gap:10px;align-items:start;padding:10px 11px;border:1px solid #e4edf6;border-radius:12px;background:#fff}.mfa-step>b{width:31px;height:31px;border-radius:9px;display:grid;place-items:center;background:#eef6ff;color:#0c64cc;font-size:8px;letter-spacing:.04em}.mfa-step strong{display:block;margin-top:1px;color:#284661;font-size:10px}.mfa-step p{margin:3px 0 0;color:#71839a;font-size:9px;line-height:1.45}.mfa-security-callout{display:grid;grid-template-columns:31px minmax(0,1fr);gap:10px;margin-top:11px;padding:10px 11px;border:1px solid #ffdfb0;border-radius:12px;background:#fff9ee}.mfa-callout-icon{width:27px;height:27px;border-radius:9px;display:grid;place-items:center;background:#ffedd0;color:#a85905;font-weight:950}.mfa-security-callout strong{display:block;color:#8b4b08;font-size:9.5px}.mfa-security-callout p{margin:2px 0 0;color:#956020;font-size:8.5px;line-height:1.45}.mfa-manual{margin-top:11px;border-top:1px solid #e4ecf5;padding-top:10px}.mfa-manual summary{cursor:pointer;color:#0b61c8;font-size:9px;font-weight:900;list-style:none}.mfa-manual summary::-webkit-details-marker{display:none}.mfa-manual summary:before{content:"+";display:inline-grid;place-items:center;width:17px;height:17px;margin-right:6px;border-radius:5px;background:#eef6ff}.mfa-manual[open] summary:before{content:"−"}.mfa-manual-content{padding:7px 0 0 23px}.mfa-manual-content p{margin:4px 0;color:#71839a;font-size:8.7px;line-height:1.45}.mfa-manual-content .secret-key{margin:7px 0;padding:9px;border-radius:9px;font-size:11px;letter-spacing:.06em}
.mfa-verify-panel{position:relative;z-index:1;margin-top:18px;padding:18px 20px;border:1px solid #d7e5f4;border-radius:18px;background:linear-gradient(135deg,#f9fcff,#f3f8ff)}.mfa-challenge-mode .mfa-shell{width:min(670px,calc(100% - 32px));padding-top:42px}.mfa-challenge-mode .mfa-stage{padding:32px}.mfa-challenge-mode .mfa-stage-heading{align-items:flex-start;margin-bottom:20px}.mfa-challenge-mode .mfa-verify-panel{margin-top:0;padding:20px 22px}.mfa-verify-copy{display:flex;align-items:flex-start;justify-content:space-between;gap:20px}.mfa-verify-copy .mfa-section-label{margin:0;flex:0 0 auto}.mfa-verify-copy>p{margin:1px 0 0;max-width:535px;color:#6b7e95;font-size:9.5px;line-height:1.5}.mfa-challenge-mode .mfa-verify-copy{display:block}.mfa-challenge-mode .mfa-verify-copy>p{margin:6px 0 0;max-width:none;font-size:10.5px}
.mfa-feedback{display:grid;grid-template-columns:31px minmax(0,1fr);gap:10px;margin:12px 0 3px;padding:10px 11px;border-radius:11px}.mfa-feedback.error{border:1px solid #fecaca;background:#fff5f5}.mfa-feedback>span{width:27px;height:27px;border-radius:8px;display:grid;place-items:center;background:#fee2e2;color:#b91c1c;font-weight:950}.mfa-feedback strong{display:block;color:#9f1d1d;font-size:9.5px}.mfa-feedback p{margin:2px 0 0;color:#a14444;font-size:8.7px;line-height:1.45}
.mfa-code-form{max-width:580px;margin:17px auto 0}.mfa-code-row{display:flex;justify-content:center;gap:9px}.mfa-digit{box-sizing:border-box;width:62px;height:66px;padding:0;border:1.5px solid #cbd9e9;border-radius:14px;background:#fff;color:#153758;text-align:center;font:950 27px/1 Inter,Segoe UI,Arial,sans-serif;font-variant-numeric:tabular-nums;box-shadow:0 5px 15px rgba(20,58,102,.04);transition:border-color .15s,box-shadow .15s,transform .15s,background .15s}.mfa-digit:hover{border-color:#9fc1e9}.mfa-digit:focus{outline:none;border-color:#176fff;box-shadow:0 0 0 4px rgba(23,111,255,.11),0 8px 20px rgba(20,58,102,.07);transform:translateY(-1px)}.mfa-digit.filled{border-color:#81b8ef;background:#f8fbff;color:#0756bd}.mfa-code-meta{display:flex;align-items:center;justify-content:center;gap:9px;margin:13px 0}.mfa-timer{--mfa-progress:360deg;position:relative;width:37px;height:37px;border-radius:50%;display:grid;place-items:center;background:conic-gradient(#176fff var(--mfa-progress),#dce7f3 0);transition:background .2s}.mfa-timer:before{content:"";position:absolute;inset:4px;border-radius:50%;background:#fff}.mfa-timer span{position:relative;z-index:1;color:#0c5ab9;font-size:9px;font-weight:950}.mfa-timer.ending{background:conic-gradient(#e88b18 var(--mfa-progress),#f0e3d2 0)}.mfa-timer.ending span{color:#ae5c08}.mfa-code-meta>div:nth-child(2){display:grid;gap:1px}.mfa-code-meta strong{font-size:8.5px;color:#3b5571}.mfa-code-meta>div:nth-child(2)>span{font-size:8px;color:#7b8ba0}.mfa-totp-chip{margin-left:2px;padding:4px 7px;border-radius:999px;background:#e9f5ff;color:#0a63ca;font-size:7.5px;font-weight:950;letter-spacing:.08em}.mfa-client-error{margin:8px 0;color:#b42323;text-align:center;font-size:9px;font-weight:800}.mfa-primary-action{width:100%;min-height:46px;border:0;border-radius:12px;display:flex;align-items:center;justify-content:center;gap:10px;background:linear-gradient(135deg,#147cff,#034bc9);color:#fff;font-size:11px;font-weight:950;cursor:pointer;box-shadow:0 10px 24px rgba(9,89,200,.20);transition:transform .16s,box-shadow .16s,filter .16s}.mfa-primary-action svg{width:18px;height:18px}.mfa-primary-action:not(:disabled):hover{transform:translateY(-1px);box-shadow:0 14px 29px rgba(9,89,200,.26);filter:saturate(1.08)}.mfa-primary-action:disabled{cursor:not-allowed;opacity:.48;box-shadow:none}.mfa-primary-action.is-loading svg{animation:mfaArrow .8s ease-in-out infinite alternate}@keyframes mfaArrow{to{transform:translateX(4px)}}.mfa-help-line{display:flex;align-items:center;justify-content:center;gap:6px;margin-top:10px;color:#71849b;font-size:8.5px;text-align:center}.mfa-help-line>span{width:16px;height:16px;border-radius:50%;display:grid;place-items:center;background:#e7f1fc;color:#0b62c9;font-size:8px;font-weight:950}
.mfa-footer{position:relative;z-index:1;display:flex;justify-content:space-between;align-items:center;gap:16px;margin-top:16px;padding-top:14px;border-top:1px solid #e6edf5}.mfa-cancel-form{margin:0}.mfa-cancel{padding:0;border:0;background:transparent;color:#526b86;font:inherit;font-size:8.8px;font-weight:900;text-decoration:none;cursor:pointer}.mfa-cancel:hover{color:#0b61c8}.mfa-footer>span{color:#8b9aad;font-size:8px;text-align:right}
@media(max-width:860px){body.mfa-experience:before{background:linear-gradient(165deg,#04152f 0,#0752b8 20%,#eef6ff 20.2%,#f8fbff 100%)}.mfa-shell{width:min(720px,calc(100% - 24px));padding-top:16px}.mfa-brandbar{margin-bottom:11px}.mfa-stage{padding:22px}.mfa-setup-layout{grid-template-columns:1fr}.mfa-qr-card{max-width:390px;margin:0 auto;width:100%;box-sizing:border-box}.mfa-instructions{padding:16px}.mfa-verify-copy{display:block}.mfa-verify-copy>p{margin-top:6px}.mfa-footer{align-items:flex-start;flex-direction:column}.mfa-footer>span{text-align:left}.mfa-security-badge{display:none}}
@media(max-width:540px){.mfa-shell{width:min(100% - 16px,720px);padding-top:10px}.mfa-brand-copy small{display:none}.mfa-org-logo{max-width:150px}.mfa-org-logo img{max-width:135px}.mfa-stage{padding:18px 13px;border-radius:21px}.mfa-stage-heading{align-items:flex-start;gap:11px;margin-bottom:18px}.mfa-shield{flex-basis:46px;width:46px;height:46px;border-radius:14px}.mfa-shield svg{width:31px;height:31px}.mfa-stage-heading h1{font-size:22px}.mfa-stage-heading p{font-size:10px}.mfa-qr-card,.mfa-instructions,.mfa-verify-panel{border-radius:15px}.mfa-qr-card{padding:14px}.mfa-instructions{padding:14px}.mfa-qr-frame{width:282px}.mfa-qr{width:262px;min-height:262px}.mfa-code-row{gap:5px}.mfa-digit{width:44px;height:53px;border-radius:11px;font-size:22px}.mfa-verify-panel{padding:15px 12px}.mfa-step{grid-template-columns:34px minmax(0,1fr)}.mfa-challenge-mode .mfa-stage{padding:21px 14px}.mfa-challenge-mode .mfa-shell{padding-top:15px}.mfa-challenge-mode .mfa-digit{width:45px}}
@media(prefers-reduced-motion:reduce){.mfa-stage,.mfa-primary-action,.mfa-digit,.mfa-primary-action svg{animation:none!important;transition:none!important}}

/* v62 - logout protegido por POST/CSRF */
.logout-form{margin:0}.logout-button{border:0;cursor:pointer;font:inherit}

/* v65 · Listados primero + formularios de creación en modal */
.securia-js .js-create-modal-source{display:none!important}
.create-modal-open{overflow:hidden}
.create-modal-shell{position:fixed;inset:0;z-index:10000;display:flex;align-items:flex-start;justify-content:center;padding:3vh 18px;background:rgba(15,23,42,.58);backdrop-filter:blur(4px)}
.create-modal-shell[hidden]{display:none!important}
.create-modal-dialog{width:min(1180px,96vw);max-height:94vh;display:flex;flex-direction:column;background:#fff;border-radius:22px;box-shadow:0 32px 90px rgba(15,23,42,.28);overflow:hidden;border:1px solid #dbe7f5}
.create-modal-header{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:18px 22px;border-bottom:1px solid #e5edf7;background:#f8fbff;position:sticky;top:0;z-index:2}
.create-modal-header h2{margin:0;font-size:21px;color:#0f172a}.create-modal-header p{margin:3px 0 0;color:#64748b;font-size:13px}
.create-modal-close{width:40px;height:40px;border:0;border-radius:12px;background:#eaf1f8;color:#334155;font-size:27px;line-height:1;cursor:pointer}
.create-modal-body{overflow:auto;padding:20px}.create-modal-body>.card{display:block!important;margin:0;box-shadow:none;border:0;padding:0}
.page-create-action{margin-left:auto;align-self:center;white-space:nowrap}
.page-header{display:flex;align-items:flex-start;gap:18px}.page-header>.page-create-action{margin-top:6px}
@media(max-width:820px){.create-modal-shell{padding:0}.create-modal-dialog{width:100vw;max-height:100vh;height:100vh;border-radius:0}.create-modal-body{padding:16px}.page-header{flex-wrap:wrap}.page-create-action{margin-left:0;width:100%}}

/* v65 · selectores con búsqueda */
.searchable-select{position:relative;min-width:190px}.searchable-select-input{width:100%;min-height:42px;padding:9px 38px 9px 12px;border:1px solid #cbd5e1;border-radius:10px;background:#fff;color:#0f172a;font:inherit}
.searchable-select:after{content:'⌄';position:absolute;right:12px;top:10px;color:#64748b;pointer-events:none}
.searchable-select-menu{position:absolute;left:0;right:0;top:calc(100% + 5px);z-index:12000;max-height:260px;overflow:auto;background:#fff;border:1px solid #d7e1ed;border-radius:12px;box-shadow:0 18px 46px rgba(15,23,42,.18);padding:6px}
.searchable-select-menu[hidden]{display:none}.searchable-select-option{display:block;width:100%;text-align:left;border:0;background:transparent;padding:9px 10px;border-radius:8px;cursor:pointer;color:#1e293b;font:inherit}
.searchable-select-option:hover,.searchable-select-option.is-selected{background:#eef6ff;color:#0a469c}.searchable-select-empty{padding:10px;color:#64748b;font-size:13px}
.report-filter .searchable-select{flex:1 1 210px}


/* v66 - vistas ejecutivas y filtros dependientes */
.exec-filter-scope{display:block}
.exec-summary-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(155px,1fr));gap:10px;margin-bottom:12px}
.exec-summary-card{min-height:92px;padding:13px 14px;border:1px solid #dfe8f3;border-radius:15px;background:linear-gradient(180deg,#fff,#f9fbfe);display:flex;flex-direction:column;justify-content:center;box-shadow:0 5px 18px rgba(15,23,42,.035)}
.exec-summary-card span{font-size:10.5px;font-weight:900;text-transform:uppercase;letter-spacing:.045em;color:#64748b}.exec-summary-card strong{font-size:25px;line-height:1.08;margin:4px 0;color:#172033}.exec-summary-card small{font-size:10.5px;color:#7b8ca3}.exec-summary-card.danger{border-color:#fecaca;background:#fffafa}.exec-summary-card.danger strong{color:#b42318}.exec-summary-card.danger-soft{border-color:#fed7aa;background:#fffbf5}.exec-summary-card.danger-soft strong{color:#c2410c}.exec-summary-card.success{border-color:#bbf7d0;background:#f8fffb}.exec-summary-card.success strong{color:#047857}
.executive-filter-card{padding:14px 16px;margin-bottom:12px;background:#fbfdff;border-color:#dce8f6}
.executive-filter-grid{display:grid;grid-template-columns:minmax(235px,1.35fr) repeat(5,minmax(145px,.75fr)) auto;gap:9px;align-items:end}
.executive-filter-grid-risk{grid-template-columns:minmax(235px,1.35fr) repeat(7,minmax(135px,.72fr)) auto}
.executive-filter-grid>div{min-width:0}.executive-filter-grid label{font-size:10px;margin-bottom:4px;color:#52657f}.executive-filter-grid input,.executive-filter-grid select,.executive-filter-grid .searchable-select-input{min-height:37px;padding:7px 10px;font-size:11px;border-radius:9px}.executive-filter-grid .searchable-select{min-width:0}.executive-filter-grid .filter-action-box{white-space:nowrap}.filter-cascade-help{margin:8px 0 0;color:#718096;font-size:10.5px}.exec-search-field{min-width:210px}
.exec-filter-scope .table-wrap{transition:opacity .14s ease}.exec-filter-scope .risk-result-count{font-size:11px;color:#64748b;white-space:nowrap}.exec-filter-scope .risk-result-count strong{font-size:14px;color:#172033}
@media(max-width:1500px){.executive-filter-grid,.executive-filter-grid-risk{grid-template-columns:repeat(4,minmax(150px,1fr))}.executive-filter-grid .exec-search-field{grid-column:span 2}.executive-filter-grid .filter-action-box{grid-column:span 2;justify-content:flex-end}}
@media(max-width:900px){.executive-filter-grid,.executive-filter-grid-risk{grid-template-columns:1fr 1fr}.executive-filter-grid .exec-search-field{grid-column:1/-1}.executive-filter-grid .filter-action-box{grid-column:1/-1;justify-content:space-between}.exec-summary-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:560px){.executive-filter-grid,.executive-filter-grid-risk,.exec-summary-grid{grid-template-columns:1fr}.executive-filter-grid .exec-search-field,.executive-filter-grid .filter-action-box{grid-column:auto}}

/* v67 - listas desplegables limpias y neutras */
select,
.mini-select{
  background-color:#fff;
  border-color:#d6dbe3;
  color:#1f2937;
}
select{
  background-image:
    linear-gradient(45deg,transparent 50%,#6b7280 50%),
    linear-gradient(135deg,#6b7280 50%,transparent 50%),
    linear-gradient(to right,#f8fafc,#f8fafc);
}
input:focus,
select:focus,
textarea:focus,
.searchable-select-input:focus{
  border-color:#9ca3af;
  box-shadow:0 0 0 3px rgba(15,23,42,.07);
}
select option{
  background:#fff;
  color:#1f2937;
}
select option:checked{
  background:#eef0f3 linear-gradient(0deg,#eef0f3 0%,#eef0f3 100%);
  color:#111827;
}
.searchable-select-input{
  border-color:#d6dbe3;
  background:#fff;
  color:#1f2937;
  box-shadow:none;
}
.searchable-select:after{color:#6b7280}
.searchable-select-menu{
  background:#fff;
  border-color:#d9dde4;
  box-shadow:0 14px 34px rgba(15,23,42,.12);
}
.searchable-select-option{
  background:#fff;
  color:#273142;
  border:1px solid transparent;
}
.searchable-select-option:hover{
  background:#f5f6f8;
  color:#111827;
}
.searchable-select-option.is-selected{
  background:#eceff3;
  color:#111827;
  border-color:#e1e5ea;
  font-weight:850;
}
.searchable-select-empty{color:#6b7280;background:#fafafa;border-radius:8px}
.executive-filter-card{
  background:#fff;
  border-color:#e1e4e8;
  box-shadow:0 4px 16px rgba(15,23,42,.025);
}
.executive-filter-grid label{color:#5f6875}
.executive-filter-grid input,
.executive-filter-grid select,
.executive-filter-grid .searchable-select-input{
  background-color:#fff;
  border-color:#d9dde3;
}
.iso-filter-row{
  background:#fff;
  border-color:#e1e4e8;
}
.filter-cascade-help{color:#7a828d}

/* v68 - uniformidad visual de filtros del modulo Riesgos */
.executive-filter-grid-risk > div > select.exec-filter-select{
  width:100%;
  min-height:37px;
  padding:7px 30px 7px 10px;
  border:1px solid #d9dde3;
  border-radius:9px;
  background-color:#fff;
  color:#1f2937;
  font-size:11px;
  box-shadow:none;
}
.executive-filter-grid-risk > div > select.exec-filter-select:focus{
  border-color:#9ca3af;
  box-shadow:0 0 0 3px rgba(15,23,42,.07);
}

/* v69 - selector buscable con apariencia identica al select nativo */
.searchable-select{position:relative;min-width:190px}
.searchable-select-trigger{
  position:relative;
  width:100%;
  min-height:42px;
  display:flex;
  align-items:center;
  justify-content:flex-start;
  padding:9px 44px 9px 10px;
  border:1px solid #d6dbe3;
  border-radius:10px;
  background:
    linear-gradient(45deg,transparent 50%,#6b7280 50%) calc(100% - 17px) calc(50% - 3px)/6px 6px no-repeat,
    linear-gradient(135deg,#6b7280 50%,transparent 50%) calc(100% - 11px) calc(50% - 3px)/6px 6px no-repeat,
    linear-gradient(to right,#f8fafc,#f8fafc) 100% 0/36px 100% no-repeat,
    #fff;
  color:#1f2937;
  box-shadow:none;
  font:inherit;
  font-weight:400;
  text-align:left;
  cursor:pointer;
}
.searchable-select-trigger:hover{border-color:#c8cdd5;background-color:#fff}
.searchable-select-trigger:focus{
  outline:none;
  border-color:#9ca3af;
  box-shadow:0 0 0 3px rgba(15,23,42,.07);
}
.searchable-select-value{
  display:block;
  min-width:0;
  max-width:100%;
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;
}
.searchable-select:after{display:none!important}
.searchable-select-menu{
  position:absolute;
  left:0;
  right:0;
  top:calc(100% + 5px);
  z-index:12000;
  max-height:none;
  overflow:visible;
  padding:6px;
  border:1px solid #d9dde4;
  border-radius:12px;
  background:#fff;
  box-shadow:0 14px 34px rgba(15,23,42,.12);
}
.searchable-select-searchbox{padding:2px 2px 6px;border-bottom:1px solid #eef0f2;margin-bottom:4px}
.searchable-select-search{
  width:100%;
  min-height:34px;
  padding:7px 9px;
  border:1px solid #d9dde3;
  border-radius:8px;
  background:#fff;
  color:#1f2937;
  font:inherit;
  box-shadow:none;
}
.searchable-select-search:focus{outline:none;border-color:#9ca3af;box-shadow:0 0 0 3px rgba(15,23,42,.06)}
.searchable-select-options{max-height:240px;overflow:auto;padding:0 1px}
.executive-filter-grid .searchable-select-trigger{
  min-height:37px;
  padding:7px 36px 7px 10px;
  border-radius:9px;
  font-size:11px;
  background:
    linear-gradient(45deg,transparent 50%,#6b7280 50%) calc(100% - 17px) calc(50% - 3px)/6px 6px no-repeat,
    linear-gradient(135deg,#6b7280 50%,transparent 50%) calc(100% - 11px) calc(50% - 3px)/6px 6px no-repeat,
    linear-gradient(to right,#f8fafc,#f8fafc) 100% 0/36px 100% no-repeat,
    #fff;
}
.executive-filter-grid .searchable-select-menu{font-size:11px}
.executive-filter-grid .searchable-select-search{min-height:33px;padding:6px 8px;font-size:11px}
.report-filter .searchable-select-trigger{min-height:38px;font-size:12px}
.searchable-select-trigger,
.searchable-select-trigger:hover,
.searchable-select-trigger:focus,
.searchable-select-option,
.searchable-select-option:hover,
.searchable-select-option:focus{
  transform:none;
  filter:none;
}
.searchable-select-trigger,
.searchable-select-trigger:hover{box-shadow:none}
.searchable-select-option,
.searchable-select-option:hover{box-shadow:none}

/* v70 - tipografia de Reportes alineada con el modulo Riesgos */
.report-filter{
  font-size:11px;
}
.report-filter input,
.report-filter select,
.report-filter .searchable-select-trigger{
  min-height:37px;
  padding-top:7px;
  padding-bottom:7px;
  font-size:11px!important;
  border-radius:9px;
}
.report-filter .searchable-select-trigger{
  padding-left:10px;
  padding-right:36px;
}
.report-filter .searchable-select-menu,
.report-filter .searchable-select-option,
.report-filter .searchable-select-search,
.report-filter .searchable-select-empty{
  font-size:11px!important;
}
.report-filter .searchable-select-search{
  min-height:33px;
  padding:6px 8px;
}
.report-filter .searchable-select-option{
  padding:8px 9px;
}
.report-filter .btn,
.report-filter button{
  min-height:37px;
  padding:8px 11px;
  border-radius:9px;
  font-size:11px;
}
.report-header h2{
  font-size:16px!important;
  margin-bottom:5px!important;
}
.report-header p{
  margin:0;
  font-size:10.5px;
  color:#64748b;
}
.report-data-table th,
.report-data-table td{
  padding:10px 9px!important;
  font-size:10.5px!important;
  line-height:1.4!important;
}
.report-data-table th{
  font-size:9px!important;
  letter-spacing:.035em!important;
}
.report-matrix-guide,
.report-matrix-guide strong{
  font-size:10.5px!important;
}
.report-footer{
  font-size:8.5px;
}


/* v73 - indicador de notificaciones compacto y limpio */
.notif-link{position:relative;overflow:visible!important;grid-template-columns:1fr;grid-template-rows:1fr}
.notif-link .notif-symbol{display:block;line-height:1;font-size:15px}
.notif-link .notif-count{
  position:absolute;
  top:-6px;
  right:-7px;
  min-width:18px;
  height:18px;
  padding:0 4px;
  border-radius:999px;
  display:flex;
  align-items:center;
  justify-content:center;
  background:#0a469c;
  color:#fff;
  border:2px solid #fff;
  box-shadow:0 4px 10px rgba(15,23,42,.16);
  font-size:9px;
  line-height:1;
  font-weight:900;
  letter-spacing:-.02em;
}
@media(max-width:820px){.notif-link .notif-count{top:-5px;right:-6px}}

/* v73 - Trazabilidad visible de planes y actividades */
.treatment-history-list{display:grid;gap:9px;margin-top:12px}
.treatment-history-item{display:grid;grid-template-columns:minmax(210px,.34fr) minmax(0,1fr);gap:12px;padding:11px 12px;border:1px solid #e0e8f1;border-radius:12px;background:#fff}
.treatment-history-meta{display:flex;align-items:center;gap:7px;flex-wrap:wrap;color:#6d7e92;font-size:9px}
.treatment-history-meta strong{color:#263d58;font-size:10px}
.treatment-history-detail{min-width:0}.treatment-history-detail>strong{display:block;color:#17375e;font-size:10.5px}.treatment-history-detail p{margin:3px 0 0;color:#52677f;font-size:10px;line-height:1.45}
.treatment-history-detail details{margin-top:7px}.treatment-history-detail summary{cursor:pointer;color:#355773;font-size:9.5px;font-weight:800}.treatment-history-detail ul{margin:7px 0 0;padding:8px 8px 8px 24px;border:1px solid #e6ebf1;border-radius:9px;background:#f8fafc;display:grid;gap:4px}.treatment-history-detail li{color:#40566d;font-size:9.5px;line-height:1.4}
@media(max-width:760px){.treatment-history-item{grid-template-columns:1fr}}


/* v74 · planes compactos: trazabilidad modal y referencia de revaloración */
.button-count{display:inline-flex;align-items:center;justify-content:center;min-width:19px;height:19px;margin-left:5px;padding:0 5px;border-radius:999px;background:#eef2f6;color:#455468;font-size:9px;font-weight:900}
.treatment-history-modal{position:fixed;inset:0;z-index:13000;display:flex;align-items:center;justify-content:center;padding:24px;background:rgba(15,23,42,.52);backdrop-filter:blur(4px)}
.treatment-history-modal[hidden]{display:none!important}.treatment-history-dialog{width:min(1040px,96vw);max-height:90vh;display:flex;flex-direction:column;background:#fff;border:1px solid #dfe5ec;border-radius:18px;box-shadow:0 28px 80px rgba(15,23,42,.25);overflow:hidden}
.treatment-history-modal-header{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;padding:17px 20px;border-bottom:1px solid #e7ebf0;background:#fbfcfd}.treatment-history-modal-header h2{margin:2px 0 0;font-size:17px;color:#172033}.treatment-history-modal-header p{margin:4px 0 0;color:#657489;font-size:10.5px}.treatment-history-close{flex:0 0 36px;width:36px;height:36px;border:1px solid #dce2e9;border-radius:10px;background:#fff;color:#4b5563;font-size:23px;line-height:1;cursor:pointer}
.treatment-history-modal-summary{display:flex;gap:18px;flex-wrap:wrap;padding:10px 20px;border-bottom:1px solid #edf0f4;background:#fff;color:#6b7788;font-size:9.5px}.treatment-history-modal-summary strong{color:#25364b}.treatment-history-modal-body{overflow:auto;padding:14px 18px 20px;background:#f8fafc}.treatment-history-modal-body .treatment-history-list{margin-top:0}.treatment-history-modal-body .treatment-history-item{box-shadow:0 2px 8px rgba(15,23,42,.025)}
.revaluation-reference-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:11px;margin:12px 0 14px}.revaluation-reference-card{padding:13px 14px;border:1px solid #dde4ec;border-radius:14px;background:#fff}.revaluation-reference-card.initial{background:#fafbfc}.revaluation-reference-card.current{background:#fff}.revaluation-reference-card.posterior{background:#f9fbfa;border-color:#d9e5dc}.reference-label{display:block;color:#637286;font-size:9px;font-weight:900;text-transform:uppercase;letter-spacing:.045em}.reference-equation{display:flex;align-items:center;gap:7px;flex-wrap:wrap;margin:8px 0 6px;color:#536174}.reference-equation strong{font-size:12px;color:#23354c}.reference-equation b{font-size:20px;color:#172033}.reference-level{min-height:24px;display:flex;align-items:center;margin-bottom:7px}.revaluation-reference-card small{display:block;color:#718096;font-size:9.5px;line-height:1.45}.revaluation-change-note{margin:2px 0 12px}.treatment-revaluation-card .formgrid{margin-top:12px}
body.treatment-history-open{overflow:hidden}
@media(max-width:900px){.revaluation-reference-grid{grid-template-columns:1fr}.treatment-history-modal{padding:10px}.treatment-history-dialog{width:100%;max-height:96vh}.treatment-history-modal-header{padding:14px}.treatment-history-modal-body{padding:12px}}

/* v75 · referencia ISO editable y autocompletable */
.iso-autocomplete-help{display:block;margin-top:4px;font-size:10px;line-height:1.35;color:#64748b}
.js-iso-code-input,.js-iso-name-input{background:#fff}


/* v76 · revaloración de planes más clara y sin referencias duplicadas */
.revaluation-reference-grid.two-cards{grid-template-columns:repeat(2,minmax(0,1fr));}
.revaluation-reference-card.current-same{background:#fafbfc;border-style:dashed;}
.revaluation-same-note{margin:2px 0 12px;}
.revaluation-guidance{margin:10px 0 4px;padding:11px 13px;border:1px solid #dfe6ee;border-radius:11px;background:#f8fafc;color:#526174;font-size:10.5px;line-height:1.5;}
.revaluation-guidance strong{color:#26384f;}
.revaluation-field-help{display:block;margin-top:5px;color:#718096;font-size:9.5px;line-height:1.45;}
@media(max-width:900px){.revaluation-reference-grid.two-cards{grid-template-columns:1fr;}}

/* v78 - avances de actividades y plan protegidos y visualmente separados */
.activity-progress-box{display:grid;justify-items:end;gap:4px;min-width:132px}
.activity-progress-box>span:not(.badge):not(.pill){font-size:9px;font-weight:800;color:#64748b;text-transform:uppercase;letter-spacing:.035em;line-height:1.15}
.activity-progress-number{font-variant-numeric:tabular-nums;white-space:nowrap}
@media(max-width:720px){.activity-progress-box{justify-items:start;min-width:0}.activity-head{align-items:stretch}.activity-head>div:last-child{justify-items:start}}

/* v79 · revisiones formales, última revisión y evidencia de auditoría */
.formal-review-card{border-color:#dfe6ee}
.review-date-strip{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin:12px 0 14px}
.review-date-strip>div{padding:11px 12px;border:1px solid #e2e8f0;border-radius:12px;background:#fbfcfd;min-width:0}
.review-date-strip span{display:block;color:#64748b;font-size:9px;font-weight:900;text-transform:uppercase;letter-spacing:.04em}
.review-date-strip strong{display:block;margin-top:5px;color:#1f334d;font-size:11px;line-height:1.35;word-break:break-word}
.review-date-strip small{display:block;margin-top:3px;color:#708096;font-size:9.5px}
.review-date-strip .badge{display:inline-flex;margin-top:6px}
.review-register-panel{margin:12px 0 16px;border:1px solid #dfe6ee;border-radius:13px;background:#fff;overflow:hidden}
.review-register-panel>summary{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px 14px;cursor:pointer;list-style:none;background:#fafbfc}
.review-register-panel>summary::-webkit-details-marker{display:none}.review-register-panel>summary span{display:grid;gap:2px}.review-register-panel>summary strong{color:#233b58;font-size:11px}.review-register-panel>summary small{color:#6f7f92;font-size:9.5px}.review-register-panel>summary b{font-size:18px;color:#55708d}.review-register-panel[open]>summary b{transform:rotate(45deg)}
.formal-review-form{padding:14px}.formal-review-form textarea{min-height:86px}
.review-history{margin-top:12px}.review-history-table td{vertical-align:top}
.review-detail-disclosure>summary{cursor:pointer;color:#315b7a;font-weight:800;font-size:9.5px;white-space:nowrap}.review-detail-body{min-width:360px;max-width:680px;padding:10px 0 2px;color:#455b73;font-size:10px;line-height:1.45}.review-detail-body p{margin:0 0 8px}
.review-change-list{margin:7px 0 0;padding:8px 10px 8px 26px;border:1px solid #e5eaf0;border-radius:9px;background:#f8fafc;display:grid;gap:5px}.review-change-list li{font-size:9.5px;color:#4d6177}.review-change-list li strong{display:block;color:#243b55}.review-change-list li span{display:block;margin-top:1px}.review-change-list li em{color:#748396}
.review-compact{display:grid;gap:2px;min-width:118px}.review-compact>strong{font-size:10px;color:#263c57}.review-compact>small,.review-compact>span{font-size:8.8px;color:#6b7b8f}.review-compact .badge{justify-self:start;margin-top:3px;font-size:8px;padding:2px 6px}
@media(max-width:900px){.review-date-strip{grid-template-columns:repeat(2,minmax(0,1fr))}.review-detail-body{min-width:260px}}
@media(max-width:600px){.review-date-strip{grid-template-columns:1fr}.formal-review-form{padding:11px}.review-detail-body{min-width:220px}}


/* v81 · bitácora de revisiones en modal y estado aplicable */
.review-history-launch{display:flex;align-items:center;justify-content:space-between;gap:14px;margin-top:12px;padding:12px 14px;border:1px solid #e1e7ee;border-radius:12px;background:#fafbfc}
.review-history-launch>div{display:grid;gap:3px;min-width:0}.review-history-launch strong{font-size:11px;color:#243b55}.review-history-launch small{font-size:9.5px;color:#6f7f92;line-height:1.4}
.review-history-modal{position:fixed;inset:0;z-index:14000;display:flex;align-items:center;justify-content:center;padding:24px;background:rgba(15,23,42,.54);backdrop-filter:blur(4px)}
.review-history-modal[hidden]{display:none!important}.review-history-dialog{width:min(1120px,96vw);max-height:92vh;display:flex;flex-direction:column;background:#fff;border:1px solid #dfe5ec;border-radius:18px;box-shadow:0 28px 80px rgba(15,23,42,.25);overflow:hidden}
.review-history-modal-header{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;padding:17px 20px;border-bottom:1px solid #e7ebf0;background:#fbfcfd}.review-history-modal-header h2{margin:2px 0 0;font-size:17px;color:#172033}.review-history-modal-header p{margin:4px 0 0;color:#657489;font-size:10.5px}.review-history-close{flex:0 0 36px;width:36px;height:36px;border:1px solid #dce2e9;border-radius:10px;background:#fff;color:#4b5563;font-size:23px;line-height:1;cursor:pointer}
.review-history-modal-summary{display:flex;gap:18px;flex-wrap:wrap;padding:10px 20px;border-bottom:1px solid #edf0f4;background:#fff;color:#6b7788;font-size:9.5px}.review-history-modal-summary strong{color:#25364b}.review-history-modal-body{overflow:auto;padding:14px 18px 20px;background:#f8fafc}.review-history-modal-body .table-wrap{margin:0;background:#fff}
.review-history-open{overflow:hidden}.review-pending strong{color:#7b8796}.review-pending small{max-width:170px;line-height:1.35}.compact-note{margin:0 0 12px}
@media(max-width:900px){.review-history-modal{padding:10px}.review-history-dialog{width:100%;max-height:96vh}.review-history-modal-header{padding:14px}.review-history-modal-body{padding:12px}.review-history-launch{align-items:flex-start;flex-direction:column}}


/* v82 · prioridad de revisión individual y resumen general más compacto */
.formal-review-card-aggregate{padding:20px 22px}
.formal-review-card-aggregate .formal-review-heading{margin-bottom:6px}
.formal-review-card-aggregate .formal-review-heading h2{margin-bottom:4px}
.formal-review-card-aggregate .formal-review-heading .help{max-width:980px;margin:0}
.formal-review-card-aggregate .review-date-strip{grid-template-columns:minmax(180px,1fr) minmax(180px,1fr);max-width:760px;margin:12px 0}
.formal-review-card-aggregate .review-register-panel{margin:10px 0 0}
.formal-review-card-aggregate .review-history-launch{margin-top:10px;background:#fff}
.formal-review-card-aggregate .review-history-launch small{max-width:760px}
@media(max-width:700px){.formal-review-card-aggregate{padding:16px}.formal-review-card-aggregate .review-date-strip{grid-template-columns:1fr;max-width:none}}

/* v83 · revisión formal compacta y formularios en modal */
.formal-review-overview{padding:16px 18px;border-color:#dde5ed;background:#fff}
.review-overview-head{display:flex;align-items:flex-start;justify-content:space-between;gap:18px;margin:0 0 12px}
.review-overview-head>div:first-child{min-width:0}.review-overview-head h2{margin:0;color:#17253a;font-size:16px;line-height:1.25}.review-overview-head p{margin:5px 0 0;color:#6b7b8f;font-size:10px;line-height:1.45;max-width:820px}
.review-overview-actions{display:flex;align-items:center;justify-content:flex-end;gap:8px;flex:0 0 auto}.review-overview-actions .btn{white-space:nowrap}
.review-overview-grid{display:grid;gap:0;border:1px solid #e2e8f0;border-radius:12px;background:#fbfcfd;overflow:hidden}
.review-overview-grid.is-aggregate{grid-template-columns:1.1fr 1.1fr 1.1fr .9fr 1.15fr}
.review-overview-grid.is-individual{grid-template-columns:1fr 1fr 1.45fr 1fr .8fr}
.review-overview-item{min-width:0;padding:10px 12px;border-right:1px solid #e5eaf0}.review-overview-item:last-child{border-right:0}
.review-overview-item span:first-child{display:block;color:#748397;font-size:8.5px;font-weight:900;text-transform:uppercase;letter-spacing:.045em}
.review-overview-item strong{display:block;margin-top:4px;color:#203650;font-size:10.5px;line-height:1.35;overflow-wrap:anywhere}.review-overview-item small{display:block;margin-top:2px;color:#6c7d91;font-size:8.8px;line-height:1.35}
.review-overview-badge{margin-top:5px}.review-overview-badge .badge{margin:0}
.review-overview-note{margin-top:9px;padding:8px 10px;border-radius:9px;background:#f7f9fb;color:#64758a;font-size:9.5px;line-height:1.4}.review-overview-note strong{color:#2b435e}
.review-form-modal{position:fixed;inset:0;z-index:14100;display:flex;align-items:center;justify-content:center;padding:24px;background:rgba(15,23,42,.54);backdrop-filter:blur(4px)}
.review-form-modal[hidden]{display:none!important}.review-register-dialog{width:min(900px,96vw);max-height:92vh;display:flex;flex-direction:column;background:#fff;border:1px solid #dfe5ec;border-radius:18px;box-shadow:0 28px 80px rgba(15,23,42,.25);overflow:hidden}
.review-register-modal-body{overflow:auto;background:#f8fafc;padding:14px}.review-modal-form{padding:14px;background:#fff;border:1px solid #e3e8ee;border-radius:12px}.review-modal-form textarea{min-height:78px}
.review-modal-actions{display:flex;justify-content:flex-end;gap:8px;margin-top:14px;padding-top:12px;border-top:1px solid #edf0f4}
.review-modal-open{overflow:hidden}
.formal-review-card-aggregate{padding:16px 18px}.formal-review-card-aggregate .review-overview-head{margin-bottom:11px}
@media(max-width:980px){.review-overview-grid.is-aggregate,.review-overview-grid.is-individual{grid-template-columns:repeat(2,minmax(0,1fr))}.review-overview-item{border-bottom:1px solid #e5eaf0}.review-overview-item:nth-child(2n){border-right:0}.review-overview-item:last-child{border-bottom:0}}
@media(max-width:700px){.review-overview-head{flex-direction:column}.review-overview-actions{width:100%;justify-content:flex-start;flex-wrap:wrap}.review-overview-grid.is-aggregate,.review-overview-grid.is-individual{grid-template-columns:1fr}.review-overview-item{border-right:0;border-bottom:1px solid #e5eaf0}.review-form-modal{padding:10px}.review-register-dialog{width:100%;max-height:96vh}.review-register-modal-body{padding:10px}.review-modal-form{padding:11px}}

/* v85 · Gestión documental controlada */
.document-summary{display:grid;grid-template-columns:repeat(4,minmax(150px,1fr));gap:10px;margin-bottom:14px}.document-summary>div{background:#fff;border:1px solid #e1e8f0;border-radius:14px;padding:13px 15px;box-shadow:0 3px 12px rgba(15,23,42,.035)}.document-summary span{display:block;color:#6b7788;font-size:9px;text-transform:uppercase;letter-spacing:.06em;font-weight:800}.document-summary strong{display:block;margin-top:3px;font-size:22px;color:#1d2b3d}.document-filters{display:grid;grid-template-columns:minmax(220px,1.7fr) repeat(3,minmax(150px,.8fr)) auto auto;gap:8px;margin:14px 0}.document-hero{padding-bottom:16px}.document-kpis{display:grid;grid-template-columns:repeat(6,minmax(120px,1fr));border:1px solid #e4eaf1;border-radius:13px;overflow:hidden;margin-top:14px}.document-kpis>div{padding:11px 12px;border-right:1px solid #e7ecf2;background:#fbfcfd}.document-kpis>div:last-child{border-right:0}.document-kpis span,.doc-meta-grid span{display:block;color:#728096;font-size:8.5px;text-transform:uppercase;letter-spacing:.05em;font-weight:800}.document-kpis strong,.doc-meta-grid strong{display:block;margin-top:4px;color:#26364a;font-size:11px}.document-actionbar{display:flex;gap:8px;flex-wrap:wrap;margin-top:14px}.doc-two-col{display:grid;grid-template-columns:1.35fr .85fr;gap:14px}.doc-meta-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}.doc-meta-grid>div{border:1px solid #e8edf3;border-radius:10px;padding:10px;background:#fbfcfd}.document-description{margin:13px 0 0;color:#526176;font-size:11px;line-height:1.6}.doc-control-rules p{margin:0 0 10px;color:#56667c;font-size:10.5px;line-height:1.55}.doc-edit-form{margin-top:14px}.document-retire{display:flex;justify-content:flex-end;margin:10px 0 16px}.doc-modal-open{overflow:hidden}.doc-modal{position:fixed;inset:0;z-index:15000;display:flex;align-items:center;justify-content:center;padding:20px;background:rgba(15,23,42,.56);backdrop-filter:blur(4px)}.doc-modal[hidden]{display:none!important}.doc-modal-dialog{width:min(900px,96vw);max-height:92vh;display:flex;flex-direction:column;background:#fff;border:1px solid #dfe5ec;border-radius:18px;box-shadow:0 28px 80px rgba(15,23,42,.25);overflow:hidden}.doc-modal-dialog.wide{width:min(1180px,97vw)}.doc-modal-dialog>header{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;padding:16px 19px;border-bottom:1px solid #e7ebf0;background:#fbfcfd}.doc-modal-dialog>header h2{margin:2px 0 0;font-size:17px;color:#172033}.doc-modal-dialog>header p{margin:4px 0 0;color:#657489;font-size:10.5px}.doc-modal-dialog>header button{width:36px;height:36px;border:1px solid #dce2e9;border-radius:10px;background:#fff;color:#4b5563;font-size:23px;line-height:1;cursor:pointer}.doc-modal-body{overflow:auto;padding:15px 18px 20px;background:#f8fafc}.doc-modal-body>form{background:#fff;border:1px solid #e3e8ee;border-radius:12px;padding:14px}.doc-modal-body .table-wrap{margin:0;background:#fff}.doc-modal-body table{min-width:900px}
@media(max-width:1050px){.document-kpis{grid-template-columns:repeat(3,1fr)}.document-kpis>div:nth-child(3){border-right:0}.doc-two-col{grid-template-columns:1fr}.document-filters{grid-template-columns:1fr 1fr 1fr}.document-filters input:first-of-type{grid-column:1/-1}}
@media(max-width:700px){.document-summary{grid-template-columns:1fr 1fr}.document-kpis{grid-template-columns:1fr 1fr}.document-kpis>div{border-bottom:1px solid #e7ecf2}.doc-meta-grid{grid-template-columns:1fr 1fr}.document-filters{grid-template-columns:1fr}.document-filters input:first-of-type{grid-column:auto}.doc-modal{padding:8px}.doc-modal-dialog{width:100%;max-height:97vh}.doc-modal-body{padding:10px}}

/* v87: navegación agrupada */
.side-nav .nav-group{border-radius:14px;border:1px solid transparent}
.side-nav .nav-group>summary{list-style:none;display:grid;grid-template-columns:32px minmax(0,1fr) 18px;align-items:center;gap:9px;padding:8px 10px;border-radius:12px;color:#eaf4ff;font-weight:780;cursor:pointer;transition:background .16s ease,border-color .16s ease}
.side-nav .nav-group>summary::-webkit-details-marker{display:none}
.side-nav .nav-group>summary:hover,.side-nav .nav-group.active-group>summary{background:rgba(255,255,255,.08);border-color:rgba(255,255,255,.10)}
.nav-chevron{font-size:14px;opacity:.8;transition:transform .18s ease}.nav-group[open] .nav-chevron{transform:rotate(180deg)}
.nav-submenu{display:grid;gap:4px;padding:5px 0 2px 18px}
.side-nav .nav-submenu a{grid-template-columns:18px minmax(0,1fr);gap:8px;padding:7px 10px;border-radius:10px;background:rgba(0,0,0,.05)}
.side-nav .nav-submenu a:hover{transform:none;background:rgba(255,255,255,.08)}
.side-nav .nav-submenu a.active{background:linear-gradient(100deg,rgba(23,111,255,.86),rgba(116,215,255,.20));box-shadow:none}
.sub-dot{width:7px;height:7px;border-radius:50%;background:rgba(255,255,255,.48);justify-self:center}.nav-submenu a.active .sub-dot{background:#fff;box-shadow:0 0 0 4px rgba(255,255,255,.12)}
.side-nav .nav-submenu .nav-text strong{font-size:12.5px}.side-nav .nav-submenu .nav-text small{font-size:9.5px}
@media(max-width:1120px){.side-nav .nav-group>summary{grid-template-columns:32px minmax(0,1fr) 16px}.side-nav .nav-submenu .nav-text small{display:none}}


/* v88 - ayuda documental modal y vistas de detalle editables */
.doc-classification-help{border:0;padding:0;min-height:16px;vertical-align:middle}
.classification-help-dialog{width:min(820px,96vw)}
.classification-help-grid{display:grid;gap:10px}.classification-help-grid article{background:#fff;border:1px solid #dfe7f1;border-radius:12px;padding:12px 14px}.classification-help-grid article strong{display:block;color:#18324f;font-size:12px;margin-bottom:4px}.classification-help-grid article p{margin:0;color:#52657c;font-size:11px;line-height:1.55}.classification-help-dialog .doc-modal-body{max-height:72vh;overflow:auto}
.asset-detail-card+.card,.risk-detail-card+.card{margin-top:14px}
@media(max-width:700px){.classification-help-dialog .doc-modal-body{max-height:78vh}.classification-help-grid{grid-template-columns:1fr}}

/* v89 · Gestión documental: revisión inicial, clasificación alineada y bitácora visible */
.document-kpis small{display:block;margin-top:4px;color:#7a8798;font-size:8.5px;line-height:1.35;font-weight:500;text-transform:none;letter-spacing:0}
.classification-help-grid article strong{display:flex;align-items:center;gap:6px}
@media(max-width:700px){.document-kpis small{font-size:8px}}

/* v91 - Gestión documental: ficha compacta y acciones en una sola línea */
.document-row-actions{display:inline-flex;align-items:center;gap:6px;flex-wrap:nowrap;white-space:nowrap;min-width:max-content}
.document-row-actions .btn.mini{margin:0;white-space:nowrap;flex:0 0 auto}
.document-profile-card{overflow:hidden}
.document-profile-head{display:flex;align-items:flex-start;justify-content:space-between;gap:14px;padding-bottom:12px;border-bottom:1px solid #e8edf3;margin-bottom:12px}
.document-profile-head h2{margin:2px 0 0;font-size:16px;color:#1d2b3d}
.document-profile-head p{margin:4px 0 0;color:#6b7788;font-size:10.5px}
.document-profile-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:9px}
.document-profile-item{min-width:0;border:1px solid #e6ebf1;border-radius:11px;padding:10px 11px;background:#fbfcfd}
.document-profile-item span,.document-profile-description>span{display:block;color:#728096;font-size:8.5px;text-transform:uppercase;letter-spacing:.055em;font-weight:850}
.document-profile-item strong{display:block;margin-top:4px;color:#26364a;font-size:11px;line-height:1.35;overflow-wrap:anywhere}
.document-profile-description{margin-top:10px;border:1px solid #e6ebf1;border-radius:11px;padding:11px 12px;background:#fff}
.document-profile-description p{margin:5px 0 0;color:#526176;font-size:11px;line-height:1.6}
.document-rules-details>summary{display:flex;align-items:center;justify-content:space-between;gap:12px;cursor:pointer;list-style:none}
.document-rules-details>summary::-webkit-details-marker{display:none}
.document-rules-details>summary span{color:#64748b;font-size:10px;font-weight:750}
.document-rules-details[open]>summary{padding-bottom:11px;border-bottom:1px solid #e8edf3;margin-bottom:11px}
.document-rules-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px 14px}
.document-rules-grid p{margin:0;padding:8px 10px;border:1px solid #edf1f5;border-radius:10px;background:#fbfcfd}
@media(max-width:1100px){.document-profile-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:700px){.document-row-actions{flex-wrap:wrap}.document-profile-grid,.document-rules-grid{grid-template-columns:1fr}}
.document-row-actions .btn.mini{max-width:none;justify-content:center;text-align:center}


/* v92 - tablero preventivo de notificaciones */
.due-board-card{overflow:hidden}.due-board-actions{display:flex;align-items:center;gap:8px}.due-horizon-grid{display:grid;grid-template-columns:repeat(6,minmax(110px,1fr));gap:9px;margin:13px 0 10px}.due-horizon-card{appearance:none;border:1px solid #dbe7f3;background:#fff;border-radius:13px;padding:12px 13px;text-align:left;cursor:pointer;box-shadow:0 4px 13px rgba(18,54,91,.035);transition:.16s}.due-horizon-card:hover{transform:translateY(-1px);border-color:#aac9ee;box-shadow:0 7px 17px rgba(18,54,91,.07)}.due-horizon-card span{display:block;font-size:9px;font-weight:900;text-transform:uppercase;letter-spacing:.04em;color:#667d96}.due-horizon-card strong{display:block;margin:3px 0 1px;font-size:24px;color:#17375e}.due-horizon-card small{font-size:8.5px;color:#8391a3}.due-horizon-card.overdue{border-left:4px solid #ef4444;background:#fffafa}.due-board-summary{display:flex;gap:18px;flex-wrap:wrap;padding:9px 11px;border-radius:10px;background:#f7faff;color:#566d86;font-size:9.5px}.due-board-summary strong{color:#17375e;font-size:12px}.due-board-filters{display:grid;grid-template-columns:2fr 1fr 1fr auto;gap:9px;align-items:end;margin:12px 0}.due-board-filters label{font-size:8.5px;font-weight:900;text-transform:uppercase;letter-spacing:.035em;color:#6d8096}.due-board-filters input,.due-board-filters select{min-height:36px}.due-filter-clear{padding-bottom:1px}.due-table-wrap{max-height:520px}.due-days{font-weight:800;color:#425d78}.due-days.is-urgent{color:#b45309}.due-days.is-overdue{color:#b91c1c}.settings-subtitle{margin:16px 0 4px;font-size:11px;color:#17375e}.notification-horizon-options{display:grid;grid-template-columns:repeat(6,minmax(105px,1fr));gap:8px;margin:10px 0 14px}.horizon-option{display:flex;flex-direction:column;gap:4px;padding:10px 11px;border:1px solid #dce7f2;border-radius:11px;background:#fbfdff;font-size:9px;color:#6b7f97}.horizon-option input[type=checkbox]{width:auto;min-height:0;margin:0 0 2px}.horizon-option strong{font-size:10px;color:#294563}.horizon-option.custom input{min-height:30px}.notification-scope-grid{grid-template-columns:repeat(3,minmax(180px,1fr))}
@media(max-width:1180px){.due-horizon-grid{grid-template-columns:repeat(3,1fr)}.notification-horizon-options{grid-template-columns:repeat(3,1fr)}}
@media(max-width:760px){.due-horizon-grid,.notification-horizon-options{grid-template-columns:repeat(2,1fr)}.due-board-filters{grid-template-columns:1fr}.notification-scope-grid{grid-template-columns:1fr}.due-filter-clear{padding:0}}

/* v93 · tablero preventivo limpio + histórico de notificaciones en modal */
.notification-history-launcher{margin-top:12px}
.notification-history-launcher .section-heading{align-items:center}
.notification-history-stats{display:flex;gap:14px;flex-wrap:wrap;margin-top:8px;color:#687b91;font-size:9.5px}
.notification-history-stats strong{color:#17375e;font-size:12px}
.notification-history-actions{display:flex;align-items:center;gap:8px;flex-wrap:wrap;justify-content:flex-end}
.notification-history-actions form{margin:0}
.notification-history-table-wrap{max-height:68vh}
.notification-history-table{min-width:980px!important}
.notification-history-message{margin-top:4px;max-width:640px;white-space:normal;line-height:1.45}
.notification-history-table .nowrap{white-space:nowrap}
@media(max-width:760px){.notification-history-launcher .section-heading{align-items:flex-start}.notification-history-actions{justify-content:flex-start;width:100%}}

/* ===== v96 · aceptación formal y revisión por cambio CIA ===== */
.v96-db-alert{border-left:4px solid #b7791f}
.asset-risk-warning,.risk-asset-review-warning{display:flex;align-items:center;justify-content:space-between;gap:18px;margin:14px 0;padding:14px 16px;border:1px solid #e7cf93;border-radius:12px;background:#fffaf0}
.asset-risk-warning strong,.risk-asset-review-warning strong{display:block;margin-bottom:4px;color:#6b4f12}
.asset-risk-warning p,.risk-asset-review-warning p{margin:0;color:#59471c;line-height:1.45}
.risk-asset-review-warning small{display:block;margin-top:6px;color:#79652d}
.risk-review-flag{display:inline-flex;align-items:center;margin-left:8px;padding:2px 7px;border-radius:999px;background:#fff1c2;border:1px solid #e5c75f;color:#6a5200;font-size:11px;font-weight:700;white-space:nowrap}
.risk-acceptance-card{margin-top:18px}
.acceptance-current{border:1px solid #cfe2d1;background:#f7fbf7;border-radius:12px;padding:16px}
.acceptance-current-head{display:flex;align-items:flex-start;justify-content:space-between;gap:14px;margin-bottom:12px}
.acceptance-current-head h3{margin:3px 0 0}
.acceptance-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}
.acceptance-grid>div,.acceptance-snapshot{background:#fff;border:1px solid #dde6df;border-radius:10px;padding:10px 12px}
.acceptance-grid span,.acceptance-text span,.acceptance-snapshot span{display:block;font-size:11px;text-transform:uppercase;letter-spacing:.04em;color:#667085;margin-bottom:4px}
.acceptance-grid strong{font-size:13px}
.acceptance-text{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin-top:10px}
.acceptance-text>div{background:#fff;border:1px solid #dde6df;border-radius:10px;padding:10px 12px}
.acceptance-text p{margin:0;line-height:1.5}
.acceptance-pending{display:flex;flex-direction:column;gap:4px;padding:13px 15px;border:1px dashed #d6b96d;background:#fffaf0;border-radius:10px;color:#654f17}
.acceptance-form-wrap,.acceptance-history{margin-top:12px;border:1px solid #dfe3e8;border-radius:10px;background:#fff}
.acceptance-form-wrap>summary,.acceptance-history>summary{cursor:pointer;display:flex;justify-content:space-between;gap:12px;padding:12px 14px;font-weight:700;list-style:none}
.acceptance-form-wrap>summary::-webkit-details-marker,.acceptance-history>summary::-webkit-details-marker{display:none}
.acceptance-form{padding:0 14px 14px}
.acceptance-snapshot{display:flex;align-items:center;gap:10px;margin-bottom:12px;background:#f8fafc}
.acceptance-snapshot span{margin:0}
.acceptance-snapshot small{margin-left:auto;color:#667085}
.acceptance-history .table-wrap{border-top:1px solid #e5e7eb}
.acceptance-permission-note{margin-top:10px}
.danger-note{border-color:#e7b5b5!important;background:#fff7f7!important}
@media(max-width:900px){.acceptance-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.acceptance-text{grid-template-columns:1fr}.asset-risk-warning,.risk-asset-review-warning{align-items:flex-start;flex-direction:column}.acceptance-snapshot{align-items:flex-start;flex-direction:column}.acceptance-snapshot small{margin-left:0}}
@media(max-width:600px){.acceptance-grid{grid-template-columns:1fr}}
.exec-summary-card.warning{border-color:#f3d58f;background:#fffaf0}.exec-summary-card.warning strong{color:#8a6200}

/* ===== v98.2 · multiselección compacta y consistente =====
   Aplica a todos los desplegables details.multi-check de la aplicación.
   Evita el estiramiento vertical de las opciones y mejora selección/scroll/responsive. */
.multi-check-menu{
  padding:5px !important;
  gap:1px !important;
  grid-auto-rows:max-content !important;
  align-content:start !important;
  max-height:min(290px,45vh) !important;
  overscroll-behavior:contain;
  scrollbar-width:thin;
}
.multi-check-menu label,
.process-filter-field .multi-check-menu label{
  display:flex !important;
  align-items:center !important;
  min-height:30px !important;
  height:auto !important;
  gap:7px !important;
  margin:0 !important;
  padding:5px 7px !important;
  border:1px solid transparent;
  border-radius:8px !important;
  font-size:11.5px !important;
  font-weight:780 !important;
  line-height:1.2 !important;
  cursor:pointer;
}
.multi-check-menu label span{
  min-width:0;
  line-height:1.2;
}
.multi-check-menu input[type="checkbox"]{
  flex:0 0 14px !important;
  width:14px !important;
  height:14px !important;
  min-width:14px !important;
  min-height:14px !important;
  margin:0 !important;
  padding:0 !important;
}
.multi-check-menu label:hover{
  background:#f4f8fd !important;
  border-color:#e2ebf6;
}
.multi-check-menu label.is-selected,
.multi-check-menu label:has(input[type="checkbox"]:checked){
  background:#eef5ff !important;
  border-color:#cfe1fb !important;
  color:#0a469c !important;
}
.multi-check-menu label.is-selected span,
.multi-check-menu label:has(input[type="checkbox"]:checked) span{
  color:#0a469c !important;
}
.multi-check summary{
  padding-top:7px !important;
  padding-bottom:7px !important;
}
@media(max-width:980px){
  .multi-check-menu{
    max-height:240px !important;
  }
}
@media(max-width:640px){
  .multi-check-menu label,
  .process-filter-field .multi-check-menu label{
    min-height:32px !important;
    padding:6px 8px !important;
  }
}


/* ===== v98.3 · multiseleccion compacta definitiva =====
   Lista continua de baja altura + cache-busting automatico en PHP. */
.multi-check-menu,
.process-filter-field .multi-check-menu,
.asset-multi-check .multi-check-menu{
  display:flex !important;
  flex-direction:column !important;
  align-items:stretch !important;
  justify-content:flex-start !important;
  gap:0 !important;
  padding:4px !important;
  max-height:min(260px,42vh) !important;
  height:auto !important;
  min-height:0 !important;
  overflow-y:auto !important;
  overflow-x:hidden !important;
}
.multi-check-menu > label,
.process-filter-field .multi-check-menu > label,
.asset-multi-check .multi-check-menu > label{
  box-sizing:border-box !important;
  display:flex !important;
  flex:0 0 30px !important;
  align-items:center !important;
  width:100% !important;
  min-height:30px !important;
  max-height:30px !important;
  height:30px !important;
  gap:8px !important;
  margin:0 !important;
  padding:0 8px !important;
  border:0 !important;
  border-radius:6px !important;
  background:transparent !important;
  font-size:11.5px !important;
  font-weight:760 !important;
  line-height:1 !important;
}
.multi-check-menu > label + label{
  margin-top:1px !important;
}
.multi-check-menu > label:hover{
  background:#f3f7fc !important;
}
.multi-check-menu > label.is-selected,
.multi-check-menu > label:has(input[type="checkbox"]:checked){
  background:#eaf3ff !important;
  color:#0a469c !important;
}
.multi-check-menu > label input[type="checkbox"]{
  appearance:auto !important;
  box-sizing:border-box !important;
  flex:0 0 14px !important;
  width:14px !important;
  min-width:14px !important;
  max-width:14px !important;
  height:14px !important;
  min-height:14px !important;
  max-height:14px !important;
  margin:0 !important;
  padding:0 !important;
  box-shadow:none !important;
}
.multi-check-menu > label span{
  display:block !important;
  line-height:1.1 !important;
  margin:0 !important;
  padding:0 !important;
}
.process-filter-field .multi-check summary,
.asset-multi-check summary{
  min-height:34px !important;
  height:34px !important;
  padding:0 10px !important;
}
@media(max-width:640px){
  .multi-check-menu > label,
  .process-filter-field .multi-check-menu > label,
  .asset-multi-check .multi-check-menu > label{
    flex-basis:34px !important;
    min-height:34px !important;
    max-height:34px !important;
    height:34px !important;
    padding:0 9px !important;
  }
}
