
      :root {
        --b: #2563eb;
        --bg: #f7f9fc;
        --s: #fff;
        --t: #111827;
        --m: #64748b;
        --bd: #e2e8f0;
      }
      * {
        box-sizing: border-box;
      }
      body {
        margin: 0;
        font:
          14px Inter,
          system-ui;
        background: var(--bg);
        color: var(--t);
        overflow-x: hidden;
      }
      button,
      input,
      select {
        font: inherit;
      }
      .login {
        min-height: 100vh;
        display: grid;
        place-items: center;
        padding: clamp(12px, 3vh, 24px);
        position: relative;
        overflow: hidden;
        background:
          radial-gradient(circle at 12% 12%, #3b82f633 0, transparent 28%),
          radial-gradient(circle at 88% 82%, #7c3aed29 0, transparent 30%),
          linear-gradient(135deg, #07111f 0%, #0f2140 52%, #18264a 100%);
      }
      .card {
        background: #fff;
        border: 1px solid var(--bd);
        border-radius: 12px;
        padding: 18px;
      }
      .login::before {
        content:"";
        position:absolute;
        inset:0;
        pointer-events:none;
        opacity:.16;
        background-image:linear-gradient(#ffffff12 1px, transparent 1px),linear-gradient(90deg,#ffffff12 1px,transparent 1px);
        background-size:48px 48px;
        mask-image:linear-gradient(to bottom,#000,transparent 82%);
      }
      .login-shell {
        width:min(1040px,100%);
        min-height:0;
        height:min(590px, calc(100vh - 48px));
        display:grid;
        grid-template-columns:minmax(0,1.08fr) minmax(390px,.92fr);
        position:relative;
        z-index:1;
        overflow:hidden;
        border:1px solid #ffffff2e;
        border-radius:24px;
        background:#ffffff0d;
        box-shadow:0 30px 80px #02061780,0 1px 0 #ffffff24 inset;
        backdrop-filter:blur(14px);
      }
      .commercial-landing .login-shell[hidden] { display:none !important; }
      .login-intro {
        padding:clamp(28px, 5vh, 42px) clamp(34px, 5vw, 58px);
        display:flex;
        flex-direction:column;
        justify-content:space-between;
        color:#fff;
        position:relative;
        isolation:isolate;
        overflow:hidden;
      }
      .login-intro::before {
        content:"";
        position:absolute;
        inset:0;
        z-index:-2;
        background:url("./assets/brand/cybergovernance-hero-v1.png") center/cover no-repeat;
        background-image:image-set(url("./assets/brand/cybergovernance-hero-v1.webp") type("image/webp"), url("./assets/brand/cybergovernance-hero-v1.png") type("image/png"));
        opacity:.32;
        filter:saturate(.9) contrast(1.06);
        transform:scale(1.02);
      }
      .login-intro::after {
        content:"";
        position:absolute;
        inset:0;
        z-index:-1;
        background:linear-gradient(100deg,#0b1b36f2 0%,#102341dd 55%,#101d39bf 100%);
      }
      .login-brand { display:flex; align-items:center; gap:18px; font-size:20px; font-weight:850; letter-spacing:-.02em; }
      .login-brand-mark {
        width:64px;
        height:64px;
        flex:0 0 64px;
        display:grid;
        place-items:center;
        border-radius:17px;
        background:#081831;
        box-shadow:0 14px 34px #2563eb66,0 0 0 1px #93c5fd55 inset;
        overflow:hidden;
      }
      .login-brand-mark img { width:100%; height:100%; object-fit:contain; transform:scale(1.08); }
      .login-eyebrow { margin:clamp(24px, 5vh, 34px) 0 12px; color:#93c5fd; font-size:12px; font-weight:800; letter-spacing:.14em; text-transform:uppercase; }
      .login-intro h1 { max-width:560px; margin:0; font-size:clamp(34px,4.3vw,52px); line-height:1.04; letter-spacing:-.045em; }
      .login-intro-copy { max-width:530px; margin:16px 0 0; color:#cbd5e1; font-size:15px; line-height:1.55; }
      .login-trust { display:grid; grid-template-columns:repeat(3,1fr); gap:9px; margin-top:22px; }
      .login-trust span { padding:10px 9px; border:1px solid #ffffff1f; border-radius:12px; background:#ffffff0a; color:#dbeafe; font-size:11px; font-weight:700; }
      .login-form-panel { margin:12px; padding:28px 48px; display:flex; align-items:center; border-radius:18px; background:#f8fafc; box-shadow:0 18px 50px #02061745; }
      .login-form { width:100%; max-width:410px; margin:auto; }
      .login-form .login-mobile-brand { display:none; }
      .login-form h2 { margin:0 0 10px; font-size:28px; letter-spacing:-.025em; color:#0f172a; }
      .login-subtitle { margin:0 0 24px; color:#64748b; line-height:1.55; }
      .login-form label { margin:14px 0 6px; color:#334155; font-size:12px; }
      .login-form input { height:46px; padding:0 14px; border-color:#cbd5e1; background:#fff; transition:border-color .15s,box-shadow .15s; }
      .login-form input:hover { border-color:#94a3b8; }
      .login-form input:focus { outline:0; border-color:#2563eb; box-shadow:0 0 0 4px #2563eb1f; }
      .login-form .login-submit { width:100%; min-height:48px; margin-top:10px; border-radius:10px; background:linear-gradient(135deg,#2563eb,#4f46e5); box-shadow:0 10px 24px #2563eb38; transition:transform .15s,box-shadow .15s; }
      .login-form .login-submit:hover { transform:translateY(-1px); box-shadow:0 14px 30px #2563eb4a; }
      .login-password-row { margin-top:17px; }
      .login-password-row label { margin:0; }
      .password-field-wrap { position:relative; }
      span.password-field-wrap { display:block; }
      .password-field-wrap input[type="password"], .password-field-wrap input[type="text"] { padding-right:48px; }
      .password-field-wrap input { width:100%; padding-right:48px; }
      .password-toggle { position:absolute; right:9px; top:50%; transform:translateY(-50%); width:34px; height:34px; display:grid; place-items:center; border:0; border-radius:9px; background:transparent; color:#64748b; cursor:pointer; transition:background .15s,color .15s; }
      .password-toggle svg { width:18px; height:18px; stroke:currentColor; stroke-width:2; fill:none; stroke-linecap:round; stroke-linejoin:round; }
      .password-toggle:hover { background:#e0e7ff; color:#1d4ed8; }
      .password-toggle:focus-visible { outline:3px solid #1d4ed8; outline-offset:2px; }
      .login-forgot { display:inline-flex; margin-top:8px; padding:2px 0; border:0; background:transparent; color:#2563eb; font:inherit; font-size:12px; font-weight:750; cursor:pointer; }
      .login-forgot:hover { color:#1d4ed8; text-decoration:underline; }
      .login-forgot:focus-visible { outline:3px solid #1d4ed8; outline-offset:3px; border-radius:4px; }
      .login-recovery-note { margin:0 0 24px; padding:12px 14px; border:1px solid #bfdbfe; border-radius:10px; background:#eff6ff; color:#1e3a8a; font-size:12px; line-height:1.5; }
      .login-security { display:flex; align-items:center; justify-content:center; gap:7px; margin:18px 0 0; color:#64748b; font-size:11px; }
      .login-security-icon { color:#16a34a; }
      .login-form .err { margin-top:10px; }
      @media (max-width:800px) {
        .login { padding:18px; }
        .login-shell { max-width:500px; min-height:0; grid-template-columns:1fr; }
        .login-intro { display:none; }
        .login-form-panel { margin:8px; padding:42px 32px; }
        .login-form .login-mobile-brand { display:flex; margin-bottom:38px; color:#0f172a; }
      }
      @media (max-width:460px) {
        .login { padding:10px; align-items:center; }
        .login-shell { border-radius:20px; }
        .login-form-panel { padding:34px 22px; border-radius:15px; }
        .login-form h2 { font-size:25px; }
      }
      .login.commercial-landing {
        display:block;
        min-height:100vh;
        padding:0;
        overflow:auto;
        color:#f8fafc;
        background:
          radial-gradient(circle at 9% 8%, #38bdf866 0, transparent 26%),
          radial-gradient(circle at 84% 22%, #a855f766 0, transparent 30%),
          radial-gradient(circle at 50% 95%, #22c55e38 0, transparent 28%),
          linear-gradient(135deg,#020617 0%,#09142a 48%,#1b0b32 100%);
      }
      .commercial-landing::before {
        opacity:.18;
        animation:landingGrid 16s linear infinite;
      }
      @keyframes landingGrid {
        from { background-position:0 0,0 0; }
        to { background-position:96px 96px,96px 96px; }
      }
      .landing-orb {
        position:fixed;
        width:280px;
        height:280px;
        border-radius:999px;
        filter:blur(16px);
        opacity:.24;
        pointer-events:none;
        animation:floatOrb 9s ease-in-out infinite;
      }
      .landing-orb.one { left:-70px; top:22%; background:#38bdf8; }
      .landing-orb.two { right:-80px; top:12%; background:#a855f7; animation-delay:-3s; }
      @keyframes floatOrb {
        0%,100% { transform:translate3d(0,0,0) scale(1); }
        50% { transform:translate3d(18px,-24px,0) scale(1.08); }
      }
      .landing-wrap {
        position:relative;
        z-index:1;
        width:min(1280px, calc(100% - 36px));
        margin:0 auto;
        padding:18px 0 42px;
      }
      html:not(.platform-login-host) .commercial-landing main {
        padding-top:88px;
      }
      html:not(.platform-login-host) .landing-section,
      html:not(.platform-login-host) .landing-final,
      html:not(.platform-login-host) #plataforma,
      html:not(.platform-login-host) #modulos,
      html:not(.platform-login-host) #normas,
      html:not(.platform-login-host) #planes,
      html:not(.platform-login-host) #demo {
        scroll-margin-top:104px;
      }
      .landing-nav {
        position:fixed;
        top:6px;
        left:50%;
        width:min(1280px, calc(100% - 36px));
        transform:translateX(-50%);
        z-index:10010;
        display:flex;
        align-items:center;
        justify-content:space-between;
        gap:16px;
        min-height:46px;
        padding:4px 16px;
        border:1px solid #ffffff24;
        border-radius:999px;
        background:
          linear-gradient(90deg,rgba(8,35,58,.34),rgba(11,22,48,.26) 52%,rgba(37,16,68,.24)),
          rgba(255,255,255,.035);
        box-shadow:0 12px 38px #02061724;
        backdrop-filter:blur(20px) saturate(155%);
        -webkit-backdrop-filter:blur(20px) saturate(155%);
        pointer-events:auto;
      }
      .landing-brand {
        position:absolute;
        left:12px;
        top:50%;
        transform:translateY(-50%);
        z-index:2;
        display:flex;
        align-items:center;
        gap:12px;
        color:#fff;
        font-weight:900;
        font-size:17px;
        letter-spacing:-.025em;
        white-space:nowrap;
      }
      .landing-brand .login-brand-mark {
        width:96px;
        height:96px;
        flex-basis:96px;
        margin-left:-8px;
        border-radius:24px;
        background:transparent !important;
        box-shadow:none !important;
        overflow:visible;
        transform:translateY(24px);
      }
      .landing-brand .login-brand-mark img {
        transform:scale(1.16);
        filter:none;
      }
      .landing-nav-links {
        display:flex;
        flex-wrap:wrap;
        align-items:center;
        justify-content:flex-end;
        gap:16px;
        width:100%;
        min-height:38px;
        padding-left:300px;
        padding-right:104px;
        pointer-events:auto;
      }
      .landing-link {
        display:inline-flex;
        align-items:center;
        justify-content:center;
        min-height:34px;
        padding:0 13px;
        border:1px solid #93c5fd42;
        border-radius:999px;
        color:#e0f2fe;
        text-decoration:none;
        font-size:14px;
        font-weight:900;
        letter-spacing:-.01em;
        background:linear-gradient(135deg,rgba(37,99,235,.18),rgba(124,58,237,.12));
        box-shadow:inset 0 1px 0 #ffffff22, 0 10px 24px #0206171f;
        text-shadow:0 1px 10px #02061780;
        transition:color .16s ease, transform .16s ease, border-color .16s ease, background .16s ease, box-shadow .16s ease;
      }
      .landing-menu-toggle {
        display:none;
        align-items:center;
        justify-content:center;
        gap:8px;
        width:100%;
        min-height:46px;
        border:1px solid #93c5fd66;
        border-radius:18px;
        color:#fff;
        background:linear-gradient(135deg,rgba(37,99,235,.64),rgba(109,40,217,.46));
        box-shadow:inset 0 1px 0 #ffffff33,0 14px 30px #02061724;
        font:inherit;
        font-size:16px;
        font-weight:950;
        cursor:pointer;
        text-shadow:0 1px 10px #02061780;
      }
      .landing-menu-toggle:focus-visible {
        outline:3px solid #93c5fd88;
        outline-offset:3px;
      }
      .landing-link:hover,
      .landing-link:focus-visible {
        color:#fff;
        transform:translateY(-1px);
        border-color:#bfdbfeaa;
        background:linear-gradient(135deg,rgba(37,99,235,.36),rgba(109,93,252,.22));
        box-shadow:inset 0 1px 0 #ffffff33, 0 14px 30px #2563eb2e;
        outline:none;
      }
      .landing-link:focus-visible {
        box-shadow:0 0 0 3px #93c5fd55;
        border-radius:999px;
      }
      .landing-cta {
        display:inline-flex;
        align-items:center;
        justify-content:center;
        gap:8px;
        min-height:38px;
        padding:0 14px;
        border:1px solid #93c5fd66;
        border-radius:999px;
        color:#fff;
        text-decoration:none;
        font-size:13px;
        font-weight:850;
        background:linear-gradient(135deg,#2563eb,#6d5dfc);
        box-shadow:0 12px 34px #2563eb38;
        transition:transform .16s ease, box-shadow .16s ease, border-color .16s ease, background .16s ease;
      }
      .landing-cta:hover {
        transform:translateY(-1px);
        border-color:#bfdbfe;
        box-shadow:0 16px 40px #2563eb48;
      }
      .landing-cta.secondary {
        background:#ffffff0c;
        box-shadow:none;
        border-color:#ffffff2e;
      }
      .landing-cta.demo-request-trigger {
        cursor:pointer;
      }
      .landing-hero {
        display:grid;
        grid-template-columns:minmax(0,1.15fr) minmax(390px,.85fr);
        gap:24px;
        align-items:stretch;
        padding:22px 0 30px;
      }
      html:not(.platform-login-host) .landing-hero {
        grid-template-columns:minmax(0,1fr);
      }
      html:not(.platform-login-host) .landing-hero-copy {
        max-width:none;
        width:100%;
        margin:0 auto;
      }
      html:not(.platform-login-host) .login-commercial-panel {
        display:none;
      }
      .landing-hero-copy {
        position:relative;
        isolation:isolate;
        overflow:hidden;
        padding:clamp(38px,5vw,62px);
        border:1px solid #ffffff20;
        border-radius:32px;
        background:
          linear-gradient(145deg,#ffffff14,#ffffff07),
          radial-gradient(circle at 82% 16%, #22c55e22, transparent 30%),
          radial-gradient(circle at 8% 84%, #38bdf824, transparent 34%);
        box-shadow:0 30px 80px #02061770,0 1px 0 #ffffff26 inset;
        backdrop-filter:blur(18px);
      }
      .landing-hero-copy > * {
        position:relative;
        z-index:1;
      }
      html:not(.platform-login-host) .landing-hero-copy::before {
        content:"";
        position:absolute;
        inset:0;
        z-index:0;
        border-radius:inherit;
        background:url("./assets/brand/cybergovernance-hero-v1.png") center/cover no-repeat;
        background-image:image-set(url("./assets/brand/cybergovernance-hero-v1.webp") type("image/webp"), url("./assets/brand/cybergovernance-hero-v1.png") type("image/png"));
        opacity:.3;
        filter:saturate(.9) contrast(1.05);
        transform:scale(1.02);
        animation:wwwAppProdHeroBreath 16s ease-in-out infinite alternate;
      }
      .landing-hero-copy::after {
        content:"";
        position:absolute;
        right:-120px;
        top:-120px;
        z-index:0;
        width:360px;
        height:360px;
        border-radius:999px;
        background:conic-gradient(from 120deg,#38bdf8,#7c3aed,#22c55e,#38bdf8);
        opacity:.18;
        animation:spinSlow 18s linear infinite;
      }
      html:not(.platform-login-host) .landing-hero-copy::after {
        inset:0;
        right:auto;
        top:auto;
        z-index:0;
        width:auto;
        height:auto;
        border-radius:inherit;
        background:linear-gradient(100deg,#0b1b36f2 0%,#102341e8 56%,#101d39c7 100%);
        opacity:.94;
        transform:none;
        animation:wwwAppProdOverlayBreath 9s ease-in-out infinite;
      }
      html:not(.platform-login-host) .landing-hero-copy .landing-command-preview::after {
        content:"";
        position:absolute;
        inset:-45% auto -45% -28%;
        width:42%;
        border-radius:999px;
        background:linear-gradient(90deg,transparent,#93c5fd44,transparent);
        transform:rotate(12deg);
        animation:commercialLightSweep 8s ease-in-out infinite;
        pointer-events:none;
      }
      @keyframes spinSlow { to { transform:rotate(360deg); } }
      @keyframes wwwAppProdHeroBreath {
        0% { background-position:50% 50%; opacity:.3; transform:scale(1.02); }
        100% { background-position:52% 48%; opacity:.36; transform:scale(1.055); }
      }
      @keyframes wwwAppProdOverlayBreath {
        0%,100% { opacity:.94; filter:saturate(1); }
        50% { opacity:.86; filter:saturate(1.08); }
      }
      @keyframes commercialLightSweep {
        0%,35% { transform:translateX(0) rotate(12deg); opacity:0; }
        48% { opacity:.85; }
        70%,100% { transform:translateX(320%) rotate(12deg); opacity:0; }
      }
      .landing-eyebrow {
        display:inline-flex;
        align-items:center;
        gap:8px;
        margin:0 0 18px;
        padding:8px 12px;
        border:1px solid #67e8f966;
        border-radius:999px;
        color:#a7f3d0;
        background:#042f2e80;
        font-size:11px;
        font-weight:900;
        letter-spacing:.12em;
        text-transform:uppercase;
      }
      .landing-hero h1 {
        position:relative;
        z-index:1;
        max-width:760px;
        margin:0;
        font-size:clamp(42px,5.2vw,72px);
        line-height:.94;
        letter-spacing:-.032em;
      }
      .landing-gradient-text {
        background:linear-gradient(90deg,#93c5fd,#c4b5fd,#86efac);
        -webkit-background-clip:text;
        background-clip:text;
        color:transparent;
      }
      .landing-copy {
        position:relative;
        z-index:1;
        max-width:680px;
        margin:20px 0 0;
        color:#dbeafe;
        font-size:17px;
        line-height:1.65;
      }
      .landing-hero-actions {
        position:relative;
        z-index:1;
        display:flex;
        flex-wrap:wrap;
        gap:10px;
        margin-top:26px;
      }
      .landing-metrics {
        position:relative;
        z-index:1;
        display:grid;
        grid-template-columns:repeat(3,1fr);
        gap:10px;
        margin-top:28px;
      }
      .landing-metric {
        padding:15px;
        border:1px solid #ffffff24;
        border-radius:18px;
        background:linear-gradient(180deg,#02061799,#11182766);
      }
      .landing-metric strong {
        display:block;
        color:#fff;
        font-size:22px;
        letter-spacing:-.04em;
      }
      .landing-metric span {
        display:block;
        margin-top:4px;
        color:#bfdbfe;
        font-size:12px;
        line-height:1.35;
      }
      .landing-command-preview {
        position:relative;
        z-index:1;
        overflow:hidden;
        margin-top:28px;
        padding:16px;
        border:1px solid #ffffff24;
        border-radius:24px;
        background:#02061780;
        box-shadow:0 22px 60px #02061766 inset,0 18px 50px #02061740;
      }
      .command-preview-top {
        display:flex;
        align-items:center;
        justify-content:space-between;
        gap:12px;
        margin-bottom:12px;
      }
      .command-dots { display:flex; gap:6px; }
      .command-dots span {
        width:9px;
        height:9px;
        border-radius:999px;
        background:#38bdf8;
        box-shadow:0 0 20px #38bdf8;
      }
      .command-dots span:nth-child(2) { background:#a78bfa; box-shadow:0 0 20px #a78bfa; }
      .command-dots span:nth-child(3) { background:#34d399; box-shadow:0 0 20px #34d399; }
      .command-status {
        color:#a7f3d0;
        font-size:11px;
        font-weight:900;
        text-transform:uppercase;
        letter-spacing:.12em;
      }
      .command-flow {
        display:grid;
        grid-template-columns:repeat(5,1fr);
        gap:10px;
      }
      .command-node {
        min-height:104px;
        padding:16px;
        border:1px solid #ffffff2e;
        border-radius:20px;
        background:linear-gradient(180deg,#ffffff18,#ffffff09);
        transition:transform .18s ease, border-color .18s ease, background .18s ease;
      }
      .command-node:hover {
        transform:translateY(-3px);
        border-color:#93c5fd99;
        background:linear-gradient(180deg,#ffffff20,#ffffff0c);
      }
      .command-node b {
        display:block;
        color:#fff;
        font-size:16px;
        letter-spacing:-.02em;
      }
      .command-node span {
        display:block;
        margin-top:6px;
        color:#bfdbfe;
        font-size:13px;
        line-height:1.48;
      }
      .command-node.hot { border-color:#60a5fa; box-shadow:0 0 0 1px #60a5fa22 inset; }
      .login-commercial-panel {
        align-self:stretch;
        margin:0;
        padding:16px;
        display:grid;
        gap:14px;
        align-content:start;
        border:1px solid #ffffff28;
        border-radius:30px;
        background:linear-gradient(180deg,#ffffff,#f5f7fb);
        color:#0f172a;
        box-shadow:0 28px 72px #02061752;
      }
      .landing-system-card {
        padding:22px;
        border-radius:24px;
        background:
          radial-gradient(circle at 85% 18%,#38bdf842,transparent 32%),
          linear-gradient(135deg,#0f172a,#16213d 58%,#1e1b4b);
        color:#fff;
        overflow:hidden;
        position:relative;
      }
      .landing-system-card::after {
        content:"";
        position:absolute;
        inset:auto -40px -80px auto;
        width:190px;
        height:190px;
        border-radius:999px;
        background:#38bdf866;
        filter:blur(10px);
      }
      .landing-system-card h2 {
        margin:0;
        font-size:22px;
        line-height:1.08;
        letter-spacing:-.04em;
      }
      .landing-system-card p {
        margin:10px 0 0;
        color:#cbd5e1;
        line-height:1.5;
      }
      .login-commercial-panel .login-form {
        max-width:none;
        padding:18px;
        border:1px solid #e2e8f0;
        border-radius:22px;
        background:#fff;
      }
      html:not(.platform-login-host) #f,
      html:not(.platform-login-host) #resetPasswordForm { display:none; }
      .platform-login-host .commercial-only { display:none !important; }
      .platform-login-host .commercial-landing {
        min-height:100vh;
        overflow:auto;
        background:
          radial-gradient(circle at 12% 12%, #3b82f633 0, transparent 28%),
          radial-gradient(circle at 88% 82%, #7c3aed29 0, transparent 30%),
          linear-gradient(135deg, #07111f 0%, #0f2140 52%, #18264a 100%);
      }
      .platform-login-host .landing-wrap {
        width:100%;
        min-height:100vh;
        display:flex;
        flex-direction:column;
        padding:0;
      }
      .platform-login-host .landing-nav {
        display:none;
        position:absolute;
        top:42px;
        left:32px;
        right:32px;
        z-index:3;
        align-items:center;
        padding:0;
      }
      .platform-login-host .landing-nav-links,
      .platform-login-host main > .landing-section,
      .platform-login-host .landing-final,
      .platform-login-host .landing-system-card,
      .platform-login-host .landing-mini-proof {
        display:none !important;
      }
      .platform-login-host main {
        flex:1;
        display:grid;
        place-items:center;
        min-height:100vh;
        padding:72px 24px 42px;
      }
      .platform-login-host .landing-hero {
        width:min(1040px,100%);
        min-height:585px;
        grid-template-columns:minmax(0,1.05fr) minmax(390px,.88fr);
        gap:0;
        padding:0;
        overflow:hidden;
        border:0;
        border-radius:30px;
        background:linear-gradient(90deg,#0b1b36,#f8fafc 56%);
        box-shadow:0 30px 80px #02061780;
        backdrop-filter:blur(14px);
      }
      .platform-login-host .landing-hero-copy {
        display:flex;
        min-height:585px;
        padding:34px 58px;
        position:relative;
        isolation:isolate;
        overflow:hidden;
        border-radius:30px 0 0 30px;
        flex-direction:column;
        justify-content:space-between;
        color:#fff;
      }
      .platform-login-host .landing-hero-copy::before {
        content:"";
        position:absolute;
        inset:0;
        z-index:-2;
        border-radius:inherit;
        background:url("./assets/brand/cybergovernance-hero-v1.png") center/cover no-repeat;
        background-image:image-set(url("./assets/brand/cybergovernance-hero-v1.webp") type("image/webp"), url("./assets/brand/cybergovernance-hero-v1.png") type("image/png"));
        opacity:.3;
        filter:saturate(.9) contrast(1.05);
        transform:scale(1.02);
      }
      .platform-login-host .landing-hero-copy::after {
        content:"";
        position:absolute;
        inset:0;
        z-index:-1;
        border-radius:inherit;
        background:linear-gradient(100deg,#0b1b36f2 0%,#102341e8 56%,#101d39c7 100%);
      }
      .platform-login-host .landing-hero-copy > :not(.app-login-intro) {
        display:none !important;
      }
      .app-login-intro {
        display:none;
      }
      .platform-login-host .app-login-intro {
        display:flex;
        min-height:100%;
        flex-direction:column;
        justify-content:space-between;
        gap:34px;
      }
      .app-login-brand {
        display:inline-flex;
        align-items:center;
        width:100%;
        max-width:100%;
        min-width:0;
        gap:18px;
        color:#fff;
        text-decoration:none;
        font-size:clamp(16px, 1.7vw, 20px);
        font-weight:900;
        letter-spacing:-.03em;
        line-height:1.15;
      }
      .app-login-brand span:last-child {
        min-width:0;
        overflow-wrap:anywhere;
        text-wrap:balance;
      }
      .app-login-brand:focus-visible {
        outline:3px solid #93c5fd;
        outline-offset:5px;
        border-radius:18px;
      }
      .app-login-brand .login-brand-mark {
        width:64px;
        height:64px;
        flex-basis:64px;
        flex-shrink:0;
      }
      .app-login-eyebrow {
        margin:0 0 18px;
        color:#93c5fd;
        font-size:12px;
        font-weight:900;
        letter-spacing:.18em;
        text-transform:uppercase;
      }
      .app-login-intro h1 {
        max-width:520px;
        margin:0;
        font-size:clamp(42px,4.6vw,54px);
        line-height:1.02;
        letter-spacing:-.055em;
      }
      .app-login-intro p {
        max-width:520px;
        margin:18px 0 0;
        color:#dbe7f7;
        font-size:16px;
        line-height:1.55;
      }
      .app-login-trust {
        display:grid;
        grid-template-columns:repeat(3,1fr);
        gap:9px;
      }
      .app-login-trust span {
        min-height:52px;
        padding:12px 10px;
        border:1px solid #ffffff24;
        border-radius:12px;
        background:#ffffff0b;
        color:#dbeafe;
        font-size:11px;
        font-weight:800;
        line-height:1.25;
      }
      .platform-login-host .login-commercial-panel {
        width:100%;
        display:flex;
        align-items:center;
        padding:12px;
        border-radius:0 30px 30px 0;
        overflow:hidden;
        background:#f8fafc;
        box-shadow:none;
      }
      .platform-login-host .login-commercial-panel .login-form {
        max-width:none;
        padding:86px 48px 68px;
        border-radius:18px;
        border:0;
        background:transparent;
        box-shadow:none;
      }
      .platform-login-host .login-form .login-mobile-brand {
        display:none !important;
      }
      .platform-login-host .login-form h2 {
        font-size:30px;
      }
      .platform-login-host .login-form input {
        height:46px;
      }
      .platform-login-host .login-form .login-submit {
        margin-top:28px;
      }
      .platform-login-host .landing-brand {
        width:100%;
        max-width:100%;
        min-width:0;
        color:#fff;
        text-shadow:0 8px 24px #02061766;
      }
      .platform-login-host .landing-brand span:last-child {
        min-width:0;
        overflow-wrap:anywhere;
        text-wrap:balance;
        line-height:1.15;
        font-size:clamp(16px, 1.65vw, 20px);
      }
      .platform-login-host .landing-brand .login-brand-mark {
        width:52px;
        height:52px;
        flex-basis:52px;
        flex-shrink:0;
      }
      @media (max-width:640px) {
        .platform-login-host .landing-nav {
          top:22px;
          left:18px;
          right:18px;
        }
        .platform-login-host main {
          padding:110px 12px 34px;
        }
        .platform-login-host .landing-hero {
          min-height:0;
          grid-template-columns:1fr;
        }
        .platform-login-host .landing-hero-copy {
          min-height:0;
          padding:26px 24px 20px;
        }
        .app-login-intro h1 {
          font-size:34px;
        }
        .app-login-trust {
          grid-template-columns:1fr;
        }
        .platform-login-host .login-commercial-panel {
          padding:12px;
          border-radius:24px;
        }
        .platform-login-host .login-commercial-panel .login-form {
          padding:24px 16px 12px;
        }
      }
      .landing-brand-link,
      .platform-brand-link {
        color:inherit;
        text-decoration:none;
      }
      .landing-brand-link:focus-visible,
      .platform-brand-link:focus-visible {
        outline:3px solid #93c5fd;
        outline-offset:4px;
        border-radius:16px;
      }
      .landing-mini-proof {
        display:grid;
        gap:8px;
        padding:0 6px 4px;
        color:#475569;
        font-size:12px;
        line-height:1.4;
      }
      .landing-proof-card {
        display:grid;
        grid-template-columns:auto 1fr;
        gap:10px;
        align-items:start;
        padding:12px;
        border:1px solid #dbeafe;
        border-radius:18px;
        background:#ffffffcc;
      }
      .landing-proof-card strong {
        display:block;
        color:#0f172a;
        font-size:12px;
      }
      .landing-proof-card span:last-child {
        color:#64748b;
        font-size:11px;
      }
      .commercial-access-card {
        display:grid;
        gap:12px;
        padding:18px;
        border:1px solid #dbeafe;
        border-radius:22px;
        background:#fff;
      }
      .commercial-access-card h3 {
        margin:0;
        color:#0f172a;
        font-size:22px;
        letter-spacing:-.035em;
      }
      .commercial-access-card p {
        margin:0;
        color:#475569;
        line-height:1.55;
      }
      .commercial-access-actions {
        display:grid;
        gap:10px;
        margin-top:4px;
      }
      .commercial-access-actions .landing-cta {
        width:100%;
        min-height:48px;
      }
      .commercial-access-actions .landing-cta.secondary {
        color:#1e3a8a;
        background:#eff6ff;
        border-color:#bfdbfe;
      }
      .commercial-snapshot {
        display:grid;
        gap:12px;
      }
      .commercial-snapshot-card {
        padding:16px;
        border:1px solid #dbeafe;
        border-radius:20px;
        background:#fff;
        box-shadow:0 16px 38px #02061710;
      }
      .commercial-snapshot-card span {
        color:#2563eb;
        font-size:11px;
        font-weight:950;
        letter-spacing:.1em;
        text-transform:uppercase;
      }
      .commercial-snapshot-card strong {
        display:block;
        margin-top:5px;
        color:#0f172a;
        font-size:21px;
        letter-spacing:-.04em;
      }
      .commercial-snapshot-card p {
        margin:8px 0 0;
        color:#475569;
        line-height:1.45;
      }
      .landing-section {
        margin-top:18px;
        padding:28px;
        border:1px solid #ffffff20;
        border-radius:30px;
        background:#ffffff0d;
        box-shadow:0 24px 70px #0206173f;
        backdrop-filter:blur(14px);
      }
      .landing-section.light {
        background:linear-gradient(180deg,#ffffff,#f8fafc);
        color:#0f172a;
      }
      .landing-section h2 {
        margin:0;
        font-size:clamp(28px,3.4vw,44px);
        line-height:1.05;
        letter-spacing:-.045em;
      }
      .landing-section-lead {
        max-width:780px;
        margin:12px 0 0;
        color:#cbd5e1;
        line-height:1.6;
        font-size:16px;
      }
      .landing-section.light .landing-section-lead { color:#475569; }
      .module-grid {
        display:grid;
        grid-template-columns:repeat(3,minmax(0,1fr));
        gap:18px;
        margin-top:26px;
      }
      .module-card,
      .value-card,
      .plan-card {
        border:1px solid #e2e8f0;
        border-radius:26px;
        padding:22px;
        background:#fff;
        color:#0f172a;
        box-shadow:0 18px 46px #02061712;
        transition:transform .22s ease, box-shadow .22s ease, border-color .22s ease, background .22s ease;
      }
      .module-card {
        position:relative;
        overflow:hidden;
        min-height:292px;
        padding:18px;
        isolation:isolate;
        background:
          radial-gradient(circle at 88% 12%, #dbeafe 0, transparent 30%),
          linear-gradient(180deg,#ffffff,#fbfdff) padding-box,
          linear-gradient(135deg,#dbeafe,#f5d0fe,#dcfce7) border-box;
        border:1px solid transparent;
      }
      .module-card::before {
        content:"";
        position:absolute;
        z-index:0;
        width:170px;
        height:170px;
        right:-58px;
        top:-74px;
        border-radius:999px;
        background:conic-gradient(from 90deg,#2563eb,#7c3aed,#22c55e,#38bdf8,#2563eb);
        opacity:.12;
        filter:blur(2px);
        animation:moduleAura 9s ease-in-out infinite;
      }
      .module-card::after {
        content:"";
        position:absolute;
        left:22px;
        right:22px;
        bottom:0;
        height:3px;
        border-radius:999px 999px 0 0;
        background:linear-gradient(90deg,#2563eb,#7c3aed,#22c55e);
        opacity:.75;
      }
      .module-card > * {
        position:relative;
        z-index:1;
      }
      .module-card:hover,
      .value-card:hover,
      .plan-card:hover {
        transform:translateY(-4px);
        border-color:#93c5fd;
        box-shadow:0 26px 60px #2563eb22;
      }
      .module-visual {
        position:relative;
        height:96px;
        margin-bottom:16px;
        overflow:hidden;
        border:1px solid #dbeafe;
        border-radius:22px;
        background:
          radial-gradient(circle at 18% 25%, #eff6ff 0, transparent 32%),
          linear-gradient(135deg,#f8fbff,#eef6ff 56%,#f3ecff);
        box-shadow:inset 0 1px 0 #ffffffcc,0 16px 34px #2563eb12;
      }
      .module-visual::before {
        content:"";
        position:absolute;
        width:145px;
        height:145px;
        right:-42px;
        top:-64px;
        border-radius:999px;
        background:radial-gradient(circle,#38bdf8 0,#2563eb 34%,#7c3aed 66%,transparent 72%);
        opacity:.2;
        animation:moduleOrb 7.5s ease-in-out infinite;
      }
      .module-visual::after {
        content:"";
        position:absolute;
        inset:0;
        background:linear-gradient(120deg,transparent 0 34%,#ffffff99 47%,transparent 58% 100%);
        transform:translateX(-115%);
        animation:moduleSheen 6.2s ease-in-out infinite;
      }
      .module-icon {
        width:48px;
        height:48px;
        position:absolute;
        left:14px;
        top:14px;
        z-index:3;
        display:grid;
        place-items:center;
        border-radius:16px;
        background:linear-gradient(135deg,#ffffffd9,#dbeafe 46%,#ede9fe);
        color:#1d4ed8;
        font-size:22px;
        box-shadow:0 14px 30px #2563eb18, inset 0 0 0 1px #ffffffaa;
        backdrop-filter:blur(10px);
      }
      .module-shape,
      .module-line,
      .module-dot {
        position:absolute;
        z-index:2;
        display:block;
      }
      .module-shape {
        border:1px solid #93c5fd8a;
        background:linear-gradient(135deg,#ffffffc9,#dbeafea8);
        box-shadow:0 12px 24px #2563eb1a;
      }
      .module-line {
        height:4px;
        border-radius:999px;
        background:linear-gradient(90deg,#2563eb,#7c3aed,#22c55e);
        opacity:.78;
        transform-origin:left center;
      }
      .module-dot {
        width:9px;
        height:9px;
        border-radius:999px;
        background:#22c55e;
        box-shadow:0 0 0 5px #22c55e18,0 0 18px #22c55e66;
      }
      .module-shape.shape-a { right:22px; top:18px; width:86px; height:34px; border-radius:14px; animation:moduleFloatA 5.4s ease-in-out infinite; }
      .module-shape.shape-b { right:74px; bottom:14px; width:64px; height:46px; border-radius:18px; animation:moduleFloatB 6s ease-in-out infinite; }
      .module-shape.shape-c { right:16px; bottom:18px; width:38px; height:38px; border-radius:14px; animation:modulePulse 4.8s ease-in-out infinite; }
      .module-line.line-a { left:76px; top:32px; width:76px; animation:moduleTrace 4.9s ease-in-out infinite; }
      .module-line.line-b { left:76px; top:52px; width:106px; animation:moduleTrace 5.7s ease-in-out infinite reverse; }
      .module-line.line-c { left:76px; top:72px; width:58px; animation:moduleTrace 5.2s ease-in-out infinite; }
      .module-dot.dot-a { left:88px; bottom:16px; animation:moduleBlink 3.8s ease-in-out infinite; }
      .module-dot.dot-b { right:54px; top:24px; background:#38bdf8; box-shadow:0 0 0 5px #38bdf818,0 0 18px #38bdf866; animation:moduleBlink 4.2s ease-in-out infinite .4s; }
      .module-dot.dot-c { right:32px; bottom:28px; background:#7c3aed; box-shadow:0 0 0 5px #7c3aed18,0 0 18px #7c3aed66; animation:moduleBlink 4.4s ease-in-out infinite .8s; }
      .module-card[data-module="strategy"] .shape-a { width:54px; height:54px; right:50px; top:18px; border-radius:16px; transform:rotate(45deg); }
      .module-card[data-module="strategy"] .shape-b { width:118px; height:2px; right:20px; bottom:26px; border-radius:999px; transform:rotate(-18deg); }
      .module-card[data-module="strategy"] .shape-c { width:18px; height:18px; right:24px; top:20px; border-radius:999px; }
      .module-card[data-module="risk"] .shape-a {
        width:88px;
        height:62px;
        right:20px;
        top:17px;
        border-radius:14px;
        background:
          linear-gradient(90deg,transparent 31%,#93c5fd66 32% 34%,transparent 35% 65%,#93c5fd66 66% 68%,transparent 69%),
          linear-gradient(0deg,transparent 31%,#93c5fd66 32% 34%,transparent 35% 65%,#93c5fd66 66% 68%,transparent 69%),
          linear-gradient(135deg,#ffffffd8,#dbeafe);
      }
      .module-card[data-module="risk"] .shape-b { width:42px; height:42px; right:122px; bottom:22px; transform:rotate(45deg); border-radius:10px; }
      .module-card[data-module="evidence"] .shape-a { width:70px; height:78px; right:34px; top:10px; border-radius:14px 14px 18px 18px; }
      .module-card[data-module="evidence"] .shape-b { width:84px; height:10px; right:26px; top:48px; border-radius:999px; background:linear-gradient(90deg,#38bdf8,#ffffff,#22c55e); animation:moduleScan 3.2s ease-in-out infinite; }
      .module-card[data-module="ai"] .shape-a,
      .module-card[data-module="ai"] .shape-b,
      .module-card[data-module="ai"] .shape-c { border-radius:999px; }
      .module-card[data-module="ai"] .shape-a { width:46px; height:46px; right:78px; top:14px; }
      .module-card[data-module="ai"] .shape-b { width:32px; height:32px; right:26px; top:34px; }
      .module-card[data-module="ai"] .shape-c { width:26px; height:26px; right:118px; bottom:14px; }
      .module-card[data-module="resilience"] .shape-a { width:110px; height:42px; right:22px; top:28px; border-radius:999px; background:transparent; }
      .module-card[data-module="resilience"] .shape-b { width:78px; height:4px; right:38px; bottom:28px; border-radius:999px; background:linear-gradient(90deg,#22c55e,#38bdf8); }
      .module-card[data-module="third"] .shape-a { width:42px; height:42px; right:98px; top:20px; border-radius:999px; }
      .module-card[data-module="third"] .shape-b { width:42px; height:42px; right:30px; bottom:18px; border-radius:999px; }
      .module-card[data-module="third"] .shape-c { width:34px; height:34px; right:126px; bottom:18px; border-radius:999px; }
      .module-card[data-module="privacy"] .shape-a { width:72px; height:58px; right:42px; bottom:16px; border-radius:18px; }
      .module-card[data-module="privacy"] .shape-b { width:42px; height:38px; right:57px; top:16px; border-radius:18px 18px 6px 6px; background:transparent; }
      .module-card[data-module="audit"] .shape-a,
      .module-card[data-module="audit"] .shape-b,
      .module-card[data-module="audit"] .shape-c { left:82px; right:auto; width:108px; height:13px; border-radius:999px; }
      .module-card[data-module="audit"] .shape-a { top:24px; }
      .module-card[data-module="audit"] .shape-b { top:46px; animation-delay:.3s; }
      .module-card[data-module="audit"] .shape-c { top:68px; animation-delay:.6s; }
      @keyframes moduleAura {
        0%,100% { transform:rotate(0deg) scale(1); opacity:.12; }
        50% { transform:rotate(18deg) scale(1.12); opacity:.2; }
      }
      @keyframes moduleOrb {
        0%,100% { transform:translate3d(0,0,0) scale(1); }
        50% { transform:translate3d(-16px,18px,0) scale(1.08); }
      }
      @keyframes moduleSheen {
        0%,34% { transform:translateX(-115%); opacity:0; }
        48% { opacity:.72; }
        64%,100% { transform:translateX(115%); opacity:0; }
      }
      @keyframes moduleFloatA {
        0%,100% { transform:translateY(0); }
        50% { transform:translateY(-8px); }
      }
      @keyframes moduleFloatB {
        0%,100% { transform:translate(0,0); }
        50% { transform:translate(-6px,6px); }
      }
      @keyframes modulePulse {
        0%,100% { transform:scale(1); opacity:.72; }
        50% { transform:scale(1.12); opacity:1; }
      }
      @keyframes moduleTrace {
        0%,100% { transform:scaleX(.55); opacity:.42; }
        50% { transform:scaleX(1); opacity:.92; }
      }
      @keyframes moduleBlink {
        0%,100% { transform:scale(.9); opacity:.6; }
        50% { transform:scale(1.15); opacity:1; }
      }
      @keyframes moduleScan {
        0%,100% { transform:translateY(-18px); opacity:.42; }
        50% { transform:translateY(18px); opacity:.95; }
      }
      .module-card h3,
      .value-card h3,
      .plan-card h3 {
        margin:14px 0 8px;
        font-size:18px;
        letter-spacing:-.02em;
      }
      .module-card p,
      .value-card p,
      .plan-card p {
        margin:0;
        color:#475569;
        line-height:1.58;
        font-size:15px;
      }
      .value-grid {
        display:grid;
        grid-template-columns:repeat(4,minmax(0,1fr));
        gap:18px;
        margin-top:24px;
      }
      .value-card {
        background:
          linear-gradient(180deg,#ffffff,#f8fbff);
      }
      .value-card:first-child {
        background:
          radial-gradient(circle at 92% 16%, #bfdbfe 0, transparent 34%),
          linear-gradient(135deg,#ffffff,#f8fbff);
      }
      .norm-cloud {
        display:grid;
        grid-template-columns:repeat(auto-fit,minmax(150px,1fr));
        gap:12px;
        margin-top:26px;
      }
      .norm-cloud span {
        min-height:48px;
        display:flex;
        align-items:center;
        justify-content:center;
        padding:10px 14px;
        border:1px solid #ffffff2e;
        border-radius:16px;
        background:linear-gradient(180deg,#ffffff12,#02061738);
        color:#dbeafe;
        font-size:13px;
        font-weight:850;
        text-align:center;
        box-shadow:0 16px 34px #02061722;
        transition:transform .18s ease, border-color .18s ease, background .18s ease;
      }
      .norm-cloud span:hover {
        transform:translateY(-3px);
        border-color:#93c5fd99;
        background:linear-gradient(180deg,#ffffff18,#0f172a66);
      }
      .plans-grid {
        display:grid;
        grid-template-columns:repeat(3,minmax(0,1fr));
        gap:18px;
        margin-top:26px;
      }
      .plan-card.featured {
        border-color:#2563eb;
        background:
          radial-gradient(circle at 90% 10%, #bfdbfe 0, transparent 33%),
          linear-gradient(180deg,#ffffff,#f8fbff);
        box-shadow:0 28px 70px #2563eb2b;
        transform:translateY(-5px);
      }
      .plan-price {
        margin:10px 0 12px;
        font-size:34px;
        font-weight:950;
        letter-spacing:-.05em;
      }
      .plan-card ul {
        margin:14px 0 0;
        padding-left:18px;
        color:#475569;
        line-height:1.75;
        font-size:15px;
      }
      .paypal-note {
        margin-top:16px;
        padding:14px 16px;
        border:1px dashed #93c5fd;
        border-radius:18px;
        background:#eff6ff;
        color:#1e3a8a;
        line-height:1.5;
      }
      .landing-final {
        display:grid;
        grid-template-columns:1fr auto;
        gap:18px;
        align-items:center;
        margin-top:18px;
        padding:28px;
        border-radius:30px;
        background:linear-gradient(135deg,#2563eb,#7c3aed);
        box-shadow:0 30px 80px #2563eb55;
      }
      .landing-final h2 {
        margin:0;
        font-size:clamp(26px,3vw,40px);
        letter-spacing:-.04em;
      }
      .landing-final p {
        margin:10px 0 0;
        max-width:720px;
        color:#dbeafe;
        line-height:1.5;
      }
      .contact-line {
        margin-top:12px;
        color:#dbeafe;
      }
      .contact-email-button {
        border:0;
        padding:0;
        background:transparent;
        color:#fff;
        font:inherit;
        font-weight:900;
        cursor:pointer;
        text-decoration:underline;
        text-underline-offset:3px;
      }
      .demo-inline-section {
        display:grid;
        grid-template-columns:minmax(0,.88fr) minmax(420px,1.12fr);
        gap:22px;
        align-items:stretch;
        overflow:hidden;
        scroll-margin-top:24px;
        background:
          radial-gradient(circle at 6% 8%, #dbeafe 0, transparent 30%),
          radial-gradient(circle at 96% 92%, #ede9fe 0, transparent 28%),
          linear-gradient(180deg,#ffffff,#f8fbff);
      }
      .demo-inline-copy {
        display:flex;
        flex-direction:column;
        justify-content:space-between;
        gap:24px;
        padding:10px 0;
      }
      .demo-inline-copy h2 {
        max-width:560px;
      }
      .demo-inline-copy p {
        max-width:620px;
        color:#475569;
        line-height:1.62;
      }
      .demo-call-list {
        display:grid;
        gap:10px;
        margin:0;
        padding:0;
        list-style:none;
      }
      .demo-call-list li {
        padding:14px 16px;
        border:1px solid #dbeafe;
        border-radius:18px;
        background:#ffffffcc;
        color:#334155;
        line-height:1.46;
        box-shadow:0 12px 28px #0206170d;
      }
      .demo-inline-card {
        border:1px solid #dbeafe;
        border-radius:30px;
        background:
          radial-gradient(circle at 0 0,#dbeafe 0,transparent 34%),
          linear-gradient(180deg,#ffffff,#f8fafc);
        box-shadow:0 28px 76px #02061718;
      }
      .demo-inline-card .demo-dialog-head {
        padding:24px 24px 8px;
      }
      .demo-inline-card .demo-close {
        display:none;
      }
      @keyframes commercialRise {
        from {
          opacity:0;
          transform:translateY(18px);
        }
        to {
          opacity:1;
          transform:translateY(0);
        }
      }
      @keyframes commercialGlow {
        0%,100% { opacity:.42; transform:translate3d(0,0,0) scale(1); }
        50% { opacity:.72; transform:translate3d(0,-10px,0) scale(1.04); }
      }
      html:not(.platform-login-host) .landing-hero-copy,
      html:not(.platform-login-host) .landing-section,
      html:not(.platform-login-host) .landing-final {
        animation:commercialRise .72s ease both;
      }
      html:not(.platform-login-host) .module-card,
      html:not(.platform-login-host) .value-card,
      html:not(.platform-login-host) .plan-card,
      html:not(.platform-login-host) .norm-cloud span,
      html:not(.platform-login-host) .demo-call-list li {
        animation:commercialRise .64s ease both;
      }
      html:not(.platform-login-host) .module-card:nth-child(2),
      html:not(.platform-login-host) .value-card:nth-child(2),
      html:not(.platform-login-host) .plan-card:nth-child(2),
      html:not(.platform-login-host) .norm-cloud span:nth-child(2n) {
        animation-delay:.06s;
      }
      html:not(.platform-login-host) .module-card:nth-child(3),
      html:not(.platform-login-host) .value-card:nth-child(3),
      html:not(.platform-login-host) .plan-card:nth-child(3),
      html:not(.platform-login-host) .norm-cloud span:nth-child(3n) {
        animation-delay:.12s;
      }
      html:not(.platform-login-host) .landing-hero-copy::after {
        animation:wwwAppProdOverlayBreath 9s ease-in-out infinite;
      }
      @media (prefers-reduced-motion: reduce) {
        .commercial-landing::before,
        html:not(.platform-login-host) .landing-hero-copy::before,
        .landing-hero-copy::after,
        html:not(.platform-login-host) .landing-hero-copy .landing-command-preview::after,
        html:not(.platform-login-host) .landing-hero-copy,
        html:not(.platform-login-host) .landing-section,
        html:not(.platform-login-host) .landing-final,
        html:not(.platform-login-host) .module-card,
        html:not(.platform-login-host) .value-card,
        html:not(.platform-login-host) .plan-card,
        html:not(.platform-login-host) .norm-cloud span,
        html:not(.platform-login-host) .demo-call-list li,
        .module-card::before,
        .module-visual::before,
        .module-visual::after,
        .module-shape,
        .module-line,
        .module-dot {
          animation:none;
        }
      }
      .demo-modal {
        position:fixed;
        inset:0;
        z-index:20000;
        display:none;
        place-items:center;
        padding:22px;
        background:rgba(2,6,23,.72);
        backdrop-filter:blur(14px);
      }
      .demo-modal.on { display:grid; }
      .demo-dialog {
        width:min(560px,100%);
        max-height:calc(100vh - 44px);
        overflow:auto;
        border:1px solid #bfdbfe66;
        border-radius:28px;
        background:
          radial-gradient(circle at 0 0,#dbeafe 0,transparent 34%),
          linear-gradient(180deg,#ffffff,#f8fafc);
        color:#0f172a;
        box-shadow:0 30px 90px #02061799;
      }
      .demo-dialog-head {
        display:flex;
        align-items:flex-start;
        justify-content:space-between;
        gap:16px;
        padding:24px 24px 12px;
      }
      .demo-dialog-head h2 {
        margin:0;
        font-size:28px;
        letter-spacing:-.04em;
      }
      .demo-dialog-head p {
        margin:8px 0 0;
        color:#475569;
        line-height:1.45;
      }
      .demo-close {
        flex:0 0 auto;
        width:38px;
        height:38px;
        border:1px solid #cbd5e1;
        border-radius:999px;
        background:#fff;
        color:#0f172a;
        font-size:22px;
        line-height:1;
        cursor:pointer;
      }
      .demo-request-form {
        display:grid;
        gap:12px;
        padding:10px 24px 24px;
      }
      .demo-form-grid {
        display:grid;
        grid-template-columns:1fr 1fr;
        gap:12px;
      }
      .demo-field label {
        margin:0 0 6px;
        color:#334155;
        font-size:12px;
      }
      .demo-field input,
      .demo-field select,
      .demo-field textarea {
        width:100%;
        border:1px solid #cbd5e1;
        border-radius:14px;
        background:#fff;
        color:#0f172a;
        padding:12px 13px;
      }
      .demo-field textarea {
        min-height:92px;
        resize:vertical;
      }
      .demo-form-note {
        margin:0;
        color:#64748b;
        font-size:12px;
        line-height:1.45;
      }
      #demoRequestStatus[data-state="success"] {
        color:#047857;
        font-weight:800;
      }
      #demoRequestStatus[data-state="error"] {
        color:#b91c1c;
        font-weight:800;
      }
      #demoRequestStatus[data-state="sending"] {
        color:#1d4ed8;
        font-weight:800;
      }
      .demo-form-actions {
        display:flex;
        flex-wrap:wrap;
        justify-content:flex-end;
        gap:10px;
        margin-top:4px;
      }
      .demo-form-actions [data-demo-close] {
        display:none;
      }
      .demo-form-actions .landing-cta.secondary {
        color:#1e3a8a;
        background:#eff6ff;
        border-color:#bfdbfe;
      }
      @media (max-width:980px) {
        .landing-hero,
        .plans-grid {
          grid-template-columns:1fr;
        }
        .demo-inline-section {
          grid-template-columns:1fr;
        }
        .module-grid,
        .value-grid {
          grid-template-columns:repeat(2,minmax(0,1fr));
        }
        .value-card:first-child {
          grid-column:auto;
        }
        .command-flow { grid-template-columns:repeat(2,1fr); }
      }
      @media (max-width:700px) {
        .landing-wrap { width:min(100% - 20px,1220px); padding-top:12px; }
        html:not(.platform-login-host) .commercial-landing main {
          padding-top:98px;
        }
        html:not(.platform-login-host) .landing-section,
        html:not(.platform-login-host) .landing-final,
        html:not(.platform-login-host) #plataforma,
        html:not(.platform-login-host) #modulos,
        html:not(.platform-login-host) #normas,
        html:not(.platform-login-host) #planes,
        html:not(.platform-login-host) #demo {
          scroll-margin-top:124px;
        }
        .landing-nav {
          top:4px;
          align-items:flex-start;
          flex-direction:column;
          min-height:52px;
          padding:8px 12px 10px 104px;
          border-radius:24px;
          width:calc(100% - 20px);
        }
        .landing-menu-toggle {
          display:inline-flex;
          margin-top:46px;
        }
        .landing-nav-links {
          display:none;
          flex-direction:column;
          align-items:stretch;
          justify-content:flex-start;
          width:100%;
          gap:9px;
          margin-top:10px;
          padding:4px 0 0;
          border:0;
          border-radius:0;
          background:transparent;
          box-shadow:none;
        }
        .landing-nav.menu-open .landing-nav-links {
          display:flex;
        }
        .landing-hero-copy,
        .landing-section,
        .landing-final { padding:22px; border-radius:24px; }
        .landing-hero h1 {
          letter-spacing:-.018em;
          line-height:.98;
        }
        .module-grid,
        .value-grid,
        .landing-metrics,
        .command-flow {
          grid-template-columns:1fr;
        }
        .value-card:first-child {
          grid-column:auto;
        }
        .landing-brand .login-brand-mark {
          width:78px;
          height:78px;
          flex-basis:78px;
          margin-left:-6px;
          transform:translateY(14px);
        }
        .landing-brand {
          font-size:15px;
          left:12px;
          top:30px;
          gap:8px;
          max-width:calc(100% - 176px);
        }
        .landing-link {
          width:100%;
          min-height:48px;
          justify-content:flex-start;
          padding:0 18px;
          font-size:14px;
          border-color:#60a5fa;
          background:linear-gradient(135deg,#123b73,#342465);
          box-shadow:inset 0 1px 0 #ffffff2f, 0 10px 22px #02061722;
        }
        .landing-link::after {
          content:none;
        }
        .landing-cta {
          width:100%;
          min-height:48px;
          justify-content:center;
          border-radius:16px;
        }
        .landing-nav-links {
          padding-left:0;
          padding-right:0;
          max-width:100%;
        }
        .login-commercial-panel { border-radius:24px; }
        .landing-final { grid-template-columns:1fr; }
        .demo-form-grid { grid-template-columns:1fr; }
      }
      label {
        display: block;
        font-weight: 700;
        margin: 12px 0 5px;
      }
      input,
      select {
        width: 100%;
        padding: 10px;
        border: 1px solid var(--bd);
        border-radius: 8px;
      }
      .btn {
        border: 1px solid var(--bd);
        background: #fff;
        padding: 8px 11px;
        border-radius: 8px;
        font-weight: 700;
        cursor: pointer;
      }
      .pri {
        background: var(--b);
        color: #fff;
        border-color: var(--b);
      }
      .ai-continue.completed:disabled {
        background: #e5e7eb;
        color: #6b7280;
        border-color: #cbd5e1;
        cursor: not-allowed;
        opacity: 1;
      }
      .app {
        display: none;
      }
      .side {
        position: fixed;
        inset: 0 auto 0 0;
        width: 290px;
        background: #0b1120;
        color: #fff;
        padding: 16px;
        overflow: auto;
      }
      .brand {
        display:inline-flex;
        align-items:center;
        gap:8px;
        font-weight: 900;
        font-size: 14px;
        line-height:1;
        color:#fff;
        text-decoration:none;
        letter-spacing:-.025em;
        white-space:nowrap;
      }
      .platform-brand-mark {
        width:34px;
        height:34px;
        flex:0 0 34px;
        display:grid;
        place-items:center;
      }
      .platform-brand-mark img {
        width:100%;
        height:100%;
        object-fit:contain;
        filter:drop-shadow(0 8px 16px #02061766);
      }
      .phase {
        font-size: 10px;
        color: #93c5fd;
        margin: 5px 0 16px;
      }
      .side-head {
        display: flex;
        align-items: center;
        justify-content: space-between;
        gap: 10px;
      }
      .mobile-nav-toggle {
        display: none;
        border: 1px solid #475569;
        background: #111827;
        color: #fff;
        border-radius: 8px;
        padding: 7px 10px;
        cursor: pointer;
      }
      .nav-group {
        border-top: 1px solid #1e293b;
        padding: 4px 0;
      }
      .nav-group-toggle {
        width: 100%;
        display: flex;
        align-items: center;
        justify-content: space-between;
        gap: 8px;
        border: 0;
        background: transparent;
        color: #e2e8f0;
        padding: 9px 6px;
        font-weight: 800;
        text-align: left;
        cursor: pointer;
      }
      .nav-group-toggle .chevron {
        transition: transform 0.18s ease;
      }
      .nav-group-toggle[aria-expanded="true"] .chevron {
        transform: rotate(180deg);
      }
      .nav-group-items[hidden] {
        display: none;
      }
      .nav-group-items .nav {
        padding-left: 12px;
      }
      .nav {
        width: 100%;
        display: flex;
        justify-content: space-between;
        gap: 8px;
        background: 0;
        border: 0;
        color: #aebbd0;
        text-align: left;
        padding: 7px 6px;
        border-radius: 7px;
        cursor: pointer;
      }
      .nav:hover,
      .nav.on {
        background: #1f2937;
        color: #fff;
      }
      .nav-copilot {
        margin-top: 10px;
        border: 1px solid #7c3aed;
        background: #312e81;
        color: #fff;
        padding: 10px 8px;
      }
      .tag {
        font-size: 9px;
        color: #c4b5fd;
      }
      .main {
        margin-left: 0;
        padding: 24px;
      }
      /* Navegación superior: las categorías se despliegan verticalmente bajo cada botón. */
      .side {
        position: sticky;
        top: 0;
        z-index: 120;
        width: auto;
        min-height: 0;
        display:flex;
        align-items:center;
        gap:16px;
        padding:8px 112px 8px 18px;
        overflow: visible;
        border-bottom:1px solid #ffffff1c;
        background:
          linear-gradient(90deg,rgba(8,35,58,.88),rgba(11,22,48,.88) 52%,rgba(37,16,68,.84)),
          rgba(2,6,23,.82);
        box-shadow:0 16px 42px #02061745;
        backdrop-filter:blur(18px) saturate(150%);
        -webkit-backdrop-filter:blur(18px) saturate(150%);
      }
      .side-head { flex:0 0 auto; margin:0; min-width:max-content; }
      #navPanel { flex:1 1 auto; min-width:0; max-width:1500px; margin:0; }
      .side .brand { font-size:14px; }
      .phase { display:none; }
      #nav {
        display:flex;
        flex-wrap:nowrap;
        align-items:center;
        gap:7px;
        overflow-x:auto;
        overflow-y:visible;
        padding:2px 0 3px;
        scrollbar-width:thin;
      }
      .nav-group { position: relative; flex: 0 0 auto; border-top: 0; padding: 0; }
      .nav-group-toggle {
        width:auto;
        min-height:36px;
        white-space:nowrap;
        border:1px solid #ffffff21;
        border-radius:999px;
        padding:8px 12px;
        font-size:13px;
        background:linear-gradient(135deg,#ffffff13,#ffffff08);
        color:#e2e8f0;
        box-shadow:inset 0 1px 0 #ffffff1f;
        transition:transform .16s ease, border-color .16s ease, background .16s ease, color .16s ease;
      }
      .nav-group-toggle:hover,
      .nav-group-toggle[aria-expanded="true"] {
        transform:translateY(-1px);
        border-color:#93c5fd66;
        color:#fff;
        background:linear-gradient(135deg,#2563eb45,#7c3aed32);
      }
      .nav-group-items {
        position:fixed;
        top:auto;
        left:auto;
        min-width:258px;
        padding:8px;
        background:linear-gradient(180deg,#0b1120f2,#111827ee);
        border:1px solid #ffffff22;
        border-radius:16px;
        box-shadow:0 18px 38px #020617a6;
        z-index:80;
        backdrop-filter:blur(16px) saturate(145%);
        -webkit-backdrop-filter:blur(16px) saturate(145%);
      }
      .nav-group-items { max-width: min(320px, calc(100vw - 24px)); max-height: min(70vh, 520px); overflow-y: auto; }
      #nav .nav-group:nth-last-child(-n+2) .nav-group-items { left: auto; right: 0; }
      .nav-group-items .nav {
        width:100%;
        padding:9px 10px;
        border:1px solid transparent;
        border-radius:12px;
      }
      .nav-group-items .nav:hover,
      .nav-group-items .nav.on {
        background:linear-gradient(135deg,#2563eb38,#7c3aed22);
        border-color:#93c5fd45;
      }
      .nav-signout {
        margin-top:8px;
        border-top:1px solid #ffffff1f;
        color:#fecaca;
      }
      .nav-signout:hover {
        color:#fff;
        background:linear-gradient(135deg,#dc262638,#7c3aed22);
      }
      .nav-signout .tag {
        max-width:150px;
        overflow:hidden;
        text-overflow:ellipsis;
        white-space:nowrap;
        color:#fca5a5;
      }
      .nav-copilot { display:none; }
      .top {
        display: block;
        position: relative;
        z-index: 5;
        background: transparent;
        padding: 0;
        margin: 0;
      }
      .top > div:first-child > small,
      .top > div:first-child > h1,
      .top > div:first-child > #org,
      .session-status {
        display:none !important;
      }
      .session-card {
        display:grid;
        grid-template-columns:auto minmax(0,1fr);
        gap:4px 10px;
        min-width:270px;
        max-width:390px;
        padding:10px 12px;
        border:1px solid #dbeafe;
        border-radius:16px;
        background:linear-gradient(135deg,#ffffff,#f8fbff);
        box-shadow:0 12px 28px #0f172a12;
        font-size:12px;
        align-items:center;
      }
      .session-avatar {
        grid-row:1 / span 3;
        width:36px;
        height:36px;
        display:grid;
        place-items:center;
        border-radius:12px;
        background:linear-gradient(135deg,#2563eb,#14b8a6);
        color:#fff;
        font-weight:900;
        letter-spacing:.02em;
        box-shadow:0 10px 22px #2563eb33;
      }
      .session-card .session-label {
        color:#64748b;
        font-size:11px;
        font-weight:750;
        letter-spacing:.04em;
        text-transform:uppercase;
      }
      .session-card b {
        overflow:hidden;
        text-overflow:ellipsis;
        white-space:nowrap;
        color:#0f172a;
        font-size:13px;
      }
      .session-meta {
        display:flex;
        gap:5px;
        flex-wrap:wrap;
      }
      .session-pill {
        display:inline-flex;
        align-items:center;
        gap:4px;
        padding:2px 7px;
        border-radius:999px;
        background:#eff6ff;
        color:#1d4ed8;
        font-size:11px;
        font-weight:800;
      }
      .session-pill.role-pill { background:#eef2ff; color:#3730a3; border:1px solid #c7d2fe; }
      .session-pill.env-prod { background:#dcfce7; color:#166534; }
      .session-pill.env-preview { background:#fff7ed; color:#9a3412; }
      .session-pill.env-local { background:#f1f5f9; color:#475569; }
      .organization-switcher {
        display:flex;
        align-items:end;
        gap:8px;
        margin:0 0 14px;
        flex-wrap:wrap;
        padding:10px 12px;
        border:1px solid #dbeafe;
        border-radius:16px;
        background:linear-gradient(135deg,#eff6ff,#ffffff);
      }
      .organization-switcher[hidden] { display:none !important; }
      .organization-switcher label {
        font-size:12px;
        color:var(--muted);
        display:flex;
        flex-direction:column;
        gap:4px;
        min-width:280px;
      }
      .organization-switcher select {
        min-height:34px;
        border:1px solid var(--bd);
        border-radius:10px;
        padding:6px 10px;
        background:#fff;
        color:var(--fg);
        font-weight:700;
      }
      .muted {
        color: var(--m);
      }
      .grid {
        display: grid;
        grid-template-columns: repeat(4, 1fr);
        gap: 12px;
        margin: 16px 0;
      }
      .v {
        font-size: 28px;
        font-weight: 900;
      }
      .detail-link {
        margin-top: 10px;
        padding: 0;
        border: 0;
        background: transparent;
        color: var(--b);
        font-weight: 800;
        cursor: pointer;
      }
      .detail-link:hover,
      .detail-link:focus-visible {
        text-decoration: underline;
      }
      .detail-focus {
        outline: 3px solid #1d4ed8;
        outline-offset: 6px;
        border-radius: 10px;
      }
      .executive-home {
        position: relative;
      }
      .exec-hero {
        position: relative;
        display: grid;
        grid-template-columns: minmax(0, 1.18fr) minmax(280px, 0.82fr);
        gap: 22px;
        min-height: 300px;
        padding: clamp(22px, 4vw, 38px);
        border: 1px solid #1e40af33;
        border-radius: 28px;
        overflow: hidden;
        color: #fff;
        background:
          radial-gradient(circle at 78% 22%, #38bdf866 0, transparent 24%),
          radial-gradient(circle at 16% 88%, #7c3aed55 0, transparent 28%),
          linear-gradient(135deg, #07111f 0%, #10264c 48%, #111827 100%);
        box-shadow: 0 26px 70px #0f172a26;
        isolation: isolate;
      }
      .exec-hero::before {
        content: "";
        position: absolute;
        inset: 0;
        z-index: -3;
        background: url("./assets/brand/cybergovernance-hero-v1.png") center/cover no-repeat;
        background-image:image-set(url("./assets/brand/cybergovernance-hero-v1.webp") type("image/webp"), url("./assets/brand/cybergovernance-hero-v1.png") type("image/png"));
        opacity: 0.2;
        filter: saturate(1.1) contrast(1.08);
      }
      .exec-hero::after {
        content: "";
        position: absolute;
        inset: 0;
        z-index: -2;
        background-image:
          linear-gradient(#ffffff12 1px, transparent 1px),
          linear-gradient(90deg, #ffffff12 1px, transparent 1px);
        background-size: 42px 42px;
        mask-image: linear-gradient(110deg, #000, transparent 82%);
      }
      .exec-hero-content,
      .exec-hero-orbit {
        position: relative;
        z-index: 1;
      }
      .exec-brandline {
        display: inline-flex;
        align-items: center;
        gap: 10px;
        padding: 8px 12px;
        border: 1px solid #ffffff26;
        border-radius: 999px;
        background: #ffffff10;
        color: #dbeafe;
        font-size: 12px;
        font-weight: 850;
        letter-spacing: 0.02em;
      }
      .exec-emblem {
        width: 28px;
        height: 28px;
        display: grid;
        place-items: center;
        border-radius: 9px;
        background: #ffffff;
        box-shadow: 0 8px 22px #38bdf84d;
        overflow: hidden;
      }
      .exec-emblem img {
        width: 100%;
        height: 100%;
        object-fit: contain;
        transform: scale(1.06);
      }
      .exec-title-kicker {
        display:block;
        margin:18px 0 0;
        color:#e0f2fe;
      }
      .exec-title-kicker strong {
        display:block;
        font-size:clamp(18px,2vw,25px);
        line-height:1.15;
        letter-spacing:-.035em;
        text-shadow:0 12px 28px #02061780;
      }
      .exec-hero h2 {
        max-width: 820px;
        margin: 10px 0 12px;
        font-size: clamp(34px, 5vw, 62px);
        line-height: 0.98;
        letter-spacing: -0.055em;
      }
      .exec-hero p {
        max-width: 660px;
        margin: 0;
        color: #cbd5e1;
        font-size: clamp(15px, 1.6vw, 18px);
        line-height: 1.55;
      }
      .exec-value-strip {
        display: flex;
        flex-wrap: wrap;
        gap: 9px;
        margin-top: 22px;
      }
      .exec-value-strip span {
        display: inline-flex;
        align-items: center;
        gap: 7px;
        padding: 9px 11px;
        border: 1px solid #ffffff1f;
        border-radius: 12px;
        background: #ffffff0d;
        color: #e0f2fe;
        font-size: 12px;
        font-weight: 800;
      }
      .exec-value-strip span::before {
        content: "";
        width: 8px;
        height: 8px;
        border-radius: 999px;
        background: #22c55e;
        box-shadow: 0 0 18px #22c55e;
      }
      .exec-hero-orbit {
        display: grid;
        place-items: center;
        min-height: 250px;
      }
      .exec-orb {
        --posture: 0%;
        --posture-color: #22c55e;
        width: clamp(190px, 22vw, 260px);
        height: clamp(190px, 22vw, 260px);
        display: grid;
        place-items: center;
        align-content: center;
        gap: 8px;
        border-radius: 999px;
        background:
          radial-gradient(circle, #0f172a 0 57%, transparent 58%),
          conic-gradient(from 210deg, var(--posture-color) var(--posture), #334155 0);
        box-shadow:
          0 0 0 1px #ffffff1a inset,
          0 30px 70px #02061799,
          0 0 70px #38bdf833;
        animation: execPulse 3.4s ease-in-out infinite;
      }
      .exec-orb span {
        position: relative;
        display: inline-flex;
        align-items: center;
        justify-content: center;
        min-width: 82px;
        padding-bottom: 12px;
        font-size: clamp(44px, 5.1vw, 66px);
        font-weight: 950;
        letter-spacing: -0.06em;
        line-height: 0.86;
        color: #e2e8f0;
        text-shadow: 0 12px 30px #020617;
        z-index: 1;
      }
      .exec-orb span::after {
        content: "";
        position: absolute;
        left: 50%;
        bottom: 2px;
        width: 72%;
        height: 6px;
        border-radius: 999px;
        transform: translateX(-50%);
        background: #fff;
        box-shadow: 0 0 22px #ffffff80;
        z-index: -1;
      }
      .exec-orb span.posture-good { color: #22c55e; }
      .exec-orb span.posture-watch { color: #facc15; }
      .exec-orb span.posture-risk { color: #ef4444; }
      .exec-orb span.posture-empty { color: #fff; }
      .exec-orb span.posture-good::after,
      .exec-orb span.posture-watch::after,
      .exec-orb span.posture-risk::after { background: #fff; box-shadow: 0 0 24px #ffffff99; }
      .exec-orb small {
        color: #93c5fd;
        font-weight: 850;
        letter-spacing: 0.12em;
        text-transform: uppercase;
      }
      .exec-orbit-label {
        position: absolute;
        padding: 8px 11px;
        border: 1px solid #ffffff24;
        border-radius: 999px;
        background: #020617a6;
        color: #e2e8f0;
        font-size: 11px;
        font-weight: 850;
        box-shadow: 0 12px 30px #02061773;
        animation: execFloat 4.2s ease-in-out infinite;
      }
      .exec-orbit-label.one { top: 24px; right: 16px; }
      .exec-orbit-label.two { bottom: 28px; right: 38px; animation-delay: -1.4s; }
      .exec-orbit-label.three { bottom: 58px; left: 8px; animation-delay: -2.2s; }
      .exec-command-grid {
        display: grid;
        grid-template-columns: repeat(4, minmax(0, 1fr));
        gap: 14px;
        margin: 18px 0;
      }
      .exec-kpi {
        position: relative;
        overflow: hidden;
        min-height: 160px;
        padding: 18px;
        border: 1px solid #dbeafe;
        border-radius: 20px;
        background: linear-gradient(180deg, #fff, #f8fbff);
        box-shadow: 0 14px 34px #0f172a0d;
      }
      .exec-kpi::after {
        content: "";
        position: absolute;
        width: 120px;
        height: 120px;
        right: -44px;
        top: -36px;
        border-radius: 999px;
        background: var(--kpi-glow, #2563eb20);
      }
      .exec-kpi span {
        display: block;
        color: #64748b;
        font-size: 12px;
        font-weight: 850;
        letter-spacing: 0.05em;
        text-transform: uppercase;
      }
      .exec-kpi .v {
        margin-top: 9px;
        font-size: clamp(34px, 4vw, 52px);
        line-height: 1;
        letter-spacing: -0.055em;
        color: #0f172a;
      }
      .exec-kpi p {
        min-height: 34px;
        margin: 9px 0 0;
        color: #475569;
        font-size: 12px;
        line-height: 1.4;
      }
      .exec-kpi-danger { --kpi-glow: #ef444433; }
      .exec-kpi-warning { --kpi-glow: #f59e0b33; }
      .exec-kpi-action { --kpi-glow: #2563eb30; }
      .exec-kpi-trust { --kpi-glow: #22c55e30; }
      .exec-kpi-meter {
        height: 7px;
        margin: 13px 0 4px;
        border-radius: 999px;
        background: #e2e8f0;
        overflow: hidden;
      }
      .exec-kpi-meter i {
        display: block;
        width: 0%;
        height: 100%;
        border-radius: inherit;
        background: linear-gradient(90deg, #2563eb, #38bdf8);
        transition: width 0.7s ease;
      }
      .exec-kpi-danger .exec-kpi-meter i { background: linear-gradient(90deg, #ef4444, #f97316); }
      .exec-kpi-warning .exec-kpi-meter i { background: linear-gradient(90deg, #f59e0b, #facc15); }
      .exec-assurance-strip {
        display: grid;
        grid-template-columns: repeat(4, minmax(0, 1fr));
        gap: 12px;
        margin: 0 0 18px;
      }
      .exec-assurance-card {
        position: relative;
        overflow: hidden;
        padding: 15px;
        border: 1px solid #dbeafe;
        border-radius: 18px;
        background: linear-gradient(135deg, #fff, #f8fbff);
        box-shadow: 0 12px 30px #0f172a0a;
      }
      .exec-assurance-card::before {
        content: "";
        position: absolute;
        inset: auto -30px -46px auto;
        width: 110px;
        height: 110px;
        border-radius: 999px;
        background: var(--assurance-glow, #2563eb1f);
      }
      .exec-assurance-card span {
        display: block;
        color: #64748b;
        font-size: 11px;
        font-weight: 900;
        letter-spacing: .06em;
        text-transform: uppercase;
      }
      .exec-assurance-card b {
        display: block;
        margin-top: 7px;
        color: #0f172a;
        font-size: clamp(24px, 3vw, 36px);
        line-height: 1;
      }
      .exec-assurance-card p {
        position: relative;
        margin: 8px 0 0;
        color: #475569;
        font-size: 12px;
        line-height: 1.38;
      }
      .exec-assurance-ok { --assurance-glow: #22c55e2e; }
      .exec-assurance-warn { --assurance-glow: #f59e0b30; }
      .exec-assurance-danger { --assurance-glow: #ef444430; }
      .exec-assurance-info { --assurance-glow: #2563eb2e; }
      .exec-closure-chain {
        display: grid;
        grid-template-columns: 1.1fr repeat(5, minmax(0, 1fr));
        gap: 10px;
        margin: 0 0 18px;
        padding: 14px;
        border: 1px solid #bfdbfe;
        border-radius: 22px;
        background: linear-gradient(135deg, #eff6ff, #ffffff 54%, #f8fafc);
        box-shadow: 0 14px 34px #0f172a0d;
      }
      .exec-closure-head {
        display: flex;
        flex-direction: column;
        justify-content: center;
        gap: 4px;
        padding: 10px 12px;
        border-radius: 16px;
        background: #0f172a;
        color: #fff;
      }
      .exec-closure-head span {
        color: #93c5fd;
        font-size: 10px;
        font-weight: 900;
        letter-spacing: .1em;
        text-transform: uppercase;
      }
      .exec-closure-head b { font-size: 15px; line-height: 1.25; }
      .exec-closure-step {
        position: relative;
        overflow: hidden;
        min-height: 98px;
        padding: 12px;
        border: 1px solid #dbeafe;
        border-radius: 16px;
        background: #fff;
      }
      .exec-closure-step::after {
        content: "";
        position: absolute;
        inset: auto -28px -40px auto;
        width: 86px;
        height: 86px;
        border-radius: 999px;
        background: #2563eb14;
      }
      .exec-closure-step span {
        display: block;
        color: #64748b;
        font-size: 10px;
        font-weight: 900;
        letter-spacing: .08em;
        text-transform: uppercase;
      }
      .exec-closure-step b {
        position: relative;
        z-index: 1;
        display: block;
        margin-top: 7px;
        color: #0f172a;
        font-size: 24px;
        line-height: 1;
      }
      .exec-closure-step small {
        position: relative;
        z-index: 1;
        display: block;
        margin-top: 7px;
        color: #475569;
        line-height: 1.35;
      }
      .exec-closure-verdict {
        display: grid;
        grid-template-columns: minmax(180px, .75fr) minmax(0, 1fr);
        gap: 10px;
        margin: -8px 0 18px;
        padding: 14px;
        border: 1px solid #c7d2fe;
        border-radius: 22px;
        background: linear-gradient(135deg, #ffffff, #eef2ff 56%, #ecfeff);
        box-shadow: 0 14px 34px #0f172a0d;
      }
      .exec-closure-verdict article {
        display: grid;
        gap: 6px;
        padding: 13px;
        border: 1px solid #dbeafe;
        border-radius: 16px;
        background: #fffffff0;
      }
      .exec-closure-verdict span {
        color: #3730a3;
        font-size: 10px;
        font-weight: 900;
        letter-spacing: .08em;
        text-transform: uppercase;
      }
      .exec-closure-verdict b {
        color: #0f172a;
        font-size: clamp(24px, 3vw, 38px);
        line-height: 1;
      }
      .exec-closure-verdict p {
        margin: 0;
        color: #475569;
        font-size: 12px;
        line-height: 1.45;
      }
      .exec-market-gate {
        position: relative;
        overflow: hidden;
        display: grid;
        grid-template-columns: minmax(260px, .82fr) minmax(0, 1.18fr);
        gap: 14px;
        margin: -8px 0 18px;
        padding: 18px;
        border: 1px solid #bae6fd;
        border-radius: 24px;
        background:
          radial-gradient(circle at 8% 8%, #38bdf833, transparent 30%),
          radial-gradient(circle at 92% 10%, #22c55e2e, transparent 28%),
          linear-gradient(135deg, #f8fafc, #eff6ff 52%, #ecfdf5);
        box-shadow: 0 20px 48px #0369a112;
      }
      .exec-market-gate::after {
        content: "";
        position: absolute;
        inset: auto -70px -90px auto;
        width: 220px;
        height: 220px;
        border-radius: 999px;
        background: conic-gradient(from 120deg, #2563eb, #22c55e, #7c3aed, #2563eb);
        opacity: .12;
      }
      .exec-market-gate > * {
        position: relative;
        z-index: 1;
      }
      .exec-market-gate h3 {
        margin: 5px 0 8px;
        color: #0f172a;
        font-size: clamp(22px, 2.4vw, 34px);
        letter-spacing: -.04em;
      }
      .exec-market-gate p {
        margin: 0;
        color: #475569;
        line-height: 1.55;
      }
      .exec-market-grid {
        display: grid;
        grid-template-columns: repeat(4, minmax(0, 1fr));
        gap: 10px;
      }
      .exec-market-grid article {
        display: grid;
        gap: 7px;
        padding: 14px;
        border: 1px solid #bfdbfe;
        border-radius: 18px;
        background: #ffffffe8;
        box-shadow: 0 14px 34px #0369a10d;
      }
      .exec-market-grid span {
        color: #0369a1;
        font-size: 11px;
        font-weight: 950;
        letter-spacing: .04em;
        text-transform: uppercase;
      }
      .exec-market-grid b {
        color: #0f172a;
        font-size: clamp(20px, 2.4vw, 30px);
        line-height: 1.05;
        overflow-wrap: anywhere;
      }
      .exec-market-grid small {
        color: #475569;
        font-size: 12px;
        line-height: 1.45;
      }
      .exec-intel-grid {
        display: grid;
        grid-template-columns: minmax(0, 1.35fr) minmax(320px, 0.65fr);
        gap: 16px;
      }
      .exec-panel {
        border: 1px solid #dbeafe;
        border-radius: 22px;
        background: #fff;
        box-shadow: 0 14px 34px #0f172a0d;
        overflow: hidden;
      }
      .exec-panel-head {
        display: flex;
        align-items: flex-start;
        justify-content: space-between;
        gap: 12px;
        padding: 18px 18px 0;
      }
      .exec-panel h3 {
        margin: 0 0 5px;
        font-size: 18px;
        letter-spacing: -0.02em;
        color: #0f172a;
      }
      .exec-panel p {
        margin: 0;
      }
      .exec-signal {
        display: inline-flex;
        align-items: center;
        gap: 7px;
        padding: 7px 10px;
        border-radius: 999px;
        background: #eff6ff;
        color: #1d4ed8;
        font-size: 12px;
        font-weight: 850;
        white-space: nowrap;
      }
      .exec-signal::before {
        content: "";
        width: 8px;
        height: 8px;
        border-radius: 999px;
        background: #22c55e;
        box-shadow: 0 0 14px #22c55e;
      }
      .exec-risk-list {
        display: grid;
        gap: 10px;
        padding: 16px 18px 18px;
      }
      .exec-attention-queue {
        display: grid;
        grid-template-columns: repeat(2, minmax(0, 1fr));
        gap: 10px;
      }
      .exec-attention-item {
        display: grid;
        grid-template-columns: auto minmax(0, 1fr);
        gap: 10px;
        align-items: start;
        width: 100%;
        padding: 12px;
        border: 1px solid #dbeafe;
        border-radius: 16px;
        background: linear-gradient(135deg, #eff6ff, #fff);
        color: #0f172a;
        text-align: left;
        cursor: pointer;
        transition: transform .18s ease, box-shadow .18s ease, border-color .18s ease;
      }
      .exec-attention-item:hover {
        transform: translateY(-2px);
        border-color: #93c5fd;
        box-shadow: 0 12px 26px rgba(37, 99, 235, 0.14);
      }
      .exec-attention-item span {
        width: 30px;
        height: 30px;
        display: grid;
        place-items: center;
        border-radius: 10px;
        background: #1d4ed8;
        color: #fff;
        font-size: 11px;
        font-weight: 900;
      }
      .exec-attention-item b {
        display: block;
        font-size: 13px;
        line-height: 1.3;
      }
      .exec-attention-item small {
        display: block;
        margin-top: 4px;
        color: #475569;
        line-height: 1.35;
      }
      .exec-attention-item.danger {
        border-color: #fecaca;
        background: linear-gradient(135deg, #fff1f2, #fff);
      }
      .exec-attention-item.danger span {
        background: #dc2626;
      }
      .exec-attention-item.warn {
        border-color: #fed7aa;
        background: linear-gradient(135deg, #fff7ed, #fff);
      }
      .exec-attention-item.warn span {
        background: #ea580c;
      }
      .exec-attention-item.ok {
        border-color: #bbf7d0;
        background: linear-gradient(135deg, #f0fdf4, #fff);
      }
      .exec-attention-item.ok span {
        background: #16a34a;
      }
      .exec-risk-list-title {
        margin-top: 4px;
        color: #475569;
        font-size: 11px;
        font-weight: 900;
        letter-spacing: .08em;
        text-transform: uppercase;
      }
      .exec-risk-row {
        display: grid;
        grid-template-columns: auto minmax(0, 1fr) auto;
        gap: 12px;
        align-items: center;
        padding: 12px;
        border: 1px solid #e2e8f0;
        border-radius: 16px;
        background: linear-gradient(90deg, #f8fafc, #fff);
      }
      .exec-risk-rank {
        width: 34px;
        height: 34px;
        display: grid;
        place-items: center;
        border-radius: 12px;
        background: #0f172a;
        color: #fff;
        font-size: 12px;
        font-weight: 900;
      }
      .exec-risk-row b {
        display: block;
        color: #0f172a;
      }
      .exec-risk-row small {
        display: block;
        margin-top: 3px;
        color: #64748b;
      }
      .exec-risk-score {
        min-width: 78px;
        text-align: right;
        font-weight: 900;
        color: #b91c1c;
      }
      .exec-risk-meter {
        height: 5px;
        margin-top: 7px;
        border-radius: 999px;
        background: #e2e8f0;
        overflow: hidden;
      }
      .exec-risk-meter i {
        display: block;
        width: 0%;
        height: 100%;
        border-radius: inherit;
        background: linear-gradient(90deg, #ef4444, #f97316);
      }
      .exec-radar {
        padding-bottom: 18px;
      }
      .exec-radar-visual {
        position: relative;
        width: min(260px, 78%);
        aspect-ratio: 1;
        margin: 22px auto 12px;
        border-radius: 999px;
        background:
          radial-gradient(circle, #fff 0 20%, transparent 21%),
          repeating-radial-gradient(circle, #dbeafe 0 1px, transparent 2px 34px),
          conic-gradient(from 20deg, #2563eb22, #22c55e2b, #7c3aed24, #2563eb22);
      }
      .exec-radar-visual::before,
      .exec-radar-visual::after {
        content: "";
        position: absolute;
        inset: 18%;
        border: 1px solid #93c5fd;
        border-radius: 999px;
      }
      .exec-radar-visual::after {
        inset: 36%;
      }
      .exec-radar-sweep {
        position: absolute;
        left: 50%;
        top: 50%;
        width: 48%;
        height: 2px;
        transform-origin: left center;
        background: linear-gradient(90deg, #2563eb, transparent);
        animation: execSweep 4s linear infinite;
      }
      .exec-radar-core {
        position: absolute;
        inset: 50% auto auto 50%;
        width: 18px;
        height: 18px;
        border-radius: 999px;
        transform: translate(-50%, -50%);
        background: #2563eb;
        box-shadow: 0 0 0 10px #2563eb1c, 0 0 34px #2563eb;
      }
      .exec-radar-list {
        display: grid;
        gap: 8px;
        padding: 0 18px;
      }
      .exec-radar-list span {
        display: flex;
        justify-content: space-between;
        gap: 8px;
        padding: 9px 10px;
        border-radius: 12px;
        background: #f8fafc;
        color: #475569;
        font-size: 12px;
        font-weight: 750;
      }
      .exec-radar-list b {
        color: #0f172a;
      }
      .exec-radar-decision {
        margin: 12px 18px 0;
        padding: 14px;
        border: 1px solid #bfdbfe;
        border-radius: 16px;
        background:
          linear-gradient(135deg, #eff6ff, #fff),
          radial-gradient(circle at top right, #2563eb1f, transparent 42%);
      }
      .exec-radar-decision b {
        display: block;
        color: #1d4ed8;
        font-size: 14px;
      }
      .exec-radar-decision small {
        display: block;
        margin-top: 5px;
        color: #475569;
        line-height: 1.4;
      }
      .exec-principle {
        display: flex;
        align-items: center;
        gap: 12px;
        margin-top: 16px;
        padding: 15px 16px;
        border: 1px solid #bfdbfe;
        border-radius: 18px;
        background: linear-gradient(90deg, #eff6ff, #f8fafc);
        color: #1e3a8a;
        font-weight: 800;
      }
      .exec-principle-icon {
        width: 36px;
        height: 36px;
        display: grid;
        place-items: center;
        border-radius: 12px;
        background: #2563eb;
        color: #fff;
        box-shadow: 0 10px 24px #2563eb40;
      }
      @keyframes execPulse {
        0%, 100% { transform: scale(1); }
        50% { transform: scale(1.025); }
      }
      @keyframes execFloat {
        0%, 100% { transform: translateY(0); }
        50% { transform: translateY(-8px); }
      }
      @keyframes execSweep {
        to { transform: rotate(360deg); }
      }
      .roadmap-cockpit { display:grid; gap:16px; }
      .roadmap-hero { position:relative; overflow:hidden; border:1px solid #bfdbfe; border-radius:24px; padding:24px; color:#fff; background:linear-gradient(135deg,#0f172a,#1e3a8a 58%,#312e81); box-shadow:0 18px 46px #0f172a1f; }
      .roadmap-hero::after { content:""; position:absolute; inset:auto -80px -120px auto; width:280px; height:280px; border-radius:999px; background:#38bdf84a; filter:blur(4px); }
      .roadmap-hero h2 { margin:0 0 8px; font-size:clamp(30px,4vw,48px); line-height:1; letter-spacing:-.04em; }
      .roadmap-hero p { max-width:780px; margin:0; color:#dbeafe; line-height:1.55; }
      .roadmap-hero .roadmap-source { display:inline-flex; margin-top:16px; padding:7px 10px; border:1px solid #ffffff26; border-radius:999px; background:#ffffff12; color:#e0f2fe; font-size:12px; font-weight:800; }
      .roadmap-kpis { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:12px; }
      .roadmap-kpi { padding:16px; border:1px solid #dbeafe; border-radius:18px; background:#fff; box-shadow:0 10px 28px #0f172a0d; }
      .roadmap-kpi span { display:block; color:#64748b; font-size:12px; font-weight:850; text-transform:uppercase; letter-spacing:.05em; }
      .roadmap-kpi strong { display:block; margin-top:8px; color:#0f172a; font-size:34px; letter-spacing:-.04em; }
      .roadmap-kpi small { display:block; margin-top:5px; color:#64748b; }
      .roadmap-grid { display:grid; grid-template-columns:minmax(0,1.25fr) minmax(320px,.75fr); gap:16px; }
      .roadmap-panel { border:1px solid #dbeafe; border-radius:20px; background:#fff; box-shadow:0 10px 28px #0f172a0d; overflow:hidden; }
      .roadmap-panel-head { padding:16px 18px; border-bottom:1px solid #e2e8f0; background:#f8fafc; }
      .roadmap-panel-head h3 { margin:0 0 4px; color:#0f172a; }
      .roadmap-panel-head p { margin:0; color:#64748b; }
      .roadmap-domain-list,.roadmap-priority-list { display:grid; gap:10px; padding:16px 18px; }
      .roadmap-domain { display:grid; grid-template-columns:minmax(180px,1fr) minmax(160px,1.1fr) auto; gap:12px; align-items:center; }
      .roadmap-domain b { color:#0f172a; }
      .roadmap-bar { height:10px; border-radius:999px; background:#e2e8f0; overflow:hidden; }
      .roadmap-bar i { display:block; width:0%; height:100%; border-radius:inherit; background:linear-gradient(90deg,#2563eb,#38bdf8); }
      .roadmap-domain em { color:#475569; font-style:normal; font-weight:800; }
      .roadmap-priority { display:grid; grid-template-columns:auto minmax(0,1fr) auto; gap:12px; align-items:start; padding:12px; border:1px solid #e2e8f0; border-radius:14px; background:linear-gradient(90deg,#f8fafc,#fff); }
      .roadmap-rank { width:34px; height:34px; display:grid; place-items:center; border-radius:11px; background:#1e3a8a; color:#fff; font-weight:900; }
      .roadmap-rank.roadmap-env { width:auto; min-width:64px; padding:0 8px; white-space:nowrap; }
      .roadmap-priority b { display:block; color:#0f172a; }
      .roadmap-priority small { display:block; margin-top:3px; color:#64748b; }
      .roadmap-score { padding:5px 8px; border-radius:999px; background:#fef3c7; color:#92400e; font-weight:900; white-space:nowrap; }
      .roadmap-focus { display:grid; grid-template-columns:repeat(5,minmax(0,1fr)); gap:10px; }
      .roadmap-focus-card { position:relative; overflow:hidden; padding:15px; border:1px solid #c7d2fe; border-radius:18px; background:linear-gradient(135deg,#fff,#eef2ff); box-shadow:0 12px 32px #0f172a12; }
      .roadmap-focus-card::after { content:""; position:absolute; right:-28px; bottom:-34px; width:96px; height:96px; border-radius:999px; background:#2563eb1f; }
      .roadmap-focus-card b { display:block; color:#1e1b4b; margin-bottom:6px; }
      .roadmap-focus-card span { display:block; color:#475569; font-size:12px; line-height:1.45; position:relative; z-index:1; }
      .roadmap-sequence { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:10px; }
      .roadmap-step { padding:14px; border:1px solid #dbeafe; border-radius:16px; background:#eff6ff; color:#1e3a8a; }
      .roadmap-step b { display:block; margin-bottom:5px; color:#1e3a8a; }
      .roadmap-step span { color:#334155; font-size:12px; line-height:1.4; }
      @media (max-width:1000px) { .roadmap-kpis,.roadmap-sequence,.roadmap-focus { grid-template-columns:repeat(2,minmax(0,1fr)); } .roadmap-grid { grid-template-columns:1fr; } }
      @media (max-width:650px) { .roadmap-kpis,.roadmap-sequence,.roadmap-focus { grid-template-columns:1fr; } .roadmap-domain { grid-template-columns:1fr; } .roadmap-priority { grid-template-columns:auto 1fr; } .roadmap-score { grid-column:2; justify-self:start; } }
      .view {
        display: none;
      }
      .view.on {
        display: block;
      }
      .tabs {
        display: flex;
        gap: 6px;
        margin: 16px 0;
        flex-wrap: wrap;
      }
      .tab {
        border: 1px solid var(--bd);
        background: #fff;
        padding: 8px;
        border-radius: 8px;
        cursor: pointer;
      }
      .tab.on {
        background: #eff6ff;
        color: #1d4ed8;
      }
      .table {
        overflow: auto;
        background: #fff;
        border: 1px solid var(--bd);
        border-radius: 10px;
      }
      table {
        border-collapse: collapse;
        width: 100%;
        min-width: 650px;
      }
      th,
      td {
        padding: 9px;
        border-bottom: 1px solid var(--bd);
        text-align: left;
        font-size: 12px;
      }
      .row-actions {
        display: flex;
        gap: 6px;
        white-space: nowrap;
      }
      .btn-small {
        padding: 5px 8px;
        font-size: 11px;
      }
      .btn-danger {
        border-color: #fecaca;
        color: #b91c1c;
        background: #fff7f7;
      }
      input[readonly] {
        background: #f1f5f9;
        color: #475569;
      }
      .profile-grid {
        display: grid;
        grid-template-columns: 1fr 1fr;
        gap: 14px;
        margin-top: 14px;
      }
      .profile-grid textarea {
        width: 100%;
        min-height: 130px;
        padding: 10px;
        border: 1px solid var(--bd);
        border-radius: 8px;
        resize: vertical;
      }
      .profile-assurance-gate { display:grid; gap:16px; margin:0 0 16px; padding:18px; border:1px solid #bfdbfe; border-radius:22px; background:radial-gradient(circle at 10% 10%,#0ea5e924,transparent 30%),radial-gradient(circle at 92% 14%,#a855f724,transparent 32%),linear-gradient(135deg,#fff,#eff6ff 48%,#faf5ff); box-shadow:0 18px 42px #1e3a8a12; }
      .profile-assurance-gate h3 { margin:4px 0 8px; color:#1e3a8a; font-size:22px; }
      .profile-assurance-grid { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:10px; }
      .profile-assurance-card { padding:14px; border:1px solid #bfdbfe; border-radius:18px; background:rgba(255,255,255,.94); box-shadow:0 14px 32px #0f172a0d; }
      .profile-assurance-card span { display:block; color:#1d4ed8; font-size:12px; font-weight:900; }
      .profile-assurance-card b { display:block; margin:7px 0; color:#111827; font-size:22px; overflow-wrap:anywhere; }
      .profile-assurance-card small { color:#475569; line-height:1.35; }
      .objective-assurance-gate { display:grid; gap:16px; margin:0 0 14px; padding:18px; border:1px solid #99f6e4; border-radius:22px; background:radial-gradient(circle at 8% 10%,#14b8a624,transparent 32%),radial-gradient(circle at 90% 18%,#3b82f624,transparent 34%),linear-gradient(135deg,#fff,#ecfeff 48%,#eff6ff); box-shadow:0 18px 42px #0f766e12; }
      .objective-assurance-gate h3 { margin:4px 0 8px; color:#115e59; font-size:22px; }
      .objective-assurance-grid { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:10px; }
      .objective-assurance-card { padding:14px; border:1px solid #99f6e4; border-radius:18px; background:rgba(255,255,255,.94); box-shadow:0 14px 32px #0f172a0d; }
      .objective-assurance-card span { display:block; color:#0f766e; font-size:12px; font-weight:900; }
      .objective-assurance-card b { display:block; margin:7px 0; color:#111827; font-size:22px; overflow-wrap:anywhere; }
      .objective-assurance-card small { color:#475569; line-height:1.35; }
      .toolbar {
        display: flex;
        justify-content: space-between;
        align-items: center;
        margin: 12px 0;
      }
      .maturity {
        display: inline-block;
        padding: 4px 7px;
        border-radius: 999px;
        background: #ede9fe;
        color: #6d28d9;
        font-size: 10px;
        font-weight: 800;
      }
      .criticality-badge,
      .criticality-preview {
        display: inline-flex;
        align-items: center;
        gap: 6px;
        border: 1px solid transparent;
        border-radius: 999px;
        padding: 4px 8px;
        font-size: 11px;
        font-weight: 800;
      }
      .criticality-preview {
        margin-top: 7px;
      }
      .asset-workspace { display:grid; gap:14px; }
      .process-assurance-gate { display:grid; gap:16px; margin:0 0 14px; padding:18px; border:1px solid #c4b5fd; border-radius:22px; background:radial-gradient(circle at 10% 12%,#7c3aed24,transparent 32%),radial-gradient(circle at 90% 14%,#06b6d424,transparent 32%),linear-gradient(135deg,#fff,#f5f3ff 48%,#ecfeff); box-shadow:0 18px 42px #312e8112; }
      .process-assurance-gate h3 { margin:4px 0 8px; color:#4c1d95; font-size:22px; }
      .process-assurance-grid { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:10px; }
      .process-assurance-card { padding:14px; border:1px solid #ddd6fe; border-radius:18px; background:rgba(255,255,255,.94); box-shadow:0 14px 32px #0f172a0d; }
      .process-assurance-card span { display:block; color:#6d28d9; font-size:12px; font-weight:900; }
      .process-assurance-card b { display:block; margin:7px 0; color:#111827; font-size:22px; overflow-wrap:anywhere; }
      .process-assurance-card small { color:#475569; line-height:1.35; }
      .process-criticality-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:10px; }
      .process-criticality-card { padding:12px; border:1px solid #ddd6fe; border-radius:16px; background:#f8f7ff; }
      .process-criticality-card label { margin:0; }
      .process-criticality-score { display:flex; align-items:center; justify-content:space-between; gap:12px; padding:14px; border:1px solid #ddd6fe; border-radius:18px; background:#fff; }
      .process-criticality-score p { margin:5px 0 0; color:#475569; }
      .asset-form-panel { background:#fff; border:1px solid var(--bd); border-radius:14px; padding:16px; box-shadow:0 2px 10px #0f172a12; }
      .asset-form-panel[hidden] { display:none; }
      .asset-form-head { display:flex; justify-content:space-between; align-items:flex-start; gap:12px; margin-bottom:12px; }
      .asset-form-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:12px; }
      .asset-form-grid label { display:flex; flex-direction:column; gap:5px; font-weight:750; font-size:12px; color:#0f172a; }
      .asset-form-grid input, .asset-form-grid select { width:100%; padding:10px; border:1px solid var(--bd); border-radius:9px; background:#fff; }
      .asset-form-full { grid-column:1/-1; }
      .asset-process-list { display:grid; grid-template-columns:repeat(auto-fit,minmax(220px,1fr)); gap:8px; padding:10px; border:1px solid var(--bd); border-radius:10px; background:#f8fafc; }
      .asset-process-list label { flex-direction:row; align-items:center; font-weight:600; color:#334155; }
      .asset-process-list input { width:auto; }
      .asset-cia-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:10px; }
      .asset-cia-card { border:1px solid var(--bd); border-radius:12px; padding:11px; background:#f8fafc; }
      .asset-cia-card label { margin:0; }
      .asset-cia-card small { display:block; margin-top:6px; color:var(--m); line-height:1.35; }
      .asset-criticality-box { display:flex; flex-wrap:wrap; align-items:center; justify-content:space-between; gap:12px; border:1px solid #bfdbfe; border-radius:12px; padding:12px; background:#eff6ff; }
      .asset-criticality-box p { margin:0; color:#334155; line-height:1.45; }
      .asset-criticality-main { display:grid; gap:6px; }
      .asset-ci-summary { display:flex; flex-wrap:wrap; gap:6px; margin-top:6px; }
      .level-chip { display:inline-flex; align-items:center; gap:5px; border-radius:999px; padding:4px 8px; font-size:11px; font-weight:850; border:1px solid transparent; }
      .level-high, .crit-high { background:#fee2e2; color:#b91c1c; border-color:#fecaca; }
      .level-medium, .crit-medium { background:#fef3c7; color:#92400e; border-color:#fde68a; }
      .level-low, .crit-low { background:#dcfce7; color:#166534; border-color:#bbf7d0; }
      .crit-medium_high { background:#ffedd5; color:#c2410c; border-color:#fed7aa; }
      .crit-medium_low { background:#d1fae5; color:#047857; border-color:#a7f3d0; }
      .asset-form-actions { display:flex; justify-content:flex-end; gap:8px; margin-top:14px; }
      .asset-table-name { min-width:220px; }
      .asset-assurance-gate { display:grid; gap:16px; margin:0 0 14px; padding:18px; border:1px solid #bfdbfe; border-radius:22px; background:radial-gradient(circle at 8% 12%,#2563eb24,transparent 30%),radial-gradient(circle at 92% 12%,#22c55e24,transparent 32%),linear-gradient(135deg,#fff,#eff6ff 52%,#f0fdf4); box-shadow:0 18px 42px #1e3a8a12; }
      .asset-assurance-gate h3 { margin:4px 0 8px; color:#1e3a8a; font-size:22px; }
      .asset-assurance-grid { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:10px; }
      .asset-assurance-card { padding:14px; border:1px solid #bfdbfe; border-radius:18px; background:rgba(255,255,255,.94); box-shadow:0 14px 32px #0f172a0d; }
      .asset-assurance-card span { display:block; color:#1d4ed8; font-size:12px; font-weight:900; }
      .asset-assurance-card b { display:block; margin:7px 0; color:#111827; font-size:22px; overflow-wrap:anywhere; }
      .asset-assurance-card small { color:#475569; line-height:1.35; }
      .asset-nature-pill { display:inline-flex; align-items:center; gap:6px; padding:4px 9px; border-radius:999px; font-weight:900; font-size:11px; border:1px solid #bfdbfe; background:#eff6ff; color:#1d4ed8; }
      .asset-nature-pill.support { border-color:#fed7aa; background:#fff7ed; color:#c2410c; }
      .asset-split-section { display:grid; gap:10px; margin-top:12px; }
      .asset-split-head { display:flex; justify-content:space-between; align-items:flex-start; gap:12px; padding:12px; border:1px solid #dbeafe; border-radius:16px; background:#f8fbff; }
      .asset-split-head h3 { margin:0 0 4px; }
      .asset-exposure-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:10px; }
      .asset-exposure-card { padding:12px; border:1px solid #bfdbfe; border-radius:16px; background:#f8fbff; }
      .asset-boolean-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:10px; }
      .asset-boolean-grid label { display:grid; grid-template-columns:auto minmax(0,1fr); align-items:center; justify-content:flex-start; gap:10px; padding:10px; border:1px solid #dbeafe; border-radius:14px; background:#fff; line-height:1.35; white-space:normal; word-break:normal; overflow-wrap:break-word; writing-mode:horizontal-tb; }
      .asset-boolean-grid label input { width:18px; min-width:18px; height:18px; margin:0; }
      .asset-boolean-grid label span { min-width:0; display:block; }
      .third-org-workspace { display:grid; gap:14px; }
      .third-org-gate { display:grid; gap:16px; margin:0 0 14px; padding:18px; border:1px solid #fed7aa; border-radius:22px; background:radial-gradient(circle at 8% 12%,#f9731626,transparent 30%),radial-gradient(circle at 92% 12%,#2563eb24,transparent 32%),linear-gradient(135deg,#fff,#fff7ed 52%,#eff6ff); box-shadow:0 18px 42px #92400e12; }
      .third-org-gate h3 { margin:4px 0 8px; color:#9a3412; font-size:22px; }
      .third-org-grid { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:10px; }
      .third-org-card { padding:14px; border:1px solid #fed7aa; border-radius:18px; background:rgba(255,255,255,.94); box-shadow:0 14px 32px #0f172a0d; }
      .third-org-card span { display:block; color:#c2410c; font-size:12px; font-weight:900; }
      .third-org-card b { display:block; margin:7px 0; color:#111827; font-size:22px; overflow-wrap:anywhere; }
      .third-org-card b.third-blocker-value { font-size:16px; line-height:1.35; }
      .third-org-card small { color:#475569; line-height:1.35; }
      .third-criticality-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:10px; }
      .third-criticality-card { padding:12px; border:1px solid #fed7aa; border-radius:16px; background:#fffaf5; }
      .third-criticality-card label { margin:0; }
      .third-criticality-score { display:flex; align-items:center; justify-content:space-between; gap:12px; padding:14px; border:1px solid #fed7aa; border-radius:18px; background:#fff; }
      .third-criticality-score p { margin:5px 0 0; color:#475569; }
      @media (max-width:800px) {
        .asset-form-grid, .asset-cia-grid, .asset-assurance-grid, .asset-exposure-grid, .asset-boolean-grid, .process-assurance-grid, .objective-assurance-grid, .profile-assurance-grid, .third-org-grid, .third-criticality-grid, .process-criticality-grid { grid-template-columns:1fr; }
        .third-org-card b { font-size:clamp(20px, 9vw, 34px); }
        .third-org-card b.third-blocker-value { font-size:clamp(15px, 4.2vw, 18px); }
        .asset-form-actions { justify-content:stretch; }
        .asset-form-actions .btn { flex:1; }
      }
      .status-badge { display:inline-flex; align-items:center; gap:5px; border-radius:999px; padding:3px 9px; font-weight:600; }
      .status-active { background:#dcfce7; color:#166534; }
      .status-inactive { background:#f1f5f9; color:#475569; }
      .control-filters { display:flex; gap:10px; margin:12px 0; }
      .control-filters label { display:flex; flex:1; min-width:150px; flex-direction:column; gap:4px; font-size:11px; font-weight:700; }
      .control-filters input, .control-filters select { flex:1; min-width:0; padding:10px; border:1px solid var(--bd); border-radius:8px; }
      .control-card { background:#fff; border:1px solid var(--bd); border-radius:12px; padding:16px; margin:12px 0; box-shadow:0 2px 8px #0f172a0d; }
      @keyframes control360BorderFlow {
        0% { background-position:0% 50%; box-shadow:0 0 0 1px #2563eb24, 0 10px 28px #2563eb18; }
        50% { background-position:100% 50%; box-shadow:0 0 0 1px #7c3aed24, 0 12px 32px #7c3aed18; }
        100% { background-position:0% 50%; box-shadow:0 0 0 1px #f9731624, 0 10px 28px #f9731618; }
      }
      .control-card.expanded {
        position:relative;
        border:2px solid transparent;
        background:linear-gradient(#fff,#fff) padding-box, linear-gradient(120deg,#2563eb,#7c3aed,#f97316,#2563eb) border-box;
        background-size:auto, 280% 280%;
        animation:control360BorderFlow 5.5s ease infinite;
      }
      .control-domain { margin:14px 0; border:1px solid var(--bd); border-radius:10px; background:#f8fafc; overflow:hidden; }
      .control-domain > summary { cursor:pointer; padding:12px 14px; font-weight:800; list-style:none; }
      .control-domain > summary::-webkit-details-marker { display:none; }
      .control-domain > summary::before { content:'▸'; margin-right:8px; }
      .control-domain[open] > summary::before { content:'▾'; }
      .control-domain-body { padding:0 10px 10px; }
      .domain-objective-info { margin:0 0 10px; padding:10px 12px; border-left:3px solid #94a3b8; background:#f1f5f9; border-radius:7px; color:#334155; font-size:13px; }
      .domain-objective-info b { display:block; color:#0f172a; margin-bottom:4px; }
      .control-card.compact { padding:11px 12px; margin:8px 0; }
      .control-card.compact > p, .control-card.compact .control-refs, .control-card.compact .assessment-grid, .control-card.compact .control-card-foot { display:none; }
      .control-card.compact.expanded > p, .control-card.compact.expanded .control-refs, .control-card.compact.expanded .control-card-foot { display:block; }
      .control-card.compact.expanded .assessment-grid { display:grid; }
      .control-360-banner { display:none; grid-column:1/-1; gap:6px; padding:12px; border:1px solid #bfdbfe; border-radius:14px; background:linear-gradient(135deg,#eff6ff,#f8fbff); color:#1e3a8a; }
      .control-card.expanded .control-360-banner { display:grid; }
      .control-360-banner b { color:#0f172a; }
      .control-360-tabs { display:none; grid-column:1/-1; gap:8px; flex-wrap:wrap; margin:8px 0; padding:8px; border:1px solid #dbeafe; border-radius:999px; background:#f8fbff; }
      .control-card.expanded .control-360-tabs { display:flex; }
      .control-card.expanded .control-360-tabs {
        position:relative;
        z-index:12;
        backdrop-filter:blur(12px);
        background:linear-gradient(135deg,rgba(248,251,255,.96),rgba(239,246,255,.94));
        box-shadow:0 14px 30px #1d4ed81c;
      }
      .control-card.expanded .control-360-tabs.control-360-tabs-floating {
        position:fixed;
        top:var(--control360-float-top, 68px);
        left:var(--control360-float-left, 24px);
        width:var(--control360-float-width, calc(100vw - 48px));
        max-width:var(--control360-float-width, calc(100vw - 48px));
        margin:0;
        box-sizing:border-box;
        z-index:75;
        border-color:#93c5fd;
        border-radius:0 0 18px 18px;
        background:linear-gradient(135deg,rgba(248,251,255,.98),rgba(239,246,255,.96));
        box-shadow:0 18px 42px #0f172a26, 0 0 0 1px #bfdbfe66;
      }
      .control-360-tabs button { border:1px solid #bfdbfe; background:#fff; color:#1e3a8a; border-radius:999px; padding:7px 11px; font-weight:900; cursor:pointer; }
      .control-360-tabs button.on { background:#2563eb; border-color:#2563eb; color:#fff; box-shadow:0 8px 18px #2563eb24; }
      .control-360-tabs .control-360-tab-separator { align-self:center; padding:0 6px; color:#64748b; font-weight:600; user-select:none; }
      .control-360-tabs .save-grid-action { margin-left:auto; display:flex; align-items:center; justify-content:flex-end; }
      .control-360-save-status { display:none; }
      .control-360-tabs .control-360-save-button { border-color:#7c3aed; background:#312e81; color:#fff; box-shadow:0 8px 18px #7c3aed24; min-width:142px; text-align:center; justify-content:center; }
      .control-360-tabs .control-360-save-button:hover { background:#4338ca; border-color:#8b5cf6; transform:translateY(-1px); }
      .control-360-section-hidden { display:none!important; }
      .control-card[data-control-section="evidence"] .evidence-actions,
      .control-card[data-control-section="findings"] .finding-section { box-shadow:0 0 0 3px #bfdbfe66; }
      .control-detail-toggle { margin:0; background:#2563eb; border-color:#2563eb; color:#fff; }
      .control-detail-toggle:hover { background:#1d4ed8; border-color:#1d4ed8; }
      .control-card.expanded .control-detail-toggle { background:#6b7280; border-color:#6b7280; color:#fff; }
      .control-card.expanded .control-detail-toggle:hover { background:#4b5563; border-color:#4b5563; }
      .control-ai-button { margin-left:auto; background:#312e81; border-color:#7c3aed; color:#fff; }
      .control-ai-button:hover { background:#4338ca; border-color:#8b5cf6; }
      .control-summary-line { display:flex; flex-wrap:wrap; align-items:center; gap:6px; margin-top:8px; max-width:100%; }
      .control-summary-chip { display:inline-flex; align-items:center; gap:4px; max-width:100%; border-radius:999px; padding:4px 8px; font-size:11px; line-height:1.25; font-weight:700; border:1px solid var(--bd); background:#f8fafc; white-space:normal; overflow-wrap:anywhere; }
      .control-summary-chip strong { min-width:0; font-size:clamp(13px,1.4vw,16px); line-height:1.1; font-weight:800; overflow-wrap:anywhere; }
      .finding-summary-chip { background:#fff7ed; color:#9a3412; border-color:#fdba74; }
      .finding-summary-chip.finding-clear { background:#ecfdf5; color:#166534; border-color:#86efac; }
      .framework-finding-summary { margin-top:7px; padding:7px 8px; border-radius:7px; background:#fff7ed; color:#9a3412; font-size:11px; font-weight:700; line-height:1.45; }
      .framework-finding-summary.finding-clear { background:#ecfdf5; color:#166534; }
      @media (max-width:600px) { .control-summary-line { align-items:center; } .control-ai-button { margin-left:0; } }
      .control-center-summary { display:grid; gap:12px; margin:14px 0 18px; }
      .control-kpis, .framework-picker, .insight-grid { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:10px; }
      .framework-picker { grid-template-columns:repeat(auto-fit,minmax(230px,1fr)); }
      .control-kpi, .framework-card, .insight-card { background:#fff; border:1px solid var(--bd); border-radius:10px; padding:12px; }
      .control-kpi strong { display:block; font-size:22px; margin-top:5px; }
      .framework-card { text-align:left; cursor:default; transition:transform .15s ease, border-color .15s ease; }
      .framework-card:hover, .framework-card:focus-visible { border-color:var(--b); transform:translateY(-1px); }
      .framework-card h3 { margin:4px 0; font-size:15px; }
      .framework-card .btn { margin-top:8px; }
      .framework-actions { display:flex; flex-wrap:wrap; gap:7px; margin-top:10px; }
      .framework-actions .btn { margin:0; width:auto; }
      .control-diagnostic-host { grid-column:1/-1; }
      .control-card.diagnostic-draft { border-color:#f59e0b; box-shadow:0 0 0 2px #fef3c7; }
      .diagnostic-draft-badge { display:inline-flex; margin-left:8px; padding:3px 7px; border-radius:999px; background:#fff7ed; color:#9a3412; font-size:10px; font-weight:800; }
      .control-score { display:grid; grid-template-columns:minmax(180px, .8fr) 1.2fr; gap:12px; }
      .score-card { background:#fff; border:1px solid var(--bd); border-radius:10px; padding:14px; }
      .score-value { font-size:42px; font-weight:900; color:#2563eb; }
      .evolution-panel { display:grid; gap:12px; }
      .evolution-panel-head { display:flex; align-items:flex-start; justify-content:space-between; gap:12px; flex-wrap:wrap; }
      .evolution-panel-title { font-weight:850; }
      .evolution-method-note { margin:0; color:var(--m); font-size:12px; line-height:1.45; }
      .evolution-actions { display:flex; gap:8px; flex-wrap:wrap; align-items:center; }
      .evolution-bars { display:grid; gap:10px; }
      .evolution-bar-row { display:grid; grid-template-columns:minmax(120px,180px) 1fr minmax(46px,auto) auto; align-items:center; gap:10px; }
      .evolution-bar-label { font-size:12px; font-weight:750; color:#334155; }
      .evolution-bar-track { height:10px; border-radius:999px; background:#e2e8f0; overflow:hidden; box-shadow:inset 0 1px 2px #0f172a1f; }
      .evolution-bar-fill { display:block; height:100%; border-radius:inherit; background:linear-gradient(90deg,#2563eb,#14b8a6); }
      .evolution-bar-value { font-size:12px; font-weight:850; text-align:right; color:#0f172a; }
      .evolution-timeline { display:grid; gap:8px; }
      .evolution-target-note { border:1px dashed #cbd5e1; background:#f8fafc; color:#475569; }
      .compliance-signal { display:inline-flex; align-items:center; gap:6px; margin:5px 0; padding:5px 9px; border-radius:999px; font-weight:800; font-size:12px; }
      .compliance-signal.red { background:#fee2e2; color:#b91c1c; }
      .compliance-signal.yellow { background:#fef3c7; color:#92400e; }
      .compliance-signal.green { background:#dcfce7; color:#166534; }
      .control-domain .compliance-signal { margin:0 0 0 5px; padding:2px 6px; font-size:10px; white-space:nowrap; }
      body.controls-active .main { padding:6px 20px 12px; }
      body.admin-orgs-active #organizationSwitcher { display:none !important; }
      body.admin-users-global-active #organizationSwitcher { display:none !important; }
      body.controls-active .top { padding:3px 0 6px; align-items:center; }
      body.controls-active .top h1 { margin:2px 0; font-size:22px; }
      body.controls-active .top #ey { font-size:11px; }
      body.controls-active #organization.view.on,
      body.controls-active #oc,
      body.controls-active .control-certification-gate,
      body.controls-active .control-filters,
      body.controls-active #controlScopeSummary,
      body.controls-active .control-center-summary {
        width:100%;
        max-width:none;
        margin-left:0;
        margin-right:0;
        box-sizing:border-box;
      }
      body.controls-active #oc > .toolbar { display:none; }
      body.controls-active #oc > .toolbar h2 { display:none; }
      body.controls-active .control-filters { margin:6px 0; gap:8px; }
      body.controls-active .control-filters input, body.controls-active .control-filters select { padding:7px 9px; }
      body.controls-active #clearControlFilters {
        align-self:end;
        min-height:34px;
        padding:7px 14px;
        border-radius:9px;
        font-size:12px;
        font-weight:800;
        white-space:nowrap;
      }
      body.controls-active .control-center-summary { gap:8px; margin:8px 0 12px; }
      body.controls-active .control-kpi, body.controls-active .framework-card, body.controls-active .insight-card { padding:9px 11px; }
      body.controls-active .control-kpi strong { font-size:19px; margin-top:2px; }
      body.controls-active .score-card { padding:10px 12px; }
      body.controls-active .score-value { font-size:34px; }
      body.controls-active .control-certification-gate { gap:10px; padding:14px 16px; margin-bottom:10px; }
      body.controls-active .control-certification-gate h3 { font-size:clamp(20px,2.2vw,28px); margin:2px 0 4px; }
      body.controls-active .control-certification-gate p { font-size:12px; line-height:1.35; }
      body.controls-active .control-certification-gate .eyebrow,
      body.controls-active .control-certification-gate > div:first-child > p { display:none; }
      body.controls-active .control-certification-gate .risk-method-note { display:none; }
      body.controls-active .control-cert-grid { gap:8px; }
      body.controls-active .control-cert-card { padding:11px 12px; }
      body.controls-active .control-cert-card p { display:none; }
      body.controls-active #controlCurrentView > .control-kpis .control-kpi:nth-child(-n+4) { display:none; }
      body.controls-active #controlCurrentView > .control-kpis { grid-template-columns:repeat(4,minmax(0,1fr)); }
      body.controls-active #controlCurrentView .control-score { grid-template-columns:minmax(180px,.45fr) 1fr; }
      body.controls-active #controlCurrentView .control-score .score-card small,
      body.controls-active #controlCurrentView .insight-card small { display:none; }
      body.controls-active #controlCurrentView .insight-card p { margin-bottom:0; }
      body.controls-active #oc > p.muted { display:none; }
      .diagnostic-panel-controls { display:flex; justify-content:flex-end; gap:8px; margin:8px 0; padding:7px 9px; border:1px solid var(--bd); border-radius:9px; background:#fff; }
      .insight-card { background:#eff6ff; border-color:#bfdbfe; }
      body.nav-compact .side { padding:7px 112px 7px 18px; }
      body.nav-compact .side .brand { font-size:13px; }
      body.nav-compact .platform-brand-mark { width:30px; height:30px; flex-basis:30px; }
      body.nav-compact .phase { display:none; }
      body.nav-compact .nav-group-toggle { min-height:32px; padding:6px 10px; font-size:12px; }
      body.nav-compact .top { padding:4px 0; }
      body.nav-compact .top h1 { margin:2px 0; font-size:20px; }
      @media (max-width:900px) { .control-kpis, .framework-picker, .insight-grid { grid-template-columns:repeat(2,minmax(0,1fr)); } .control-score { grid-template-columns:1fr; } }
      @media (max-width:600px) { .control-kpis, .framework-picker, .insight-grid { grid-template-columns:1fr; } .evolution-bar-row { grid-template-columns:1fr auto; } .evolution-bar-track { grid-column:1/-1; } .evolution-delete-button { grid-column:1/-1; justify-self:start; } .evolution-actions .btn { width:100%; } }
      .control-card-head, .control-card-foot { display:flex; align-items:center; justify-content:space-between; gap:12px; }
      .control-card-head { flex-wrap:wrap; }
      .control-title-line { flex:1 1 360px; min-width:0; }
      .control-title-actions { display:flex; align-items:center; justify-content:flex-end; gap:8px; margin-left:auto; }
      .control-title-actions .control-ai-button { margin-left:0; }
      .control-card h3 { margin:4px 0 8px; }
      .control-refs { display:flex; flex-wrap:wrap; gap:6px; margin:10px 0; }
      .ref-chip { background:#eef2ff; color:#3730a3; border-radius:999px; padding:4px 8px; font-size:11px; }
      .assessment-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:8px 10px; margin-top:8px; }
      .assessment-grid .risk-field { display:flex; flex-direction:column; gap:5px; font-size:12px; font-weight:700; }
      .assessment-grid .risk-value { height:36px; min-height:36px; box-sizing:border-box; display:flex; align-items:center; padding:8px; border:1px solid var(--bd); border-radius:7px; background:#f8fafc; font-weight:600; }
      .assessment-grid .risk-warning { display:block; min-height:0; }
      .assessment-grid .risk-warning:empty { display:none; }
      .assessment-grid .save-grid-action { align-self:center; justify-self:end; }
      .control-domain > summary { display:grid; grid-template-columns:18px minmax(240px,360px) 100px 150px 132px 132px 130px 96px; justify-content:start; align-items:center; gap:8px; }
      .domain-summary-cell { min-width:0; }
      .domain-summary-name { font-weight:700; }
      .domain-summary-action { justify-self:start; white-space:nowrap; }
      .control-domain > summary > * { min-width:0; }
      .assessment-grid label { display:flex; flex-direction:column; gap:5px; font-size:12px; font-weight:700; }
      .assessment-grid input, .assessment-grid select, .assessment-grid textarea { padding:8px; border:1px solid var(--bd); border-radius:7px; font:inherit; }
      .control-owner-picker { position:relative; }
      .control-owner-picker input[type="search"] { width:100%; }
      .control-owner-results { position:absolute; z-index:30; left:0; right:0; top:calc(100% + 4px); max-height:220px; overflow:auto; border:1px solid #bfdbfe; border-radius:12px; background:#fff; box-shadow:0 16px 34px #0f172a24; padding:6px; }
      .control-owner-option { width:100%; display:block; padding:8px 10px; border:0; border-radius:8px; background:transparent; color:#0f172a; text-align:left; font-weight:700; cursor:pointer; }
      .control-owner-option:hover, .control-owner-option:focus { background:#eff6ff; outline:0; }
      .assessment-grid textarea { min-height:58px; resize:vertical; }
      .assessment-grid .evidence-actions { grid-column:1/-1; display:flex; flex-wrap:wrap; align-content:flex-start; gap:8px; padding:12px; border:1px solid #bfdbfe; border-radius:14px; background:linear-gradient(135deg,#eff6ff,#f8fbff); box-shadow:0 8px 22px #0f172a0a; }
      .assessment-grid .evidence-actions b { flex-basis:100%; color:#0f172a; font-size:14px; }
      .assessment-grid .evidence-actions .btn { border-color:#bfdbfe; background:#fff; color:#1d4ed8; box-shadow:0 4px 12px #1d4ed80d; }
      .assessment-grid .evidence-actions .btn:hover { transform:translateY(-1px); border-color:#2563eb; box-shadow:0 8px 18px #2563eb1f; }
      .assessment-grid .evidence-actions [data-evidence-upload],
      .assessment-grid .evidence-actions [data-scoped-evidence-upload] { background:#2563eb; border-color:#2563eb; color:#fff; }
      .assessment-grid .evidence-actions > button.btn { background:#2563eb; border-color:#2563eb; color:#fff; min-height:36px; padding:8px 12px; border-radius:10px; font-size:12px; font-weight:700; }
      .assessment-grid .evidence-actions > button.btn[aria-expanded="true"] { background:#64748b; border-color:#64748b; color:#fff; }
      .evidence-discard-dialog { width:min(440px,calc(100vw - 32px)); box-sizing:border-box; padding:24px; border:1px solid #cbd5e1; border-radius:16px; color:#0f172a; background:#fff; }
      .evidence-discard-dialog::backdrop { background:#0f172a80; }
      .evidence-discard-dialog p { line-height:1.5; }
      .evidence-discard-dialog .form-actions { display:flex; flex-wrap:wrap; justify-content:flex-end; gap:8px; }
      .assessment-grid .evidence-actions small { flex-basis:100%; line-height:1.35; }
      .assessment-grid .evidence-actions .linked-evidence-list { flex-basis:100%; display:grid; gap:6px; margin-top:4px; padding:8px; border:1px solid #dbeafe; border-radius:12px; background:#fff; }
      .assessment-grid .scoped-evidence-actions { grid-column:1/-1; margin-top:4px; }
      .scoped-evidence-actions textarea { display:none; }
      .scoped-evidence-summary { flex-basis:100%; display:grid; gap:4px; padding:8px 10px; border:1px dashed #bfdbfe; border-radius:12px; background:#fff; color:#475569; font-size:12px; line-height:1.35; white-space:pre-wrap; }
      .scoped-evidence-summary.is-empty { color:#64748b; font-style:italic; }
      .assessment-grid .linked-evidence-list h4 { margin:0; color:#0f172a; font-size:12px; }
      .linked-evidence-item { display:grid; grid-template-columns:minmax(0,1fr) auto; gap:10px; align-items:center; padding:7px 9px; border:1px solid #e2e8f0; border-radius:11px; background:#fff; }
      .linked-evidence-main { min-width:0; display:grid; gap:2px; }
      .linked-evidence-title { display:flex; align-items:center; gap:6px; min-width:0; }
      .linked-evidence-title b,
      .linked-evidence-meta,
      .linked-evidence-description { overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
      .linked-evidence-title b { min-width:0; }
      .linked-evidence-item small { display:block; margin-top:0; line-height:1.25; }
      .linked-evidence-actions { display:flex; flex-wrap:nowrap; justify-content:flex-end; align-items:center; gap:5px; min-width:max-content; }
      .linked-evidence-actions .btn { border-radius:999px; font-weight:800; padding:5px 9px; min-height:auto; border-color:#bfdbfe; background:#fff; color:#1d4ed8; box-shadow:0 4px 12px #1d4ed80d; }
      .linked-evidence-actions .btn:hover { transform:translateY(-1px); border-color:#2563eb; box-shadow:0 8px 18px #2563eb1f; }
      .linked-evidence-actions .btn-danger { border-color:#fecaca; background:#fff1f2; color:#b91c1c; }
      .linked-evidence-actions .btn-warn { border-color:#fde68a; background:#fffbeb; color:#92400e; }
      .control-evidence-evaluate-panel { grid-column:1/-1; display:grid; gap:10px; margin-top:4px; padding:12px; border:1px solid #bfdbfe; border-radius:14px; background:#f8fbff; }
      .control-evidence-evaluate-panel[hidden] { display:none; }
      .control-evidence-evaluate-grid { display:grid; grid-template-columns:repeat(4,minmax(130px,1fr)) minmax(240px,1.4fr) auto; gap:10px; align-items:end; }
      .control-evidence-evaluate-grid label { display:grid; gap:5px; margin:0; color:#334155; font-size:12px; font-weight:800; }
      .control-evidence-evaluate-grid select,
      .control-evidence-evaluate-grid textarea { width:100%; border:1px solid #cbd5e1; border-radius:10px; padding:8px 9px; background:#fff; font:inherit; box-sizing:border-box; }
      .control-evidence-evaluate-grid select[data-tone="ok"] { border-color:#86efac; background:#f0fdf4; color:#166534; }
      .control-evidence-evaluate-grid select[data-tone="warn"] { border-color:#facc15; background:#fefce8; color:#854d0e; }
      .control-evidence-evaluate-grid select[data-tone="danger"] { border-color:#fda4af; background:#fff1f2; color:#9f1239; }
      .control-evidence-evaluate-grid select[data-tone="neutral"] { border-color:#cbd5e1; background:#f8fafc; color:#334155; }
      .control-evidence-evaluate-grid textarea { min-height:42px; resize:vertical; }
      .control-evidence-evaluate-notes { min-width:0; }
      .control-evidence-evaluate-save { align-self:end; }
      .evidence-type-pill { display:inline-flex; align-items:center; flex:0 0 auto; border-radius:999px; padding:3px 8px; font-size:11px; font-weight:800; background:#eef2ff; color:#3730a3; }
      .evidence-type-pill.file { background:#dcfce7; color:#166534; }
      .evidence-type-pill.reference { background:#e0f2fe; color:#075985; }
      .assessment-grid .evidence-link-panel,
      .assessment-grid .evidence-reference-panel { grid-column:1/-1; padding:14px; border:1px solid #bfdbfe; border-radius:14px; background:#eff6ff; }
      .evidence-reference-form { display:grid; gap:10px; }
      .evidence-form-head { display:grid; gap:4px; }
      .evidence-reference-form label { display:grid; gap:5px; font-weight:800; color:#0f172a; }
      .evidence-reference-form input,
      .evidence-reference-form textarea { width:100%; border:1px solid #bfdbfe; border-radius:10px; padding:9px 10px; background:#fff; color:#0f172a; font:inherit; }
      .evidence-reference-form textarea { resize:vertical; min-height:74px; }
      .evidence-form-actions { display:flex; flex-wrap:wrap; gap:8px; justify-content:flex-end; }
      .assessment-grid .evidence-upload-panel { grid-column:1/-1; padding:14px; border:1px solid #bfdbfe; border-radius:14px; background:#eff6ff; }
      .assessment-grid .evidence-upload-panel label { display:grid; gap:5px; margin-top:10px; font-weight:800; color:#0f172a; }
      .assessment-grid .evidence-upload-panel input { width:100%; border:1px solid #bfdbfe; border-radius:10px; padding:9px 10px; background:#fff; color:#0f172a; font:inherit; box-sizing:border-box; }
      .assessment-grid .evidence-upload-panel .form-actions { margin-top:8px; }
      .evidence-link-results { display:grid; gap:6px; margin-top:8px; max-height:220px; overflow:auto; }
      .evidence-link-option { display:flex; align-items:flex-start; justify-content:space-between; gap:10px; padding:8px; border:1px solid var(--bd); border-radius:8px; background:#fff; text-align:left; }
      .evidence-link-option span { display:block; }
      .assessment-grid textarea[readonly] { background:#f8fafc; color:#334155; cursor:default; }
      .assessment-grid .assessment-observations-field { grid-column:1/-1!important; width:100%; min-width:0; }
      .assessment-grid .assessment-plan-field { grid-column:1/-1!important; width:100%; min-width:0; }
      .assessment-grid .recommended-plan-help { grid-column:1/-1; margin:0; line-height:1.5; }
      .assessment-grid select[name=recommended_plan_status][data-tone=neutral] { background:#f8fafc; color:#334155; border-color:#cbd5e1; }
      .assessment-grid select[name=recommended_plan_status][data-tone=pending] { background:#eff6ff; color:#1d4ed8; border-color:#93c5fd; }
      .assessment-grid select[name=recommended_plan_status][data-tone=progress] { background:#fef3c7; color:#92400e; border-color:#facc15; }
      .assessment-grid select[name=recommended_plan_status][data-tone=completed] { background:#dcfce7; color:#166534; border-color:#86efac; }
      .assessment-grid select[name=recommended_plan_status][data-tone=cancelled] { background:#fff1f2; color:#9f1239; border-color:#fda4af; }
      .assessment-grid .assessment-plan-field textarea,
      .assessment-grid .assessment-observations-field textarea { min-height:112px; height:112px; box-sizing:border-box; width:100%; max-width:100%; }
      .assessment-grid .assessment-plan-field textarea { min-height:180px; height:180px; line-height:1.5; font-weight:500; }
      .assessment-grid .assessment-na-field[hidden] { display:none!important; }
      .finding-section { grid-column:1/-1; margin-top:8px; padding:14px; border:1px solid #c7d2fe; border-radius:10px; background:#f8fafc; }
      .finding-section.finding-section-highlight { border-color:#f97316; box-shadow:0 0 0 4px #fed7aa,0 14px 30px #f9731626; transition:box-shadow .25s ease,border-color .25s ease; }
      .finding-section h4 { margin:0 0 8px; font-size:15px; }
      .finding-toggle-row { display:flex; align-items:end; gap:12px; }
      .finding-toggle-row label { min-width:210px; margin:0; }
      .finding-fields { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:10px; margin-top:12px; }
      .finding-fields[hidden], .finding-severity[hidden] { display:none!important; }
      .finding-section select.finding-choice-neutral { background:#f8fafc; color:#475569; border-color:#cbd5e1; }
      .finding-section select.finding-choice-active { background:#eff6ff; color:#1d4ed8; border-color:#60a5fa; }
      .finding-section select.finding-choice-conformity { background:#ecfdf5; color:#166534; border-color:#4ade80; }
      .finding-section select.finding-choice-nonconformity { background:#fef2f2; color:#b91c1c; border-color:#f87171; }
      .finding-section select.finding-choice-improvement { background:#fff7ed; color:#9a3412; border-color:#fb923c; }
      .finding-section select.finding-choice-major { background:#fee2e2; color:#991b1b; border-color:#ef4444; }
      .finding-section select.finding-choice-minor { background:#fef3c7; color:#92400e; border-color:#f59e0b; }
      .finding-section select:focus-visible { outline:3px solid #bfdbfe; outline-offset:2px; }
      .finding-section option[value="conformity"] { color:#166534; }
      .finding-section option[value="nonconformity"], .finding-section option[value="major"] { color:#b91c1c; }
      .finding-section option[value="improvement_opportunity"], .finding-section option[value="minor"] { color:#9a3412; }
      .finding-summary-panel { display:grid; gap:12px; margin-bottom:14px; }
      .finding-summary-head { display:flex; align-items:flex-start; justify-content:space-between; gap:12px; padding:12px; border:1px solid #dbeafe; border-radius:14px; background:linear-gradient(135deg,#fff,#eff6ff); }
      .finding-summary-head h4,.finding-form-title h4 { margin:2px 0 4px; color:#0f172a; }
      .finding-summary-list { display:grid; gap:8px; }
      .finding-summary-row { display:grid; grid-template-columns:minmax(0,1fr) auto auto auto auto auto; gap:10px; align-items:center; padding:10px 12px; border:1px solid #dbeafe; border-radius:14px; background:#fff; box-shadow:0 8px 20px #0f172a0a; }
      .finding-summary-row b { color:#0f172a; }
      .finding-summary-row small { display:block; margin-top:3px; color:#64748b; font-weight:800; }
      .finding-count-chip,.finding-severity-chip,.finding-attention { display:inline-flex; align-items:center; justify-content:center; gap:4px; border-radius:999px; padding:6px 9px; font-size:11px; font-weight:900; white-space:nowrap; }
      .finding-count-chip,.finding-severity-chip { background:#eff6ff; color:#1e3a8a; border:1px solid #bfdbfe; }
      .finding-severity-chip.major { background:#fee2e2; color:#991b1b; border-color:#fca5a5; }
      .finding-severity-chip.minor { background:#fef3c7; color:#92400e; border-color:#facc15; }
      .finding-attention.ok { background:#dcfce7; color:#166534; border:1px solid #86efac; }
      .finding-attention.warn { background:#fef3c7; color:#92400e; border:1px solid #facc15; }
      .finding-attention.danger { background:#fee2e2; color:#991b1b; border:1px solid #fca5a5; }
      .finding-status-chip { display:inline-flex; align-items:center; justify-content:center; gap:5px; border-radius:999px; padding:6px 10px; font-size:11px; font-weight:950; white-space:nowrap; border:1px solid #dbeafe; background:#eff6ff; color:#1e3a8a; }
      .finding-status-chip.ok { background:#dcfce7; color:#166534; border-color:#86efac; }
      .finding-status-chip.warn { background:#fef3c7; color:#92400e; border-color:#facc15; }
      .finding-status-chip.danger { background:#fee2e2; color:#991b1b; border-color:#fca5a5; }
      .finding-row-actions { display:flex; flex-wrap:wrap; justify-content:flex-end; gap:6px; }
      .finding-row-actions .finding-action-view,.finding-row-actions .finding-action-edit { border-radius:999px; padding:7px 12px; font-weight:900; box-shadow:0 8px 18px #1d4ed814; }
      .finding-row-actions .finding-action-view { color:#1d4ed8; border:1px solid #bfdbfe; background:linear-gradient(135deg,#fff,#eff6ff); }
      .finding-row-actions .finding-action-view.active { color:#fff; border-color:#64748b; background:linear-gradient(135deg,#64748b,#475569); box-shadow:0 8px 18px #47556933; }
      .finding-row-actions .finding-action-edit { color:#4338ca; border:1px solid #c4b5fd; background:linear-gradient(135deg,#fff,#f5f3ff); }
      .finding-empty-state { padding:12px; border:1px dashed #bfdbfe; border-radius:14px; background:#f8fbff; }
      .finding-form-title { grid-column:1/-1; display:flex; align-items:flex-start; justify-content:space-between; gap:12px; padding:10px 12px; border:1px solid #fed7aa; border-radius:14px; background:#fff7ed; }
      .finding-form-title > div { min-width:0; }
      .finding-fields .wide { grid-column:1/-1; }
      .finding-actions { grid-column:1/-1; display:grid; gap:12px; margin-top:6px; padding:12px; border:1px solid #dbeafe; border-radius:14px; background:linear-gradient(135deg,#fff,#f8fbff); }
      .finding-actions-head { display:flex; align-items:flex-start; justify-content:space-between; gap:12px; }
      .finding-actions-head h4 { margin:2px 0 4px; color:#0f172a; }
      .finding-actions-head .btn[disabled] { opacity:.55; cursor:not-allowed; background:#e2e8f0; border-color:#cbd5e1; color:#475569; box-shadow:none; }
      .action-summary-panel { display:grid; gap:10px; padding:10px; border:1px solid #bfdbfe; border-radius:14px; background:linear-gradient(135deg,#fff,#eff6ff); }
      .action-summary-head { display:flex; align-items:center; justify-content:space-between; gap:10px; }
      .action-summary-head b { color:#0f172a; }
      .action-summary-grid { display:grid; gap:8px; }
      .action-summary-card { display:grid; grid-template-columns:minmax(0,1.2fr) auto minmax(180px,.8fr) auto; align-items:center; gap:10px; padding:10px 12px; border:1px solid #dbeafe; border-radius:12px; background:#fff; box-shadow:0 8px 20px #1e3a8a0d; }
      .action-summary-card b { color:#0f172a; }
      .action-summary-card small { color:#64748b; font-weight:800; line-height:1.35; }
      .action-summary-meta { display:flex; flex-wrap:wrap; gap:6px; }
      .action-summary-card-actions { display:flex; flex-wrap:wrap; justify-content:flex-end; gap:6px; }
      .action-summary-card-actions .btn-small { border-radius:999px; padding:7px 12px; font-weight:900; }
      .action-summary-card-actions .finding-action-view,.action-summary-card-actions .finding-action-edit { box-shadow:0 8px 18px #1d4ed814; }
      .action-summary-card-actions .finding-action-view { color:#1d4ed8; border:1px solid #bfdbfe; background:linear-gradient(135deg,#fff,#eff6ff); }
      .action-summary-card-actions .finding-action-view.active { color:#fff; border-color:#64748b; background:linear-gradient(135deg,#64748b,#475569); box-shadow:0 8px 18px #47556933; }
      .action-summary-card-actions .finding-action-edit { color:#4338ca; border:1px solid #c4b5fd; background:linear-gradient(135deg,#fff,#f5f3ff); }
      .finding-linked-actions-detail { grid-column:1/-1; display:grid; gap:8px; padding:12px; border:1px solid #bfdbfe; border-radius:14px; background:linear-gradient(135deg,#fff,#eff6ff); }
      .finding-linked-actions-detail[hidden] { display:none!important; }
      .finding-linked-actions-detail h5 { margin:0; color:#0f172a; font-size:14px; }
      .finding-linked-action-row { display:grid; grid-template-columns:minmax(0,1fr) auto minmax(150px,.5fr); gap:10px; align-items:center; padding:10px 12px; border:1px solid #dbeafe; border-radius:12px; background:#fff; box-shadow:0 8px 20px #1e3a8a0d; }
      .finding-linked-action-row b { color:#0f172a; }
      .finding-linked-action-row small { display:block; color:#64748b; font-weight:800; line-height:1.35; }
      .action-finding-selector { display:grid; grid-template-columns:repeat(auto-fit,minmax(240px,1fr)); gap:8px; margin-top:8px; }
      .action-finding-option { display:flex; align-items:flex-start; gap:8px; min-height:auto; padding:9px 10px; border:1px solid #dbeafe; border-radius:12px; background:#f8fbff; color:#0f172a; font-weight:850; }
      .action-finding-option.conformity { border-color:#86efac; background:linear-gradient(135deg,#f0fdf4,#fff); }
      .action-finding-option.nonconformity { border-color:#fca5a5; background:linear-gradient(135deg,#fff1f2,#fff); }
      .action-finding-option.improvement_opportunity { border-color:#fdba74; background:linear-gradient(135deg,#fff7ed,#fff); }
      .action-finding-option.selected { border-color:#2563eb; background:linear-gradient(135deg,#eff6ff,#fff); box-shadow:0 0 0 2px #bfdbfe; }
      .action-finding-option input { width:auto; margin-top:2px; }
      .action-finding-option span { display:grid; gap:2px; }
      .action-finding-option small { color:#64748b; font-weight:800; line-height:1.35; }
      .finding-action-card { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:9px; margin:10px 0; padding:12px; border:1px solid var(--bd); border-radius:9px; background:#fff; }
      .finding-action-card select.action-status-open { border-color:#93c5fd; background:#eff6ff; color:#1d4ed8; font-weight:850; }
      .finding-action-card select.action-status-in_progress { border-color:#facc15; background:#fef3c7; color:#92400e; font-weight:850; }
      .finding-action-card select.action-status-implemented { border-color:#67e8f9; background:#ecfeff; color:#0e7490; font-weight:850; }
      .finding-action-card select.action-status-closed { border-color:#86efac; background:#dcfce7; color:#166534; font-weight:850; }
      .finding-action-card .wide,.finding-action-head { grid-column:1/-1; }
      .finding-action-head { display:flex; justify-content:space-between; align-items:center; gap:10px; }
      .finding-action-head strong { color:#334155; }
      .finding-help { margin:6px 0 0; color:#64748b; font-size:11px; line-height:1.45; }
      @media (max-width:700px) { .control-title-actions { width:100%; margin-left:0; justify-content:flex-start; flex-wrap:wrap; } }
      .ai-interview-panel { margin:10px 0; padding:12px; border:1px solid #bfdbfe; border-radius:8px; background:#eff6ff; }
      .ai-mode-cards { display:flex; flex-wrap:wrap; align-items:center; gap:8px; margin:8px 0 10px; }
      .ai-mode-card { display:inline-flex; align-items:center; gap:7px; padding:9px 13px; border:1px solid #2563eb; border-radius:8px; background:#2563eb; color:#fff; text-align:left; cursor:pointer; min-height:40px; font-weight:700; }
      .ai-mode-card.active { border-color:#2563eb; box-shadow:0 0 0 2px #bfdbfe; background:#fff; color:#111827; }
      .ai-mode-card:focus-visible { outline:3px solid #1d4ed8; outline-offset:2px; }
      .ai-mode-card span { color:inherit; }
      .ai-interview-disclosure { width:100%; margin:0 0 2px; font-size:11px; color:#64748b; }
      @media (max-width:600px) { .ai-mode-cards { grid-template-columns:1fr; } }
      .ai-interview-panel textarea { width:100%; min-height:72px; box-sizing:border-box; }
      .copilot-governance { display:grid; gap:12px; margin-top:12px; }
      .copilot-principle { padding:12px; border:1px solid #bfdbfe; border-radius:8px; background:#eff6ff; }
      .copilot-map { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:10px; }
      .copilot-step { padding:12px; border:1px solid var(--bd); border-radius:8px; background:#fff; min-height:92px; }
      .copilot-step b { display:block; margin-bottom:6px; }
      .copilot-services { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:10px; }
      .copilot-service { padding:10px; border:1px solid var(--bd); border-radius:8px; background:#f8fafc; }
      .copilot-executive-panel { padding:16px; border:1px solid #c7d2fe; border-radius:16px; background:linear-gradient(135deg,#eef2ff,#fff 54%,#ecfeff); box-shadow:0 12px 30px #1e3a8a12; }
      .copilot-executive-panel h3 { margin:4px 0 8px; color:#312e81; }
      .copilot-executive-grid { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:10px; margin-top:12px; }
      .copilot-executive-card { padding:12px; border:1px solid #ddd6fe; border-radius:14px; background:rgba(255,255,255,.9); }
      .copilot-executive-card span { display:block; color:#6d28d9; font-size:12px; font-weight:850; }
      .copilot-executive-card b { display:block; margin:6px 0; color:#1e1b4b; }
      .copilot-route-grid { display:grid; grid-template-columns:repeat(5,minmax(0,1fr)); gap:10px; }
      .copilot-route-card { text-align:left; padding:12px; border:1px solid #bfdbfe; border-radius:14px; background:#fff; color:#0f172a; cursor:pointer; box-shadow:0 8px 20px #1e3a8a0d; }
      .copilot-route-card:hover { transform:translateY(-1px); border-color:#2563eb; }
      .copilot-route-card span { display:block; color:#2563eb; font-size:12px; font-weight:900; margin-bottom:5px; }
      .copilot-route-card b { display:block; margin-bottom:5px; }
      .copilot-actions { display:flex; flex-wrap:wrap; gap:8px; }
      @media (max-width:800px) { .copilot-map, .copilot-services, .copilot-executive-grid, .copilot-route-grid { grid-template-columns:1fr; } }
      .ai-proposal { margin-top:8px; padding:10px; background:#fff; border:1px solid var(--bd); border-radius:7px; }
      .ai-interview-complete { margin-bottom:10px; padding:10px 12px; border:1px solid #86efac; border-radius:8px; background:#f0fdf4; color:#166534; }
      .ai-proposal-actions { display:flex; flex-wrap:wrap; gap:8px; margin-top:10px; }
      .btn-action-repeat, .quick-restart, .quick-voice-repeat { background:#fef3c7; color:#92400e; border-color:#f59e0b; }
      .btn-action-repeat:hover, .quick-restart:hover, .quick-voice-repeat:hover { background:#fde68a; }
      .btn-action-cancel, .quick-cancel { background:#fee2e2; color:#b91c1c; border-color:#fca5a5; }
      .btn-action-cancel:hover, .quick-cancel:hover { background:#fecaca; }
      .quick-select-all { background:#eef2ff; color:#3730a3; border-color:#c7d2fe; }
      .quick-select-all:hover { background:#e0e7ff; }
      .quick-open-controls { background:#e0f2fe; color:#075985; border-color:#7dd3fc; }
      .quick-open-controls:hover { background:#bae6fd; }
      .audit-filters { display:grid; grid-template-columns:repeat(5,minmax(130px,1fr)); gap:10px; margin:14px 0; }
      .audit-filters label { margin:0; }
      .audit-summary { display:grid; grid-template-columns:repeat(3,1fr); gap:10px; margin:12px 0; }
      .audit-summary > div { padding:12px; border:1px solid var(--bd); border-radius:10px; background:#f8fafc; }
      .audit-executive-map { display:grid; gap:16px; margin:0 0 16px; padding:18px; overflow:hidden; position:relative; border:1px solid #bfdbfe; border-radius:18px; background:radial-gradient(circle at 8% 15%,#2563eb35,transparent 30%),radial-gradient(circle at 90% 8%,#14b8a635,transparent 32%),linear-gradient(135deg,#fff,#eff6ff 55%,#f8fafc); box-shadow:0 20px 45px #1e3a8a12; }
      .audit-executive-map::after { content:""; position:absolute; right:-58px; bottom:-78px; width:210px; height:210px; border-radius:999px; background:conic-gradient(from 120deg,#2563eb,#14b8a6,#7c3aed,#2563eb); opacity:.12; }
      .audit-executive-map > * { position:relative; z-index:1; }
      .audit-executive-map h2 { margin:4px 0 6px; color:#0f172a; font-size:clamp(22px,2.8vw,34px); }
      .audit-executive-map p { margin:0; color:#475569; max-width:920px; }
      .audit-exec-grid { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:12px; }
      .audit-exec-card { display:grid; gap:8px; padding:16px; border:1px solid #dbeafe; border-radius:20px; background:#fffffff0; box-shadow:0 20px 45px #0f172a14; backdrop-filter:blur(10px); }
      .audit-exec-card span { color:#1e40af; font-size:12px; font-weight:900; letter-spacing:.06em; text-transform:uppercase; }
      .audit-exec-card strong { color:#111827; font-size:clamp(28px,4vw,42px); line-height:1; }
      .audit-exec-card p { color:#475569; font-size:13px; line-height:1.45; }
      .audit-custody-panel { display:grid; gap:16px; margin:0 0 16px; padding:18px; overflow:hidden; position:relative; border:1px solid #c7d2fe; border-radius:18px; background:radial-gradient(circle at 8% 15%,#4f46e530,transparent 30%),radial-gradient(circle at 90% 8%,#22c55e30,transparent 32%),linear-gradient(135deg,#fff,#eef2ff 55%,#f8fafc); box-shadow:0 20px 45px #312e8112; }
      .audit-custody-panel::after { content:""; position:absolute; right:-58px; bottom:-78px; width:210px; height:210px; border-radius:999px; background:conic-gradient(from 120deg,#4f46e5,#22c55e,#0ea5e9,#4f46e5); opacity:.12; }
      .audit-custody-panel > * { position:relative; z-index:1; }
      .audit-custody-panel h2 { margin:4px 0 6px; color:#111827; font-size:clamp(22px,2.8vw,34px); }
      .audit-custody-panel p { margin:0; color:#475569; max-width:920px; }
      .audit-custody-grid { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:12px; }
      .audit-custody-card { display:grid; gap:8px; padding:16px; border:1px solid #c7d2fe; border-radius:20px; background:#fffffff0; box-shadow:0 20px 45px #0f172a14; backdrop-filter:blur(10px); }
      .audit-custody-card span { color:#3730a3; font-size:12px; font-weight:900; letter-spacing:.06em; text-transform:uppercase; }
      .audit-custody-card strong { color:#111827; font-size:clamp(19px,2.2vw,28px); line-height:1.1; overflow-wrap:anywhere; }
      .audit-custody-card p { color:#475569; font-size:13px; line-height:1.45; }
      .audit-decision-gate { display:grid; gap:16px; margin:0 0 16px; padding:18px; overflow:hidden; position:relative; border:1px solid #99f6e4; border-radius:18px; background:radial-gradient(circle at 8% 15%,#14b8a630,transparent 30%),radial-gradient(circle at 90% 8%,#2563eb30,transparent 32%),linear-gradient(135deg,#fff,#ecfeff 55%,#f8fafc); box-shadow:0 20px 45px #134e4a12; }
      .audit-decision-gate::after { content:""; position:absolute; right:-58px; bottom:-78px; width:210px; height:210px; border-radius:999px; background:conic-gradient(from 120deg,#14b8a6,#2563eb,#8b5cf6,#14b8a6); opacity:.12; }
      .audit-decision-gate > * { position:relative; z-index:1; }
      .audit-decision-gate h2 { margin:4px 0 6px; color:#0f172a; font-size:clamp(22px,2.8vw,34px); }
      .audit-decision-gate p { margin:0; color:#475569; max-width:920px; }
      .audit-decision-grid { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:12px; }
      .audit-decision-card { display:grid; gap:8px; padding:16px; border:1px solid #99f6e4; border-radius:20px; background:#fffffff0; box-shadow:0 20px 45px #0f172a14; backdrop-filter:blur(10px); }
      .audit-decision-card span { color:#0f766e; font-size:12px; font-weight:900; letter-spacing:.06em; text-transform:uppercase; }
      .audit-decision-card strong { color:#111827; font-size:clamp(19px,2.2vw,28px); line-height:1.1; overflow-wrap:anywhere; }
      .audit-decision-card p { color:#475569; font-size:13px; line-height:1.45; }
      .admin-toolbar { display:flex; align-items:end; justify-content:space-between; gap:14px; flex-wrap:wrap; margin-bottom:14px; }
      .admin-toolbar h2 { margin:0; }
      .admin-toolbar-actions { display:flex; align-items:end; gap:9px; flex-wrap:wrap; }
      .admin-toolbar-actions label { margin:0; min-width:240px; }
      .admin-access-map { display:grid; gap:16px; margin:0 0 16px; padding:18px; overflow:hidden; position:relative; border:1px solid #bfdbfe; border-radius:18px; background:radial-gradient(circle at 8% 16%,#2563eb35,transparent 30%),radial-gradient(circle at 90% 8%,#8b5cf635,transparent 32%),linear-gradient(135deg,#fff,#eff6ff 55%,#f8fafc); box-shadow:0 20px 45px #1e3a8a12; }
      .admin-access-map::after { content:""; position:absolute; right:-58px; bottom:-78px; width:210px; height:210px; border-radius:999px; background:conic-gradient(from 120deg,#2563eb,#8b5cf6,#14b8a6,#2563eb); opacity:.12; }
      .admin-access-map > * { position:relative; z-index:1; }
      .admin-access-map h2 { margin:4px 0 6px; color:#0f172a; font-size:clamp(22px,2.8vw,34px); }
      .admin-access-map p { margin:0; color:#475569; max-width:920px; }
      .admin-access-grid { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:12px; }
      .admin-access-card { display:grid; gap:8px; padding:16px; border:1px solid #dbeafe; border-radius:20px; background:#fffffff0; box-shadow:0 20px 45px #0f172a14; backdrop-filter:blur(10px); }
      .admin-access-card span { color:#1e40af; font-size:12px; font-weight:900; letter-spacing:.06em; text-transform:uppercase; }
      .admin-access-card strong { color:#111827; font-size:clamp(28px,4vw,42px); line-height:1; }
      .admin-access-card p { color:#475569; font-size:13px; line-height:1.45; }
      .admin-access-review-panel { display:grid; gap:16px; margin:0 0 16px; padding:18px; overflow:hidden; position:relative; border:1px solid #bbf7d0; border-radius:18px; background:radial-gradient(circle at 8% 16%,#22c55e30,transparent 30%),radial-gradient(circle at 90% 8%,#0ea5e930,transparent 32%),linear-gradient(135deg,#fff,#f0fdf4 55%,#f8fafc); box-shadow:0 20px 45px #14532d12; }
      .admin-access-review-panel::after { content:""; position:absolute; right:-58px; bottom:-78px; width:210px; height:210px; border-radius:999px; background:conic-gradient(from 120deg,#16a34a,#0ea5e9,#2563eb,#16a34a); opacity:.12; }
      .admin-access-review-panel > * { position:relative; z-index:1; }
      .admin-access-review-panel h2 { margin:4px 0 6px; color:#0f172a; font-size:clamp(22px,2.8vw,34px); }
      .admin-access-review-panel p { margin:0; color:#475569; max-width:920px; }
      .admin-access-review-grid { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:12px; }
      .admin-access-review-card { display:grid; gap:8px; padding:16px; border:1px solid #bbf7d0; border-radius:20px; background:#fffffff0; box-shadow:0 20px 45px #0f172a14; backdrop-filter:blur(10px); }
      .admin-access-review-card span { color:#166534; font-size:12px; font-weight:900; letter-spacing:.06em; text-transform:uppercase; }
      .admin-access-review-card strong { color:#111827; font-size:clamp(19px,2.2vw,28px); line-height:1.1; overflow-wrap:anywhere; }
      .admin-access-review-card p { color:#475569; font-size:13px; line-height:1.45; }
      .admin-access-recert-gate { display:grid; gap:16px; margin:0 0 16px; padding:18px; overflow:hidden; position:relative; border:1px solid #fed7aa; border-radius:18px; background:radial-gradient(circle at 8% 16%,#f9731630,transparent 30%),radial-gradient(circle at 90% 8%,#2563eb30,transparent 32%),linear-gradient(135deg,#fff,#fff7ed 55%,#f8fafc); box-shadow:0 20px 45px #7c2d1212; }
      .admin-access-recert-gate::after { content:""; position:absolute; right:-58px; bottom:-78px; width:210px; height:210px; border-radius:999px; background:conic-gradient(from 120deg,#f97316,#2563eb,#22c55e,#f97316); opacity:.12; }
      .admin-access-recert-gate > * { position:relative; z-index:1; }
      .admin-access-recert-gate h2 { margin:4px 0 6px; color:#111827; font-size:clamp(22px,2.8vw,34px); }
      .admin-access-recert-gate p { margin:0; color:#475569; max-width:920px; }
      .admin-access-recert-grid { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:12px; }
      .admin-access-recert-card { display:grid; gap:8px; padding:16px; border:1px solid #fed7aa; border-radius:20px; background:#fffffff0; box-shadow:0 20px 45px #0f172a14; backdrop-filter:blur(10px); }
      .admin-access-recert-card span { color:#c2410c; font-size:12px; font-weight:900; letter-spacing:.06em; text-transform:uppercase; }
      .admin-access-recert-card strong { color:#111827; font-size:clamp(19px,2.2vw,28px); line-height:1.1; overflow-wrap:anywhere; }
      .admin-access-recert-card p { color:#475569; font-size:13px; line-height:1.45; }
      .admin-authority-evidence { display:grid; gap:16px; margin:0 0 16px; padding:18px; overflow:hidden; position:relative; border:1px solid #c7d2fe; border-radius:18px; background:radial-gradient(circle at 8% 16%,#4f46e530,transparent 30%),radial-gradient(circle at 90% 8%,#14b8a630,transparent 32%),linear-gradient(135deg,#fff,#eef2ff 55%,#f0fdfa); box-shadow:0 20px 45px #312e8112; }
      .admin-authority-evidence::after { content:""; position:absolute; right:-58px; bottom:-78px; width:210px; height:210px; border-radius:999px; background:conic-gradient(from 120deg,#4f46e5,#14b8a6,#22c55e,#4f46e5); opacity:.12; }
      .admin-authority-evidence > * { position:relative; z-index:1; }
      .admin-authority-evidence h2 { margin:4px 0 6px; color:#111827; font-size:clamp(22px,2.8vw,34px); }
      .admin-authority-evidence p { margin:0; color:#475569; max-width:920px; }
      .admin-authority-evidence-grid { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:12px; }
      .admin-authority-evidence-card { display:grid; gap:8px; padding:16px; border:1px solid #c7d2fe; border-radius:20px; background:#fffffff0; box-shadow:0 20px 45px #0f172a14; backdrop-filter:blur(10px); }
      .admin-authority-evidence-card span { color:#3730a3; font-size:12px; font-weight:900; letter-spacing:.06em; text-transform:uppercase; }
      .admin-authority-evidence-card strong { color:#111827; font-size:clamp(19px,2.2vw,28px); line-height:1.1; overflow-wrap:anywhere; }
      .admin-authority-evidence-card p { color:#475569; font-size:13px; line-height:1.45; }
      .admin-user-form { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:10px 14px; margin:14px 0; padding:16px; border:1px solid #bfdbfe; border-radius:12px; background:#eff6ff; }
      .admin-user-form[hidden],
      .admin-user-form [hidden] { display:none!important; }
      .admin-user-form h3,.admin-user-form .form-actions { grid-column:1/-1; margin:0; }
      .admin-required-note { grid-column:1/-1; margin:0; color:#475569; font-size:12px; }
      .admin-required-marker { color:#dc2626; font-weight:900; margin-left:4px; }
      .organization-checklist { display:grid; gap:6px; max-height:220px; overflow:auto; padding:8px; border:1px solid #cbd5e1; border-radius:10px; background:#fff; }
      .organization-check-option { display:flex!important; flex-direction:row!important; align-items:flex-start; gap:8px!important; padding:8px; border:1px solid #dbeafe; border-radius:10px; background:#f8fbff; font-size:12px!important; cursor:pointer; }
      .organization-check-option input { width:auto; margin-top:2px; }
      .organization-check-option span { line-height:1.25; }
      .organization-phone-row { display:flex; align-items:center; overflow:hidden; border:1px solid var(--bd); border-radius:10px; background:#fff; }
      .organization-phone-prefix { align-self:stretch; display:flex; align-items:center; padding:0 12px; color:#1e3a8a; font-weight:900; background:linear-gradient(135deg,#dbeafe,#eef2ff); border-right:1px solid #cbd5e1; }
      .organization-phone-row input { flex:1; min-width:0; border:0!important; border-radius:0!important; background:transparent!important; box-shadow:none!important; }
      .organization-phone-row input:focus { outline:0; }
      .third-phone-row:focus-within { outline:2px solid #2563eb; outline-offset:2px; }
      .admin-user-actions { display:flex; align-items:center; gap:7px; min-width:300px; }
      .admin-user-actions select { min-width:150px; }
      .admin-users-table { min-width:1180px; table-layout:auto; }
      .admin-users-table th { background:#f8fafc; color:#334155; font-size:11px; letter-spacing:.02em; text-transform:uppercase; }
      .admin-users-table td { vertical-align:top; }
      .admin-users-table .user-email-cell { min-width:250px; max-width:360px; }
      .admin-users-table .user-email-field { min-width:230px; width:100%; font-size:12px; }
      .admin-user-form .governance-fieldset { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:10px 14px; border:1px solid #cbd5e1; border-radius:12px; padding:12px 14px; }
      .admin-user-form .governance-fieldset[hidden] { display:none; }
      .admin-user-form .governance-fieldset legend { font-weight:700; padding:0 6px; }
      .admin-user-form .form-status { margin:0; padding:10px 12px; border-radius:10px; background:#fef2f2; color:#991b1b; border:1px solid #fecaca; white-space:pre-line; }
      .admin-user-form .form-status[hidden] { display:none; }
      @media (max-width:800px) { .admin-user-form .governance-fieldset { grid-template-columns:1fr; } }
      .admin-users-table .user-name-field { min-width:170px; width:100%; font-size:12px; }
      .admin-users-table .user-role-cell { min-width:300px; }
      .admin-users-table .user-scope-cell { min-width:330px; max-width:460px; }
      .admin-users-table .user-privilege-cell { min-width:145px; }
      .admin-users-table .user-actions-cell { min-width:300px; max-width:380px; }
      .admin-users-table .user-group-row td, .admin-users-table .user-group-row th[scope="rowgroup"] { padding:10px 14px; background:#eef6ff; border-top:2px solid #bfdbfe; color:#0f172a; font-weight:850; letter-spacing:.02em; }
      .admin-users-table .user-group-row span { display:inline-flex; align-items:center; gap:8px; padding:6px 10px; border-radius:999px; background:#dbeafe; color:#1d4ed8; font-size:12px; text-transform:uppercase; }
      .user-actions-stack { display:grid; grid-template-columns:repeat(2,minmax(120px,1fr)); gap:7px; min-width:280px; align-items:stretch; }
      .user-privilege-stack { display:flex; flex-direction:column; gap:7px; align-items:stretch; }
      .user-actions-stack .btn,.user-privilege-stack .btn { width:100%; min-height:36px; justify-content:center; text-align:center; white-space:normal; line-height:1.2; }
      .user-actions-stack .user-action-wide,.user-actions-stack .user-action-status { grid-column:1/-1; }
      .user-actions-stack .user-action-edit-only, .user-row-actions .user-action-edit-only { display:none!important; }
      .admin-users-table tr.user-editing-row .user-action-edit-only { display:inline-flex!important; }
      .admin-users-table tr.user-editing-row .user-action-view-only { display:none!important; }
      .admin-users-table tr.user-editing-row td { background:#fff7ed; box-shadow:inset 3px 0 0 #f97316; }
      .admin-users-table tr.user-editing-row input:not([type="checkbox"]),.admin-users-table tr.user-editing-row select { background:#fff; border-color:#f59e0b; box-shadow:0 0 0 2px #fef3c7; }
      .admin-users-table [data-user-edit-field]:disabled { border-color:transparent; background:transparent; color:#0f172a; opacity:1; box-shadow:none; cursor:default; }
      .admin-users-table select[data-user-edit-field]:disabled { appearance:none; padding-right:10px; }
      .user-action-status { display:flex; align-items:center; justify-content:center; min-height:30px; }
      .user-scope-summary { display:block; color:#475569; font-size:11px; line-height:1.45; overflow-wrap:anywhere; }
      .user-scope-editor { margin-top:8px; border:1px solid #dbeafe; border-radius:12px; background:#f8fbff; overflow:hidden; }
      .user-scope-editor summary { cursor:pointer; padding:8px 10px; font-weight:900; color:#1d4ed8; list-style:none; }
      .user-scope-editor summary::-webkit-details-marker { display:none; }
      .user-scope-editor[open] summary { border-bottom:1px solid #dbeafe; background:#eff6ff; }
      .user-scope-body { display:grid; gap:8px; padding:10px; }
      .user-scope-checklist { display:grid; gap:6px; max-height:150px; overflow:auto; padding:8px; border:1px solid #dbeafe; border-radius:10px; background:#fff; }
      .user-scope-checklist label { display:flex; flex-direction:row; align-items:flex-start; gap:7px; margin:0; padding:6px; border-radius:8px; font-size:11px; line-height:1.25; background:#f8fafc; }
      .user-scope-checklist input { width:auto; margin-top:2px; }
      .user-scope-controls { display:grid; grid-template-columns:1fr 1fr; gap:7px; }
      .user-scope-controls .btn { width:100%; }
      .role-link-chip.corporate { background:#e0f2fe; color:#075985; }
      .role-cards { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:12px; }
      .role-card { padding:16px; border:1px solid var(--bd); border-radius:12px; background:#fff; }
      .role-card h3 { margin:0 0 7px; }
      .role-card.compact-card { padding:12px; display:grid; gap:5px; }
      .role-executive-map { display:grid; gap:16px; margin:0 0 16px; padding:18px; overflow:hidden; position:relative; border:1px solid #c7d2fe; border-radius:18px; background:radial-gradient(circle at 8% 16%,#4f46e535,transparent 30%),radial-gradient(circle at 90% 8%,#0ea5e935,transparent 32%),linear-gradient(135deg,#fff,#eef2ff 55%,#f8fafc); box-shadow:0 20px 45px #3730a312; }
      .role-executive-map::after { content:""; position:absolute; right:-58px; bottom:-78px; width:210px; height:210px; border-radius:999px; background:conic-gradient(from 120deg,#4f46e5,#0ea5e9,#22c55e,#4f46e5); opacity:.12; }
      .role-executive-map > * { position:relative; z-index:1; }
      .role-executive-map h2 { margin:4px 0 6px; color:#111827; font-size:clamp(22px,2.8vw,34px); }
      .role-executive-map p { margin:0; color:#475569; max-width:920px; }
      .role-exec-grid { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:12px; }
      .role-exec-card { display:grid; gap:8px; padding:16px; border:1px solid #c7d2fe; border-radius:20px; background:#fffffff0; box-shadow:0 20px 45px #0f172a14; backdrop-filter:blur(10px); }
      .role-exec-card span { color:#3730a3; font-size:12px; font-weight:900; letter-spacing:.06em; text-transform:uppercase; }
      .role-exec-card strong { color:#111827; font-size:clamp(28px,4vw,42px); line-height:1; }
      .role-exec-card p { color:#475569; font-size:13px; line-height:1.45; }
      .role-assurance-panel { display:grid; gap:16px; margin:0 0 16px; padding:18px; overflow:hidden; position:relative; border:1px solid #ddd6fe; border-radius:18px; background:radial-gradient(circle at 8% 16%,#7c3aed30,transparent 30%),radial-gradient(circle at 90% 8%,#22c55e30,transparent 32%),linear-gradient(135deg,#fff,#f5f3ff 55%,#f8fafc); box-shadow:0 20px 45px #581c8712; }
      .role-assurance-panel::after { content:""; position:absolute; right:-58px; bottom:-78px; width:210px; height:210px; border-radius:999px; background:conic-gradient(from 120deg,#7c3aed,#22c55e,#0ea5e9,#7c3aed); opacity:.12; }
      .role-assurance-panel > * { position:relative; z-index:1; }
      .role-assurance-panel h2 { margin:4px 0 6px; color:#111827; font-size:clamp(22px,2.8vw,34px); }
      .role-assurance-panel p { margin:0; color:#475569; max-width:920px; }
      .role-assurance-grid { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:12px; }
      .role-assurance-card { display:grid; gap:8px; padding:16px; border:1px solid #ddd6fe; border-radius:20px; background:#fffffff0; box-shadow:0 20px 45px #0f172a14; backdrop-filter:blur(10px); }
      .role-assurance-card span { color:#6d28d9; font-size:12px; font-weight:900; letter-spacing:.06em; text-transform:uppercase; }
      .role-assurance-card strong { color:#111827; font-size:clamp(19px,2.2vw,28px); line-height:1.1; overflow-wrap:anywhere; }
      .role-assurance-card p { color:#475569; font-size:13px; line-height:1.45; }
      .role-control-center { display:grid; gap:16px; }
      .role-admin-grid { display:grid; grid-template-columns:1.08fr .92fr; gap:14px; align-items:start; }
      .role-operation-card { padding:18px; border:1px solid #c7d2fe; border-radius:18px; background:linear-gradient(135deg,#fff,#f8fbff); box-shadow:0 18px 40px #0f172a10; }
      .role-operation-card h3 { margin:0 0 8px; color:#111827; }
      .role-operation-card p { margin:0 0 12px; color:#64748b; line-height:1.5; }
      .role-admin-form { background:#f8fbff; border-color:#c7d2fe; border-radius:16px; }
      .role-admin-form select[multiple] { min-height:138px; }
      .role-admin-form .wide { grid-column:1/-1; }
      .role-checkbox-row { display:flex; align-items:center; gap:8px; padding:11px 12px; border:1px dashed #a5b4fc; border-radius:12px; background:#eef2ff; font-weight:800; color:#3730a3; }
      .role-checkbox-row input { width:auto; }
      .role-choice-row { display:flex; flex-wrap:wrap; gap:10px; margin-top:8px; }
      .role-choice-row .role-checkbox-row { min-width:120px; }
      .role-workspace-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:12px; }
      .role-workspace-card { display:grid; gap:8px; padding:14px; border:1px solid #dbeafe; border-radius:16px; background:#fff; box-shadow:0 14px 32px #1d4ed80e; }
      .role-workspace-card strong { color:#111827; font-size:16px; }
      .role-workspace-card small { color:#64748b; line-height:1.45; }
      .role-chip-list { display:flex; flex-wrap:wrap; gap:6px; }
      .role-link-chip { display:inline-flex; align-items:center; gap:4px; max-width:100%; padding:5px 8px; border-radius:999px; background:#eef2ff; color:#3730a3; font-size:11px; font-weight:800; overflow-wrap:anywhere; }
      .role-link-chip.inactive { background:#f1f5f9; color:#64748b; }
      .role-link-chip.global { background:#dcfce7; color:#166534; }
      .identity-hierarchy-panel { display:grid; gap:14px; margin:0 0 16px; padding:18px; border:1px solid #bfdbfe; border-radius:20px; background:linear-gradient(135deg,#f8fbff,#eef6ff 58%,#f0fdf4); box-shadow:0 20px 48px #1d4ed812; }
      .identity-hierarchy-panel h2 { margin:4px 0 6px; color:#111827; font-size:clamp(22px,2.7vw,32px); }
      .identity-hierarchy-panel p { margin:0; color:#475569; line-height:1.5; }
      .identity-hierarchy-grid { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:10px; }
      .identity-hierarchy-card { display:grid; gap:7px; padding:14px; border:1px solid #dbeafe; border-radius:16px; background:#fffffff0; }
      .identity-hierarchy-card span { color:#2563eb; font-size:11px; font-weight:900; letter-spacing:.06em; text-transform:uppercase; }
      .identity-hierarchy-card strong { color:#111827; font-size:17px; }
      .identity-hierarchy-card ul { margin:0; padding-left:18px; color:#475569; font-size:12px; line-height:1.45; }
      .identity-hierarchy-note { display:flex; flex-wrap:wrap; gap:8px; align-items:center; }
      .role-permission-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:12px; }
      .role-permission-card { display:grid; gap:10px; padding:16px; border:1px solid #dbeafe; border-radius:18px; background:linear-gradient(160deg,#fff,#f8fbff); box-shadow:0 18px 42px #0f172a0d; }
      .role-permission-card h3 { margin:0; color:#111827; }
      .role-permission-card .role-scope { width:max-content; margin:0; }
      .role-permission-list,.role-module-list { display:flex; flex-wrap:wrap; gap:6px; margin:0; padding:0; list-style:none; }
      .role-permission-list li,.role-module-list li { padding:5px 8px; border-radius:999px; background:#eff6ff; color:#1d4ed8; font-size:11px; font-weight:800; }
      .role-module-list li { background:#ecfdf5; color:#047857; }
      .role-global-actions { display:flex; flex-wrap:wrap; gap:7px; min-width:260px; }
      .organization-executive-map { display:grid; gap:16px; margin:0 0 16px; padding:18px; overflow:hidden; position:relative; border:1px solid #bae6fd; border-radius:18px; background:radial-gradient(circle at 8% 16%,#0ea5e935,transparent 30%),radial-gradient(circle at 90% 8%,#22c55e35,transparent 32%),linear-gradient(135deg,#fff,#ecfeff 55%,#f8fafc); box-shadow:0 20px 45px #07598512; }
      .organization-executive-map::after { content:""; position:absolute; right:-58px; bottom:-78px; width:210px; height:210px; border-radius:999px; background:conic-gradient(from 120deg,#0ea5e9,#22c55e,#2563eb,#0ea5e9); opacity:.12; }
      .organization-executive-map > * { position:relative; z-index:1; }
      .organization-executive-map h2 { margin:4px 0 6px; color:#0f172a; font-size:clamp(22px,2.8vw,34px); }
      .organization-executive-map p { margin:0; color:#475569; max-width:920px; }
      .organization-exec-grid { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:12px; }
      .organization-exec-card { display:grid; gap:8px; padding:16px; border:1px solid #bae6fd; border-radius:20px; background:#fffffff0; box-shadow:0 20px 45px #0f172a14; backdrop-filter:blur(10px); }
      .organization-exec-card span { color:#0369a1; font-size:12px; font-weight:900; letter-spacing:.06em; text-transform:uppercase; }
      .organization-exec-card strong { color:#111827; font-size:clamp(28px,4vw,42px); line-height:1; }
      .organization-exec-card p { color:#475569; font-size:13px; line-height:1.45; }
      .organization-growth-panel { display:grid; gap:16px; margin:0 0 16px; padding:18px; overflow:hidden; position:relative; border:1px solid #fed7aa; border-radius:18px; background:radial-gradient(circle at 8% 16%,#f59e0b30,transparent 30%),radial-gradient(circle at 90% 8%,#0ea5e930,transparent 32%),linear-gradient(135deg,#fff,#fff7ed 55%,#f8fafc); box-shadow:0 20px 45px #7c2d1212; }
      .organization-growth-panel::after { content:""; position:absolute; right:-58px; bottom:-78px; width:210px; height:210px; border-radius:999px; background:conic-gradient(from 120deg,#f59e0b,#0ea5e9,#22c55e,#f59e0b); opacity:.12; }
      .organization-growth-panel > * { position:relative; z-index:1; }
      .organization-growth-panel h2 { margin:4px 0 6px; color:#111827; font-size:clamp(22px,2.8vw,34px); }
      .organization-growth-panel p { margin:0; color:#475569; max-width:920px; }
      #organizationAdminForm { grid-template-columns:repeat(4,minmax(180px,1fr)); gap:10px; max-height:calc(100vh - 170px); overflow:auto; margin:10px 0 14px; padding:14px; border:1px solid #bfdbfe; border-radius:16px; background:#f8fbff; box-shadow:0 18px 40px #1d4ed812; scroll-margin-top:96px; }
      #organizationAdminForm h3, #organizationAdminForm .admin-required-note, #organizationAdminForm .form-actions { grid-column:1/-1; }
      #organizationAdminForm label { font-size:12px; gap:4px; }
      #organizationAdminForm input, #organizationAdminForm select { min-height:34px; padding:7px 9px; }
      /* La bandera del país y la letra del sector van dentro del campo: el texto empieza después de ellas. */
      #organizationAdminForm .cg-country.has-flag .cg-country-input { padding-left:46px; }
      #organizationAdminForm .cg-sector.has-badge .cg-country-input { padding-left:48px; }
      #organizationAdminForm small { font-size:10px; line-height:1.25; }
      #organizationAdminForm .form-actions { position:sticky; bottom:0; z-index:2; padding-top:8px; background:linear-gradient(180deg,rgba(248,251,255,.72),#f8fbff 44%); }
      .workspace-admin-panel { display:grid; gap:12px; margin:10px 0 14px; padding:14px; border:1px solid #c7d2fe; border-radius:16px; background:linear-gradient(135deg,#fff,#eef2ff); box-shadow:0 16px 36px #312e8112; scroll-margin-top:96px; }
      .workspace-admin-panel[hidden] { display:none!important; }
      .workspace-admin-header { display:flex; justify-content:space-between; gap:12px; align-items:flex-start; flex-wrap:wrap; }
      .workspace-admin-grid { display:grid; grid-template-columns:repeat(4,minmax(160px,1fr)); gap:10px; }
      .workspace-admin-links { display:flex; flex-wrap:wrap; gap:6px; }
      .workspace-chip { display:inline-flex; padding:5px 8px; border-radius:999px; background:#eef2ff; color:#3730a3; font-size:11px; font-weight:800; }
      body.admin-orgs-active { overflow-x:hidden; }
      body.admin-orgs-active .main { max-width:100vw; overflow-x:hidden; padding-left:14px; padding-right:14px; }
      body.admin-orgs-active #oc { max-width:100%; overflow-x:hidden; }
      body.admin-orgs-active .table { max-width:100%; overflow-x:auto; border:1px solid #dbeafe; border-radius:14px; background:#fff; }
      body.admin-orgs-active .table table { min-width:1060px; font-size:12px; }
      body.admin-orgs-active .table th, body.admin-orgs-active .table td { padding:9px 8px; vertical-align:top; }
      body.admin-orgs-active .admin-user-actions { min-width:0; gap:6px; flex-wrap:wrap; align-items:flex-start; }
      body.admin-orgs-active .admin-user-actions .btn { padding:7px 9px; font-size:11px; }
      body.admin-orgs-active .workspace-admin-panel { max-width:100%; overflow-x:hidden; }
      .organization-growth-grid { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:12px; }
      .organization-growth-card { display:grid; gap:8px; padding:16px; border:1px solid #fed7aa; border-radius:20px; background:#fffffff0; box-shadow:0 20px 45px #0f172a14; backdrop-filter:blur(10px); }
      .organization-growth-card span { color:#b45309; font-size:12px; font-weight:900; letter-spacing:.06em; text-transform:uppercase; }
      .organization-growth-card strong { color:#111827; font-size:clamp(19px,2.2vw,28px); line-height:1.1; overflow-wrap:anywhere; }
      .organization-growth-card p { color:#475569; font-size:13px; line-height:1.45; }
      .subtle-card { background:#f8fbff; border-style:dashed; }
      .progress-line { height:10px; border-radius:999px; background:#e2e8f0; overflow:hidden; margin:10px 0 14px; }
      .progress-line span { display:block; height:100%; background:linear-gradient(90deg,#2563eb,#16a34a); border-radius:999px; transition:width .2s ease; }
      .role-scope { display:inline-flex; margin-top:8px; padding:3px 8px; border-radius:999px; background:#e0e7ff; color:#3730a3; font-size:11px; font-weight:750; }
      .access-denied { max-width:680px; padding:18px; border:1px solid #fecaca; border-radius:12px; background:#fff1f2; color:#991b1b; }
      .audit-detail { max-width:640px; font-size:12px; line-height:1.45; }
      .audit-change-list { display:grid; gap:6px; margin:8px 0; padding:0; list-style:none; }
      .audit-change-list li { padding:7px 9px; border-left:3px solid #93c5fd; background:#f8fafc; border-radius:4px; }
      .audit-technical { max-height:280px; overflow:auto; margin-top:8px; padding:9px; white-space:pre-wrap; word-break:break-word; background:#0f172a; color:#e2e8f0; border-radius:7px; font:11px/1.45 monospace; }
      .audit-batch { color:#1d4ed8; font-weight:700; }
      .audit-forensic-package { display:grid; gap:16px; margin:0 0 16px; padding:18px; overflow:hidden; position:relative; border:1px solid #bae6fd; border-radius:18px; background:radial-gradient(circle at 8% 16%,#0ea5e935,transparent 30%),radial-gradient(circle at 90% 8%,#6366f135,transparent 32%),linear-gradient(135deg,#fff,#eff6ff 55%,#f8fafc); box-shadow:0 20px 45px #07598512; }
      .audit-forensic-package::after { content:""; position:absolute; right:-58px; bottom:-78px; width:210px; height:210px; border-radius:999px; background:conic-gradient(from 120deg,#0ea5e9,#6366f1,#22c55e,#0ea5e9); opacity:.12; }
      .audit-forensic-package > * { position:relative; z-index:1; }
      .audit-forensic-package h2 { margin:4px 0 6px; color:#0f172a; font-size:clamp(22px,2.8vw,34px); }
      .audit-forensic-package p { margin:0; color:#475569; max-width:920px; }
      .audit-forensic-grid { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:12px; }
      .audit-forensic-card { display:grid; gap:8px; padding:16px; border:1px solid #bae6fd; border-radius:20px; background:#fffffff0; box-shadow:0 20px 45px #0f172a14; backdrop-filter:blur(10px); }
      .audit-forensic-card span { color:#0369a1; font-size:12px; font-weight:900; letter-spacing:.06em; text-transform:uppercase; }
      .audit-forensic-card strong { color:#111827; font-size:clamp(19px,2.2vw,28px); line-height:1.1; overflow-wrap:anywhere; }
      .audit-forensic-card p { color:#475569; font-size:13px; line-height:1.45; }
      @media (max-width:900px) { .audit-filters { grid-template-columns:1fr 1fr; } .audit-summary,.audit-exec-grid,.audit-custody-grid,.audit-decision-grid,.audit-forensic-grid,.admin-access-grid,.admin-access-review-grid,.admin-access-recert-grid,.admin-authority-evidence-grid,.role-exec-grid,.role-assurance-grid,.role-admin-grid,.role-workspace-grid,.role-permission-grid,.organization-exec-grid,.organization-growth-grid,.workspace-admin-grid,.role-cards,.identity-hierarchy-grid { grid-template-columns:1fr; } .admin-user-form { grid-template-columns:1fr; } .admin-user-form > * { grid-column:1!important; } }
      @media (max-width:1100px) and (min-width:801px) { .control-domain > summary { grid-template-columns:18px minmax(200px,270px) 78px 122px 106px 106px 110px 88px; gap:6px; font-size:11px; } }
      @media (max-width:1100px) {
        .exec-command-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
        .exec-assurance-strip { grid-template-columns: repeat(2, minmax(0, 1fr)); }
        .exec-closure-chain { grid-template-columns: repeat(2, minmax(0, 1fr)); }
        .exec-closure-head { grid-column: 1 / -1; }
        .exec-market-gate { grid-template-columns: 1fr; }
        .exec-market-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
        .exec-intel-grid { grid-template-columns: 1fr; }
      }
      @media (max-width:800px) { .assessment-grid,.finding-fields,.finding-action-card { grid-template-columns:1fr; gap:8px; } .finding-fields .wide,.finding-action-card .wide,.finding-action-head { grid-column:1; } .finding-summary-head,.finding-summary-row { grid-template-columns:1fr; } .finding-summary-head,.finding-row-actions { justify-content:flex-start; } .control-filters { flex-direction:column; } .control-filters label,.control-filters select,.control-filters input { width:100%; box-sizing:border-box; } .control-domain { overflow:hidden; } .control-domain > summary { grid-template-columns:18px minmax(0,1fr); gap:6px 10px; align-items:start; padding:12px; } .control-domain > summary > *:not(:first-child) { grid-column:2; justify-self:start; min-width:0; max-width:100%; } .domain-summary-name { grid-column:2; white-space:normal; overflow-wrap:anywhere; } .domain-summary-action { grid-column:2; justify-self:start; margin-top:6px; } .domain-summary-action .btn,.control-domain summary .btn { white-space:normal; } .control-card { overflow:hidden; padding:12px; border-radius:14px; } .control-card .control-title-line { flex-basis:100%; white-space:normal; overflow-wrap:anywhere; } .control-card h3,.control-card .control-title-line h3 { font-size:clamp(20px,5.6vw,28px); line-height:1.16; margin:5px 0 8px; } .control-title-actions { width:100%; justify-content:flex-start; flex-wrap:wrap; gap:7px; margin-left:0; } .control-title-actions .btn { flex:1 1 150px; min-height:34px; padding:7px 10px; font-size:12px; white-space:normal; } .control-card .control-summary-line { display:grid; grid-template-columns:1fr; align-items:stretch; gap:8px; width:100%; margin-top:10px; } .control-card .control-summary-chip { display:grid; grid-template-columns:minmax(0,1fr) minmax(0,auto); align-items:center; width:100%; box-sizing:border-box; border-radius:14px; padding:8px 10px; gap:8px; font-size:12px; } .control-card .control-summary-chip strong { justify-self:end; max-width:58vw; font-size:clamp(14px,4.2vw,18px); line-height:1.1; text-align:right; } .control-card .pill,.control-domain .pill { white-space:normal; max-width:100%; } }
      @media (max-width:800px) { .control-card.expanded .control-360-tabs { top:72px; border-radius:18px; } .control-card.expanded .control-360-tabs.control-360-tabs-floating { border-radius:0 0 18px 18px; } .control-360-tabs .save-grid-action { margin-left:0; width:100%; justify-content:flex-start; } }
      @media (max-width:800px) { .top { flex-direction:column; align-items:stretch; } .session-status { justify-content:flex-start; } .session-card { max-width:none; width:100%; } }
      @media (max-width:900px) { .risk-graph-snapshot { grid-template-columns:1fr; } .risk-graph-node:not(:last-child)::after { content:"↓"; right:50%; top:auto; bottom:-18px; transform:translateX(50%); } }
      @media (max-width:800px) {
        .exec-hero { grid-template-columns:1fr; padding:22px; border-radius:22px; }
        .exec-hero h2 { font-size:34px; }
        .exec-hero-orbit { min-height:220px; }
        .exec-command-grid { grid-template-columns:1fr; }
        .exec-assurance-strip { grid-template-columns:1fr; }
        .exec-closure-chain { grid-template-columns:1fr; }
        .exec-closure-head { grid-column:auto; }
        .exec-market-grid { grid-template-columns:1fr; }
        .exec-attention-queue { grid-template-columns:1fr; }
        .exec-risk-row { grid-template-columns:auto minmax(0,1fr); }
        .exec-risk-score { grid-column:2; text-align:left; }
        .exec-panel-head { flex-direction:column; }
      }
      .crit-high { background:#fee2e2; color:#991b1b; border-color:#fecaca; }
      .crit-medium_high { background:#ffedd5; color:#9a3412; border-color:#fed7aa; }
      .crit-medium { background:#fef9c3; color:#854d0e; border-color:#fde68a; }
      .crit-medium_low { background:#dcfce7; color:#166534; border-color:#bbf7d0; }
      .crit-low { background:#d1fae5; color:#065f46; border-color:#a7f3d0; }
      select[multiple] { min-height: 120px; }
      .note {
        margin-top: 16px;
        padding: 12px;
        border: 1px dashed #c4b5fd;
        background: #faf5ff;
        border-radius: 9px;
      }
      .err {
        color: #dc2626;
        font-size: 12px;
        min-height: 18px;
      }
      .cg-feedback:not(:empty) {
        padding: 10px 12px;
        border: 1px solid var(--feedback-border);
        border-radius: 10px;
        background: var(--feedback-background);
        color: var(--feedback-text);
        line-height: 1.5;
        overflow-wrap: anywhere;
      }
      .cg-feedback[data-state="success"] {
        --feedback-text: #166534;
        --feedback-border: #bbf7d0;
        --feedback-background: #f0fdf4;
      }
      .cg-feedback[data-state="error"] {
        --feedback-text: #991b1b;
        --feedback-border: #fecaca;
        --feedback-background: #fef2f2;
      }
      .cg-feedback[data-state="info"] {
        --feedback-text: #1e40af;
        --feedback-border: #bfdbfe;
        --feedback-background: #eff6ff;
      }
      .cg-feedback[data-state="warning"] {
        --feedback-text: #92400e;
        --feedback-border: #fde68a;
        --feedback-background: #fffbeb;
      }
      .cg-feedback-icon { margin-right: 8px; font-weight: 800; }
      .modal {
        display: none;
        position: fixed;
        inset: 0;
        background: #0006;
        place-items: center;
      }
      .modal.on {
        display: grid;
      }
      .dialog {
        width: min(1120px, 90vw);
        max-height: calc(100vh - 32px);
        background: #fff;
        border-radius: 12px;
        padding: 18px;
        overflow: hidden;
      }
      .cols {
        display: grid;
        grid-template-columns: repeat(3, minmax(0, 1fr));
        gap: 14px;
        max-height: calc(100vh - 150px);
        overflow-y: auto;
        padding: 2px 4px 2px 0;
      }
      #rf > label { min-width: 0; }
      #rf > label input, #rf > label select, #rf > label textarea { width: 100%; box-sizing: border-box; }
      #rf > label[style*="grid-column"] { grid-column: 1 / -1; }
      #rf > div:last-child { grid-column: 1 / -1; display: flex; justify-content: flex-end; gap: 8px; position: sticky; bottom: 0; background: #fff; padding-top: 10px; }
      @media (max-width: 1200px) { .cols { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
      @media (max-width: 800px) {
        html, body { width:100%; max-width:100%; overflow-x:hidden; }
        .side {
          position: sticky;
          top: 0;
          z-index: 70;
          width: 100%;
          max-width: 100vw;
          max-height: none;
          display:block;
          padding: 10px max(8px, env(safe-area-inset-left)) 10px max(8px, env(safe-area-inset-right));
        }
        .side-head {
          display:grid;
          grid-template-columns:minmax(0,1fr);
          gap: 8px;
          align-items: stretch;
          padding-right: 74px;
          width: 100%;
          max-width: 100%;
        }
        .side .brand {
          font-size:13px;
          min-width:0;
        }
        .platform-brand-mark {
          width:30px;
          height:30px;
          flex-basis:30px;
        }
        .brand span:last-child {
          overflow:hidden;
          text-overflow:ellipsis;
        }
        .mobile-nav-toggle {
          display: inline-flex;
          width: 100%;
          min-height: 42px;
          align-items: center;
          justify-content: center;
          background: linear-gradient(135deg,#2563eb55,#7c3aed36);
          color: #fff;
          border-color: #93c5fd55;
          border-radius: 14px;
          font-weight: 800;
        }
        #navPanel {
          display: none;
          max-height: 68vh;
          overflow: auto;
          margin-top: 10px;
        }
        #nav { display: block; overflow: visible; padding-bottom: 0; }
        .nav-group { margin-bottom: 3px; }
        .nav-group-toggle { width: 100%; justify-content:space-between; }
        .nav-group-items {
          position:static;
          min-width:0;
          max-width:none;
          max-height:none;
          margin:6px 0 8px;
          box-shadow:none;
          background:#0b1120aa;
        }
        #nav .nav-group:nth-last-child(-n+2) .nav-group-items { left: auto; right: auto; }
        .side.mobile-open #navPanel {
          display: block;
        }
        .main {
          margin: 0;
          width: 100%;
          max-width: 100vw;
          padding: 14px 8px;
          overflow-x: hidden;
        }
        .grid,
        .profile-grid {
          grid-template-columns: 1fr 1fr;
        }
        .dialog { width: calc(100vw - 24px); max-height: calc(100vh - 24px); padding: 14px; }
        .cols { grid-template-columns: repeat(2, minmax(0, 1fr)); max-height: calc(100vh - 130px); gap: 12px; }
      }
      @media (max-width: 600px) {
        body.controls-active .main { padding: 10px 6px; }
        body.controls-active #oc,
        body.controls-active .control-center-summary,
        body.controls-active #controlCards,
        body.controls-active .control-domain,
        body.controls-active .control-domain-body,
        body.controls-active .control-card,
        body.controls-active .score-card {
          width: 100%;
          max-width: 100%;
        }
      body.controls-active .control-domain-body { padding: 0 4px 8px; }
      body.controls-active .control-card { margin: 8px 0; padding: 10px; }
      body.controls-active .top { padding-right: 72px; }
      body.admin-orgs-active #organizationSwitcher { display:none !important; }
      .profile-grid {
          grid-template-columns: 1fr;
        }
        .cols { grid-template-columns: 1fr; gap: 12px; }
        .dialog { width: calc(100vw - 16px); max-height: calc(100vh - 16px); }
        #rf > div:last-child { justify-content: stretch; }
        #rf > div:last-child .btn { flex: 1; }
      }
      .evidence-row-card { padding:0!important; overflow:hidden; }
      .evidence-row-main { display:grid; grid-template-columns:minmax(220px,1.2fr) minmax(260px,1.15fr) minmax(160px,.75fr) minmax(260px,1.3fr) minmax(160px,auto); gap:12px; align-items:center; padding:12px; }
      .evidence-row-title h3 { margin:0 0 4px; font-size:15px; color:#0f172a; }
      .evidence-row-title p { margin:0; overflow-wrap:anywhere; }
      .evidence-row-status { display:flex; flex-wrap:wrap; gap:5px; align-items:center; }
      .evidence-row-actions { display:flex; flex-wrap:wrap; gap:8px; justify-content:flex-end; align-items:center; }
      .evidence-evaluate-detail { grid-column:1/-1; width:100%; }
      .evidence-evaluate-detail > summary { display:inline-flex; align-items:center; gap:6px; cursor:pointer; color:#2563eb; font-weight:900; list-style:revert; }
      .evidence-evaluate-panel { margin-top:10px; padding:12px; border:1px solid #bfdbfe; border-radius:12px; background:#f8fbff; overflow:visible; }
      .evidence-evaluate-list { display:grid; gap:10px; }
      .evidence-evaluate-item { display:grid; grid-template-columns:minmax(240px,1.4fr) repeat(4,minmax(120px,.7fr)) minmax(220px,1fr) auto; gap:10px; align-items:end; padding:12px; border:1px solid #dbeafe; border-radius:12px; background:#fff; }
      .evidence-evaluate-control { display:grid; gap:6px; align-self:center; }
      .evidence-evaluate-control b { color:#0f172a; overflow-wrap:anywhere; }
      .evidence-evaluate-item label { display:grid; gap:5px; margin:0; color:#334155; font-size:12px; font-weight:800; }
      .evidence-evaluate-item select,
      .evidence-evaluate-item textarea { width:100%; border:1px solid #cbd5e1; border-radius:10px; padding:8px 9px; background:#fff; font:inherit; box-sizing:border-box; }
      .evidence-evaluate-item select[data-tone="ok"] { border-color:#86efac; background:#f0fdf4; color:#166534; }
      .evidence-evaluate-item select[data-tone="warn"] { border-color:#facc15; background:#fefce8; color:#854d0e; }
      .evidence-evaluate-item select[data-tone="danger"] { border-color:#fda4af; background:#fff1f2; color:#9f1239; }
      .evidence-evaluate-item select[data-tone="neutral"] { border-color:#cbd5e1; background:#f8fafc; color:#334155; }
      .evidence-evaluate-item textarea { min-height:42px; resize:vertical; }
      .evidence-evaluate-save { align-self:end; }
      .evidence-generate-finding { border-color:#fdba74!important; background:#fff7ed!important; color:#9a3412!important; font-weight:900!important; box-shadow:0 8px 18px #f9731620!important; }
      .evidence-generate-finding:hover { transform:translateY(-1px); border-color:#f97316!important; background:#ffedd5!important; }
      .evidence-evaluate-control-head { display:flex; align-items:flex-start; justify-content:space-between; gap:10px; }
      .evidence-evaluate-control-head b { flex:1; }
      .evidence-control-detail { grid-column:1/-1; margin-top:4px; padding:12px; border:1px solid #dbeafe; border-radius:12px; background:#f8fbff; }
      .evidence-control-detail-grid { display:grid; grid-template-columns:repeat(3,minmax(180px,1fr)); gap:10px; align-items:end; }
      .evidence-control-detail-grid label { display:grid; gap:5px; }
      .evidence-control-detail-grid .wide { grid-column:1/-1; }
      .evidence-control-detail textarea { min-height:72px; }
      .evidence-control360-detail { display:grid; gap:12px; border-color:#93c5fd; border-radius:16px; background:linear-gradient(135deg,#f8fbff,#fff); }
      .evidence-control360-detail .control-360-banner { display:grid; }
      .evidence-control360-detail .control-360-tabs { display:flex; position:static; flex-wrap:wrap; gap:8px; margin:0; padding:8px; border:1px solid #dbeafe; border-radius:999px; background:#f8fbff; }
      .evidence-control360-detail .control-360-tabs button { border:1px solid #bfdbfe; background:#fff; color:#1e3a8a; border-radius:999px; padding:7px 11px; font-weight:900; cursor:pointer; }
      .evidence-control360-detail .control-360-tabs button.on { background:#2563eb; border-color:#2563eb; color:#fff; box-shadow:0 8px 18px #2563eb24; }
      .evidence-control360-section { display:grid; gap:10px; }
      .evidence-control360-section[hidden] { display:none!important; }
      .evidence-control360-section .linked-evidence-list { display:grid; gap:6px; padding:8px; border:1px solid #dbeafe; border-radius:12px; background:#fff; }
      .evidence-control360-owner-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:10px; }
      .evidence-file-meta { display:inline-block; max-width:260px; margin-left:8px; vertical-align:middle; color:#475569; font-size:12px; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
      @media(max-width:1100px){.evidence-row-main{grid-template-columns:1fr 1fr}.evidence-row-actions{justify-content:flex-start}.evidence-evaluate-detail{grid-column:1/-1}}
      @media(max-width:1200px){.evidence-evaluate-item{grid-template-columns:1fr 1fr}.evidence-evaluate-control,.evidence-evaluate-notes,.evidence-evaluate-save{grid-column:1/-1}.evidence-control-detail-grid{grid-template-columns:1fr 1fr}}
      @media(max-width:720px){.evidence-row-main,.evidence-evaluate-item,.evidence-control-detail-grid{grid-template-columns:1fr}.evidence-evaluate-control,.evidence-evaluate-notes,.evidence-evaluate-save{grid-column:1}.evidence-control-detail-grid .wide{grid-column:1}.evidence-evaluate-save .btn{width:100%}.evidence-file-meta{display:block; margin:6px 0 0; max-width:100%}}
      .soa-framework-selector{display:grid;gap:12px}
      .soa-framework-selector-head{display:flex;justify-content:space-between;gap:12px;align-items:flex-start}
      .soa-framework-selector-head p{margin:4px 0 0}
      .soa-framework-summary{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:10px}
      .soa-framework-summary article{border:1px solid var(--line);border-radius:14px;background:#fff;padding:12px}
      .soa-framework-summary span{display:block;color:#64748b;font-size:12px}
      .soa-framework-summary strong{display:block;margin-top:4px;font-size:22px;color:#0f172a}
      .soa-framework-picker{display:grid;gap:12px;border:0;border-radius:18px;background:transparent;padding:0}
      .soa-framework-picker>summary{width:max-content;cursor:pointer;font-weight:900;display:flex;justify-content:space-between;gap:10px;align-items:center;list-style:none;border:1px solid #93c5fd;border-radius:999px;background:#2563eb;color:#fff;padding:10px 16px;box-shadow:0 10px 22px #2563eb24}
      .soa-framework-picker>summary::-webkit-details-marker{display:none}
      .soa-framework-picker>summary .closed-label{display:inline}
      .soa-framework-picker>summary .open-label{display:none}
      .soa-framework-picker[open]>summary .closed-label{display:none}
      .soa-framework-picker[open]>summary .open-label{display:inline}
      .soa-framework-picker>summary span{display:inline-flex;align-items:center;border-radius:999px;background:#ffffff26;padding:3px 8px;font-size:12px}
      .soa-framework-catalog-panel{display:grid;gap:12px;border:1px solid #dbeafe;border-radius:18px;background:linear-gradient(180deg,#f8fbff,#fff);padding:14px;box-shadow:0 12px 30px #0f172a0a}
      .soa-framework-toolbar{display:grid;grid-template-columns:2fr 1fr 1fr;gap:10px;margin:0}
      .soa-framework-toolbar input,.soa-framework-toolbar select{width:100%;border:1px solid var(--line);border-radius:10px;padding:10px;background:#fff}
      .soa-framework-compact-list{display:grid;gap:10px;padding-right:0}
      .soa-framework-switch-control{display:inline-flex;align-items:center;gap:8px;width:max-content}
      .soa-framework-switch-control input{position:absolute;opacity:0;pointer-events:none}
      .soa-framework-switch-text{font-size:12px;font-weight:900;color:#991b1b;min-width:22px;text-align:right}
      .soa-framework-switch-track{position:relative;display:inline-flex;align-items:center;width:52px;height:28px;border-radius:999px;background:#dc2626;border:1px solid #fca5a5;box-shadow:inset 0 0 0 1px #ffffff30;transition:background .2s,border-color .2s,box-shadow .2s}
      .soa-framework-switch-track::after{content:"";position:absolute;top:4px;left:4px;width:20px;height:20px;border-radius:999px;background:#fff;box-shadow:0 2px 6px #0f172a33;transition:transform .2s}
      .soa-framework-status:checked + .soa-framework-switch-track{background:#16a34a;border-color:#86efac}
      .soa-framework-status:checked + .soa-framework-switch-track::after{transform:translateX(24px)}
      .soa-framework-switch-control:has(.soa-framework-status:checked) .soa-framework-switch-text{color:#166534}
      .soa-framework-switch-control:has(.soa-framework-status:disabled){opacity:.58;cursor:not-allowed}
      .soa-framework-switch-control:has(.soa-framework-status:not(:disabled)){cursor:pointer}
      .soa-control-status.soa-control-status-hidden{display:none!important}
      .soa-control-switch{display:inline-flex;align-items:center;gap:8px;min-width:118px;font-weight:900}
      .soa-control-switch input{position:absolute;opacity:0;pointer-events:none}
      .soa-control-switch-text{font-size:12px;color:#991b1b;min-width:52px;text-align:right}
      .soa-control-switch-track{position:relative;display:inline-flex;align-items:center;width:52px;height:28px;border-radius:999px;background:#dc2626;border:1px solid #fca5a5;box-shadow:inset 0 0 0 1px #ffffff30;transition:background .2s,border-color .2s}
      .soa-control-switch-track::after{content:"";position:absolute;top:4px;left:4px;width:20px;height:20px;border-radius:999px;background:#fff;box-shadow:0 2px 6px #0f172a33;transition:transform .2s}
      .soa-control-switch input:checked + .soa-control-switch-track{background:#16a34a;border-color:#86efac}
      .soa-control-switch input:checked + .soa-control-switch-track::after{transform:translateX(24px)}
      .soa-control-switch:has(input:checked) .soa-control-switch-text{color:#166534}
      .soa-framework-hidden{display:none!important}
      @media(max-width:860px){.soa-framework-toolbar{grid-template-columns:1fr}.soa-framework-selector-head{display:grid}.soa-framework-picker>summary{width:100%;justify-content:center}.soa-framework-compact-list{max-height:none}.soa-framework-switch-control{width:100%;justify-content:flex-start}}
      [data-soa-panel][hidden]{display:none!important}
      .soa-process-selector{display:flex;flex-wrap:wrap;gap:8px}
      .soa-process-toggle{border:1px solid #bfdbfe;border-radius:999px;background:#eff6ff;color:#1e3a8a;font-weight:900;padding:8px 12px;cursor:pointer}
      .soa-process-toggle:disabled{opacity:.55;cursor:not-allowed;background:#f1f5f9;color:#64748b;border-color:#cbd5e1}
      .soa-process-picker{border:1px solid #bfdbfe;border-radius:14px;background:#fff;padding:12px;box-shadow:0 8px 18px #0f172a08}
      .soa-process-picker summary{display:flex;justify-content:space-between;align-items:center;gap:10px;cursor:pointer;font-weight:900;color:#1e3a8a}
      .soa-process-picker summary span{display:inline-flex;min-width:26px;height:26px;align-items:center;justify-content:center;border-radius:999px;background:#eff6ff;color:#1e3a8a;font-size:12px}
      .soa-process-search{margin:10px 0;width:100%;border:1px solid #bfdbfe;border-radius:12px;padding:10px}
      .soa-process-picker .soa-process-selector{max-height:220px;overflow:auto;padding-right:4px}
      .soa-process-chip{display:flex;align-items:center;gap:7px;min-height:36px;margin:0;padding:7px 10px;border:1px solid #dbeafe;border-radius:999px;background:#fff;color:#1e3a8a;font-weight:800;cursor:pointer}
      .soa-process-chip[hidden]{display:none!important}
      .soa-process-chip:has(input:disabled){opacity:.68;cursor:not-allowed}
      .soa-process-chip small{color:#64748b;font-size:10px;text-transform:uppercase;letter-spacing:.03em}
      .soa-process-chip input{width:16px;height:16px;accent-color:#2563eb}
      .soa-executive-switch{display:flex;flex-wrap:wrap;gap:8px;margin:14px 0 10px;padding:8px;border:1px solid #dbeafe;border-radius:14px;background:#f8fbff}
      .soa-executive-switch .tab{border:1px solid #bfdbfe;border-radius:999px;background:#fff;color:#1e3a8a;padding:8px 12px;font-weight:900;cursor:pointer}
      .soa-executive-switch .tab.on{background:#2563eb;color:#fff;border-color:#2563eb;box-shadow:0 8px 18px #2563eb26}
      .soa-process-view{display:grid;gap:10px}
      .soa-process-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:10px}
      .soa-process-card{padding:12px;border:1px solid #e2e8f0;border-radius:14px;background:#fff;box-shadow:0 8px 20px #0f172a0a}
      .soa-process-card.selected{border-color:#2563eb;background:linear-gradient(135deg,#eff6ff,#fff)}
      .soa-process-card span{display:block;color:#64748b;font-size:11px;font-weight:900;text-transform:uppercase;letter-spacing:.04em}
      .soa-process-card h4{margin:4px 0;color:#0f172a}
      .soa-selected-processes{display:flex;flex-wrap:wrap;gap:6px;min-height:34px}
      .soa-selected-processes span{display:inline-flex;align-items:center;padding:6px 10px;border-radius:999px;background:#eff6ff;color:#1e3a8a;font-size:12px;font-weight:900}
      .soa-relationship-map{display:grid;gap:12px}
      .soa-relation-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px;align-items:start}
      .soa-relation-grid h3{margin:0 0 8px;color:#0f172a}
      .soa-framework-relation-card{padding:12px;border:1px solid #dbeafe;border-radius:14px;background:linear-gradient(135deg,#fff,#eff6ff);box-shadow:0 8px 20px #0f172a0a}
      .soa-framework-relation-card>span,.soa-process-card>span{display:block;color:#64748b;font-size:11px;font-weight:900;text-transform:uppercase;letter-spacing:.04em}
      .soa-framework-relation-card h4{margin:4px 0;color:#1e3a8a}
      .soa-framework-relation-card p{margin:0 0 8px;color:#475569}
      .soa-relation-tags{display:flex;flex-wrap:wrap;gap:6px;margin-top:8px}
      .soa-relation-tags b{flex:1 0 100%;color:#334155;font-size:12px}
      .soa-relation-tags span{display:inline-flex;align-items:center;padding:6px 9px;border-radius:999px;background:#eef2ff;color:#1e3a8a;font-size:12px;font-weight:900}
      .soa-domain-executive{display:grid;gap:10px}
      .soa-domain-legend{display:flex;flex-wrap:wrap;gap:10px;color:#475569;font-size:12px;font-weight:900}
      .soa-domain-legend span{display:inline-flex;align-items:center;gap:6px}
      .soa-domain-legend i{width:12px;height:12px;border-radius:999px;display:inline-block}
      .soa-domain-accordion-list{display:grid;gap:10px}
      .soa-domain-accordion{border:1px solid #dbeafe;border-radius:16px;background:#fff;overflow:hidden}
      .soa-domain-accordion summary{display:grid;grid-template-columns:minmax(0,1fr) minmax(180px,320px);gap:12px;align-items:center;padding:14px;cursor:pointer;list-style:none}
      .soa-domain-accordion summary::-webkit-details-marker{display:none}
      .soa-domain-accordion summary strong{display:block;font-size:22px;color:#0f172a}
      .soa-domain-accordion summary small{display:block;color:#64748b}
      .soa-domain-accordion.ok{border-color:#bbf7d0}.soa-domain-accordion.warn{border-color:#fde68a}.soa-domain-accordion.danger{border-color:#fecaca}
      .soa-domain-summary-chart{display:grid;gap:5px;text-align:right}
      .soa-domain-stack{display:flex;height:18px;border-radius:999px;overflow:hidden;background:#e2e8f0}
      .soa-domain-stack span.ok,.soa-domain-legend i.ok{background:#16a34a}
      .soa-domain-stack span.warn,.soa-domain-legend i.warn{background:#f59e0b}
      .soa-domain-stack span.danger,.soa-domain-legend i.danger{background:#ef4444}
      .soa-domain-detail-list{display:grid;gap:8px;padding:0 14px 14px}
      .soa-domain-detail-list article{display:grid;grid-template-columns:minmax(0,1fr) minmax(220px,360px);gap:10px;align-items:center;padding:10px;border:1px solid #e2e8f0;border-radius:12px;background:#f8fafc}
      .soa-domain-detail-list article[hidden]{display:none!important}
      .soa-domain-detail-list small{display:block;color:#64748b}
      .soa-domain-mini{display:grid;gap:6px;justify-items:end}
      @media(max-width:900px){.soa-framework-row{grid-template-columns:1fr}.soa-filters{grid-template-columns:1fr}.soa-domain-grid{grid-template-columns:1fr}.soa-executive-switch .tab{flex:1 1 160px}.soa-process-chip{border-radius:12px;width:100%;justify-content:flex-start}}
      @media(max-width:900px){.soa-relation-grid{grid-template-columns:1fr}}
      @media(max-width:700px){.soa-domain-accordion summary,.soa-domain-detail-list article{grid-template-columns:1fr}.soa-domain-summary-chart,.soa-domain-mini{text-align:left;justify-items:stretch}}
      .soa-framework-selector .soa-framework-row{display:block!important;grid-template-columns:none!important;align-items:initial!important;gap:0!important;min-width:0}
      /* Los filtros ocultan filas con .soa-framework-hidden; la regla de arriba (dos clases, !important) la anulaba. */
      .soa-framework-selector .soa-framework-row.soa-framework-hidden{display:none!important}
      .soa-framework-selector .cg-soa-corp-scope{display:inline-block;margin-left:8px;padding:2px 8px;border-radius:999px;font-size:12px;font-weight:600;background:#e0f2fe;color:#075985;border:1px solid #7dd3fc}
      .soa-framework-selector .cg-soa-corp-scope[data-scope-kind="all"]{background:#dcfce7;color:#166534;border-color:#86efac}
      .soa-framework-selector .cg-soa-corp-scope-orgs{display:block;margin-top:4px;color:#475569;overflow-wrap:anywhere}
      .soa-framework-selector .soa-framework-line-summary{display:grid!important}
      .soa-framework-selector .soa-framework-line-body{display:grid!important;grid-template-columns:minmax(260px,.85fr) minmax(360px,1.15fr)!important;grid-column:1/-1!important}
      .soa-framework-selector .soa-framework-process-panel{grid-column:1/-1!important;margin-top:4px}
      @media(max-width:860px){.soa-framework-selector .soa-framework-line-body{grid-template-columns:1fr!important}}
      .risk-macro-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(320px,1fr));gap:12px}
      .risk-macro-card{display:grid;gap:12px;padding:16px;border:1px solid #bfdbfe;border-radius:18px;background:linear-gradient(135deg,#ffffff,#f8fbff);box-shadow:0 12px 28px #0f172a0d}
      .risk-macro-head{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:12px;align-items:start}
      .risk-macro-head h3{margin:0 0 6px;color:#0f172a;font-size:18px}
      .risk-macro-head p{margin:0;color:#475569;line-height:1.45}
      .risk-macro-score{min-width:94px;display:grid;gap:4px;justify-items:center;padding:10px;border-radius:16px;background:#fff;border:1px solid #e2e8f0}
      .risk-macro-score span{font-size:11px;color:#64748b;font-weight:800;text-transform:uppercase}
      .risk-macro-score b{font-size:28px;color:#0f172a;line-height:1}
      .risk-macro-thermometer{height:12px;border-radius:999px;background:linear-gradient(90deg,#86efac 0 28%,#fde68a 28% 58%,#fdba74 58% 78%,#f87171 78% 100%);overflow:hidden;position:relative}
      .risk-macro-thermometer i{display:block;height:100%;border-right:4px solid #1d4ed8;background:#ffffff55}
      .risk-macro-decision{padding:10px 12px;border-radius:12px;background:#f8fafc;border:1px solid #e2e8f0;color:#334155}
      .risk-macro-top5{display:grid;gap:8px;margin:10px 0 0;padding:0;list-style:none}
      .risk-macro-top5 li{display:grid;grid-template-columns:28px minmax(0,1fr);gap:8px;align-items:start;padding:8px;border:1px solid #e2e8f0;border-radius:12px;background:#fff}
      .risk-macro-top5 li span{display:grid;place-items:center;width:24px;height:24px;border-radius:999px;background:#eff6ff;color:#1d4ed8;font-weight:900}
      .risk-macro-top5 li b{color:#0f172a}
      .risk-macro-top5 li small{grid-column:2;color:#64748b}
      @media(max-width:720px){.risk-macro-head{grid-template-columns:1fr}.risk-macro-score{justify-items:start}}
      /* Desktop UI/UX clarity pass v3.2.22: shared polish without changing data or flows */
      @media (min-width: 901px) {
        html.platform-login-host body {
          background:
            radial-gradient(circle at 12% 0%, rgba(37,99,235,.08), transparent 28%),
            linear-gradient(180deg, #f8fbff 0%, #f3f6fb 48%, #f8fafc 100%);
          color: #0f172a;
        }
        html.platform-login-host main,
        html.platform-login-host #oc {
          max-width: 1560px;
          margin-left: auto;
          margin-right: auto;
        }
        html.platform-login-host .toolbar,
        html.platform-login-host .admin-toolbar,
        html.platform-login-host .asset-form-head,
        html.platform-login-host .control-card-head,
        html.platform-login-host .risk-trace-head {
          gap: 14px;
        }
        html.platform-login-host .toolbar h2,
        html.platform-login-host .toolbar h3,
        html.platform-login-host .admin-toolbar h2,
        html.platform-login-host .soa-hero h2,
        html.platform-login-host .risk-decision-readiness-gate h3 {
          letter-spacing: -.025em;
          line-height: 1.12;
        }
        html.platform-login-host .score-card,
        html.platform-login-host .card,
        html.platform-login-host .soa-card,
        html.platform-login-host .soa-section,
        html.platform-login-host .control-card,
        html.platform-login-host .risk-summary-card,
        html.platform-login-host .risk-group-card,
        html.platform-login-host .risk-top-card,
        html.platform-login-host .risk-macro-card,
        html.platform-login-host .risk-profile-gauge-card,
        html.platform-login-host .risk-heatmap-card,
        html.platform-login-host .evidence-control360-detail {
          border-color: #dbe7f7;
          box-shadow: 0 14px 34px rgba(15, 23, 42, .06);
        }
        html.platform-login-host .risk-decision-readiness-gate {
          margin: 16px 0;
          padding: 18px;
          border-color: #fed7aa;
          box-shadow: 0 18px 42px rgba(124, 45, 18, .08);
        }
        html.platform-login-host .risk-decision-grid {
          gap: 14px;
        }
        html.platform-login-host .risk-decision-card {
          padding: 14px 16px;
          border-radius: 18px;
          box-shadow: 0 12px 28px rgba(15, 23, 42, .07);
        }
        html.platform-login-host .risk-decision-card strong {
          font-size: clamp(22px, 1.8vw, 30px);
        }
        html.platform-login-host .control-card .control-summary-line {
          gap: 7px;
          align-items: center;
        }
        html.platform-login-host .control-card .control-summary-chip {
          gap: 5px;
          padding: 5px 9px;
          font-size: 11px;
          line-height: 1.25;
          font-weight: 720;
        }
        html.platform-login-host .control-card .control-summary-chip strong {
          font-size: 12.5px;
          line-height: 1.2;
          font-weight: 820;
          letter-spacing: -.01em;
        }
        html.platform-login-host .control-card .finding-summary-chip strong {
          font-size: 12px;
        }
        html.platform-login-host .risk-tools {
          align-items: end;
          gap: 10px;
          padding: 10px;
          border: 1px solid #dbe7f7;
          border-radius: 16px;
          background: rgba(255,255,255,.82);
          box-shadow: 0 10px 24px rgba(15, 23, 42, .04);
        }
        html.platform-login-host .risk-view-tabs {
          gap: 7px;
        }
        html.platform-login-host .risk-view-tabs .btn,
        html.platform-login-host .risk-framework-tabs .btn,
        html.platform-login-host .btn-small {
          min-height: 31px;
          border-radius: 999px;
        }
        html.platform-login-host .table,
        html.platform-login-host .risk-summary-table-wrap,
        html.platform-login-host .soa-table-wrap {
          border: 1px solid #dbe7f7;
          border-radius: 16px;
          background: #fff;
          box-shadow: 0 12px 28px rgba(15, 23, 42, .05);
        }
        html.platform-login-host .risk-summary-table,
        html.platform-login-host .soa-table,
        html.platform-login-host .table table {
          border-collapse: separate;
          border-spacing: 0;
        }
        html.platform-login-host .risk-summary-table th,
        html.platform-login-host .soa-table th,
        html.platform-login-host .table th {
          font-size: 11px;
          letter-spacing: .015em;
          text-transform: none;
        }
        html.platform-login-host .risk-summary-table td,
        html.platform-login-host .soa-table td,
        html.platform-login-host .table td {
          line-height: 1.38;
          vertical-align: top;
        }
        html.platform-login-host .risk-summary-table tr:nth-child(even) td,
        html.platform-login-host .soa-table tr:nth-child(even) td,
        html.platform-login-host .table tr:nth-child(even) td {
          background: #f8fbff;
        }
        html.platform-login-host .risk-summary-table td:first-child,
        html.platform-login-host .soa-table td:first-child,
        html.platform-login-host .table td:first-child {
          font-weight: 750;
        }
        html.platform-login-host label {
          color: #1f2937;
        }
        html.platform-login-host input,
        html.platform-login-host select,
        html.platform-login-host textarea {
          border-color: #d5e0ef;
          border-radius: 12px;
          box-shadow: inset 0 1px 0 rgba(15, 23, 42, .03);
        }
        html.platform-login-host input:focus,
        html.platform-login-host select:focus,
        html.platform-login-host textarea:focus {
          border-color: #2563eb;
          box-shadow: 0 0 0 3px rgba(37, 99, 235, .16);
          outline: none;
        }
        html.platform-login-host .btn {
          border-radius: 999px;
          transition: transform .16s ease, box-shadow .16s ease, border-color .16s ease, background-color .16s ease;
        }
        html.platform-login-host .btn:hover {
          transform: translateY(-1px);
        }
        html.platform-login-host .btn:focus-visible,
        html.platform-login-host button:focus-visible,
        html.platform-login-host a:focus-visible {
          outline: 3px solid rgba(37, 99, 235, .34);
          outline-offset: 2px;
        }
      }
      @media (prefers-reduced-motion: reduce) {
        html.platform-login-host .btn,
        html.platform-login-host button,
        html.platform-login-host * {
          scroll-behavior: auto !important;
          transition-duration: .01ms !important;
          animation-duration: .01ms !important;
          animation-iteration-count: 1 !important;
        }
      }
    
/* SoA-only polish: reflow actions instead of clipping; semantic states retained. */
#oc .soa-view .soa-framework-line-summary {grid-template-columns:repeat(auto-fit,minmax(min(100%,170px),1fr))!important;gap:12px;max-width:100%;box-sizing:border-box;}
#oc .soa-view .soa-framework-line-summary>* {min-width:0;max-width:100%;box-sizing:border-box;overflow-wrap:anywhere;}
#oc .soa-view .soa-framework-line-summary :is(button,select) {min-width:0;max-width:100%;white-space:normal;box-sizing:border-box;}
#oc .soa-view .soa-framework-line-summary .soa-framework-mini-bar {width:min(160px,100%);}
#oc .soa-view .soa-framework-line-actions {justify-content:flex-start;flex-wrap:wrap;}
#oc .soa-view .soa-framework-line-actions .soa-save-framework {width:100%;max-width:120px;min-height:40px;}
#oc .soa-view .soa-framework-selector-head {flex-wrap:wrap;}
#oc .soa-view .soa-framework-selector-head>div {min-width:0;flex:1 1 420px;}
#oc .soa-view .soa-framework-selector-head>div>b {display:block;font-size:clamp(18px,1.6vw,24px);line-height:1.3;color:#1e3a8a;overflow-wrap:anywhere;}
#oc .soa-view .soa-framework-picker>summary {max-width:100%;width:fit-content;box-sizing:border-box;flex-wrap:wrap;}
#oc .soa-view .soa-framework-picker>summary::after {content:"";width:8px;height:8px;flex:0 0 8px;border-right:2px solid currentColor;border-bottom:2px solid currentColor;transform:rotate(45deg);margin:0 2px 4px 6px;}
#oc .soa-view .soa-framework-picker[open]>summary::after {transform:rotate(225deg);margin-bottom:0;}
#oc .soa-view :is(.soa-framework-switch-track,.soa-control-switch-track) {background:#f1d4d8;border-color:#9e6470;}
#oc .soa-view :is(.soa-framework-switch-track,.soa-control-switch-track)::after {box-sizing:border-box;border:1px solid #9e6470;}
#oc .soa-view .soa-framework-status:checked+.soa-framework-switch-track,
#oc .soa-view .soa-control-switch input:checked+.soa-control-switch-track {background:#cce8df;border-color:#39745e;}
#oc .soa-view .soa-framework-status:checked+.soa-framework-switch-track::after,
#oc .soa-view .soa-control-switch input:checked+.soa-control-switch-track::after {border-color:#39745e;}
#oc .soa-view :is(.soa-framework-switch-text,.soa-control-switch-text) {color:#7f3c49;}
#oc .soa-view .soa-framework-switch-control:has(.soa-framework-status:checked) .soa-framework-switch-text,
#oc .soa-view .soa-control-switch:has(input:checked) .soa-control-switch-text {color:#215d4a;}
@media(max-width:600px){#oc .soa-view .soa-framework-line-summary {grid-template-columns:minmax(0,1fr)!important;}#oc .soa-view .soa-framework-picker>summary {width:100%;}}

      /* 3.8.15 Solicitudes de privilegio pendientes: aviso sobre la lista y marca en la fila del usuario. */
      .cg-pending-privileged { border:1px solid #f59e0b; background:#fffbeb; margin:12px 0; }
      .cg-pending-privileged h3 { margin:0 0 6px; color:#92400e; }
      .cg-pending-list { list-style:none; margin:8px 0 0; padding:0; display:grid; gap:10px; }
      .cg-pending-list li { padding:10px 12px; border-radius:10px; background:#fff; border:1px solid #fde68a; line-height:1.5; }
      .cg-pending-list .btn { margin-left:8px; }
      .cg-pending-chip { display:inline-block; margin:4px 0; padding:3px 9px; border-radius:999px; background:#fef3c7; color:#92400e; border:1px solid #f59e0b; font-size:12px; font-weight:700; }
      /* 3.8.18 Estado de solicitud pendiente en la columna Rol y estado. */
      .cg-pending-status { display:inline-flex; align-items:center; gap:7px; margin-top:6px; padding:4px 11px; border-radius:999px; background:#fffbeb; border:1px solid #fcd34d; color:#92400e; font-size:12px; font-weight:700; white-space:nowrap; cursor:help; }
      .cg-pending-dot { flex:0 0 7px; width:7px; height:7px; border-radius:50%; background:#f59e0b; box-shadow:0 0 0 3px #fef3c7; }

      /* 3.8.22 Organizaciones agrupadas por corporación. */
      .org-group-row td, .org-group-row th[scope="rowgroup"] { padding:14px 14px 8px; background:#f8fafc; border-top:2px solid #c7d2fe; }
      .org-group-row:first-child td, tr:first-child + .org-group-row td, tr:first-child + .org-group-row th[scope="rowgroup"] { border-top:0; }
      .org-group-row .org-group-title { display:inline-flex; align-items:center; padding:6px 12px; border-radius:999px; background:#e0e7ff; color:#3730a3; font-size:12px; font-weight:800; letter-spacing:.03em; text-transform:uppercase; }
      .org-group-row.independent .org-group-title { background:#f1f5f9; color:#334155; }
      .org-group-row .org-group-meta { margin-left:10px; color:#64748b; font-size:12px; font-weight:600; }
      .org-primary-row td { background:#fbfcff; }
      .org-primary-row td:first-child { box-shadow:inset 4px 0 0 #6366f1; font-weight:800; }
      .org-child-row td:first-child { box-shadow:inset 4px 0 0 #c7d2fe; padding-left:22px; }
      .org-child-row td:nth-child(2) { padding-left:22px; }

      /* 3.8.23 Usuarios: tabla compacta (sin barra horizontal) y agrupación corporación → organización. */
      .admin-users-table { min-width:0; width:100%; }
      .admin-users-table .user-email-cell { min-width:170px; max-width:240px; overflow-wrap:anywhere; }
      .admin-users-table .user-role-cell { min-width:190px; }
      .admin-users-table .user-role-cell select { max-width:220px; }
      .admin-users-table .user-scope-cell { min-width:200px; max-width:300px; font-size:12px; }
      .admin-users-table .user-scope-summary { display:-webkit-box; -webkit-line-clamp:4; -webkit-box-orient:vertical; overflow:hidden; }
      .admin-users-table .user-privilege-cell { min-width:110px; }
      .admin-users-table .user-actions-cell { min-width:170px; max-width:220px; }
      .user-row-actions { display:flex; flex-direction:column; gap:6px; align-items:stretch; }
      .user-row-actions > .btn { width:100%; min-height:34px; justify-content:center; }
      .user-actions-menu > summary { list-style:none; cursor:pointer; padding:7px 12px; border:1px solid #c7d2fe; border-radius:10px; background:#eef2ff; color:#3730a3; font-weight:700; font-size:13px; text-align:center; }
      .user-actions-menu > summary::-webkit-details-marker { display:none; }
      .user-actions-menu > summary::after { content:" ▾"; }
      .user-actions-menu[open] > summary::after { content:" ▴"; }
      .user-actions-menu .user-actions-stack { grid-template-columns:1fr; min-width:0; margin-top:6px; padding:8px; border:1px solid #e2e8f0; border-radius:10px; background:#fff; box-shadow:0 8px 20px rgba(15,23,42,.08); }
      .user-actions-menu .user-actions-stack .btn { min-height:32px; font-size:13px; }
      .admin-users-table tr.user-editing-row .user-actions-menu { display:none!important; }
      .admin-users-table .user-group-row .user-group-meta, .admin-users-table .user-subgroup-row .user-group-meta { margin-left:10px; color:#475569; font-size:12px; font-weight:600; text-transform:none; letter-spacing:0; }
      .admin-users-table .user-subgroup-row td, .admin-users-table .user-subgroup-row th[scope="rowgroup"] { padding:8px 14px 6px 30px; background:#fbfcff; border-top:1px solid #e2e8f0; }
      .admin-users-table .user-subgroup-row span { display:inline-block; padding:4px 10px; border-radius:8px; border-left:3px solid #818cf8; background:#f5f7ff; color:#3730a3; font-size:12px; font-weight:700; }

      /* 3.8.26 Encabezados de grupo como <th scope="rowgroup">: sin el estilo de encabezado de columna. */
      th[scope="rowgroup"] { text-align:left; font-weight:inherit; text-transform:none; letter-spacing:normal; font-size:inherit; }
      .admin-users-table th[scope="rowgroup"], body.admin-orgs-active .table th[scope="rowgroup"] { text-transform:none; letter-spacing:normal; font-size:inherit; }
